unity调用SiemensS7Net siemensOPC 读取PLC内代码数据的问题:
1.利用定时器定向的读取数据块内的数据,1台机器读写都没有问题;当同步接入第2台设备时,调试发现,第2台设备下发命令到响应的时间由原有的2S瞬间增长至10S;PLC读取线程调用发生阻塞;
2.和同事讨论了一下unity刷新的机制,update()方法会在每帧调用一次,每次调用后按步骤执行,上一次没执行完下一帧执行不会执行,保证单机的执行在时间上不会出现竞争;
3.利用System.Diagnostics.Stopwatch诊断测试,读取一次数据块所用的时间270ms,将每次读取的时间放到单次时间的1.5倍,可保证两个控制台数据都在2S内响应。
4.StartCoroutine(thread16());
IEnumerator thread16()
{
while (true)
{
Config.Instance.ReadDB16();
yield return new WaitForSeconds(1f);
}
}
unity调用SiemensS7Net siemensOPC 读取PLC内代码数据的问题:
于 2024-01-03 13:31:44 首次发布