last update: 2025/01
Demo Sample Application Folder:
Application └ _Exclude ├ MB ..... MODBUS(ASCII/RTU/TCP) MASTER / SLAVE機能のデモサンプル
Sample | 説明 |
---|---|
MB_MASTER_ASCIISample | MODBUS/ASCII プロトコルを使用してマスタモード通信を確認します |
MB_MASTER_RTUSample | MODBUS/RTU プロトコルを使用してマスタモード通信を確認します |
MB_MASTER_TCPSample | MODBUS/TCP プロトコルを使用してLANポート経由でマスタモード通信を確認します |
MB_SLAVE_ASCIISample | MODBUS/ASCII プロトコルを使用してスレーブモード通信を確認します |
MB_SLAVE_RTUSample | MODBUS/RTU プロトコルを使用してスレーブモード通信を確認します |
MB_SLAVE_TCPSample | MODBUS/TCP プロトコルを使用してLANポート経由でスレーブモード通信を確認します |
BSP |- BSP_UART.c ........... MODBUS用UARTインターフェースドライバ(ソース) |- BSP_UART.h ........... MODBUS用UARTインターフェースドライバ(ヘッダ) |- BSP.c ................ LEDポートインターフェース Config |- MB_Conf.h ............ MODBUSコンフィグレーション設定ファイル |- OS | |- libNo_OSLayer_RXv2_L.lib ..... OSインターフェース設定ファイル | |- IO |- MB_ConfigIO.c ..... デバッグコンソールIOインターフェース設定ファイル
プロジェクト設定では「\Application\_Exclude\MB」フォルダはビルド対象外に設定しています。以下のどちらかの方法で動作確認を行うサンプルアプリケーションを選択します。
ボードの「CN5」コネクタのSCI6 UARTポート経由でMODBUS ASCII/RTUデータ通信を行いますので、UARTドライバインターフェースを定義する「\BSP\USB_UART.c」ファイルもビルド対象設定であることを確認してください。
UARTインターフェースの動作確認には、RS-232 インタフェースコンバータボード(PC-RS-04)が必要です。ボード上の「SW2」スイッチを「SCI6」側に設定してください。
SW2 SW | 「SCI6」側に設定(SCI6ポートを UARTとして使用します) |
---|
LAN Ethernetポート経由でMODBUS/TCPデータ通信を行いますので、LANドライバインターフェースを定義する「\BSP\Setup\IP_Config_RX65N_ETH.c」ファイルもビルド対象設定であることを確認してください。
ネットワーク環境に合わせて評価ボード側のemNetスタックのコンフィグレーション設定を編集してください。
File: BSP\Setup\IP_Config_RX65N_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, 252) #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)
LANポート又はPC-RS-04コンバータボード経由で評価ボードの「CN5」コネクタのUARTポートをテスト用パソコンに接続して、パソコン側にMODBUSデモサンプルの動作確認用以下のプログラムを使用します。
Windows |- MB |- Modbus_Master | |- Modbus_Master.exe ..... MODBUS SLAVEデモ用テストプログラム | |- Modbus_Slave |- Modbus_Slave.exe ..... MODBUS MASTERデモ用テストプログラム
PC側の「Modbus_Slave.exe」プログラムを実行して以下のようにパラメータを設定します。
※COMポート番号は環境に合わせて設定してください。
Enter interface type (1:TCP|2:RTU|3:ASCII) [TCP]: 3 Enter COM port to use (dec.) [COM1]: 18 Enter Baud rate to use (dec.) [38400]: 38400 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: COM18, Baud:38400, 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 Slaveプログラムを実行して、PC側の「Modbus_Master.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]: 18 Enter Baud rate to use (dec.) [38400]: 38400 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: COM18, Baud:38400, Data bits:8, Stop bits:One, Parity:None Enter slave address (dec.) [1]: Enter base address of registers (dec.) [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]: 18 Enter Baud rate to use (dec.) [38400]: 38400 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: COM18, Baud:38400, 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 Slaveプログラムを実行して、PC側の「Modbus_Master.exe」プログラムを実行します。
パソコン側の Modbus_Master.exe プログラムのコンソール
SEGGER Modbus/RTU master V1.02 Compiled on Apr 15 2016 11:41:12 COM configuration used: COM18, Baud:38400, Data bits:8, Stop bits:One, Parity:None Enter slave address (dec.) [1]: Enter base address of registers (dec.) [1000]: Executing blinky on slave addr. 1 by toggling coils on addr. 1000 & 1001 . Press any key to close.
File: MB_MASTER_TCPSample.c (MODBUS SLAVEのIPアドレス設定)
#define SLAVE_IP_ADDR IP_BYTES2ADDR(192, 168, 1, 4)
パソコン側の 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.11 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.
USB-Deviceインターフェース