星原物联网关如何实现PLC数据实时采集、转发?

随着数字化时代的到来,工业生产数据的采集、汇总也变的迫在眉睫。但由于工业环境十分复杂,可能一个车间就存在多种厂家、多种型号的PLC,每种PLC都有其特殊的通信协议。如何将这些协议进行解析,拿到PLC里面的重要变量数据,并将数据以近乎明文的方式转发出来,成为了问题的关键。

那么,下面介绍如何来解决这个问题,实现我们的需求:

一、确定参数

参数主要是指通信参数和数据点表。

  • 通信参数指的是PLC的串口参数(波特率、数据位、停止位等)或网口参数(IP、端口号)。该参数就像我们收音机的频段,发送端和接收端必须完全一致,才能接收到正确的信息,这是设备间通信的基础。
  • 点表指的是需要采集的变量对应的PLC寄存器地址和数据类型。每个PLC里面都有成千上万的小盒子(寄存器),每个盒子都有其固定的地址。所以要想从海量的小盒子里面拿出我们需要的数据,则必须知道对应的地址。

注意:这些参数一般都掌握在写PLC程序的工程师手里,可以向他们索要。

二、协议解析

目前市面上充斥着各种PLC,如西门子、三菱、台达、施耐德、欧姆龙等。每种PLC都有其独特的通信协议,协议就像人类的语言一样。需要准确的翻译,才能完成交流,获取到我们需要的信息。假如西门子PLC懂德语,你想从西门子PLC里面采集一个变量,那么你就需要使用德语去向它请求。

三、设备通信

在充分了解PLC协议后,就可以根据点表进行数据采集和数据下发工作了。

四、数据转发

在获取到PLC数据之后,就需要对这些数据进行利用。比如转发到阿里云、thingsboard等;又或者转发到用户私有MQTT、HTTP、TCP、Kafka服务器;又或者转发到用户MySQL、SQLServer、PostgreSQL数据库;又或者转换为Modbus、OPC UA、Profinet等协议。用户根据需求选择任意一种或几种转发方式,获取到PLC数据。

五、数据处理

通过上述转发,用户就能够拿到PLC数据,然后根据需求实现逻辑判断、反控、报警、组态及大屏展示等。