S7-1200 PLC之间的Modbus通信中,S7-1200 PLC的程序编写的方法与前述的Modbus通信的编程方法相似。以下用一个例子介绍S7-1200 PLC之间的Modbus通信。
【例4-6】有两台设备,都由S7-1200 PLC控制,一台S7-1200为Modbus从站。主站采集一路模拟量数据,传送到Modbus从站中,请编写相关程序。
【解】
1.主要软硬件配置
①1套STEP7 Basic V11。
②1根网线。
③1根PROFIBUS网络电缆(含两个网络总线连接器)。
④2台CPU 1214C。
⑤2台CM 1241(RS-485)。
Modbus现场总线硬件配置如图4-47所示。
图4-47 Modbus现场总线硬件配置图
2.硬件组态
1)新建工程,并添加硬件。新建工程,命名为“4-3”,添加主站(PLC_1)的硬件,分别为CPU1214C和CM1241(RS485);添加从站(PLC_2)的硬件,分别为CPU1214C和CM1241(RS485),如图4-48所示。
图4-48 新建工程,并添加硬件
选中主站的CPU 1214C模块,打开系统时钟,设置该字节为MB10,所以M10.1是脉冲频率为5的脉冲。
【关键点】主站和从站的硬件可以添加在一个工程中,不必新建两个工程。
2)创建主站和从站的数据块和数组。先在主站中创建数据块,命名为“DB1”,注意DB1为绝对寻址方式;再打开数据块DB1,在数据块中创建数组A[0..1],如图4-49所示。从站数据块的创建方法和主站完全相同,如图4-50所示。
图4-49 创建主站的数据块和数组(www.xing528.com)
图4-50 创建从站的数据块和数组
3.编写程序
(1)相关指令简介
MB_SLAVE指令的功能是将串口作为Modbus从站,响应Modbus主站的请求。使用MB_SLAVE指令,要求每个端口独占一个背景数据块,背景数据块不能与其他的端口共用。MB_SLAVE指令的输入/输出参数见表4-19。
表4-19 MB_SLAVE指令的参数表
(2)程序编写
主站程序如图4-51和图4-52所示。MB_COMM_LOAD指令只需要首次起动时,运行一次即可。
图4-51 主站程序(OB100中)
图4-52 主站程序(OB1中)
【关键点】REQ是上升沿有效,M10.1是5 Hz的时间脉冲,也就是每秒产生5次脉冲,每秒5次把数据发送出去。CPU1214C的集成的模拟量通道有两个,通道0的地址是IW64。
从站程序如图4-53和图4-54所示。
图4-53 从站程序(OB100中)
图4-54 从站程序(OB1中)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。