S7-1200规划紧凑、组态灵敏,TIA在库函数中嵌套了Modbus-RTU和Modbus-TCP功用库,在做数据收集的项目中对错常好用的。
做过一个换热站设备运转监测的项目,需收集管网一次侧和二次侧的供水压力、温度以及ABB变频器的作业状况。现场各类变送器现已接到了原有的智能外表上,因而选用1200PLC经过MODBUS-RTU与现场智能外表和变频器通讯是比较经济的计划,而且可经过MODBUS-TCP与长途上位机通讯。
智能外表及变频器作为从站,只需在设定中挑选Modbus-RTU通讯协议而且为设备分配不重复的站地址即可。1200 PLC作为主站有必要装备RS485通讯模块,其通讯的基本原理是:首要程序开端运转时,调用一次Modbus库中的功用块MB_COMM_LOAD来组态RS485模块上的端口;其次调用库中的功用块MB_MASTER作为Modbus主站与设备进行通讯。
1200PLC作为主站通讯是由DATA_ADDR(从站中的开端Modbus地址)和MODE(读、写、确诊形式)参数一同确认实践Modbus音讯中运用的功用代码。DATA_PTR(数据指针)指向要写入或读取的数据的CPU DB地址,该DB有必要为“非仅符号拜访”DB类型。在TIA V12以上平台中,将该DB特点中的“优化的块拜访”选项撤销。
PLC主站发送带有站地址标识的数据来寻址不同的从站,一起不同的从站经过呼应带有站地址标识的数据给主站,以完结整个通讯进程。这种轮询通讯,能够依据发送和接纳完结的标志来完结,也能够以固定的时刻距离进行轮询,实践运用时需求考虑CPU的功用以及轮循Modbus子站时刻。程序编好后先用MODBUS调试东西测验一下,正常后再开端接线。
在接线时遇到一个小插曲:PLC及变频器的485接线端子B为正,A为负,许多厂家外表的485接线端子是A为正,B为负,一开端通讯一直不正常,当检查外表说明书时才发现。
项目中我运用的是Modbus-TCP经过PLC上PN接口与上位机进行通讯,Modbus-TCP运用开放式用户通讯衔接作为Modbus通讯途径。在S7-1200 PLC的库函数中嵌套了Modbus-TCP功用块库, 它包含了Server和Client的库函数,编程时能够直接调用该库函数可完成与上位机的Modbus-TCP通讯。
在该体系运用中S7-1200 PLC作为Modbus Tcp Server(服务器),调用 “MB_SERVER”指令处理Modbus-TCP客户机的衔接恳求、接纳Modbus功用的恳求并发送呼应,设置衔接ID、IP端口等参数,运用起来比较简单。
S7-1200 PLC作为网络的服务器端,上位机能够按需树立衔接拜访PLC的数据区,这样在上位机对多个换热站的PLC衔接中不会占用太多的资源。条件是PLC必需求有固定的IP才行,如果是动态拨号衔接上位机,PLC端就需求作为客户端,经过修正MODE管脚的值改动发送或接纳状况,依照主机的恳求来按需向主机发送数据或自动接纳主机的改写数据就比较麻烦了。
这是我在MODBUS通讯协议项目运用中的一点小领会,一些观念或许过于天真,望各位同行多我纠正,仅以此文起到抛砖引玉的效果。
西门子S7-1200 MODBUS通讯的一个使用事例共享
S7-1200设计紧凑、组态灵活,TIA在库函数中嵌套了Modbus-RTU和Modbus-TCP功能库,在做数据采集的项目中是非常好用的。做过一个换热
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/xinnengyuan/230570.html