内蒙古自治区赤峰市SIEMENS西门子(授权)中国一级总代理商
- 供应商
- 广东湘恒智能科技有限公司
- 认证
- 变频器
- 西门子代理商
- 触摸屏
- 西门子一级代理
- 伺服电机
- 西门子一级总代理
- 联系电话
- 18126392341
- 手机号
- 15267534595
- 联系人
- 梁涛
- 所在地
- 惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房(仅限办公)(注册地址)
- 更新时间
- 2025-03-01 09:10
工作中遇到 wincc 需要与 75 个 s7-200smart 通讯,每个 s7-200smart 需要有 1200 多个字 节传给wincc。经过与西门子工程师分析讨论做出如下方案:wincc 选用 wincc7.2+upd13,然后选择一台 s7--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。
以下为过程:
01
tia 软件中需要做的项目内打开设备和网络,选择“网络视图”点选“连接”选择“s7” 。
点击 cpu 以太网口,右键属性,设定 plc 的 ip 地址。
02
右键 plc,选择“添加新连接”,选择添加,需要与多少 plc 通讯就添加多少个,软件会 自动分配 plc 的本地 id地址,这个地址很重要,后面用 put/get 指令的时候需要用到这个 地址。然后定义每个连接的属性。属性中要定义 ip 地址,需要与主plc 在一个网段,为了 好区分和直观,还可以自己定义连接名称。这样连接就完成了。
03
以上完成后,组态部分就完成了。为了通讯,我们还需要在程序里面对需要传递的数据做get/put 程序。
04
对于同一个 s7 连接子站的 get/put 指令,同一时间只能触发一个,如果一个指令没有完成,触发了另外一个指令,则会报错;但是对于不同 s7 连接子站的get/put 指令则没有这样的要求,之间不会有干扰和联系。
05
由于每一个 s7 连接传递数据在 1200 字节左右,但经过试验,每条指令zui多能传递 220个字节,传递字节超过这个数量,则指令会报错。所以我一个 s7 连接用了 5 个 get 指令, 1 个 put 指令(其中 21个站还通过get/put 指令读取了另外 21 个站的数据,所以这 21 个 站与主站的通讯数据是正常的二倍,所以是 10 条get,2 条 put)。其中第一条指令由系统状 态m1.3“clock—2hz”触发,然后第一条指令的完成位触发第二条指令,第二条指令的完成位触发第三条指令,以此类推。zui后让所有的错误位置位一个脱机状态,有错误位则认为脱 机,数据不可用。
06
以下为 put/get 指令帮助文件内容。
总结: 本连接比较简单,指令也比较简单。做一个连接一个指令非常容易。但是多条 指令多个连接的时候一定要注意指令’get/put的背景数据块,一定不相同,否 则会造成接收到或者发送出去的数据是错误的。我的做法是建了一个功能块,功能块里面用的多个 get/put指令选择的都是不 同的多重背景数据块。然后对于多个连接用自己的背景数据块调用功能块。以下是我每个站的背景数据块: