last update: 2024/04
Demo Sample Application Folder:
Application └ _Exclude ├ MB ..... MODBUS MASTER / SLAVE機能のデモサンプル
Sample | 説明 |
---|---|
MB_MASTER_ASCIISample | MODBUS/ASCII プロトコルを使用してマスタモード通信を確認します |
MB_SLAVE_ASCIISample | MODBUS/ASCII プロトコルを使用してスレーブモード通信を確認します |
MB_MASTER_RTUSample | MODBUS/RTU プロトコルを使用してマスタモード通信を確認します |
MB_SLAVE_RTUSample | MODBUS/RTU プロトコルを使用してスレーブモード通信を確認します |
MB_MASTER_TCPSample | MODBUS/TCP プロトコルを使用してLANポート経由でマスタモード通信を確認します |
MB_SLAVE_TCPSample | MODBUS/TCP プロトコルを使用してLANポート経由でスレーブモード通信を確認します |
Config |- MB_Conf.h ............ MODBUSコンフィグレーション設定ファイル |- OS | |- libFreeRT_OSLayer_RXv3_L.lib ..... OSインターフェース設定ファイル | |- IO |- MB_ConfigIO.c ..... デバッグコンソールIOインターフェース設定ファイル
プロジェクト設定では「\Application\_Exclude\MB」フォルダはビルド対象外に設定しています。以下のどちらかの方法で動作確認を行うサンプルアプリケーションを選択します。
LAN Ethernetポート経由でMODBUS/TCPデータ通信を行いますので、LANドライバインターフェースを定義する「\BSP\Setup\IP_Config_RX72N_ETH.c」ファイルもビルド対象設定であることを確認してください。
評価ボードのLANポートをテスト用パソコンに接続して、TCP/IPネットワーク通信が正常にできることを確認してください。
パソコン側にMODBUSデモサンプルの動作確認用以下のプログラムを使用します。
Windows |- MB |- Modbus_Master | |- Modbus_Master.exe ..... MODBUS SLAVEデモ用テストプログラム | |- Modbus_Slave |- Modbus_Slave.exe ..... MODBUS MASTERデモ用テストプログラム
ネットワーク環境に合わせて評価ボード側のemNetスタックのコンフィグレーション設定を編集してください。
File: BSP\Setup\IP_Config_RX72N_ETH.c
#define USE_DHCP 1 // Use DHCP client or static IP configuration. // // The following parameters are only used when the DHCP client is not active. // #define IP_ADDR IP_BYTES2ADDR(192, 168, 11, 8) #define SUBNET_MASK IP_BYTES2ADDR(255, 255, 255, 0) #define GW_ADDR IP_BYTES2ADDR(192, 168, 11, 1) #define DNS_ADDR IP_BYTES2ADDR(192, 168, 11, 1)
#define SLAVE_IP_ADDR IP_BYTES2ADDR(192, 168, 11, 2) // IP addr. of slave to connect to.
USB UART変換コネクタ(CN8ポート)経由でMODBUS ASCII/RTUデータ通信を行いますので、UARTドライバインターフェースを定義する「\BSP\USB_UART.c」ファイルもビルド対象設定であることを確認してください。
USB UARTのBaudrate設定値は「115200」を使用します。
File: MB_MASTER_ASCIISample.c, MB_MASTER_RTUSample.c, MB_SLAVE_ASCIISample.c, MB_SLAVE_RTUSample.c
#define UART_BAUDRATE 115200
評価ボードの SW3 DIPスイッチを以下のように設定します。
評価ボードのCN8 USBポートをテスト用パソコンに接続して、パソコン側にMODBUSデモサンプルの動作確認用以下のプログラムを使用します。
Windows |- MB |- Modbus_Master | |- Modbus_Master.exe ..... MODBUS SLAVEデモ用テストプログラム | |- Modbus_Slave |- Modbus_Slave.exe ..... MODBUS MASTERデモ用テストプログラム
File: MB_MASTER_TCPSample.c (MODBUS SLAVEのIPアドレス設定)
#define SLAVE_IP_ADDR IP_BYTES2ADDR(192, 168, 1, 3)
パソコン側の Modbus_Slave.exe プログラムのコンソール
パソコン側の Modbus_Master.exe プログラムのコンソール
SEGGER Modbus master V1.02 Compiled on Apr 15 2016 11:41:12 Enter interface type (1:TCP|2:RTU|3:ASCII) [TCP]: 1 Enter network address of Modbus/TCP slave [127.0.0.1]: 192.168.1.12 Enter slave address (dec.) [1]: 1 Enter base address of registers (dec.) [1000]: 1000 Executing blinky on slave addr. 1 by toggling coils on addr. 1000 & 1001 . Press any key to close.
PC側の「Modbus_Slave.exe」プログラムを実行して以下のようにパラメータを設定します。
※COMポート番号は環境に合わせて設定してください。
Enter interface type (1:TCP|2:RTU|3:ASCII) [TCP]: 3 Enter COM port to use (dec.) [COM1]: 8 Enter Baud rate to use (dec.) [38400]: 115200 Enter the number of data bits (dec. 4 - 8) [8]: Enter the parity (0:None|1:Odd|2:Even|3:Mark|4:Space) [None]: Enter the number of stop bits (0:One|1:One and half|2:Two) [One]: COM configuration used: COM8, Baud:115200, Data bits:8, Parity:None, Stop bits:One Enter slave address (dec.) [1]: 1 Enter base address of registers (dec.) [1000]: 1000
パソコン側の Modbus_Slave.exe プログラムのコンソール
パソコン側の Modbus_Master.exe プログラムのコンソール
SEGGER Modbus master V1.02 Compiled on Apr 15 2016 11:41:12 Enter interface type (1:TCP|2:RTU|3:ASCII) [TCP]: 3 Enter COM port to use (dec.) [COM1]: 8 Enter Baud rate to use (dec.) [38400]: 115200 Enter the number of data bits (dec. 4 - 8) [8]: Enter the parity (0:None|1:Odd|2:Even|3:Mark|4:Space) [None]: Enter the number of stop bits (0:One|1:One and half|2:Two) [One]: COM configuration used: COM8, Baud:115200, Data bits:8, Stop bits:One, Parity:None Enter slave address (dec.) [1]: 1 Enter base address of registers (dec.) [1000]: 1000 Executing blinky on slave addr. 1 by toggling coils on addr. 1000 & 1001 . Press any key to close.
PC側の「Modbus_Slave.exe」プログラムを実行して以下のようにパラメータを設定します。
※COMポート番号は環境に合わせて設定してください。
Enter interface type (1:TCP|2:RTU|3:ASCII) [TCP]: 2 Enter COM port to use (dec.) [COM1]: 8 Enter Baud rate to use (dec.) [38400]: 115200 Enter the number of data bits (dec. 4 - 8) [8]: Enter the parity (0:None|1:Odd|2:Even|3:Mark|4:Space) [None]: Enter the number of stop bits (0:One|1:One and half|2:Two) [One]: COM configuration used: COM8, Baud:115200, Data bits:8, Parity:None, Stop bits:One Enter slave address (dec.) [1]: 1 Enter base address of registers (dec.) [1000]: 1000
PC側の「Modbus_Slave.exe」プログラム実行後に評価ボード側のMODBUS Masterプログラムを実行します。
パソコン側の Modbus_Slave.exe プログラムのコンソール
パソコン側の Modbus_Master.exe プログラムのコンソール
SEGGER Modbus master V1.02 Compiled on Apr 15 2016 11:41:12 Enter interface type (1:TCP|2:RTU|3:ASCII) [TCP]: 2 Enter COM port to use (dec.) [COM1]: 8 Enter Baud rate to use (dec.) [38400]: 115200 Enter the number of data bits (dec. 4 - 8) [8]: Enter the parity (0:None|1:Odd|2:Even|3:Mark|4:Space) [None]: Enter the number of stop bits (0:One|1:One and half|2:Two) [One]: COM configuration used: COM8, Baud:115200, Data bits:8, Stop bits:One, Parity:None Enter slave address (dec.) [1]: 1 Enter base address of registers (dec.) [1000]: 1000 Executing blinky on slave addr. 1 by toggling coils on addr. 1000 & 1001 . Press any key to close.
TCP/IPネットワーク通信