作者 | 主题 |
---|---|
王文杰西门子 游士 ![]() ![]() 经验值:189 发帖数:11 精华帖:1 |
楼主
![]() 主题:S7通讯协议写入FB块INOUT引脚失败 ![]() 本人有一个项目,我方PLC采用S7-1200 PLC,与上位软件进行S7通讯。因为通讯内容包含多个电机控制,所以自建了一个UDT复杂数据类型作为通讯数据,电机控制编写了一个FB块,调用时将此复杂数据类型作为INOUT引脚。通讯发现上位机读取正常,写入需重复3-5次才能成功。 更换HMI测试,此情况仍然出线,确认非上位机程序问题。 主程序取消全部程序调用,通讯写入正常,确定为程序原因造成的问题。 将复杂数据类型拆分成基本数据类型,FB块引脚采用IN和OUT分别填写,问题解决。 理论上通讯和PLC程序运行是在两个独立时段进行的,程序的执行为何会影响通讯的正常赋值? |