ユーザ用ツール

サイト用ツール


mae3xx_devel:communicate_with_xio100:start

弊社製品 FutureNet XIO-1xx の制御

FutureNet XIO-100 / XIO-110 を、Modbus により 拡張 DIO として制御・利用することができます1)

FutureNet XIO-100

Modbus のプログラミング (pylibmodbus) で紹介している、pylibmodbus を利用する例を紹介します。


Modbus TCP接続

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)
  • [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-1×0 のレジスタは下記の構成になっています。

アドレス 内容 機種
コイル
0-7接点出力 0 - 7 1:ON / 0:OFFXIO-100
1000-1007接点入力 0 - 7 パルスカウンタ開始 / 停止 1:開始 / 0:停止
1100-1107接点入力 0 - 7 パルスカウンタリセット 1:リセット
0-1接点出力 0 - 1 1:ON / 0:OFFXIO-110
1000-1001接点入力 0 - 1 パルスカウンタ開始 / 停止 1:開始 / 0:停止
1100-1101接点入力 0 - 1 パルスカウンタリセット 1:リセット
2000DC 電源出力 1:ON / 0:OFF
入力ステータス
0-7接点入力 0 - 7 1:ON / 0:OFFXIO-100
0-1接点入力 0 - 1 1:ON / 0:OFFXIO-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ビット
1)
プログラムを作成していただく必要があります
mae3xx_devel/communicate_with_xio100/start.txt · 最終更新: 2021/06/15 14:59 by admin