三、Modbus RTU从站组态与编程
1.Modbus RTU从站的组态过程与Modbus RTU主站的组态过程一致,可参照S7-1200的Modbus通信(一);
2.Modbus RTU从站编程需要调用Modbus_Comm_Load 指令和Modbus_Slave 指令,其中Modbus_Comm_Load 指令通过 Modbus RTU 协议对通信模块进行组态,Modbus_Slave 指令可通过由 Modbus_Comm_Load 指令组态的端口作为 Modbus 从站进行通信, Modbus_Comm_Load 指令的 MB_DB 参数必须连接到 Modbus_Slaver 指令的(静态)MB_DB 参数。
3.双击“项目树”下的添加新块,弹出添加新块对话框,在对话框中选择“DB数据块”,修改数据块的名称,单击“确定”按钮,如下图所示。
4.Modbus_Master指令的“DATA_PTR”参数用于指向要进行数据写入或数据读取的数据区域地址,该数据区域支持优化访问的数据块或者非优化(标准的)数据块,建议采用非优化访问的数据块。
本例中使用的数据区为非优化访问的数据块,在数据块的属性中取消“优化的块访问”即可将数据块修改为非优化访问的数据块(鼠标右键数据块,选择“属性”,取消“优化的块访问”),如下图所示。
5.在数据块中分别创建如下图所示的数据。
6.双击“OB1”,打开程序编辑工作区,从右侧“指令”选项卡中找到“通信”-“通信处理器”-“MODBUS(RTU)”,将Modbus_Common_Load指令拖拽到OB1中,如下图所示。
7.Modbus_Comm_Load指令背景数据块中的静态变量“MODE”用于描述PTP模块的工作模式,如下图所示,有效的工作模式包括:
(1)0 = 全双工 (RS232)
(2)1 = 全双工 (RS422) 四线制模式(点对点)
(3)2 = 全全双工 (RS 422) 四线制模式(多点主站,CM PtP (ET 200SP))
(4)3 = 全全双工 (RS 422) 四线制模式(多点从站,CM PtP (ET 200SP))
(5)4 = 半双工 (RS485) 二线制模式
本文暂时没有评论,来添加一个吧(●'◡'●)