嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 3 元微信扫码支付:3 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
WPF-基于Hsl/Handy开发的inovance plc读写windowUI程序 并用线程实时捕获数据改变 可拓展其他plc
/// <summary>
/// 读取执行线程
/// </summary>
/// <param name="token"></param>
/// <returns></returns>
public async Task Run(CancellationToken token)
{
try
{
int[] idValue = new int[] { 0, 0 };
while (!ThreadRun && Task.CurrentId == null)
await Task.Delay(50);
DistriBution distri = MainModel.DBList?.Find(x => x.TaskId == Task.CurrentId?.ToString());
idValue = distri.ISRange();
while (true)
{
for (int i = idValue[0]; i < idValue[1]; i )
{
DataGridView.L_DataView[i].Time = DateTime.Now.ToString("HH:mm:ss:fff");
DataGridView.L_DataView[i].Current = GetValue(
DataGridView.L_DataView[i].Name,
DataGridView.L_DataView[i].DemoType,
DataGridView.L_DataView[i].Dataformat,
DataGridView.L_DataView[i].ReadLength,
DataGridView.L_DataView[i].ISReversal
);
}
if (!RefuseMesg.Instance.IsConnect || token.IsCancellationRequested)
break;
await Task.Delay(10);//让cpu休眠一下
}
}
catch (Exception ex)
{
SaveLog(ex.Message, LogInfo.Error);
}
}