一种运行在中大型PLC上的OPCUA服务器配置方法与流程

文档序号:37826951发布日期:2024-04-30 17:36阅读:7来源:国知局
一种运行在中大型PLC上的OPCUA服务器配置方法与流程

本发明涉及工业互联网以及工业控制,具体涉及一种运行在中大型plc上的opcua服务器配置方法。


背景技术:

1、目前我们国家大力发展工业自动化,正在建立完善的工业4.0体系。plc作为工业控制的核心部件,在工业自动化中扮演着重要的角色。通过plc可以和生产现场的各种传感器以及设备通讯而后采集生产信息,为了更方便地监控和分析生产现场的数据,一般使用监控软件获取plc的数据信息,构建云平台对生产数据进行监控分析进而下发合理的控制指令。但是现场设备及传感器所采用的通讯协议各有不同,如modbus、can、以太网等,各个品牌plc与监控软件通讯的协议也存在较大差异。因为通讯协议无法统一,导致云平台很难获取不同类型plc的数据信息,亟须一种方式使得监控软件和plc之间的数据交互方式统一起来。


技术实现思路

1、发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种运行在中大型plc上的opcua服务器配置方法。本发明可以将plc采集的生产现场数据通过opcua服务器发布给监控软件,屏蔽了各种类型plc与监控软件之间通讯协议差异性,有助于云平台对生产过程的监控分析并下发正确的控制器指令。

2、本发明方法包括以下步骤:

3、步骤1,修改opcua协议栈的cmake配置文件:使用协议栈的相关功能,需要将对应的编译选项打开;

4、步骤2,使用opcua协议栈自带的脚本文件生成供通讯加密使用的证书和私钥,编译mbedtls库;

5、步骤3,配置软件生成opcua服务器配置文件,通过网络将配置文件下发给plc(可编程逻辑控制器,programmable?logic?controller,plc),plc接收并解析服务器配置文件;

6、步骤4,在plc上建立一个opcua服务器线程,所述opcua服务器线程专门处理opcua服务器的相关逻辑代码;opcua协议栈导入证书和私钥并配置服务器的uri值(url是uniform?resource?location的缩写,译为统一资源定位符);根据步骤3中解析的服务器配置设置opcua服务器的基本属性;

7、步骤5,配置软件通过网络将点表配置文件下发给plc,plc接收并解析点表配置文件;

8、步骤6,对数据点的数据类型进行映射;

9、步骤7,由于opcua服务器使用数据源的方式对外发布数据点信息,需要为每个数据点分配读写回调函数;

10、步骤8,使用opcua协议栈提供的api,采用数据源的方式将数据点添加进opcua服务器的节点地址空间;

11、步骤9,启动opcua服务器;

12、步骤10,如果配置软件下发新的配置文件,重新启动opcua服务器。

13、步骤1中,如果需要使用协议栈的加密功能,需要将ua_enable_encryption、ua_enable_encryption_mbedtls这两个选项设置成on。

14、步骤3中,所述配置软件(配置软件即plc专用的工程组态软件,如西门子plc的专业组态软件博图tia)生成opcua服务器配置文件,配置项包括:opcua服务器ip地址、子网掩码、网关、端口号、是否支持匿名登录、登录用户名及密码、加密协议选项,所述加密协议选项具体包括:basic128rsa15、basic256、basic256sha256;

15、所述配置软件通过网络将服务器配置文件下发给plc,plc接收并解析服务器配置文件,将服务器配置文件中的ip地址添加到对应的网卡上,并设置网卡的子网掩码、网关;

16、根据服务器配置文件解析出的配置项设置opcu服务器加密策略、服务器ip地址、端口号、是否支持匿名登录、用户名及密码。

17、步骤5中,所述点表配置文件包括头部信息和具体的数据点信息,所述头部信息包括数据点的个数和数据点信息的长度,所述数据点信息包括数据点的点名信息、描述信息、数据类型、变量长度、变量所属plc数据区、变量在数据区偏移地址。

18、步骤6中,由于所述配置软件生成的数据点数据类型是基于iec61131平台的,需要将所述iec61131平台上的数据类型映射成所述opcua协议栈上的数据类型。具体映射关系为:bool映射成ua_types_boolean、byte和usint映射成ua_types_byte、word和uint映射成ua_types_uint16、dword和udint映射成ua_types_uint32、sint映射成ua_types_sbyte、dint映射成ua_types_int32、lint映射成ua_types_int64、ldword和ulint映射成ua_types_uint64、real映射成ua_types_float、lreal映射成ua_types_double、int映射成ua_types_int16。

19、步骤7中,plc提供的数据点所属数据区包括data区和iqm区(data区是iec61131平台的中大型plc的全局变量和每个pou内局部变量的储存区域;iqm区是iec61131平台的中大型plc的各种io变量的储存区域),读写不同数据区数据点所调用的运行时api不同,读写不同类型数据点所调用的运行时api也不同,所以需要根据所述数据点所在的数据区和数据类型来决定所述数据点的读写回调函数。具体做法是制作一张数据点访问数组,所述数组的下标和opcua协议栈所支持的数据类型进行映射,所述数组里的每项内容包括数据点的数据类型编号以及在data区和iqm区中读写回调函数指针;

20、由于所述数据点访问数组的下标和opcua数据点类型存在映射关系,通过把所述数据点配置文件(数据点配置文件由plc组态配置软件生成)中的数据点类型编号映射成数组的下标,直接在数据点访问数组中找到对应数据点的读写回调函数,这样简单高效,避免了寻找所述数据点回调函数的复杂操作,极大地提高了所述opuca服务器线程的运行效率。

21、步骤10中,所述配置软件重新组态opcua服务器导致服务器配置文件和点表配置文件发生变化,所述配置软件会重新下发所述配置文件给plc,plc判断配置文件变化后会发送停止指令给opcua服务器并向opcua服务器线程同步信号量,此时opcua服务器会退出运行,根据配置文件重新启动opcua服务器。

22、本发明还提供了一种存储介质,存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现所述的方法。

23、本发明还提供了一种运行在中大型plc上的opcua服务器,服务器中储存有计算机指令,用于实现本发明所述的方法,所述服务器消耗嵌入式cpu资源较少,并提供讯加密功能,将plc采集的各种生产现场传感器和设备数据发布给opcua客户端,屏蔽了通讯协议不一致性。

24、本发明具有如下有益效果:

25、1)根据功能需求裁剪opcua协议栈,减小嵌入式系统cpu资源消耗;

26、2)使用mbedtls库对通讯数据加密,提高通讯的安全性;

27、3)通过读取配置文件的方式设置opcua服务器的基本属性以及加入节点地址空间的数据点;

28、4)使用函数表的方式规定数据点的读写函数,提高数据交互的效率;

29、5)使用一个独立的线程处理opcua服务器的复杂业务逻辑,与plc其余应用程序解耦。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1
imtoken助记词怎么填-imtoken钱包没有收益-imtoken矿工费太贵了-im钱包官网:token.im