FutureNet XIO-100 / XIO-110 を、Modbus により 拡張 DIO として制御・利用することができます1)。
Modbus のプログラミング (pylibmodbus) で紹介している、pylibmodbus を利用する例を紹介します。
MA-E300 と XIO-1×0 を Ethernet で接続し ModbusTCP で通信を行い DIO を制御します。
MA-E300 を Master、XIO-1×0 を Slave として通信を行います。
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)
XIO-1×0 のレジスタは下記の構成になっています。
アドレス | 内容 | 機種 |
---|---|---|
コイル | ||
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ビット |