ユーザ用ツール

サイト用ツール


mae3xx_devel:communicate_with_xio100:start

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
mae3xx_devel:communicate_with_xio100:start [2017/02/09 16:40]
development [Modbus レジスタ]
mae3xx_devel:communicate_with_xio100:start [2021/06/15 14:59] (現在)
admin [Modbus レジスタ]
ライン 1: ライン 1:
 +====== 弊社製品 FutureNet XIO-1xx の制御 ======
 +
 +[[http://​www.centurysys.co.jp/​products/​protocol/​xio100.html|FutureNet XIO-100]] / [[https://​www.centurysys.co.jp/​downloads/​industrial/​xio110/​index.html|XIO-110]] を、Modbus により
 +拡張 DIO として制御・利用することができます((プログラムを作成していただく必要があります))。
 +
 +{{http://​www.centurysys.co.jp/​images/​photo/​industrial/​pic_xio100_new.jpg|FutureNet XIO-100}}
 +
 +[[mae3xx_devel:​modbus_programming:​start]] で紹介している、pylibmodbus を利用する例を紹介します。
 +
 +\\
 +===== Modbus TCP接続 =====
 +
 +MA-E300 と XIO-1x0 を Ethernet で接続し ModbusTCP で通信を行い DIO を制御します。\\
 +MA-E300 を Master、XIO-1x0 を Slave として通信を行います。
 +
 +
 +<​code>​
 +root@plum:/#​ ipython3 ​
 +Python 3.4.3 (default, Nov 17 2016, 01:​29:​34) ​
 +Type "​copyright",​ "​credits"​ or "​license"​ for more information.
 +
 +IPython 1.2.1 -- An enhanced Interactive Python.
 +?         -> Introduction and overview of IPython'​s features.
 +%quickref -> Quick reference.
 +help      -> Python'​s own help system.
 +object? ​  -> Details about '​object',​ use '​object??'​ for extra details.
 +
 +In [1]: import pylibmodbus
 +
 +In [2]: client = pylibmodbus.ModbusTcp('​192.168.254.252'​)
 +
 +In [3]: client.connect()
 +
 +In [4]: client.set_slave(0)
 +
 +In [5]: client.read_input_bit(0)
 +Out[5]: 1
 +
 +In [6]: client.write_bit(1000,​1)
 +
 +In [7]: client.read_input_registers(0,​17)
 +Out[7]: [0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 339]
 +
 +In [8]: client.write_bit(0,​1)
 +
 +In [9]: client.write_bit(1100,​1)
 +</​code>​
 +
 +  * [1] pylibmodbus モジュールを読み込みます。
 +  * [2] Modbus TCP のインスタンスを初期化します。
 +  * [3] 接続します。
 +  * [4] Slave 機器のアドレスを設定します。
 +  * [5] 入力ステータスのアドレス 0 を読み、XIO の DI0 の状態を確認します。
 +  * [6] コイルのアドレス 1000 に 1 を書込み、XIO の DI0 のパルスカウンタを有効にします。
 +  * [7] 入力レジスタのアドレス 0 から 16 までを読み込み、XIO のパルスカウンタ値及び、基板温度を確認します。
 +  * [8] コイルのアドレス 0 に 1 を書込み、XIO の DO0 を ON に設定します。
 +  * [9] コイルのアドレス 1100 に 1 を書込み、XIO の DI0 のパルスカウンタをリセットします。
 +
 +\\
 +
 +
 +===== Modbus レジスタ =====
 +
 +XIO-1x0 のレジスタは下記の構成になっています。
 +
 +|<50em 5em 25em 8em>|
 +^  アドレス ​ ^  内容 ​ ^  機種 ​ |
 +^  コイル ​ ^^^
 +|  0-7|接点出力 0 - 7 1:ON / 0:​OFF|XIO-100|
 +|  1000-1007|接点入力 0 - 7 パルスカウンタ開始 / 停止 1:開始 / 0:​停止|:::​|
 +|  1100-1107|接点入力 0 - 7 パルスカウンタリセット 1:​リセット|:::​|
 +|  0-1|接点出力 0 - 1 1:ON / 0:​OFF|XIO-110|
 +|  1000-1001|接点入力 0 - 1 パルスカウンタ開始 / 停止 1:開始 / 0:​停止|:::​|
 +|  1100-1101|接点入力 0 - 1 パルスカウンタリセット 1:​リセット|:::​|
 +|  2000|DC 電源出力 1:ON / 0:OFF|:::|
 +^  入力ステータス ​ ^^^
 +|  0-7|接点入力 0 - 7 1:ON / 0:​OFF|XIO-100|
 +|  0-1|接点入力 0 - 1 1:ON / 0:​OFF|XIO-110|
 +^  入力レジスタ ​ ^^^
 +|  0|接点入力 0 パルスカウンタ上位 16 ビット|XIO-100/​110|
 +|  1|接点入力 0 パルスカウンタ下位 16 ビット|:::​|
 +|  2|接点入力 1 パルスカウンタ上位 16 ビット|:::​|
 +|  3|接点入力 1 パルスカウンタ下位 16 ビット|:::​|
 +|  4|接点入力 2 パルスカウンタ上位 16 ビット|XIO-100|
 +|  5|接点入力 2 パルスカウンタ下位 16 ビット|:::​|
 +|  6|接点入力 3 パルスカウンタ上位 16 ビット|:::​|
 +|  7|接点入力 3 パルスカウンタ下位 16 ビット|:::​|
 +|  8|接点入力 4 パルスカウンタ上位 16 ビット|:::​|
 +|  9|接点入力 4 パルスカウンタ下位 16 ビット|:::​|
 +|  10|接点入力 5 パルスカウンタ上位 16 ビット|:::​|
 +|  11|接点入力 5 パルスカウンタ下位 16 ビット|:::​|
 +|  12|接点入力 6 パルスカウンタ上位 16 ビット|:::​|
 +|  13|接点入力 6 パルスカウンタ下位 16 ビット|:::​|
 +|  14|接点入力 7 パルスカウンタ上位 16 ビット|:::​|
 +|  15|接点入力 7 パルスカウンタ下位 16 ビット|:::​|
 +|  16|基板温度 0.1 ℃単位(例:​ 34.2 ℃ => 342)|XIO-100/​110|
 +|  32|アナログ入力 0 データ 16ビット|XIO-110|
 +|  33|アナログ入力 1 データ 16ビット|:::​|
 +|  34|アナログ入力 2 データ 16ビット|:::​|
 +|  35|アナログ入力 3 データ 16ビット|:::​|
 +
  
mae3xx_devel/communicate_with_xio100/start.1486626035.txt.bz2 · 最終更新: 2017/02/09 16:40 by development