300与200通过MPI进行通讯

300与200通过MPI进行通讯,找到官方的文档A0128,但是不理解SFC67、68是怎么运作的。1、假如我想把200中的IB0、IB1、IB2的数据传输到300中的DB1.byte0,DB1.byte1,DB1.byte2中,该怎么写程序。
2、把300的DB2中的一段模拟量数据传输到200VD变量中,又该怎么弄,不理解文档里面说的那个地址范围是怎么搞的。
3、每条指令是读(写)一个数据还是一组数据,要是一个的话,是不是还要用指针加循环来传送一组数据,要不是又该怎么弄。

最佳答案

1、使用系统功能SFC67 "X_GET"从S7-200 CPU 中读取数据,它可以在S7-300 / 400 的OB1中调用。使用系统功能SFC68 "X_PUT" 给S7-200 CPU 写入数据,它可以在S7-300 / 400 的OB1中调用。
楼主的1、2问题参见下述文档,其中有详细介绍:
《S7-300 / 400和S7-200通过 MPI的S7基本通信是如何实现数据通信工作的?》连接:
http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&objId=23548936&load=treecontent&lang=zh&siteid=cseus&aktprim=0&objaction=csview&extranet=standard&viewreg=CN
2、每条指令是读(写)一个数据还是一组数据,要是一个的话,是不是还要用指针加循环来传送一组数据,要不是又该怎么弄?
调用一次SFC67/SFC68可以发送/接收一批数据,不需用指针加循环。详见上述文档。

提问者对于答案的评价:
知道是怎么回事了,但是总觉得那个指向一组数据的地址写法以前没接触过,再好好看看应该没问题了。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc243996.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 下午11:00
下一篇 2018年12月1日 下午11:01

相关推荐