Modbusの利用 (2) CONPROSYS その1 設定と確認

 CONPROSYSシリーズは、コンテック社の低価格組み込みコンピュータです。動作温度範囲が-20~+60℃と広いので、事務所だけではなく工場などでも利用できます。ファンレスですが、密閉型ではありません。
 アナログ入出力、温度計などのオプション・ボードがありますが、ここでは、本体にある4本のディジタル入出力を利用します。I2C/SPIバスは外部に出ていないようです。

 入手したCPS-MCS341-DS1-131は、NC機器との通信に対応したMTConnectやクラウドのAzure IoT Hubにも対応していますが、Modbusサーバを起動しておくと、Modbus/TCPスレーブとして動作します。このコンピュータはLinuxで動いていますが、SSH(シェル)による操作はできず、Webベースのアプリケーションで各種設定を行います。

IPアドレスの変更

 筆者のLANは192.168.111.xxx/255.255.255.0です。CPS-MCS341-DS1-131 のデフォルトは10.1.1.101に設定されているので、管理画面から変更します。次の画面は、すでに変更した後に表示しています。変更作業以前に、PCもこの10.1.1.xxxに変更しておかなくてはなりません。手順は「セットアップマニュアル | M2Mコントローラ CPS-MCS341 [日本語]」に丁寧に書かれています。

 ユーザ名とパスワードはともにmc431mc341です。

 確定のボタンを押し、左のメニューの保存とシャットダウンを押すと、保存したのちに電源が切れます。再度電源を入れると、IPアドレスは変更されています。

Modbusの設定

 ディジタル入出力は次の設定画面で入力に設定します。モジュールを選び、ここでは本体(CPUモジュール)しか存在しないので周辺モジュールは表示されていません。

 CPUモジュールの設定ボタンをクリックします。DIO0~DIO3の全部デフォルトをDOからDIの入力に変更しました。個別にDOもしくはDIに変更できます。確定ボタンをクリックします。

 CONPROSYS シリーズのパンフレットに、入力は、

フォトカプラ絶縁⼊⼒(電流シンク出⼒対応)(負論理)*1
*1 データ「0」がHighレベル、データ「1」がLowレベルに対応します。

と書かれています。そこで、4.7kΩの抵抗をDIO2とMCOMにつなぎ、DIO2端子をLowにしました。負論理なので、入力に'1'が入っているはずです。

 メニューのステータス->Modbus表示で、レジスタはデフォルトの「コイル(Coil):DO」から「入力ステータス:DI」に変更し、取得ボタンをクリックします。三つ目の入力が'1'になっていました。

ツールCAS Modbus Scanner

 PCにインストールした、Modbus機器とのやり取りをツールのCAS Modbus Scannerを使って確認を行います。PCとコンピュータCPS-MCS341-DS1-131は、LANで接続されています。

 画面左側が設定内容です。設定した「192.168.111.20のポート502、デバイスは0、入力ステータス」を選び、Pollでコマンドを送り、画面右に読み出した結果が表示されます。入力の3番目が'1'になっていることが確認できました。

 以上の作業で、コンピュータCPS-MCS341-DS1-131の入力に設定した入出力ポートの3番目がLowだったことが確認できました。