目次

last update: 2024/04

embOS RTOS用BSPパッケージ
第4章: MODBUS通信(TCP経由)
評価ボード:RX72N Envision Kit




テストサンプル

Demo Sample Application Folder:

Application
 └ _Exclude
     ├ MB  ..... MODBUS MASTER / SLAVE機能のデモサンプル
Sample説明
MB_MASTER_TCPSampleMODBUS/TCP プロトコルを使用してLANポート経由でマスタモード通信を確認します
MB_SLAVE_TCPSampleMODBUS/TCP プロトコルを使用してLANポート経由でスレーブモード通信を確認します

関連設定ファイル:

Config
 |- MB_Conf.h  ............ MODBUSコンフィグレーション設定ファイル
 |- OS
 |   |- lib_embOSLayer_RXv3_L.lib  ..... OSインターフェース設定ファイル
 |
 |- IO
     |- MB_ConfigIO.c  ..... デバッグコンソールIOインターフェース設定ファイル

ビルド・動作確認方法

プロジェクト設定では「\Application\_Exclude\MB」フォルダはビルド対象外に設定しています。以下のどちらかの方法で動作確認を行うサンプルアプリケーションを選択します。

  1. 「\_Exclude\MB」フォルダ下の対象テストサンプルファイルをビルド対象設定の「\Application」フォルダ下にコピーします。
  2. 「\_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デモ用テストプログラム
PC Setup

ネットワーク環境に合わせて評価ボード側の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)

MODBUS MASTERサンプルの動作確認:

  1. 「MB_MASTER_TCPSample.c」プログラムの SLAVE_IP_ADDR マクロにパソコンのIPアドレスを指定します。
    File: BSP\Setup\IP_Config_RX72N_ETH.c
    #define SLAVE_IP_ADDR  IP_BYTES2ADDR(192, 168, 11, 2)  // IP addr. of slave to connect to.
  2. 「MB_MASTER_TCPSample.c」サンプルを選択してプロジェクトを再ビルドします。
  3. LANケーブルを接続して、パソコン側に「Modbus_Slave.exe」プログラムを起動します。
    Setup:Interface type = TCP、Slave Address = 1、Base address = 1000
  4. MODBUS MASTERサンプルプロジェクトのデバッグセッションを開始して、プログラムを実行します。
  5. パソコン側のテストプログラムの画面から結果を確認します。

MODBUS SLAVEサンプルの動作確認:

  1. 「MB_SLAVE_TCPSample.c」サンプルを選択してプロジェクトを再ビルドします。
  2. LANケーブルを接続して、MODBUS SLAVEサンプルプロジェクトのデバッグセッションを開始して、プログラムを実行します。
  3. パソコン側に「Modbus_Master.exe」プログラムを起動します。
    Setup:TCP、Modbus/TCP Slave = 評価ボードのIPアドレス、Slave Address = 1、Base address = 1000
  4. 評価ボードのLED表示及びパソコン側のテストプログラムの画面から結果を確認します。

テストレポート

Sample: MB_MASTER_TCPSample

File: MB_MASTER_TCPSample.c (MODBUS SLAVEのIPアドレス設定)

  #define SLAVE_IP_ADDR  IP_BYTES2ADDR(192, 168, 1, 3)

パソコン側の Modbus_Slave.exe プログラムのコンソール

PC ModbusSlave

Sample: MB_SLAVE_TCPSample

パソコン側の 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. 
前の章

圧縮・解凍機能のデモサンプル

次の章

TCP/IPネットワーク通信