在现代工业生产中,经常遇到上位机需要和第三方下位机通讯,比如第三方仪表,变频器,温度模块,压力变送器等等,这下就需要modbusrtu,modbustcp/ip协议了,若您的第三方设备支持modbustcp/ip协议,这时就可以采用网络通讯了。
今天我们以博途平台来介绍西门子1200和1500的tcp通讯,通过这个案例过后可以举一反三,应用到实际的项目中。本案例仅供参考。
我们在做这个项目案例时需要满足以下软硬件要求:
1.)一台西门子1200系列plc(本案例是1215dcdcdc,控制器不一定和本案例的一样,只要支持modbustcp协议就可以);
2.)一台西门子1500系列plc(本案例是1513,控制器不一定和本案例的一致,支持modbustcp协议就可以);
3.)一台安装上博途v16软件电脑;
4.)通讯网线两条即dc24v/10a开关电源一台。
满足以上条件后,我们打开博途开始组态等工作,这里先组态一个服务器(1513plc),并建立一个服务器通讯数据db块:
建立方法:
在“程序块”里添加一个名为“tcon_ip_v4”的数据块,这里无需取消“访问优化块”。在静态变量“static”里添加数据名称为“tcon”,数据类型“tcon_ip_v4”的通讯数据。
把“tcon”数据打开进行设置参数,“lnterfaceld”(通讯硬件端口)设置成“64”,id设置为“8”,“connection type”(通讯协议)设置成16#0b,默认为tcp通讯协议,“activeestblished”(建立连接),“1”为主动连接(客户机),“0”为被动连接(服务器),在继续打开“remoteaddress”下找到“addr”数组来进行设置通讯ip地址,(一般作为服务器默认不设置),最后设置“localport”服务器端口号为“502”。
我们调用tcp通讯指令块“mb_server”,并把它拖拽到程序端进行参数设置:
在把服务器程序写完,我们组态一个客户端plc(即1215plc),组态完毕后,也需要添加一个通讯数据db块,这里和服务器参数稍微有点区别,如下图所示:
客户机和服务器“tcon_ip_v4”的数据块参数区别在于以下几个参数:
1.)activeestblished”(建立连接),“1”为主动连接(客户机),“0”为被动连接(服务器),这里是客户机了,就填写“1”
2.)打开“remoteaddress”下找到“addr”数组来进行设置通讯ip地址,(这里为客户机,需要填写服务器的ip地址,也就是西门子1513plc的);
3.} remote addrese这里需要填写服务器端口号(502);
4.)localport”服务器端口号为“0”。
待通讯参数设置完毕后,添加一个tcp通讯指令“mb——clayend”如下图:
从客户机向服务器写数据
我们添加一个读取服务器的程序:
从客户机读取服务器数据(服务器写入数据给客户机)
读取要求:
把服务器端(西门子1513)端mw20-mw28五个数据存到客户机(西门子1215 )里的mw50-mw58里面。也可以反过来说服务器写入到客户机里面了。
控制器在线监控如下:
状态监控:
1200/1500数据相互传递
以上简单的介绍1200和1500plc通过modbus tcp通讯协议互传数据,希望给想学习西门子plc通讯的朋友一个参考和帮助,文章中难免有写的不完善甚至错误的地方,望大神批评指正,小的在这感谢了!
电磁波正交极化,电磁波正交极化原理是什么?
敏芯股份入选首批创新管理知识产权国际标准实施试点
西门子多个增材制造工业化应用亮相2019中国国际工业博览会
2019年1-10月全球电动车的销量情况统计分析
松美电磁炉CD16故障代码
西门子1200/1500系列PLC的Modbus TCP通讯实例
创基USB Type-C扩展坞轻松携带解决所需
端到端数字基础架构如何搭建?智数融合边缘计算走向
模拟计算机与数字计算机的区别是什么
教你如何快速判断电气设备系统中的故障点
为什么智慧城市一点都不智慧
ARM伺服器晶片全球出货仅占不到1%
如何使用现有布局的缓冲器/逆变器逻辑避免违反设计
运动控制器以控制伺服电机的一般调试步骤
骁龙835疑似出现搭配手机自动重开机问题
抢先了解!联想到底准备拿摩托罗拉怎么办?
PLC对继电器控制和接触器控制系统的意义
itc将致力于打造基于IPv6的数字广播系统项目
防水插座好用吗
电子芯闻早报:高通又挨刀,传Nvidia也变心