S7-300PLC和S7-200PLC的MPI通讯.docVIP

  • 22
  • 0
  • 约1.87千字
  • 约 3页
  • 2017-06-12 发布于北京
  • 举报
S7-300PLC和S7-200PLC的MPI通讯 ??? MPI(多点接口)是西门子内部使用的通信协议,物理层为RS-485。通过MPI网络的S7基本通信,S7-300可以用系统功能X_GET和X_PUT来读、写S7-200的存储区,最多可读、写76字节的数据,S7-200不需要编写通信程序。其优点是使用PLC自带的RS-485通信接口,不需要增加通信用的硬件,编程简单,容易实现。 ? ?????1.通信参数的设置 ????用系统块设置CPU 224在MPI网络中的站地址为3。为了方便下载和监控,将S7-200、S7-300和计算机的通信速率均设置为19.2 kbit/s。需要将系统块下载到CPU,设置的参数才会起作用。 ????? 组态时将CPU 315-2DP连接到MPI网络上,设置MPI站地址为2。将设置的参数下载到CPU 315-2DP。 ? ????2.CPU 315-2DP读写CPU? 224的V区的编程 ????在CPU 315-2DP的OB35中调用SFC 68“X_PUT”,将本站的DB 1的76字节数据发送到通信伙伴的DB 1的DBB100~DBB175,即CPU 224的VB100~VB175。调用SFC 67“X_GET”,读取CPU 224的VB200~VB275(即DB 1的DBB200~DBB275)中的数据,将它们存放到DB 2。执行OB35的时间间隔为默认的100ms。 ? ????? 下面是CPU 315-2DP的循环中断组织块OB35的程序: 程序段 1:将本站的DB1中的数据写入CPU? 224的V区 CALL?? X_PUT?????????????????????????????? ?? REQ??????? :=TRUE??????????????????????????? ?? CONT????? :=TRUE???????????????????????? ?? DEST_ID? :=W#16#3???????????????????????? //S7-200的MPI地址 ?? VAR_ADDR:=P#DB1.DBX100.0 BYTE? 76 //S7-200要写入数据的VB100~VB175 ?? SD???????? :=P#DB1.DBX0.0 BYTE? 76??? //存放本站要发送的数据的地址区 ?? RET_VAL? :=MW2???????????????????????????? ?? BUSY????? :=M0.1??????????????????????????? 程序段? 2:读取CPU 224的V区的数据,保存到本站的DB? 2 CALL?? X_GET???????????????????????????????? ?? REQ??????? :=TRUE??????????????????????????? ?? CONT????? :=TRUE??????????????????????????? ??? DEST_ID:=W#16#3???????????????????????? ?? VAR_ADDR:= P#DB1.DBX200.0 BYTE? 76 //要读取S7-200的VB200~VB275 ?? RET_VAL? :=MW4???????????????????????????? ?? BUSY????? :=M0.3??????????????????????????? ?? RD???????? :=? P#DB2.DBX0.0 BYTE? 76??? //保存读取的数据的地址区 ????? 为了验证通信是否实现,在初始化程序OB100将数据块DB 1的76字节数据发送区的字预置为W#16#3333,将DB 2的76字节数据接收区复位为0。 ? ????? 3.CPU? 224的程序 ?????为了验证通信是否实现,在CPU 224的OB1中,在第一个扫描周期将发送数据区VW204~VW274预置为16#2222,将接收数据区VW100~VW174清零。 LD??????? SM0.1? FILL???? 16#2222, VW204,? 38???????????? FILL???? 16#0, VW100,? 38??????????????????? ????? 可以用CPU 315-2DP的变量表和CPU? 224的状态表来监视参与通信的存储区。

文档评论(0)

1亿VIP精品文档

相关文档