工作中遇到 wincc 需要与 75 个 s7-200smart 通讯,每个 s7-200smart 需要有 1200 多个字 节传给 wincc。经过与西门子工程师分析讨论做出如下方案:
wincc 选用 wincc7.2+upd13,然后选择一台 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。
以下为过程:
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 字节左右,但经过试验,每条指令最多能传递 220 个字节,传递字节超过这个数量,则指令会报错。所以我一个 s7 连接用了 5 个 get 指令, 1 个 put 指令(其中 21 个站还通过get/put 指令读取了另外 21 个站的数据,所以这 21 个 站与主站的通讯数据是正常的二倍,所以是 10 条 get,2 条 put)。其中第一条指令由系统状 态 m1.3“clock—2hz”触发,然后第一条指令的完成位触发第二条指令,第二条指令的完成 位触发第三条指令,以此类推。最后让所有的错误位置位一个脱机状态,有错误位则认为脱 机,数据不可用。
06
以下为 put/get 指令帮助文件内容:
总结
本连接比较简单,指令也比较简单。做一个连接一个指令非常容易。
但是多条指令多个连接的时候一定要注意指 get/put 的背景数据块,一定不相同,否则会造成接收到或者发送出去的数据是错误的。
我的做法是建了一个功能块,功能块里面用的多个 get/put 指令选择的都是不 同的多重背景数据块。然后对于多个连接用自己的背景数据块调用功能块。以下是我每个站的背景数据块:
Resolution Games获750万美元投资,可以继续扩大VR/AR游戏的投资组合
使用裸机云的优势有哪些?
LED百科基础篇:LED产品的分类及驱动
L1~L5 自动驾驶芯片有何变化?
芯片产业还有哪一些困难
西门子1500与75台200 SMART如何进行以太网通讯
国产无人机稳扎稳打 成全球市场“中坚力量”
七星级服务:除了送装,还有免费拆装改造
芯海科技新一代的双通道电能计量芯片CSE7761及必要的阻容器件
什么是软开关?LLC电路是如何实现软开关的?
搅拌机旋转刀头防水检测是如何操作的
GaN与SiC功率器件的特点 GaN和SiC的技术挑战
2020年空调市场再生变局 疫情促使大众更关注空气健康
新能源车补贴2019年或退坡30% 补贴政策正式进入倒计时
三星Galaxy S10+开始测试Android 11 预估明年1月开始陆续推送
VR这一年:游戏成为虚拟现实的代名词
什么是Superscalar/TCP?
北京市海淀区自动驾驶汽车专用智慧停车场在中关村环保园投入建设
知识图谱下图神经网络、图计算、图数据库未来发展趋势如何
零线电流消除器的特点与功能