恭喜,你发布的帖子
发布于 2024-05-09 10:04:32
5楼
这个问题,我遇到过。因为S7通讯与程序周期是异步的所以就会出现这个问题 ,你要把与HMI通讯的数据进行分类,分成IN / OUT /inout三类,HMI不要直接关联你那个UDT中间要多一个缓存与HMI关联,在主程序中先把缓存的IN和INout数据的写入你那UDT,然后执行FB功能块,再把那你的UDT数据写出到缓存的OUT和INout。INout写出的动作还要作一个判断,如果有数据被改变了才写,没有改变不写。
总结来说:要在FB外面把你的UDT数据人划分执行IN/INOUT/OUT.并且InOut可控
按照yufeng的测试,此INOUT数据写入失败,只在作为FB引脚数据时发生,在主程序中可以通讯的读&写类型数据进行操作。可能如冬圣所说跟FB引脚的存储机制有关。但具体原理仍不清楚。
请填写推广理由:
分享
只看
楼主