S7-200与S7-300以太网通讯,S7-200作为客户端
以太网向导已经完成。
我用SM0.0启动了ETH0_CTRL
在使用ETH0_XRF时遇到了问题
S7-200向S7-300写入数据
S7-200从S7-300读取数据
这样的话需要调用两次ETH0_XRF
我的做法是
SM0.0
| |--EN
SM0.5
| |-----| P |--- START
我下载了资料,资料说是写入和读取不能同时进行。资料上建议:
ETH0_XFR1:
SM0.0
| |--EN
SM0.5 V10.0
| |-----| |------| P |--- START
ETH0_XFR2:
SM0.0
| |--EN
SM0.5 V10.1
| |-----| |------| P |--- START
其中V10.0和V10.1分别是两个ETH0_XFR 的Done值
我的疑问:
1、读取和写入是否不能同时进行?
2、资料上建议的我觉得程序无法执行啊,V10.0 和 V10.1开始的时候都为0,程序怎么执行?
谢谢各位
问题补充:
TO: 快乐在我心
谢谢你的程序!
我的问题是,你程序中结束标志M20.1和M20.3刚开始的时候都为0,程序能执行吗? 我看了官方的资料上面也像你一样建议:用读的结束标志位去触发写,用写的结束标志位去触发读。 能帮忙解答一下吗?
非常感谢!
最佳答案
你可以用读的结束标志位去触发写,用写的结束标志位去触发读就可以了,我这里有段程序你看一下:
LD SM0.0
CALL ETH2_CTRL:SBR1, V3000.0, VW3002, VW3004
LD SM0.0
= L60.0
LD M20.3
A SM0.5
EU
= L63.7
LD L60.0
CALL ETH2_XFR:SBR2, L63.7, Connection2_2:VB702, JS22_1:VB703, M20.0, M20.1, MB22
LD SM0.0
= L60.0
LD M20.1
EU
= L63.7
LD L60.0
CALL ETH2_XFR:SBR2, L63.7, Connection2_2:VB702, FS22_2:VB704, M20.2, M20.3, MB24
提问者对于答案的评价:
谢谢您的回答。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc313662.html