广东湘恒智能科技有限公司
主营产品: 西门子变频器,西门子PLC\西门子模块、西门子触摸屏、西门子伺服电机、西门子工控机、西门子集成系统、西门子低压、西门子控制单元、西门子CPU,广东省西门子授权代理商,等
以太网S7通讯的put/get指令使用介绍
发布时间:2024-11-21

西门子CPU之间的以太网通讯协议有多种,S7通讯属于简单易用的一种。


下面介绍S7-1200 CPU使用以太网S7通讯的方法。


以太网S7通讯的介绍

在 ISO-OSI 参考模型中,S7 协议位置。如下图▼

图片

S7协议属于应用层的协议,不管使用的是以太网、MPI还是Profibus网络,都是可以使用S7协议进行通讯的。


S7-1200的put/get指令介绍

1.put/get是一种单边通讯,提供单向的读/写功能,指定一方为服务器,另一方为客户端,客户端中需要进行put/get指令的编程,服务器端只要进行简单的设置以及对应地址分配即可。

2.S7-1200 CPU允许通过S7指令传送的最大字节数是160字节。

3.指令位于“通信”->"S7通信"部分。

图片


具体的实现

1)服务器侧的设置。

 a. 将S7通讯服务器侧的CPU属性部分进行修改。

图片

将位于“连接机制”下的“允许来自远程对象的PUT/GET通信访问”进行勾选。


 b.服务器侧建立读写DB区域。对DB块的属性进行非优化设置。

图片图片图片


写DB类似。

图片图片

此处建立“读DB”和“写DB”,使用固定编号,建立好通讯双方约定好的变量后,即可完成服务器侧的通讯准备。


以下请注意

记住DB块的编号以及数据起始偏移(编译后产生)、数据个数。


2)客户端侧的设置。

 a.建立和服务器侧类似的DB块以及相关的变量。此处不再赘述。

 b.如果CPU还没有子网,需要在“网络视图”中,右击CPU网口,选择“添加子网”。

图片

 c.编写指令。

将GET指令拖入程序中。然后点击如下图所示的组态按钮,进入组态界面。

图片图片


此处

1.不论通讯双方的CPU是否在同一个项目中,均可选择“未知”。

2.填入服务器CPU的IP地址。


图片


此处

ADDR是读取的服务器的数据地址指针,RD是服务器读取过来要存放在本地的数据地址指针。数据流向是ADDR->RD。


格式是:P#DB"块号".DB"首数据的起始地址" 数据类型 数据长度。

将PUT指令拖入程序中:

图片


此处

对于同一个服务器的读写操作的ID是一样的,代表着同一个连接。因此此处可以直接填入GET的ID。


此处

ADDR是写入的服务器的数据地址指针,SD是存放在本地的数据地址指针。数据流向是SD->ADDR。


3)需要额外注意的。

 a.对于同一个连接,不能同时进行PUT/GET通讯,建议使用完成位来进行轮询操作。

 b.由于一个CPU可以建立多个S7通讯连接,不同连接 的通讯指令是可以同时进行的。

图片

 c.如上图所示,通过客户端侧CPU的属性中的“连接资源”可以查看CPU允许的最大S7通讯连接数以及已经组态的连接数。如果建立连接是直接选择同一个项目中的CPU时,服务器CPU的属性也可以显示已经组态的连接数。如果选择的是“未指定”,则无法显示,需要人工进行核算是否超过最大的连接数。

 d.CPU网口既可以作为一个连接的服务器,又可以作为另一个连接的客户端。只要在规定的连接数范围即可。



展开全文
拨打电话 微信咨询 发送询价