我现在用S7300做主站,S7200做从站,之是采用PROFIBUS-DP通讯,我现在在200里有数据VW6000、VW6200、VW6500、VW6510、VW6520、VW6530、VW6540、VW6550、VW6560、VW6570需要送往S7300,同时还要接收S7300里的5个数据,请问我在200侧该如何编程,在300侧又该如何编程?
问题补充:
请哪位大哥根据我要的这些交换数据帮我在200与300间编一段程序.
最佳答案
在硬件组态里将200和300的通讯缓冲区设置好就可以了,编程的话只要用传送指令就可以完成。具体做法:
先插入EM277从站,按照你要传送的数据,需要建立一个32Bytes Out/32Bytes In的缓冲区,只要双击EM277 PROFIBUS DP下的“32Bytes Out/32Bytes In”即可,系统将自动分配地址给这个通讯缓冲区,现假设这个缓冲区的地址是IB0~~IB31(接收区),QB0~~QB31(发送区),这样300的通讯区就设置好了。再双击插入的EM277从站,将选项卡Parameter Assignment下的“I/O Offset in the V-memory”设置成1000(任何数都可以,只要不和200程序里冲突),这样VB1000~~VB1063就是200的通讯区,其中VB1000~~VB1031为接收区,VB1032~~VB1063为发送区。
200传送给300:
VW6000 MOVE VW1032,数据传到300里的IW0
VW6200 MOVE VW1034,数据传到300里的IW2
VW6500 MOVE VW1036,数据传到300里的IW4
VW6510 MOVE VW1038,数据传到300里的IW6
VW6520 MOVE VW1040,数据传到300里的IW8
VW6530 MOVE VW1042,数据传到300里的IW10
VW6540 MOVE VW1044,数据传到300里的IW12
VW6550 MOVE VW1046,数据传到300里的IW14
VW6560 MOVE VW1048,数据传到300里的IW16
VW6570 MOVE VW1050,数据传到300里的IW18
以上MOVE指令都在200里完成,IW0~~IW18只需再300的变量表里就能监控到,不需要编程。
300传送给200:
在300里先将五个数据分别MOVE到QW0、QW2、QW4、QW6、QW8,对应到200里就是VW1000、VW1002、VW1004、VW1006、VW1008,同样,200里不需要编程,只需再变量表中监控这五个VW就行了。
写了这么多,不知道明不明白
提问者对于答案的评价:
谢谢!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc316297.html