在做工业互联网项目时,遇到的最多的设备就是各个厂家的PLC了。PLC露脸的概率比运动控制器、变频器、机器人、数控系统的概率大多了。

    那我们如何来采集PLC的数据呢?

    下面是我整理的采集PLC数据的25种姿势:

    1. PLC -> 组态软件 -> OPC客户端/Modbus客户端
    2. PLC直连PLC协议转换器
    3. Kepware加嵌入式工控机,上面跑iot平台的agent。
    4. Matlab OPC工具箱
    5. Labview OPC
    6. Pyopc加paho加mqtt broker
    7. Postgresql SPI通过plc协议读PLC串口,将采集到的数据直接往数据库表里写
    8. Nodejs串口plc协议解析加mqtt
    9. aws sitewise opc ua
    10. PLC自带Modbus协议支持,pymodbus加paho。
    11. 最省硬件成本和流量的方案: WiFi芯片里跑协议解析和数据发送云平台
    12. 串口plc串口转以太网,tcp透传到公网服务器,ie浏览器里嵌入socket控件,用iis asp页面发送数据给服务器,然后返回。
    13. dtu透传串口或网口到公网服务器,公网服务器跑plc采集数据程序。
    14. PLC协议转换软件运行在嵌入式linux上,如kura bosch iot
    15. 单片机,上面放两块芯片,一块通过网口或串口采集plc数据,一块主控。
    16. stm32单片机上跑micropython,用串口自己实现plc协议解析
    17. 安卓手机接usb转串口线,接plc,再把数据通过aws IoT android sdk 发到云端http接口。接口收到后用微信python库发送数据到微信群里。
    18. 给某水果公司代工的工厂,用mac mini当工控机,用objective-c写plc数据采集驱动采集数据,通过vpn发送到苹果公司总部。让苹果公司总部实时掌握每天产量质量。
    19. pyopc或pyserial采集数据,然后用zeromq或amqp协议发送到云端。
    20. nodejs模块,然后用JS 通过 MQTT over websocket来发送数据到云端。前端界面开发人员分分钟变身物联网全栈开发人员。
    21. 不写代码,用node-red拖。类似的是litmus
    22. 给工控人员用要简单易用,用c#开发agent,内置vbscript或lua脚本,提供几个函数,串口打开关闭,mqtt连接发布订阅。当然也可以java加jython。
    23. 要是连懒得拖node-red,外包给thingworx或ignition的二次开发商。跟工厂用metasys二次开发商监控一回事。
    24. 有钱像高铁或公安网建专网,或者像水果公司建vpn,plc就变成局域网设备,又安全又方便。没钱,就透传或中继。
    25. Wolfram的OPCClassic 这是个Modelica库,可以让仿真模型通过OPC标准连接到OPC服务器,从而连到PLC设备。