G3Armadillo-X1カテゴリRS-485ModbusHowtoは、Armadilloシリーズを有効に活用するための参考資料です。使用ソフトウェアのバージョンなど諸条件の差異によって、記載内容と実際の動作が異なる場合があります。すべての機能検証や長期の動作試験を行ったものではありませんので、必ずご使用目的に適合した検証・試験を行ってください。RS02を用いてModbus通信を行う方法をご紹介します。WMB-DIO8Rの制御を行います。G3LのRS422/RS485シリアルポートでModbusの通信をするを参照してください。WMB-DIO8Rの通信仕様WMB-DIO8Rの通信仕様は以下となります。取扱説明書を参考に、WMB-DIO8Rの各種設定を行います。RS02の設定を行います。G3とWMB-DIO8Rの配線を行います。・WMB-DIO8Rの制御電源(電源+端子,電源-端子)に+24V、0Vを接続します。・WMB-DIO8RのModbus通信端子(SG)にSG用の配線を接続します。・WMB-DIO8RのModbus通信端子(通信+端子,通信-端子)に信号線DATA+、DATA-を接続します。・WMB-DIO8RのModbus通信端子(通信+端子,通信-端子)の信号線DATA+、DATA-の間に120Ωの終端抵抗を接続します。G3のCON4(ピン番号1)にSG用の配線を接続します。G3のCON4(ピン番号2,3)に信号線DATA-、DATA+を接続します。OUTPUTのピン番号4をon/offさせるプログラムを作成します。必要なパッケージのインストールサンプルプログラムの実行に必要なライブラリをインストールします。OUTPUTのピン番号4の制御するための送信パケットを書き出すと次のようになります。0x00送信パケットの内容を元に、サンプルプログラムを作成します。サンプルプログラムのダウンロードwmb-dio8r-ctrl.tar.gzをダウンロードします。http://download.atmark-techno.com/sample/armadillo-iot-x1-g3-modbus/wmb-dio8r-ctrl.tar.gzwmb-dio8r-ctrl.tar.gzを展開します。wmb-dio8r-ctrl.tar.gzwmb-dio8r-ctrlディレクトリに、wmb-dio8r-ctrl.cとMakefileがあることを確認して下さい。wmb-dio8r-ctrl.cサンプルプログラムの実装サンプルプログラムwmb-dio8r-ctrl.cは、次のように実装されています。ret;}WMB-DIO8Rへの送信パケットの一部には、ベンダーが独自に定義したパケットが使われています。libmodbusの標準関数ではベンダーが独自に定義したパケットを送信するための専用関数は用意されていません。そこで、本サンプルプログラムではmodbus_send_raw_request関数を使用し、ソースコード内に記載したパケットをそのまま送信するようにしています。Armadillo-400シリーズでModbusの通信をするを参考にして下さい。ビルド方法ソースコードのビルドを行います。make動作確認方法WMB-DIO8Rの電源投入WMB-DIO8Rの電源を入れて下さい。サンプルプログラムの実行サンプルプログラムを実行します。G3で異なるため注意して下さい。OUTPUTのピン番号4がon(LEDが点灯)になれば、通信成功です。WMB-DIO8Rとの接続例を記載したものです。Modbus通信を行う全ての機器の動作を保証するものではありませんので、ご注意下さい。・本Howtoは、簡易的な手順を示したものです。エラー処理等は考慮されていません。本格的に運用する際は、電気的特性、ノイズ等を考慮した回路設計、エラー処理、フェイルセーフ等のソフト設計を行う必要があります。本サイトに記載の商品名または会社名は、各社・各団体の商標または登録商標です。TM、®マークは付記していない場合があります。