您现在的位置是:首页 > PLC技术 > PLC技术

只需一个站编程的S7基本通信

来源:艾特贸易2017-12-20

简介除了上述使用 SFC 65 “ X_SEND ”和 SFC 66 “ X_RCV ”的双向通信之外,还可以实现单向通信。编写程序的一方的 CPU 作客户机,另一方作服务器,后者不需要编写程序。客户机是通信的主动

    除了上述使用SFC 65X_SEND”和SFC 66X_RCV”的双向通信之外,还可以实现单向通信。编写程序的一方的CPU作客户机,另一方作服务器,后者不需要编写程序。客户机是通信的主动方,服务器是被动方。

    S7基本通信中,S7 -300S7 - 400都可以作客户机或服务器,S7 - 200只能作服务器。

    STEP 7中创建一个项目(见随书光盘中的例程MPI_UC_2),生成两个站,CPU 413-2DP作客户机,CPU 315 - 2DP作服务器。将它们连接到MPI网络上,它们的MPI站地址分别为23。在单向通信中,客户机调用SFC 68X_PUT”来写服务器中的系统地址区,调用SFC 67X_GET”来读取服务器中的数据。在读取服务器数据时,客户机首先要发送读取命令给客户机。为了保证发送读、写命令的时间间隔,在循环中断组织块OB35中调用SFC 68X_PUT”和SFC 67X_GET”。下面是客户机的OB35中的程序:

    程序段1:准备要发送的数据

   L    DB1DBW    0

   +    1

   T    DB1DBW    0    //100 msDB1DBW1

   L    ID    0

   T    DB1DBD    2    //用本站的ID0控制对方的QD4

    程序段2:用SFC 68写对方的数据区

   CALL  X_PUT    //调用SFC 68

   REQ    := M0.0    //写数据使能信号

   CONT    := TRUE    //发送完成后保持连接

   DEST_ID  =W#16#3    //对方的MPI地址

   VAR_ADDR=P#DB2DBX0.0 BYTE 76    //通信伙伴要写入数据的地址区

   SD    := P#DB1DBX0.0 BYTE76    //存放本站要发送的数据的地址区

   RET_VAL  := MW2    //状态字,返回的错误信息

   BUSY    =M0.1    //1时写数据未完成

    程序段3:用SFC 67读对方的数据区

   CALLX_GET    //调用SFC 67

   REQ    =M0.2    //读数据使能信号

   CONT    := TRUE    //读数据完成后保持连接

   DEST_ID  =W#16#3    //对方的MPI站地址

   VARADDR=P#DB1DBX0.0 BYTE 76    //要读取的通信伙伴的地址区

   RET_VAL  := MW4    //通信状态字,返回的错误信息

   BUSY    =M0.3    //l时读数据未完成

   RD    := P#DB2DBX0.0 BYTE76    //本站存放读取的数据的地址区

   L    DB2DBD    2

   T    QD    0    //用对方的ID0控制本站的QD0

    程序段4:断开连接

   CALL  X_ABORT    //调用SFC 69

   REQ    := M0.4   //使能信号

   DEST_ID    =W#16#3    //对方的MPI地址

   RET_VAL  =MW6    //返回的错误信息

   BUSY    =M0.5    //1表示操作未完成

    如果在3号站用SFC 67X_GET”和SFC 68X_PUT”读写2号站的系统数据区,可以使用与上面基本上相同的程序,只是需要将SFC中的DEST_ID(对方的MPI地址)改为W#16#2

   SFC 69X_ABORT”的参数REQ1时,将会中断一个由SFCX_SEND”、“X_GET”或“X_PUT”建立的连接。如果上述SFC的工作已经完成(BUSY0),调用SFC 69X_ABORT”后,通信双方的连接资源被释放。

    下面是服务器( CPU315 -2DP)OB1中的程序:

   L    ID    0

   T    DB1DBD    2    //用本站的ID0控制对方的QD0

   L    DB2DBD    2

   T    QD    4    //用通信伙伴的ID0控制本站的QD4

   OB100中的程序与项目MPI_UC_1的相同,调试程序的方法也与该项目基本上相同。

(部分原创文章应编辑稿费需求,每篇需要收取2元的稿费,如需查看全文请联系客服索取,谢谢理解!在线客服:艾特贸易网客服为您服务