LoginSignup
1
1

AMSAMOTIONの8000円 中華PLCでMODBUS/TCP通信をする

Last updated at Posted at 2021-11-11

AliExpressで買った8000円のPLCでMODBUS/TCP通信をしてみようの記事です。
設定内容はAMX-FX3U-26MT-E用なので純正のFX3Uでは役に立たない内容です。
LAN内蔵のMELSECだと通信プロトコル支援機能で同じ事が出来るはずです。

MODBUSとは

要するにModicon社PLC(Schneider Electric)の産業用ネットワークで仕様が開示されてるから色々な機器に実装されてるプロトコルです。
Githubを漁るとマイコン用のライブラリもたくさんあります。
MODBUS RTUはシリアル通信ですがMODBUS TCPはLANで通信するやつですね。

資料番号:NM-5650 資料名称:Modbusプロトコル概説書 が日本語でわかりやすいです

AMSAMOTIONのHPにマニュアルがあるので読んでみる…
😇😕🤮

image.png

試した結果こんな割り付け仕様っぽいです

デフォルトのデバイス割り付け

D8476-D8479が設定範囲外 or 0設定時は下記のようになります。デフォルト

- Type Data Address PLC Address
DO コイル(Coil) 1-32 Y000-Y037
DI 入力ステータス(Input Status) 10001-10032 X000-X037
AI 入力レジスタ(Input Register) 30001-30032 D8030-D8061
AO 保持レジスタ(Holding Register) 40001-40064 D7100-D7163

任意のアドレス設定例

制約はりますがある程度は任意のアドレスに割り当てられます。
マニュアル読んだがわかりづらい
PLC Addressの範囲に設定するにはSettingのDデバイスにParameterの16進数を設定します

- Type Data Address PLC Address Setting Parameter Max Length
DO コイル(Coil) 1-32 M0000-M0031 D8476 0x8080 32bit
DI 入力ステータス(Input Status) 10001-10032 M0032-M0063 D8477 0x8082 32bit
AI 入力レジスタ(Input Register) 30001-30032 D1000-D1031 D8478 0x43E8 32Word
AO 保持レジスタ(Holding Register) 40001-40064 D1032-D1095 D8479 0x8408 64Word

上位3bitの設定

ビットデバイス
001= 8bit
010=16bit
100=32bit

ワードデバイス
001=16Word
010=32Word
100=64Word(AOのみ可)

下位の設定(MかDのアドレスをよくわからないHexで設定)

M開始 0x0080=M0000-M0015
M終了 0x00BF=M1008-M1023
D開始 0x0014=D0500
D終了 0x1F3F=D7999
うまく説明できない🤮

下記のように割り付けてMAXの点数を割り当てた場合
DO:M0000-M0031:0x080->0x8080
DI:M0032-M0063:0x082->0x8082
AI:D1000-D1031:0x3E8->0x43E8
AO:D1032-D1095:0x408->0x8408

*M8411を使わないといけないらしい。設定終了後はFLASHに書き込まれるので回路を削除する。
image.png

IPも同様
image.png

テスト

image.png
image.png
image.png
image.png
image.png

Factory IO

こんな中華のPLC通信テストしてどうするねんという事なのですがまあそれには目的があります。

これを8000円の中華PLCで動かすのはおもしろそうなので。
image.png
image.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1