页面逻辑修改
This commit is contained in:
@@ -26,12 +26,16 @@ namespace 头罩视野.Views
|
||||
{
|
||||
|
||||
/// 只加这一个变量
|
||||
private CancellationTokenSource? _cts;
|
||||
private CancellationTokenSource? _cts;
|
||||
private IModbusMaster _modbusMaster => ModbusResourceManager.Instance.ModbusMaster;
|
||||
|
||||
public List<dynamic> LeftEyeDataList { get; private set; }
|
||||
public List<dynamic> RightEyeDataList { get; private set; }
|
||||
|
||||
DispatcherTimer _timer;
|
||||
DataChange c = new DataChange();
|
||||
Function ma;
|
||||
|
||||
bool isFinished;
|
||||
//// 定时采集用
|
||||
private DispatcherTimer testTimer;
|
||||
// 保存上一条数据(用于去重)
|
||||
@@ -89,8 +93,8 @@ namespace 头罩视野.Views
|
||||
// 切换文案:开是关,关是开
|
||||
if (btnLeft.Content.ToString() == "左眼开")
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
btnLeft.Content = "左眼关";
|
||||
LedOn(led0);
|
||||
if (btnRight.Content.ToString() == "右眼关")
|
||||
@@ -110,7 +114,7 @@ namespace 头罩视野.Views
|
||||
//LedOn(led0);
|
||||
}
|
||||
//右开眼
|
||||
private void Button_Click_Right(object sender, RoutedEventArgs e)
|
||||
private void Button_Click_Right(object sender, RoutedEventArgs e)
|
||||
{
|
||||
|
||||
// 切换文案:左眼开 ↔ 左眼关
|
||||
@@ -120,7 +124,7 @@ namespace 头罩视野.Views
|
||||
LedOn(led1);
|
||||
if (btnLeft.Content.ToString() == "左眼关")
|
||||
{
|
||||
|
||||
|
||||
btnLeft.Content = "左眼开";
|
||||
LedOff(led0);
|
||||
ma.BtnClickFunction(Function.ButtonType.切换型, 0);
|
||||
@@ -151,7 +155,7 @@ namespace 头罩视野.Views
|
||||
|
||||
}
|
||||
//正转
|
||||
|
||||
|
||||
private async void Button_Click_ForDown(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
await _modbusMaster.WriteSingleCoilAsync(1, 11, true);
|
||||
@@ -159,7 +163,7 @@ namespace 头罩视野.Views
|
||||
|
||||
private async void Button_Click_ForUp(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
|
||||
|
||||
await _modbusMaster.WriteSingleCoilAsync(1, 11, false);
|
||||
//System.Diagnostics.Debug.WriteLine("正传end");
|
||||
}
|
||||
@@ -181,9 +185,8 @@ namespace 头罩视野.Views
|
||||
ma.BtnClickFunction(Function.ButtonType.复归型, 100);
|
||||
ButtonTest.Content = "测试中....";
|
||||
testTimer.Start();
|
||||
|
||||
var recordPage = GetRecordDatePage();
|
||||
recordPage?.StartPlcTimer();
|
||||
recordPage?.StartPlcReadTimer(100);
|
||||
|
||||
}
|
||||
//停止btn
|
||||
@@ -224,7 +227,7 @@ namespace 头罩视野.Views
|
||||
data.VisionRetentionRate == _lastRecord.VisionRetentionRate)
|
||||
{
|
||||
return; // 一样就不添加
|
||||
}
|
||||
}
|
||||
//原来存的数据清空 切换页面会清空
|
||||
//TestDataStore.Records.Clear();
|
||||
// 不一样 → 插入表格
|
||||
@@ -232,8 +235,6 @@ namespace 头罩视野.Views
|
||||
_lastRecord = data;
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
//打印
|
||||
|
||||
private void Button_Click_Print(object sender, RoutedEventArgs e)
|
||||
@@ -248,7 +249,7 @@ namespace 头罩视野.Views
|
||||
private void TbTest_Checked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
// 选中 → 试样测试
|
||||
|
||||
|
||||
|
||||
tbTest.Content = "空白测试";
|
||||
|
||||
@@ -306,11 +307,20 @@ namespace 头罩视野.Views
|
||||
//ReadAndUpdateFloatAsync(208, 2, smsyarea, "F2", "cm²"),
|
||||
//ReadAndUpdateFloatAsync(210 ,2, ymsyarea, "F2", " "),
|
||||
ReadAndUpdateFloatRangeAsync(200, 12, "F2", "°"),
|
||||
ReadAndUpdateFloatAsync(424 ,2, kbsyarea, "F2", "cm²"),
|
||||
//ReadAndUpdateFloatAsync(424 ,2, kbsyarea, "F2", "cm²"),
|
||||
ReadAndUpdateFloatAsync(310, 2, zdangle, "F2", "°/S"),
|
||||
ReadAndUpdateFloatAsync(430 ,2, sybhl, "F2", " "),
|
||||
};
|
||||
//ReadAndUpdateFloatAsync(430 ,2, sybhl, "F2", " "),
|
||||
|
||||
//前1从站地址,后1是长度
|
||||
|
||||
};
|
||||
isFinished = _modbusMaster.ReadCoils(1, 102, 1)[0];
|
||||
if (isFinished)
|
||||
{
|
||||
// 还不确定?
|
||||
var recordPage = GetRecordDatePage();
|
||||
recordPage?.AddPlcDataRow(LeftEyeDataList, RightEyeDataList); ;
|
||||
}
|
||||
await Task.WhenAll(tasks);
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -363,28 +373,20 @@ namespace 头罩视野.Views
|
||||
float value = c.UshortToFloat(registers[1], registers[0]);
|
||||
float value2 = c.UshortToFloat(registers[3], registers[2]);
|
||||
float value3 = c.UshortToFloat(registers[5], registers[4]);
|
||||
float value4 = c.UshortToFloat(registers[7], registers[6]);
|
||||
float value5 = c.UshortToFloat(registers[9], registers[8]);
|
||||
float value6 = c.UshortToFloat(registers[11], registers[10]);
|
||||
//float value4 = c.UshortToFloat(registers[7], registers[6]);
|
||||
//float value5 = c.UshortToFloat(registers[9], registers[8]);
|
||||
//float value6 = c.UshortToFloat(registers[11], registers[10]);
|
||||
|
||||
|
||||
|
||||
//ReadAndUpdateFloatAsync(200, 2, fbspeed, "F2", "°"),
|
||||
//ReadAndUpdateFloatAsync(202, 2, dqangle, "F2", "°"),
|
||||
//ReadAndUpdateFloatAsync(204, 2, zmsyarea, "F2", "cm²"),
|
||||
//ReadAndUpdateFloatAsync(206 ,2, xfsyarea, "F2", " "),
|
||||
//ReadAndUpdateFloatAsync(208, 2, smsyarea, "F2", "cm²"),
|
||||
//ReadAndUpdateFloatAsync(210 ,2, ymsyarea, "F2", " "),
|
||||
|
||||
Dispatcher.Invoke(() =>
|
||||
|
||||
{
|
||||
fbspeed.Text = value.ToString(format) + unit;
|
||||
dqangle.Text = value2.ToString(format) + unit;
|
||||
zmsyarea.Text = value3.ToString(format) + unit;
|
||||
xfsyarea.Text = value4.ToString(format) + unit;
|
||||
smsyarea.Text = value5.ToString(format) + unit;
|
||||
ymsyarea.Text = value6.ToString(format) + unit;
|
||||
//zmsyarea.Text = value3.ToString(format) + unit;
|
||||
//xfsyarea.Text = value4.ToString(format) + unit;
|
||||
//smsyarea.Text = value5.ToString(format) + unit;
|
||||
//ymsyarea.Text = value6.ToString(format) + unit;
|
||||
//control.Text = value.ToString(format) + unit);
|
||||
});
|
||||
}
|
||||
@@ -483,8 +485,8 @@ namespace 头罩视野.Views
|
||||
|
||||
private void Page_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
System.Diagnostics.Debug.WriteLine("页面加载了!112222222");
|
||||
_timer.Start();
|
||||
ma = new Function(_modbusMaster);
|
||||
|
||||
@@ -30,8 +30,8 @@ namespace 头罩视野.Views
|
||||
private IModbusMaster _modbusMaster => ModbusResourceManager.Instance.ModbusMaster;
|
||||
private System.Timers.Timer? _plcReadTimer;
|
||||
// 表跟数据存储列表
|
||||
private List<dynamic> LeftEyeDataList = new List<dynamic>();
|
||||
private List<dynamic> RightEyeDataList = new List<dynamic>();
|
||||
public List<dynamic> LeftEyeDataList = new List<dynamic>();
|
||||
public List<dynamic> RightEyeDataList = new List<dynamic>();
|
||||
|
||||
// 配置:和你PLC地址完全对应 左目
|
||||
private const int LeftEyeStartAddress = 1362; // D1362
|
||||
@@ -177,7 +177,7 @@ namespace 头罩视野.Views
|
||||
/// <summary>
|
||||
/// 把PLC数据添加到动态表格
|
||||
/// </summary>
|
||||
private void AddPlcDataRow(ushort[] registers, List<ushort> dataList, DataGrid dg)
|
||||
public void AddPlcDataRow(ushort[] registers, List<ushort> dataList, DataGrid dg)
|
||||
{
|
||||
|
||||
// 清空旧数据,防止重复
|
||||
@@ -210,7 +210,7 @@ namespace 头罩视野.Views
|
||||
|
||||
|
||||
//左右目面积调用方法
|
||||
private void AddPlcDataRow(List<dynamic> leftEyeDataList, List<dynamic> RightEyeDataList)
|
||||
public void AddPlcDataRow(List<dynamic> leftEyeDataList, List<dynamic> RightEyeDataList)
|
||||
{
|
||||
leftEyeDataList = ModbusHelper.RemoveOutliers(leftEyeDataList);
|
||||
RightEyeDataList = ModbusHelper.RemoveOutliers(RightEyeDataList);
|
||||
@@ -260,15 +260,7 @@ namespace 头罩视野.Views
|
||||
|
||||
}
|
||||
|
||||
private List<dynamic> RemoveOutliers(List<dynamic> leftEyeDataList)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
private double CalcLowerAngle(double[] leftAvg, int v)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
//#endregion
|
||||
|
||||
// 保存左眼
|
||||
@@ -334,10 +326,7 @@ namespace 头罩视野.Views
|
||||
private void GoRecord(object s, RoutedEventArgs e) => NavigationService.Content = new Views.RecordDate();
|
||||
private void GoView(object s, RoutedEventArgs e) => NavigationService.Content = new Views.RecordPage();
|
||||
|
||||
internal void StartPlcTimer()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
|
||||
//NavigationService.Navigate(new Views.RecordDate()); 页面相互跳转
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user