[西门子] 西门子S7-1500 与多台S7-200smart 以太网通讯

[复制链接]
查看79088 | 回复0 | 2024-5-7 10:32:07 | 显示全部楼层 |阅读模式
一台S7-1500 CPU1511-1PN 做主站,S7-1500 使用S7通讯(put,get 指令)与S7-200SMART 通讯。因为S7-1500 CPU1511-1PN 的s7 连接资源只有54 个,而我们需要通讯的S7-200SMART 有75 个,所以选择1500 与54 个S7-200SMART通讯,然后选择其中的21 台s7-200smart 通过PUT/GET 指令与另外剩余的21 台S7-200SMART通讯然后在传给S7-1500。

以下为过程:

1、TIA 软件中需要做的项目内打开设备和网络,选择“网络视图”点选“连接”选择“S7”。

点击CPU 以太网口,右键属性,设定PLC 的IP 地址。



2、右键PLC,选择“添加新连接”,选择添加,需要与多少PLC 通讯就添加多少个,软件会自动分配PLC 的本地ID 地址,这个地址很重要,后面用PUT/GET 指令的时候需要用到这个地址。然后定义每个连接的属性。属性中要定义IP 地址,需要与主PLC 在一个网段,为了好区分和直观,还可以自己定义连接名称。这样连接就完成了。



3、以上完成后,组态部分就完成了。为了通讯,我们还需要在程序里面对需要传递的数据做GET/PUT 程序。

4、对于同一个S7 连接子站的GET/PUT 指令,同一时间只能触发一个,如果一个指令没有完成,触发了另外一个指令,则会报错;但是对于不同S7 连接子站的GET/PUT 指令则没有这样的要求,之间不会有干扰和联系。

5、由于每一个S7 连接传递数据在1200 字节左右,但经过试验,每条指令最多能传递220个字节,传递字节超过这个数量,则指令会报错。所以我一个S7 连接用了5 个GET 指令,1 个PUT 指令(其中21 个站还通过GET/PUT 指令读取了另外21 个站的数据,所以这21 个站与主站的通讯数据是正常的二倍,所以是10 条GET,2 条PUT)。其中第一条指令由系统状

态M1.3“clock—2HZ”触发,然后第一条指令的完成位触发第二条指令,第二条指令的完成位触发第三条指令,以此类推。最后然所有的错误位置位一个脱机状态,有错误位则认为脱机,数据不可用。















总结:

本连接比较简单,指令也比较简单。做一个连接一个指令非常容易。但是多条指令多个连接的时候一定要注意指令’GET/PUT 的背景数据块,一定不相同,否则会造成接收到或者发送出去的数据是错误的。

这里的做法是建了一个功能块,功能块里面用的多个GET/PUT 指令选择的都是不同的多重背景数据块。然后对于多个连接用自己的背景数据块调用功能块。

以下是每个站的背景数据块:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则