PCをオムロンCJ2M PLCに接続して読み取り/書き込みコマンドを送信するプログラムを開発しています。
私の理解では、オムロン PLC は 3 つの方法で通信できます。
1) ホストリンク、
2) FINS (TCP または UDP) および
3) EIP。
ここでの私の要件は、EIP を介して CJ2M を接続し、EIP(CIP) プロトコルを介して読み取り/書き込みコマンドを送信することです。
最初に、EIP 通信は 2 つの要求を送信する必要があります。
1) サービスの一覧表示と 2) セッションの登録
Register Sessions は、EIP を介した以降の通信で使用するハンドルを返します。
List Services、Register Session、Forward Open (RR Data) を正常に送信でき、Omron PLC から正常に応答されました。この 3 つのリクエスト / レスポンスは問題ありません。
ここで、オムロンのメモリ領域 (たとえば、DR 20 メモリ アドレス) を読み取るために使用する必要があるコマンド/サービスを知りたいと思います。
RR データでサービス コード 0x4d を送信していますが、「ベンダー固有のエラー」と表示され、接続が終了します。
PC から Omron PLC への EIP 通信 (フィンなし、ホストリンクなし) を介して要求/応答がキャプチャされる Omron EIP または wireshark ログ、またはスニッフィングされたパケットのプロトコル仕様が必要です。