我们正在评估cpppo与各种罗克韦尔自动化PLC进行对话。我们的地址范围为#32; N25:00" (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>
答案 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。