第一个问题是:Modbus TCP的服务端创建好后,只能通过NDR知道客户端写入了新的数据,但具体写入位置和写入值不知道,无法及时做出功能响应。
我现在的做法是把数据区域的值挨个进行对比才能判断哪个值被改变了。
第二个问题就是:数据区域的值本身也是要刷新的,也就是我数据区域在接收别的地方的值(下位机传感器之类的)然后刷新,还要判断是否有客户端写入数据,就导致这个赋值的优先级不知道该如何进行安排。
我看单片机程序的做法都是在中断中直接通过接收的功能码这一帧进行判定, 1 ,2 ,3 ,4 是读取, 5 ,6 ,15 ,16 是写入。可是PLC编程中都是封装好的功能块,请教大家都是如何处理的。