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:允许ModbusCommunication
Baud:通信速率,Baud rate(主从一致),デフォルト9600
Parity:パリティ検査,0検証なし。,1奇数チェック,2ダブルチェック(主从一致),デフォルトの偶数検証
Port:通信ポート,0口自带,1口扩展(CM01信号板)
Timeout:最大待機中时间単位:ms
Done:完成位
Error:エラー代码(当出现エラー可以表示软件帮助相对应的エラー代码)
シーメンスModbus库マスターMBUS_MSG的マスター信息読み書き参数,如图3所示

图3
图3中符号説明如下:
En:使能
First:首次扫描用沿触发
Slave:slave address(1-247マスターデフォルト2号站,駅からの住所除2以外)
RW:读書き込み操作。,0读,1写
Addr:读アドレスを書く。機能コード

Count:Quantity
Dataptr:データ指针 (デフォルト指マスター而且是以バイト的形式表示)
Done:完成位
Error:エラーバイト(当出现エラー可以表示软件帮助相对应的エラー代码)
STEP7_Micro/WIN Smart和S7_200SmartCPUサポート两种Modbus RTUmaster,对于单个Modbus RTUmaster,使用指令MBUS_CTRL和MBUS_MSG,在进行0口通信时应用。对于第二个Modbus RTUmaster,使用指令MBUS_CTRL2和 MBUS_MSG2,在进行1口通信时应用。もし您在项目で使用する。2つ Modbus master,则要确保 MBUS_CTRL 和 MB_CTRL2 使用不同的ポート番号。
MBUS_CTRL写在マスター里,不管有多少スレーブ,只写一次。MBUS_MSG 写在マスター里,比如有一个スレーブ,主从互相控制,需要2条指令,一个读一个写,有多个スレーブ,就もっと書く。读命令を書く。。
三、ModbusRTUスレーブ指令
- シーメンスModbus库スレーブMBUS_CTRL的スレーブ定义参数,如图4所示。

图4
图4中符号説明如下:
En 使能用沿触发
Mode 允许ModbusCommunication
Addr slave address(1-147)
Baud 通信速率ボーレート(主从一致)デフォルト9600
Parity パリティ検査0検証なし。,1奇数チェック,2ダブルチェック(主从一致)デフォルトの偶数検証
Port 通信ポート0口自带
Delay 延时
MaxIQ 最大入力出力点数256
MaxAI 最大模拟量入力56
Maxhold 最大缓存区
Holdstart 最大缓存区開始アドレス
Done 完成位
Error エラーバイト
Done 完成位
Error エラーバイト
2.シーメンスModbus库スレーブMBUS_SLAVE的スレーブ应答参数,如图5所示。

图5
四、通信程序编写
ModbusRTU两台PLC互相控制通信サンプル
ModbusRTU 两台PLC分别用I点相互控制Q点,マスター程序如图6所示,スレーブ程序如图7所示。写スレーブ程序需要注意,スレーブ定义需要用沿触发,在系统块记得更改スレーブPLC站アドレス。



图6


图7
ModbusRTU两台PLC星三角通信サンプル
两台PLC,マスター控制スレーブ的星三角启动停止,masterIW0控制スレーブ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
Leave a Reply