注释:
1


S7协议专门为西门子控制产品优化设计的通信协议,它是面向连接的协议,在进行数据交换之前,必须与通信伙伴建立连接。

连接是指两个通信伙伴之间为了执行通信服务建立的逻辑链路,而不是指两个站之间用物理媒体(如电缆)实现的连接。S7连接是需要组态的静态连接,静态连接要占用CPU的连接资源。

基于连接的通信分为单向连接和双向连接,S7-200 SMART只有单向连接功能。单向连接中的客户机是向服务器请求服务的设备,客户机调用GET/PUT指令读、写服务器的存储区。服务器是通信中的被动方,用户不用编写服务器的S7通信程序,S7通信是由服务器的操作系统完成的。

S7-200 SMART的以太网端口有很强的通信功能,除了一个用于编程计算机的连接,还有8个用于HMI (人机界面)的连接,8个用于以太网设备的主动的GET/PUT连接,和8 个被动的GET/PUT连接。上述的25个连接可以同时使用。

GET/PUT连接可以用于S7-200 SMART之间的以太网通信,也可以用于S7-200 SMART和S7-300/400/1200之间的以太网通信。


GETPUT指令适用于通过以太网进行的S7-200 SMART CPU之间的通信,其指令 梯形图和语句表如表5-13所示。GETPUT指令用它唯一的输入参数TABLE (数据类型为 TBYE, IBQBVBMBSMBSB*VD*LD*AC)定义 16B 的表格,如 表5-14所示,该表格定义了3个状态位、错误代码、远程站的CPUIP地址、指向远程站中要访问的数据的指针和数据长度、指向本地站中要访问的数据的指针。

状态字节说明:

数据表的第1字节为状态字节,各个位的意义如下。

1) D位:操作完成位。0:未完成;1:已完成。

2 A位:有效位,操作已被排队。0:无效;1:有效。

3 E位:错误标志位。0:无错误;1:有错误。

4) El、E2、E3、E4位:错误码。如果执行读/写指令后E位为1,贝U由这4位返回一个错误码。这4字节构成的错误码及含义如表5-15所示。

GET指令启动以太网端口的通信操作,按TABLE表的定义从远程设备读取最多222B 的数据。PUT指令启动以太网端口上的通信操作,按TABLE表的定义将最多212B的数据写入远程设备。

执行GET和PUT指令时,CPU与TABLE定义的表中的远程IP地址建立起以太网连接。连接建立后,该连接将一直保持到CPU进入STOP为止。

程序中可以使用任意条数的GET/PUT指令,但是同时最多只能激活8条GET/PUT指令,例如,在给定CPU中,可同时激活4个GET指令和4个PUT指令,或者同时激活2 个GET指令和6个PUT指令。所有与同一 IP地址直接相连的GET/PUT指令釆用同一个连接。如对远程IP地址192.168.2.10同时启用3条GET指令时,将在一个IP地址为192.168.2.10的以太网连接上按顺序执行这些GET指令。

如果尝试创建第9个连接(第9个IP地址),CPU将搜索所有的连接,查找处于未激活状态时间最长的一个连接。CPU将断开该连接,然后再与新的IP地址创建连接。

【例5-3 ] PUT指令应用示例,如图5-29所示。

在接收“完”时,即V200.7为“1”时,启动“PUT”写指令。远程CPU的IP地址为192.168.50.2,将偏移地址T4-5和T+6清0,置远程站存放数据的指针(即将本地数据发 送到远程站后存放这些数据的初始位置VB101),写入数据长度为2,置本地站发送数据的首地址VB500,启动写指令。


直接用GET/PUT指令编程既烦琐又容易出错,S7-200 SMART提供了GET/PUT指令向导,可方便用户快速实现以太网通信程序。

用GET/PUT向导建立的连接为主动连接,CPU是S7通信的客户机。通信伙伴作S7通信的客户机时,S7-200 SMART是S7通信的服务器,不需要用GET/PUT指令向导组态,建立的连接是被动连接。

使用向导创建的步骤如下。

1)打开向导。

用鼠标双击项目树的“向”文件夹的“GET/PUT”,或双击“工”中的“GET/PUT” 图标標,打开GET/PUT向导,如图5-30所示。

打开向导对话框时,只有一个默认的操作(Operation),如果使用时既需要GET操作又需要PUT操作时,或需要多次GET操作或PUT操作时,就在图5-30的对话框中单击“添 ”按钮,进行添加相应的操作次数。可以为每一条操作添加注释,该向导最多允许组态24 项独立的网络操作。可以组态与具有不同IP地址的多个通信伙伴的读、写操作。然后单击 下一页按钮,弹出图5-31所示的对话框。

2 组态读操作。

在图5-31中,在“类”选项中选择“GET”,即组态“读操”,在传送大小(字 节)栏中输入需要读的字节,在此设为2;远程CPU的IP地址,在此设为192.168.2.10。

本地和远程保存数据的起始地址分别为VB100和VB300。然后单击“下一页”按钮,弹出图5-32所示的对话框。

3 组态写操作。

在图5-32中,在“类”选项中选择“PUT”,即组态“写操”,在传送大小(字节)栏中输入需要写的字节,在此设为2;远程CPU的IP地址,在此则与读操作一致 192.168.2.10;本地和远程保存数据的起始地址分别为VB300和VB100。然后单击“下一 页”按钮,弹出图5-33所示的对话框。

4存储器分配。

在图5-33中,设置存储器分配地址,用来保存组态数据的V存储区的起始地址,可单击“建”按钮,采用系统生成的地址,也可以手动输入,在此存储器分配的起始地址设为VB500,共需43B。然后单击“下一页”按钮,弹出图5-34所示的对话框。

5)组件。

在图5-34中,可以看到实现要求组态的项目组件默认的名称。然后单击“下一页”按钮,弹出图5T5所示的对话框。

6)生成代码。

在图5-35中,单击“生”按钮,自动生成用于子程序NET_EXE、保存组态数据的数据页 NET_DataBlock 和符号表 NET_SYMS

7)调用子程序NET_EXEo

向导完成后,在主程序MAIN中需使用SM0.0的常开触点,调用指令树的文件夹“'程 序块'向导"中的NET_EXE(如图5-36所示),该子程序执行用GET/PUT向导配置的网络读写功能。INT型参数“超”为0表示不设置超时定时器,为1〜32767是以秒为单位的超 时时间,每次完成所有的网络操作时,都会切换BOOL变量“周”的状态。BOOL变量“错 ”为0表示没有错误,为1时有错误,错误代码在GET/PUT指令定义的表格的状态字中。

双击指令树文件夹“'程序块'向导”中的NET_EXE (SBR1),可查看组态相关信息,如图5~37所示。



知识点词条:以太网通信





学校名称:

答  题  人:
以太网通信
关键字:以太网通信