s7-200以太网通讯请教!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日
下一篇 2020年11月1日

相关推荐