将PLC FileAddress / StartAddress转换为EtherNet / IP @ <class> / <instance> / <attribute>

时间:2017-02-11 21:13:13

标签: python-2.7 plc industrial

我们正在评估cpppo与各种罗克韦尔自动化PLC进行对话。我们的地址范围为#32; N25:00&#34; (N =整数,文件号25,文件偏移0),但EtherNet / IP似乎需要 if file[:3] == 'DBA': with open(file, 'r') as prm: for line in prm: dimension_parse(line) def dimensions_parse(line): flag = False if '@ATTRIB_DETAIL' in line: flag = True elif '@BITLIST_FILES' in line: flag = False elif flag: print(line.split()[1])

你如何从一个翻译到另一个?

如果在这些PLC中定义了标签,是否有办法获取它们的列表或有关它们的信息?我们无法更改PLC,并且通常无法在其中看到梯形图逻辑/配置。

cpppo的list_identity,list_interfaces和list_services都可以正常工作,但不会返回任何似乎可以翻译的内容:

@<class>/<instance>/<attribute>

2 个答案:

答案 0 :(得分:2)

您遗漏了重要的详细信息。哪种罗克韦尔PLC? N25:00地址可以是较旧的PLC类型,例如SLC5,PLC5系列。 另一方面,在基于标签的新型PLC(如Compactlogix,ControlLogix PLC)中使用了Ethernet / IP。

顺便说一句,有PyLogix将与新型PLC对话。

答案 1 :(得分:0)

看起来您需要某种类型的网关。我使用名为cogent数据中心的商业产品将我的rockwell数据导入SQL数据库。不确定这对你有多大帮助。

至少你会想要某种DDE / OPC服务器。如果您购买了RSLinx Classic,可以使用RSLinx Classic。