senrust / pymcprotocol

MC Protocol(MELSEC Communication Protocol) implementation by Python
MIT License
80 stars 22 forks source link

PLC,GOT,ラズベリーパイ接続時にbatchread,batchwriteできなくなる #11

Closed yyyamadayyy closed 1 year ago

yyyamadayyy commented 1 year ago
PLCにラズベリーパイをEthernet接続しpymcprotocolでPLCのレジスタの読み書きを行おうとしています。 ラズベリーパイ⇔PLCのみのネットワークでは読み書きができたのですが、そこにGOTをEthernetで接続をするとラズベリーパイからレジスタの読み込みができなくなってしまいます。 ラズベリーパイとGOTでレジスタ参照が重複していることが原因のように考えられるのですが、どのようにすればよいか分かりません。最終的にはPLC,GOT,ラズベリーパイをEthernetで接続しラズベリーパイ側からPLCのレジスタの読み書きをできるようにしたいです。当方、PLCを触り始めて1年ほどになり通信関係の知識はあまり有りません。何か些細なことでも構いませんので、ご教示いただけますと幸いです。 ![image](https://user-images.githubusercontent.com/37472006/203709984-7d1e4c6b-1d83-428e-9178-74d67a310a8c.png) ![image](https://user-images.githubusercontent.com/37472006/203710040-7a94b5f6-9eaf-4ef4-9cfe-2da76ab90938.png) GOT接続設定(オープン設定は行ってないです) ![image](https://user-images.githubusercontent.com/37472006/203710286-91e8d4a0-d4fe-4920-9587-8de17b0a3975.png) ラズパイ側 PLC設定 ![image](https://user-images.githubusercontent.com/37472006/203710169-3e7b3ef5-c73a-4b24-8e06-1a2d770cbbc2.png) 機器構成、ネットワークの設定は下記のようになっています。 機器構成:PLC,GOT,ラズベリーパイをHUB経由でEthernet接続 ・PLC⇔ラズベリーパイ CPUユニットにHUB経由で接続 MCプロトコル(UDP、ポート10001) MCプロトコル(TCP,ポート10000) ASCIIコード交信 ・PLC⇔GOT EthernetカードにHUB経由で接続 バイナリコード通信
senrust commented 1 year ago

この度はpymcprotocolの使用ありがとうございます。現在手元にPLC環境がないためどこまでお力になれるか分かりませんがよろしくお願いします。 まず使用しているPLCの型番、GOTのシリーズ(1000or2000)とGxWorksのバージョンを教えて下さい。 ラズパイとPLCの設定に問題はないと思いますが、GOT向け設定が悪さをしていると思います。

確認ですがネットワーク構成はPLC→Hub→RaspberryPi and GOT で合っているでしょうか?

ご確認よろしくお願いします。

2022年11月24日(木) 15:33 Hajime_Yamada @.***>:

PLCにラズベリーパイをEthernet接続しpymcprotocolでPLCのレジスタの読み書きを行おうとしています。

ラズベリーパイ⇔PLCのみのネットワークでは読み書きができたのですが、そこにGOTをEthernetで接続をするとラズベリーパイからレジスタの読み込みができなくなってしまいます。

ラズベリーパイとGOTでレジスタ参照が重複していることが原因のように考えられるのですが、どのようにすればよいか分かりません。最終的にはPLC,GOT,ラズベリーパイをEthernetで接続しラズベリーパイ側からPLCのレジスタの読み書きをできるようにしたいです。当方、PLCを触り始めて1年ほどになり通信関係の知識はあまり有りません。何か些細なことでも構いませんので、ご教示いただけますと幸いです。

[image: image] https://user-images.githubusercontent.com/37472006/203709984-7d1e4c6b-1d83-428e-9178-74d67a310a8c.png [image: image] https://user-images.githubusercontent.com/37472006/203710040-7a94b5f6-9eaf-4ef4-9cfe-2da76ab90938.png

GOT接続設定(オープン設定は行ってないです) [image: image] https://user-images.githubusercontent.com/37472006/203710286-91e8d4a0-d4fe-4920-9587-8de17b0a3975.png

ラズパイ側 PLC設定 [image: image] https://user-images.githubusercontent.com/37472006/203710169-3e7b3ef5-c73a-4b24-8e06-1a2d770cbbc2.png

機器構成、ネットワークの設定は下記のようになっています。

機器構成:PLC,GOT,ラズベリーパイをHUB経由でEthernet接続

・PLC⇔ラズベリーパイ CPUユニットにHUB経由で接続 MCプロトコル(UDP、ポート10001) MCプロトコル(TCP,ポート10000) ASCIIコード交信

・PLC⇔GOT EthernetカードにHUB経由で接続 バイナリコード通信

— Reply to this email directly, view it on GitHub https://github.com/senrust/pymcprotocol/issues/11, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOJDNTLQQ65G6MAXP2ZEBE3WJ4D33ANCNFSM6AAAAAASJ2EW6E . You are receiving this because you are subscribed to this thread.Message ID: @.***>

yyyamadayyy commented 1 year ago

お世話になっております。早速のご返答ありがとうございます。使用機器の情報は下記の通りとなっております。

・PLC:Q06UDEH ・GOT:2000 ・Gxworks2:1.615R

ネットワーク構成 PLC→Hub→RaspberryPi PLC(Ethernetカード)→GOT

です。(ネットワーク構成の表記が少し違ってました。申し訳ありません…) 以上どうぞよろしくお願いいたします。

senrust commented 1 year ago

ありがとうございます。 GOT2000ならば触ったことがありますのでお力になれるかもしれません。 PLC(Ethernetカード)→GOTとはPLCのモジュールのQJ71E71などの使用ということでしょうか? もし可能ならGOTをRaspberryPiと同様のネットワーク(Hub)で接続することはできますか? まずはこれでちゃんとGOT&RaspberryPiがPLCに接続できることを試したいです。

よろしくお願いします。

2022年11月24日(木) 17:34 Hajime_Yamada @.***>:

お世話になっております。早速のご返答ありがとうございます。使用機器の情報は下記の通りとなっております。

・PLC:Q06UDEH ・GOT:2000 ・Gxworks2:1.615R

ネットワーク構成 PLC→Hub→RaspberryPi PLC(Ethernetカード)→GOT

です。(ネットワーク構成の表記が少し違ってました。申し訳ありません…) 以上どうぞよろしくお願いいたします。

— Reply to this email directly, view it on GitHub https://github.com/senrust/pymcprotocol/issues/11#issuecomment-1326115576, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOJDNTK6F2RFNWRO4JCGI43WJ4SAHANCNFSM6AAAAAASJ2EW6E . You are receiving this because you commented.Message ID: @.***>

yyyamadayyy commented 1 year ago

おはようございます。

既存のPLC⇔GOT接続はご指摘の通りQJ71E71を使ったEthernet接続です。

また、GOTとRaspberryPiをHUB接続してプログラムを動かしてみました。

結果としてはGOTとRaspberryPiの両方ともPLCに接続できていました。 GOTはPLCのレジスタを読み取り連動して動作しており、RaspberryPiもPLCにデータを送れていました (RaspberryPi側は依然としてbatchread、batchwriteができていないようです)

よろしくお願いいたします。

senrust commented 1 year ago

ありがとうございます。 まずはGOTとRaspberryPiをHUB接続した状態でトラブルシュートしてみたいと思います。

PLC側の設定でMCプロトコル用のTCPポートを2つ開いてください。 (片方はラズパイ用、もう片方はGOT用です。)

そしてGOT側の設定でGOTの接続先設定を、 SLMP接続のType3EでPLCのIPアドレス、ラズパイ側ではないMCプロトコルポートにしてみてください。 SLMPはMCプロトコルのオープン規格版です。 GOTマニュアルのsh081192amのSLMPの設定を読んでやってみてください。 (PLCのMCプロトコルのバイナリ, ascii設定とGOTのSLMP設定は合わせてください)

GOTとPLCとの接続をMCプロトコルで行うのは、 以前私がこの環境でPC→PLC→GOTをHub接続で同様の操作に成功したからです。 この構成で不便があるようでしたらまた対策を考えましょう。

よろしくお願いします。

2022年11月25日(金) 9:09 Hajime_Yamada @.***>:

おはようございます。

既存のPLC⇔GOT接続はご指摘の通りQJ71E71を使ったEthernet接続です。

また、GOTとRaspberryPiをHUB接続してプログラムを動かしてみました。

結果としてはGOTとRaspberryPiの両方ともPLCに接続できていました。 GOTはPLCのレジスタを読み取り連動して動作しており、RaspberryPiもPLCにデータを送れていました (RaspberryPi側は依然としてbatchread、batchwriteができていないようです)

よろしくお願いいたします。

— Reply to this email directly, view it on GitHub https://github.com/senrust/pymcprotocol/issues/11#issuecomment-1326903183, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOJDNTJ547CXVKQKJRT5LPTWJ77U7ANCNFSM6AAAAAASJ2EW6E . You are receiving this because you commented.Message ID: @.***>

yyyamadayyy commented 1 year ago

いつも大変お世話になっております。

上記の件ご教示ありがとうございます。 マニュアル参照しながら設定しました。(設定画像を添付しています)

設定して動かしたところ、GOTとラズパイで両方動作することを確認しました! 今のところ問題なく動作しています。

設定に関してご教示いただきありがとうございました。 以上どうぞよろしくお願いいたします。

image image

senrust commented 1 year ago

お疲れ様です。 問題なく動作したようで良かったで。 これからもpymcprotocolを使用していたければ幸いです。 また何かありましたら遠慮なくissueを上げてください!

2022年11月25日(金) 13:54 Hajime_Yamada @.***>:

いつも大変お世話になっております。

上記の件ご教示ありがとうございます。 マニュアル参照しながら設定しました。(設定画像を添付しています)

設定して動かしたところ、GOTとラズパイで両方動作することを確認しました! 今のところ問題なく動作しています。

設定に関してご教示いただきありがとうございました。 以上どうぞよろしくお願いいたします。

[image: image] https://user-images.githubusercontent.com/37472006/203887873-3b90663a-7422-48cf-ad67-b886ec2373b7.png [image: image] https://user-images.githubusercontent.com/37472006/203887918-cc48c0bb-e294-4170-a3d2-752a7a659dc6.png

— Reply to this email directly, view it on GitHub https://github.com/senrust/pymcprotocol/issues/11#issuecomment-1327020405, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOJDNTJ5YHYL2Z27HE6RCZLWKBBBNANCNFSM6AAAAAASJ2EW6E . You are receiving this because you commented.Message ID: @.***>