美文网首页
工业数据采集:从OPC读写设备实时数据

工业数据采集:从OPC读写设备实时数据

作者: gaoshine | 来源:发表于2020-11-15 19:43 被阅读0次

    工业数据采集:从OPC读写设备实时数据

    这篇文章用具体实例给不熟悉OPC的读者科普如何用python连接OPC来抓取机器PLC的数据。 搞数字化工厂的基础就是工业数据采集。只要有了数据,我们就可以可以做数据可视化展示,工业大数据存储,数据挖掘,等等。

    0. 简介

    0.jpg
    • 对于自动化程度低的工厂,我们可以通过外接传感器完成数据的自动收集。实现数字化工厂:传感器+数据采集+网站完整实现设备实时数据可视化

    • 对于自动化程度高的工厂,我们显然不需要花时间去一个传感器一个传感器的安装。我们可以通过自动化的协议来直接进行数据采集。工业4.0的理解和落地实施-工业数据采集

    然而talk is cheap,大家还是没有主观认知究竟如何进行数据抓取,并且上传到上层的服务器或者信息系统。

    1.关于OPC

    简单来说,OPC是一套标准,其目的是把PLC特定的协议(如Modbus,Profibus等)抽象成为标准化的接口,作为“中间人”的角色把通用的OPC“读写”请求转换成具体的设备协议来与HMI/SCADA系统直接对接 基于这个标准,有几个公司都分布开发了自己的OPC server/client。我自己使用过的是Kepware的。他家的软件本身是免费下载的。但是连接PLC的驱动是要单独付费购买。

    2.配置OPC server连接机器PLC

    我们可通过新建Tag来绑定机器PLC的各种数据点位。如果需要教程指导可以自行百度。这个操作是很容易的。重点是读者需要了解,很多机器数据,比如温度,压强,电压,扭矩等等实时数据在PLC都存在,我们通过这里的Tag已经把机器PLC的数据绑定到了OPC软件上来,下一步我们只需要从OPC里读写TAG的数据就可以了

    然后咱们需要祭出万能的python 安装OPC的包。

    pip3 install OpenOPC-Python3x
    pip3 install pypiwin32
    ​
    

    3.操作OPC

    1.gif 1.jpg
    连接
    2.jpg
    读取
    3.jpg
    写入
    4.jpg

    把OPC抓取的实时数据绑定到了工厂的3D展示视图,从而实现了更酷炫的效果


    2.gif

    参考代码

    import OpenOPC
    import pywintypes
    import time
    #连接OPC
    opc =OpenOPC.client()
    opcserv='Matrikon.OPC.Simulation.1'
    opc.connect(opcserv)
    ​
    pywintypes.datetime = pywintypes.TimeType
    # 读一个Tag的值
    # tag ='机器1.TAG1'
    # value = opc.read(tag)
    ​
    # 读多个tag的值
    # tags=['机器1.TAG1','机器1.TAG2']
    # value = opc.read(tags,group='Group1',update=1)
    # ===========write================
    # 写一个Tag值
    # tag ='机器1.TAG2'
    # 方式1
    # opc.write( (tag, 10) )
    # value = opc.read(tag)
    # 方式2
    # opc[tag] = 100.0
    ​
    # 写入多个Tag
    # opc.write( [('TAG2', 10.0), ('TAG3', 20.0)] )
    # value = opc.read(tag)
    
    # **********************************************************
    # 关闭opc连接
    # opc.close()
    

    相关文章

      网友评论

          本文标题:工业数据采集:从OPC读写设备实时数据

          本文链接:https://www.haomeiwen.com/subject/hifobktx.html