cpppoは、さまざまなロックウェル・オートメーションのPLCと通信するために評価されています。私たちはアドレス範囲を "N25:00"(N =整数、ファイル番号25、ファイルオフセット0)にしていますが、EtherNet/IPは@<class>/<instance>/<attribute>
を望んでいるようです。PLCファイルアドレス/開始アドレスをEtherNet/IPに変換@<class>/<instance>/<attribute>
どのように翻訳するのですか?
これらのPLCにタグが定義されている場合、それらのリストまたはその情報を取得する方法はありますか?我々はPLCを変更する能力はなく、通常はラダーロジック/コンフィギュレーションを見ることができません。
cpppoのlist_identity、list_interfaces、およびlist_servicesはすべての作業が、翻訳しているようだ、何も返さない:
List Services 0 from ('10.91.xxx.yyy', 44818): {
"count": 1,
"item[0].communications_service.capability": 32,
"item[0].communications_service.service_name": "Communications",
"item[0].communications_service.version": 1,
"item[0].length": 20,
"item[0].type_id": 256
}
List Interfaces 0 from ('10.91.xxx.yyy', 44818): {
"count": 0
}
@pjkundertどのような考えですか?こんにちは、ジム; – JimB
;あなたが与えたアドレッシングは、実際にはModbusアドレッシングです。一部の* Logix PLC(おそらくそれらのすべて)は、EtherNet/IP CIPに加えて、Modbus/TCP I/Oをサポートしています。 私が理解しているように、データは両方のプロトコルから利用可能です - Modbus/TCPでは、N25:00メソッドで対処されます。 EtherNet/IP CIPでは、アドレスは//になります。しかし、私は* Logix PLCでこれを設定したことがないので、N25経由で利用可能になったのと同じデータに対応するCIPアドレスが何か(もしあれば)を発見する方法はわかりません。 Modbusアドレッシング。 –
pjkundert
考えてくれてありがとう。私たちはかなりのModbusを実行しましたが、これは私が見たものとは一致しません。 Modbusには単一のアドレスがあり、通常40001の範囲の整数です。このアドレス指定は、ロックウェルの(Allen-Bradleyの)DF1プロトコル(これらのPLCは)に適合しますが、それはイーサネットではなくRS-232です。私はEtherNet/IPが拡張だと思った。 – JimB