目次

last update: 2024/05

OSレス環境用BSPパッケージ
第4章: MODBUS通信(RS232経由)
評価ボード:HSBRX113F100




テストサンプル

Demo Sample Application Folder:

Application
 └ _Exclude
     ├ MB  ..... MODBUS(ASCII/RTU) MASTER機能のデモサンプル
Sample説明
MB_MASTER_ASCIISampleMODBUS/ASCII プロトコルを使用してマスタモード通信を確認します
MB_MASTER_RTUSampleMODBUS/RTU プロトコルを使用してマスタモード通信を確認します
MB_SLAVE_ASCIISampleMODBUS/ASCII プロトコルを使用してスレーブモード通信を確認します
MB_SLAVE_RTUSampleMODBUS/RTU プロトコルを使用してスレーブモード通信を確認します

関連設定ファイル:

BSP
 |- BSP_UART.c  ........... MODBUS用UARTインターフェースドライバ(ソース)
 |- BSP_UART.h  ........... MODBUS用UARTインターフェースドライバ(ヘッダ)
 |- BSP.c  ................ LEDポートインターフェース

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

ビルド・動作確認方法

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

  1. 「\_Exclude\MB」フォルダ下の対象テストサンプルファイルをビルド対象設定の「\Application」フォルダ下にコピーします。
  2. 「\_Exclude\MB」フォルダ下の対象テストサンプルファイルのみ「ビルド対象外」の設定を解除します。

テスト環境の設定:

評価ボードにはUARTポート及びUSER LED表示は実装されていません。デモサンプルではUARTポートインターフェースとしてRX113マイコンデバイスのSCI0ポート(TXD0=P20、RXD0=P21ピン)を使用します。評価ボードのJ3コネクタのPin-13/14/26にUSB-UART変換アダプタを接続してUARTインターフェースを実装します。MODBUS SLAVE用のデモサンプルはLED表示を使用します。

MODBUS用UARTインターフェースドライバ:BSP_UART.c
LEDポートインターフェースドライバ:BSP.c

UARTポートインターフェース・配線:

USB-UART RXRX113 TXD0 P20 (J3 Pin-13)
USB-UART TXRX113 RXD0 P21 (J3 Pin-14)
USB-UART GNDRX113 GND (J3 Pin-26)

LEDポートインターフェース・配線:

LED0RX113 P13 (J1 Pin-1)
LED1RX113 P12 (J1 Pin-2)
UART+LED Wiring

パソコン側にMODBUSデモサンプルの動作確認用以下のプログラムを使用します。

Windows
 |- MB
    |- Modbus_Master
    |   |- Modbus_Master.exe  ..... MODBUS SLAVEデモ用テストプログラム
    |
    |- Modbus_Slave
        |- Modbus_Slave.exe   ..... MODBUS MASTERデモ用テストプログラム

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

  1. 「MB_MASTER_ASCIISample.c」又は「MB_MASTER_RTUSample.c」サンプルを選択してプロジェクトを再ビルドします。
  2. USB-UART変換アダプタを使用して評価ボードのSCI0ポートをテスト用パソコンに接続して、パソコン側に「Modbus_Slave.exe」プログラムを起動します。
    Setup:Interface type = ASCII / RTU、COMポート番号、Slave Address = 1、Base address = 1000
  3. MODBUS MASTERサンプルプロジェクトのデバッグセッションを開始して、プログラムを実行します。
  4. パソコン側のテストプログラムの画面から結果を確認します。

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

  1. 「MB_SLAVE_ASCIISample.c」又は「MB_SLAVE_RTUSample.c」サンプルを選択してプロジェクトを再ビルドします。
  2. USB-UART変換アダプタを使用して評価ボードのSCI0ポートをテスト用パソコンに接続して、MODBUS SLAVEサンプルプロジェクトのデバッグセッションを開始して、プログラムを実行します。
  3. パソコン側に「Modbus_Master.exe」プログラムを起動します。
    Setup:Interface type = ASCII / RTU、COMポート番号、Slave Address = 1、Base address = 1000
  4. 評価ボードのLED表示(GPIO P12、P13)及びパソコン側のテストプログラムの画面から結果を確認します。

テストレポート

Sample: MB_MASTER_ASCIISample

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 プログラムのコンソール

PC ModbusSlave

Sample: MB_SLAVE_ASCIISample

評価ボード側の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.

Sample: MB_MASTER_RTUSample

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 プログラムのコンソール

PC ModbusSlave

Sample: MB_SLAVE_RTUSample

評価ボード側の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.
前の章

セキュリティ機能の評価

次の章

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