发布日期:2022-04-27 点击率:68 品牌:西门子_Siemens
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主站与设备进行通讯。
作为主站通讯是由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端口等参数,运用起来比照简略。
作为网络的效劳器端,上位机能够按需树立联接拜访PLC的数据区,这么在上位机对多个换热站的PLC联接中不会占用太多的本钱。条件是PLC必需求有固定的IP才行,假定是动态拨号联接上位机,PLC端就需求作为客户端,经过批改MODE管脚的值改动发送或接纳状况,依照主机的恳求来按需向主机发送数据或自动接纳主机的改写数据就比照费事了。
这是我在MODBUS通讯协议项目运用中的一点小领会,一些观念或许过于天真,望各位同行多我纠正,仅以此文起到抛砖引玉的效果。
下一篇: PLC、DCS、FCS三大控
上一篇: MATLAB和Simulink在航