OPC统一架构(UA)于2008年发布,是一种与平台无关的面向服务的体系结构,将各个OPC Classic规范的所有功能集成到一个可扩展的框架中。
传统的OPC技术在控制级别很好地解决了硬件设备间的互通性问题,在企业层面的通信标准化是同样需要的。OPCUA之前的访问规范都是基于微软的COM/DCOM技术,这会给新增层面的通信带来不可根除的弱点。
OPCUA,是在传统OPC技术取得很大成功之后的又一个突破,让数据采集、信息模型化以及工厂底层与企业层面之间的通讯更加安全、可靠。
OPCUA的几大优势:
- 与平台无关,可在任何操作系统上运行
- 为未来的先进系统做好准备,与保留系统继续兼容
- 配置和维护更加方便
- 基于服务的技术
- 可见性增加
- 通信范围更广
- 通信性能提高
在CODESYS软甲中,集成了OPCUA服务器,可以支持用户通过OPCUA客户端访问CODESYS runtime中的数据。
在CODESYS中创建包含OPCUA服务器的工程
- 在CODESYS中创建一个标准工程
-
在PLC_PRG中编写程序,例如:
声明部分:
PROGRAM PLC_PRG VAR var1:INT; var2:INT; var3:INT; END_VAR
实现部分:
var3 := var1 + var2;
- 在Application对象下添加符号配置对象
- 在符号配置对话框中勾选“支持OPC UA特征”,单击“打开”
- 编译程序,在符号配置对象中勾选需要添加到OPCUA服务器中的变量
- 将程序下载到runtime
为CODESYS OPC UA服务器创建证书
- 在CODESYS Store下载CODESYS Security Agent,链接:
https://store.codesys.com/cod... - 双击打开CODESYS Security Agent x.x.x.x.package, 安装CODESYS Security Agent
- 重启CODESYS软件,打开右下角盾牌图标
- 单击Devices选项卡
- 单击刷新按钮,Information列出现Device对象
- 单击Device对象,选择右边的OPCUA Server(not available)
- 单击创建按钮,创建OPCUA Server证书
- 创建完成,如下图所示
- 重启runtime
使用UaExpert客户端通过加密连接访问OPCUA服务器
- 启动UaExpert客户端
- 在Server对象下添加服务器
- 在Add Server对话框找到需要签名并加密的OPCUA服务器,单击OK
- 连接服务器
- 弹出不信任的证书对话框,单击信任服务器证书,再单击继续
- 回到CODESYS软件,在Quarantined Certificates中出现UaExpert签发的证书,
- 将其拖入Trusted Certificates
- 现在可以使用UaExpert连接OPCUA服务器,访问服务器中的变量
- 将变量拖入 Data Access View,可以读写变量值
- 在CODESYS中可以监视变量变化
关联在CODESYS项目中创建的事件
CODESYS OPC UA服务器提供了发送标准OPC UA事件的功能。
- 在Application下方添加一个报警配置对象。
- 在报警配置下面添加一个报警类对象,命名为Event
- 在Event报警类的窗口中选择确认方式为REP。
- 在报警配置下面添加一个报警组对象,命名为ApplicationEvent。
- 在ApplicationEvent报警组更改以下参数:
- 在库管理器中添加CmpOPCUAProviderAlarmConfiguration
-
在PLC_PRG中添加调用
AlarmManager.AlarmGlobals.g_AlarmHandler.RaiseEvent(Alm_AlarmConfiguration_Alarmgroup_IDs.ID_ApplicationEvent, Alm_ApplicationEvent_Alarm_IDs.ID_0);
- 编译程序并下载到runtime
- 打开UaExpert的Document--Add
- 添加Event View
- 将Application拖动到Event View的Configuration窗口,可以看到CODESYS的报警信息
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。