是否有使用OPA UA传输数据的IEC 61131/IEC 61499 PLC功能块?

2024-05-29 09:33:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python(TensorFlow+Gekko)中有一个机器学习和高级控制应用程序,需要与提供数据采集和最终元件控制的可编程逻辑控制器(PLC)集成。我可以使用机架安装的Linux(首选)或Windows服务器作为计算引擎,并通过OPC-UA(OLE for Process Control-Universal Architecture)进行数据传输吗?你知道吗

有一个Python OPC-UA / IEC 62541 Client (and Server)和一个Python MODBUS package是我在其他项目中连接到分布式控制系统(DCS)时使用的,比如艾默生DeltaV、霍尼韦尔Experion/TDC3000和横河DCS。我是否可以对PLC功能块(如西门子Simatic S7-300)执行相同的操作?西门子拥有支持TensorFlow的较新PLC,如SIMATIC S7-1500 NPU(神经处理单元)模块,但需要外部服务器的原因有很多。S7-300支持IEC 61131标准和PROFINET CBA标准(西门子的IEC 61499标准)。你知道吗

下面是一个最小的功能块,我想用它来与一个功能块通信。你知道吗

from opcua import Client
client = Client("Matrikon.OPC.Simulation")
try:
    client.connect()
    root = client.get_root_node()
    # Get a variable node using browse path
    myvar = root.get_child(["0:Objects", "1:MyObject", "2:MyVariable"])
    print('Variable is ', myvar)
finally:
    client.disconnect()

Tags: 服务器clientnode标准gettensorflowrootplc
1条回答
网友
1楼 · 发布于 2024-05-29 09:33:08

我有一个经验,ABB harmony OPC服务器不支持“opcua”。所以,我使用了“OpenOPC”包,而不是像John在评论中建议的那样使用“opcua”。但是,我不确定OPC的特定品牌是否与“opcua”或“OpenOPC”兼容。你知道吗

请看我用来测试OpenOPC包的代码。你知道吗

import OpenOPC
import time
import pywintypes

pywintypes.datatime = pywintypes.TimeType
opc = OpenOPC.client()
opc.servers()
opc.connect('Matrikon.OPC.Simulation.1')
tags = ['Random.Int1', 'Random.Real4']

while True:
      try:
          value = OPC.read(tags,group='Simulation Items',update=1)
          print (value)
      except OpenOPC.TimeoutError:
          print ("TimeoutError ocured")

      time.sleep(1)

相关问题 更多 >

    热门问题