在PLC编程时想同时用FC5传输两个DB模块的数据,有办法实现么?可以连续CALL FC5两次或者在SEND里写两个DB的地址吗?
如果可以实现,那FC6是怎么接收两个数据包的呢?
我知道FC5,FC6的用法,请不要给我发诸如用法之类的文档,这些里面都没有!我现在要传输现有的两个DB模块的数据,是不是只能整合到一起?
问题补充:
补充一下,是FC5,6,用来在两个S7站之间传数据的。那些让我看f1的朋友,你自己先看看,根本就没有说道这个问题。
如果可以传输多个DB,是不是可以紧接着再写一个,例如:
CALL FC5 {
...SEND : = P#DB100.DBX0.0 BYTE 10
}
CALL FC5 {
...SEND := P#DB200.DBX0.0 BYTE 20
}
如果是这样的话,那FC6如何接收呢。FC6是不是只能把这两个数据包放到一个DB里?
最佳答案
你好!
不能紧接着在写一个FC5,按照你的思路是需要个先来后到的观念!传送数据也是需要个时间的。
个人理解,不是必须把FC6接受的数据放在一个DB里。
个人理解应该没问题,有条件你可以试试!
先调用一个FC5,等FC6接受完成后,利用这个完成的标志,加上两个站点通讯的看门狗校验,来控制开始接受下一个的FC5, 然后第二次的FC6就接收完成。
这两次的发送数据存放在不同的数据块里,接受也可以放在相应的不同数据块里。
两次接受之间一定有个先后的概念。
提问者对于答案的评价:
谢谢,不过做这些判断相比于放入一个DB中传输相对繁琐了一些。如果有这种类型的实例就好了……
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc247596.html