0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

三菱シーケンサFX5SとRaspberry Pi4の接続

Posted at

いきさつ

三菱シーケンサとラズパイの通信について、三菱Qシリーズを使用した記事は検索したら出てくるのですが、最新のiQ-F,iQ-Rとラズパイを接続した記事は見当たらなかったのでUPしてみます。

環境

**** ****
Raspberry Pi 4 Model B 8GB
Raspberry Pi OS Debian GNU/Linax 13(trixie)
Python 3.13.5
pymcprotocol 0.3.0
PLC FX5S-30MT/ES
GX Works3 1.117X

PLCの設定

パラメータ→FX5SCPU→ユニットパラメータ→Ethernetポート
image.png

基本設定→相手機器接続構成設定
image.png

Pythonプログラム

plc_test.py
import pymcprotocol

# PLCに接続(IPアドレス、ポート番号、交信データコード(バイナリ)指定)
plc = pymcprotocol.Type3E()
plc.connect("192.168.0.11", 5015)
plc.setaccessopt(commtype="binary")

# D0の値を取得
data = plc.batchread_wordunits(headdevice="D0", readsize=1)
print(f"D0の値: {data}")

# D1に1234を書き込む
plc.batchwrite_wordunits(headdevice="D1", values=[1234])
print("D1に1234を書き込みました")

# 接続を閉じる
plc.close()

参考

終わりに

公式ではシーケンサのQ,L,QnA,iQ-L,iQ-Rに対応しているということで「iQ-F」は?
と思ったんですが、Qと同じType3E()で動きました。Type4E()でも動きました。
Type3E(plctype="iQ-R")では動きませんでした。

import pymcprotocol

#If you use Q series PLC
pymc3e = pymcprotocol.Type3E()
#if you use L series PLC,
pymc3e = pymcprotocol.Type3E(plctype="L")
#if you use QnA series PLC,
pymc3e = pymcprotocol.Type3E(plctype="QnA")
#if you use iQ-L series PLC,
pymc3e = pymcprotocol.Type3E(plctype="iQ-L")
#if you use iQ-R series PLC,
pymc3e = pymcprotocol.Type3E(plctype="iQ-R")

#If you use 4E type
pymc4e = pymcprotocol.Type4E()

もしラズパイのeth0にIPが設定されてなかったら(わたしがそうでした)、「ラズパイ NetworkManager」で調べましょう。「ラズパイ eth0」で検索したりAIに聞いたりすると、dhcpcdでなんとかしようとしてきます。2023年10月からNetworkManagerが標準となっているそうです。
終わり。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?