mm440与s7300通讯,profibus网络已作通(组态里能看到站点),r0051【0】设置为52,程序中读写用的是move指令,问题是在程序中读上来的状态字与变频器r0052的显示不一样,求高手指教!
最佳答案
1、首先,要搞清楚move指令的适用范围。
MOVE(赋值指令)只能复制给 BYTE(字节)、WORD(字)或 DWORD(双字)数据对象。用户定义的数据类型(例如数组或结构)必须使用系统功能“BLKMOVE”(SFC 20)进行复制。
2、S7-300C与MM440,在DP网络属于主从关系,通过DP协议,按数据包进行远程读写。这不同于远程I/O操作。它的读写指令为特殊功能块SFB14(PLC读取从站数据)和SFB15(PLC向从站写入数据)。请参考专家“俱怀逸兴壮思飞”提出的参考资料。
3、在使用SFB14、SFB15时,务必熟悉:MM440的控制字、状态字,以及它与数据块的对应关系,和组态时的输入、输出的地址在编程时的使用(这一编址,不能与PLC的所有I/O冲突也就是重复,这一点上它又类似于远程I/O)。
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc169722.html