Modbus프로토콜只有一个마스터,可以有1~247个슬레이브。此프로토콜支持传统的RS-232、RS-422、RS-485和以太网设备,许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus프로토콜作为他们之间的통신표준。
当제어기设为在Modbus네트워크上以RTU모드통신,在消息中的每个8Bit바이트按照原值传送,不做处理,如63H,RTU将直接보내기01100011,这种방식的主要优点是데이터帧传送之间没有间隔,相同통신 속도下传输데이터的密度要比ASCII高,传输速度更快。
二、ModbusRTU마스터指令
1、Modbus库指令如图1所示,Master为마스터0口,Master2为마스터1口,Slave为슬레이브,且슬레이브只有0口。

图1
2.西门子Modbus库마스터MBUS_CTRL的마스터定义매개변수,如图2所示。

图2
图2中符号설명如下:
EN:一直使能
MODE:允许Modbus통신
Baud:통신速率,통신 속도(主从一致),默认9600
Parity:奇짝수 패리티,0패리티 없음,1홀수 패리티,2짝수 패리티(主从一致),默认짝수 패리티
Port:통신포트,0口自带,1口扩展(CM01信号板)
Timeout:最大대기时间单位:ms
Done:完成位
오답:错误代码(当出现错误可以보기软件帮助相对应的错误代码)
西门子Modbus库마스터MBUS_MSG的마스터信息读写매개변수,如图3所示

图3
图3中符号설명如下:
En:使能
First:首次扫描用沿触发
Slave:슬레이브 주소(1-247마스터默认2号站,슬레이브 주소除2以外)
RW:读写操作,0读,1写
Addr:读写주소기능 코드

Count:数量
데이터ptr:데이터指针 (默认指마스터而且是以바이트的形式显示)
Done:完成位
오답:错误바이트(当出现错误可以보기软件帮助相对应的错误代码)
STEP7_Micro/WIN Smart和S7_200SmartCPU支持两种Modbus RTU마스터,对于单个Modbus RTU마스터,使用指令MBUS_CTRL和MBUS_MSG,在进行0口통신时적용。对于第二个Modbus RTU마스터,使用指令MBUS_CTRL2和 MBUS_MSG2,在进行1口통신时적용。如果您在项目中使用两个 Modbus 마스터,则要确保 MBUS_CTRL 和 MB_CTRL2 使用不同的포트号。
MBUS_CTRL写在마스터里,不管有多少슬레이브,只写一次。MBUS_MSG 写在마스터里,比如有一个슬레이브,主从互相控制,需要2条指令,一个读一个写,有多个슬레이브,就写多个读写指令。
三、ModbusRTU슬레이브指令
- 西门子Modbus库슬레이브MBUS_CTRL的슬레이브定义매개변수,如图4所示。

图4
图4中符号설명如下:
En 使能用沿触发
Mode 允许Modbus통신
Addr 슬레이브 주소(1-147)
Baud 통신速率통신 속도(主从一致)默认9600
Parity 奇짝수 패리티0패리티 없음,1홀수 패리티,2짝수 패리티(主从一致)默认짝수 패리티
Port 통신포트0口自带
Delay 延时
MaxIQ 最大입력출력 개수256
MaxAI 最大模拟量입력56
Maxhold 最大缓存区
Hold시작 最大缓存区시작주소
Done 完成位
오답 错误바이트
Done 完成位
오답 错误바이트
2.西门子Modbus库슬레이브MBUS_SLAVE的슬레이브应答매개변수,如图5所示。

图5
四、통신程序编写
ModbusRTU两台PLC互相控制통신예제
ModbusRTU 两台PLC分别用I点相互控制Q点,마스터程序如图6所示,슬레이브程序如图7所示。写슬레이브程序需要注意,슬레이브定义需要用沿触发,在系统块记得更改슬레이브PLC站주소。



图6


图7
ModbusRTU两台PLC星三角통신예제
两台PLC,마스터控制슬레이브的星三角启动정지,마스터IW0控制슬레이브VW0(I0.0-V0.0启动,I0.1-V0.1정지),마스터程序如图1-1图1-2所示,슬레이브程序如图1-3图1-4图1-5图1-6图1-7图1-8所示。

图1-1

图1-2

图1-3

图1-4

图1-5

图1-6

图1-7

图1-8
ModbusRTU三台PLC星三角통신예제
- 三台PLC통신마스터、3号슬레이브和4슬레이브,3号和4号之间互相控制两台모터的启停如图2-1所示,控制程序如图2-2图2-3图2-4图2-5图2-6图2-7所示。

图2-1

图2-2

图2-3

图2-4

图2-5

图2-6

图2-7
2.三台PLC통신마스터、3号슬레이브和4슬레이브,3号和4号之间互相控制两台모터的启停,3号슬레이브控制程序如图2-8图2-9图2-10所示。

图2-8

图2-9

图2-10
3.三台PLC통신마스터、3号슬레이브和4슬레이브,3号和4号之间互相控制两台모터的启停,4号슬레이브控制程序如图2-11图2-12图2-13所示。

图2-11

图2-12

图2-13
值得注意的是,要记得更改三号站和四号站在系统块内的주소,슬레이브定义用沿来触发。最后记得在程序块中设置库存储区的分配如图2-14。

图2-14
답글 작성