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だったことが確認できました。