将 PLC FileAddress/StartAddress 翻译成 EtherNet/IP @<class>/<instance>/<attribute>
Translating PLC FileAddress/StartAddress to EtherNet/IP @<class>/<instance>/<attribute>
我们正在评估 cpppo 以与各种罗克韦尔自动化 PLC 对话。我们有 "N25:00" 形式的地址范围(N = 整数,文件编号 25,文件偏移量 0),但是 EtherNet/IP 似乎想要 @<class>/<instance>/<attribute>
.
如何从一种翻译成另一种?
如果在这些 PLC 中定义了标签,是否有办法获取它们的列表或有关它们的信息?我们没有能力更改PLC,而且通常看不到其中的梯形图logic/configuration。
cpppo 的 list_identity、list_interfaces 和 list_services 都可以,但不要 return 任何似乎可以翻译的内容:
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
}
看来您需要某种类型的网关。我正在使用一种名为 Cogent Data Hub 的商业产品将我的罗克韦尔数据导入 SQL 数据库。不确定对你有多大帮助。
至少您需要某种 DDE/OPC 服务器。如果你买了它,你可以使用 RSLinx Classic。
您遗漏了重要的详细信息。什么样的罗克韦尔PLC?
N25:00 地址可以是较旧的 PLC 类型,如 SLC5、PLC5 系列。
另一方面,Ethernet/IP 用于较新的基于标签的 PLC,如 Compactlogix、ControlLogix PLC。
顺便说一句,PyLogix 可以与新型 PLC 通信。
我们正在评估 cpppo 以与各种罗克韦尔自动化 PLC 对话。我们有 "N25:00" 形式的地址范围(N = 整数,文件编号 25,文件偏移量 0),但是 EtherNet/IP 似乎想要 @<class>/<instance>/<attribute>
.
如何从一种翻译成另一种?
如果在这些 PLC 中定义了标签,是否有办法获取它们的列表或有关它们的信息?我们没有能力更改PLC,而且通常看不到其中的梯形图logic/configuration。
cpppo 的 list_identity、list_interfaces 和 list_services 都可以,但不要 return 任何似乎可以翻译的内容:
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
}
看来您需要某种类型的网关。我正在使用一种名为 Cogent Data Hub 的商业产品将我的罗克韦尔数据导入 SQL 数据库。不确定对你有多大帮助。
至少您需要某种 DDE/OPC 服务器。如果你买了它,你可以使用 RSLinx Classic。
您遗漏了重要的详细信息。什么样的罗克韦尔PLC? N25:00 地址可以是较旧的 PLC 类型,如 SLC5、PLC5 系列。 另一方面,Ethernet/IP 用于较新的基于标签的 PLC,如 Compactlogix、ControlLogix PLC。
顺便说一句,PyLogix 可以与新型 PLC 通信。