目前有一个项目,触摸屏无法通过PROFIBUS读取MM440故障信息,但是程序里面有相关代码,请求数据发至DB14.DBW40,在线读取为13b30000,但是通过在线var,DB14.DBW40为0,不知为何?触摸屏上显示故障代码的赋值为DB13.DBW12,感觉故障时赋值没有进入SFC15,还请各位高手指点一二,谢谢了先。
问题补充:
以前也怀疑程序里边还有别的地方对DB14.DBW40有读写操作,所以把地址赋值为DB13.DBW40,但是结果一样。
图片说明:
最佳答案
问题在于代码的第二行:
L DW#16#13B30000 //DW是DWORD型,双字
T DB14.DBW 40 //DBW是WORD型,单字,这样赋值会丢失高位
改成:
T DB14.DBD 40
图片说明:
提问者对于答案的评价:
谢谢
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc234639.html