一
Modbus RTU 介绍
”
1.Modbus是用在工控领域中的一种标准通信协议,该协议位于OSI的第7层(应用层),它定义了消息封装模式、沟通方法、沟通顺序。
Modbus的优势 :
1)Modbus协议是开放的
2)Modbus在多种物理接口(RS232, RS485, TCP/IP)均适用
3)Modbus格式简单易于开发
2.Modbus RTU 是运行在物理串口(RS232,RS485)上的一种Modbus协议。
Modbus RTU特点:
1)线路上只能有一个主站,可以有多个从站
2)从站的编号为1-247
3)从站只能和主站进行通讯,从站与从站之间无法通讯
4)主站可以对从站进行广播,但是从站不会产生应答
二
S7-1200支持的
Modbus RTU模块
”
注意:
1. 使用通信模块CM 1241 RS232作为Modbus RTU主站时,只能与一个从站通讯。
2. 使用通信模块CM 1241 RS485作为Modbus RTU主站时,则允许建立最多与 32 个从站的通讯。
3. 使用通信板CB 1241 RS485时,CPU 固件必须为 V2.0 或更高版本,且使用软件必须为STEP 7 Basic V11 或STEP 7 Professional V11 以上更高版本
三
S7-1200作为主站
的程序编写
”
用到的软硬件介绍:
硬件:CM1241 RS422/485作为Modbus RTU主站
软件:TIA Portal v16
1.硬件组态:
修改模块属性
记住模块硬件标识符(端口号):
2.程序编写
注意:
早期版本的Modbus RTU指令(不带“(RTU)”字样)仅可通过CM1241通信模块或CB1241通信板进行Modbus RTU通信。
新版本的 Modbus RTU指令(带“(RTU)”字样)扩展了Modbus RTU的功能,该指令除了支持CM1241通信模块、CB1241通信板,还支持 PROFINET 或 PROFIBUS 分布式 I/O 机架上的PTP通信模块实现Modbus RTU通信
在这里,我们用新版本的指令。
1)首先进行初始化
在此处▲
1中填入端口号,波特率,奇偶校验
2中填写Modbus_Master指令背景数据块中的数据区
另外:需要修改背景数据块中的Mode,填入4
2)使用读写指令
在此处:
REQ:上升沿有效
MB_ADDR:要读写的从站站地址
MODE:读写模式(0读1写)
DATA_ADDR:读写从站的存储区地址(例如40001)
DATA_LEN:读写的数据(字的个数,而不是字节、双字,即使是读的双字,也要折算为字来计算长度)
DATA_PTR:主站的存储区(读存放的位置/写发送的位置)
3)建议:
因为无法同时执行多个Modbus_Master指令,因此建议
a.使用done或者error反馈来进行多个Modbus_Master的轮询操作。
b.使用计数器进行定时轮询操作
总结
”
1.使用主站模式时,对于一个通讯模块而言,需要一个初始化指令、一个或者多个读写指令,读写指令要使用同一个背景DB块。
2.主站模式下对从站的多个读写指令需要使用轮询操作。
3.需要修改初始化背景数据块中的Mode,填入4。
- 西门子S7-1200 modbus tcp通讯使用介绍 2024-11-09
- 1200与S120 ALM速度与扭矩控制 2024-11-09
- 西门子 SITOP PSU2200工业电源 2024-11-09
- PID控制中信号的预处理 2024-11-09
- 西门子PLC 1200和三菱F800变频器的PN通讯测试 2024-11-09
- PLC1200-SCL编辑器使用小技巧 2024-11-09
- WINCC面板实例的使用 2024-11-09
- G120XA的Modbus RTU通讯 2024-11-09
- V90在插槽机上的应用 2024-11-09
- SINAMICS V90在木工旋切机上的应用! 2024-11-09