初学者实操|PLC MODBUS通讯サンプル

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

初学者实操|PLC MODBUS通讯サンプル
一、Modbus通信プロトコル

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口。

初学者实操|PLC MODBUS通讯サンプルイラスト

图1

2.シーメンスModbus库マスターMBUS_CTRL的マスター定义参数,如图2所示。

初学者实操|PLC MODBUS通讯サンプルイラスト1

图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所示

初学者实操|PLC MODBUS通讯サンプルイラスト2

图3

图3中符号説明如下:

En:使能

First:首次扫描用沿触发

Slave:slave address(1-247マスターデフォルト2号站,駅からの住所除2以外)

RW:读書き込み操作。,0读,1写

Addr:读アドレスを書く。機能コード

初学者实操|PLC MODBUS通讯サンプルイラスト3

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スレーブ指令

  1. シーメンスModbus库スレーブMBUS_CTRL的スレーブ定义参数,如图4所示。

初学者实操|PLC MODBUS通讯サンプルイラスト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所示。

初学者实操|PLC MODBUS通讯サンプルイラスト5

图5

四、通信程序编写

ModbusRTU两台PLC互相控制通信サンプル

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

初学者实操|PLC MODBUS通讯サンプルイラスト6

初学者实操|PLC MODBUS通讯サンプルイラスト7

初学者实操|PLC MODBUS通讯サンプルイラスト8

图6

初学者实操|PLC MODBUS通讯サンプルイラスト9

初学者实操|PLC MODBUS通讯サンプルイラスト10

图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所示。

初学者实操|PLC MODBUS通讯サンプルイラスト11

图1-1

初学者实操|PLC MODBUS通讯サンプルイラスト12

图1-2

初学者实操|PLC MODBUS通讯サンプルイラスト13

图1-3

初学者实操|PLC MODBUS通讯サンプルイラスト14

图1-4

初学者实操|PLC MODBUS通讯サンプルイラスト15

图1-5

初学者实操|PLC MODBUS通讯サンプルイラスト16

图1-6

初学者实操|PLC MODBUS通讯サンプルイラスト17

图1-7

初学者实操|PLC MODBUS通讯サンプルイラスト18

图1-8

ModbusRTU三台PLC星三角通信サンプル

  1. 三台PLC通信マスター、3駅から。和4スレーブ,3号和4号之间互相控制两台电机的启停如图2-1所示,控制程序如图2-2图2-3图2-4图2-5图2-6图2-7所示。

初学者实操|PLC MODBUS通讯サンプルイラスト19

图2-1

初学者实操|PLC MODBUS通讯サンプルイラスト20

图2-2

初学者实操|PLC MODBUS通讯サンプルイラスト21

图2-3

初学者实操|PLC MODBUS通讯サンプルイラスト22

图2-4

初学者实操|PLC MODBUS通讯サンプルイラスト23

图2-5

初学者实操|PLC MODBUS通讯サンプルイラスト24

图2-6

初学者实操|PLC MODBUS通讯サンプルイラスト25

图2-7

2.三台PLC通信マスター、3駅から。和4スレーブ,3号和4号之间互相控制两台电机的启停,3駅から。控制程序如图2-8图2-9图2-10所示。

初学者实操|PLC MODBUS通讯サンプルイラスト26

图2-8

初学者实操|PLC MODBUS通讯サンプルイラスト27

图2-9

初学者实操|PLC MODBUS通讯サンプルイラスト28

图2-10

3.三台PLC通信マスター、3駅から。和4スレーブ,3号和4号之间互相控制两台电机的启停,4駅から。控制程序如图2-11图2-12图2-13所示。

初学者实操|PLC MODBUS通讯サンプルイラスト29

图2-11

初学者实操|PLC MODBUS通讯サンプルイラスト30

图2-12

初学者实操|PLC MODBUS通讯サンプルイラスト31

图2-13

值得注意的是,要记得更改三号站和四号站在系统块内的アドレス,スレーブ定义用沿来触发。最后记得在程序块中に設置。库存储区的分配如图2-14。

初学者实操|PLC MODBUS通讯サンプルイラスト32

图2-14

Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.