CODESYS中使用OPC UA服务器
OPC统一架构(UA)于2008年发布,是一种与平台无关的面向服务的体系结构,将各个OPC Classic规范的所有功能集成到一个可扩展的框架中。传统的OPC技术在控制级别很好地解决了硬件设备间的互通性问题,在企业层面的通信标准化是同样需要的。OPCUA之前的访问规范都是基于微软的COM/DCOM技术,这会给新增层面的通信带来不可根除的弱点。OPCUA,是在传统OPC技术取得很大成功之后的又一个突破,让数据采集、信息模型化以及工厂底层与企业层面之间的通讯更加安全、可靠。OPCUA的几大优势:[*]与平台无关,可在任何操作系统上运行
[*]为未来的先进系统做好准备,与保留系统继续兼容
[*]配置和维护更加方便
[*]基于服务的技术
[*]可见性增加
[*]通信范围更广
[*]通信性能提高
在CODESYS软甲中,集成了OPCUA服务器,可以支持用户通过OPCUA客户端访问CODESYS runtime中的数据。
在CODESYS中创建包含OPCUA服务器的工程
[*]在CODESYS中创建一个标准工程
[*]在PLC_PRG中编写程序,例如:声明部分:
PROGRAM PLC_PRGVAR
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的报警信息
Codesys中OPCUA可以设置成账号密码访问吗? 3.5.4版本为什么没有这个选项 楼主写的非常详细,谢谢。能否分享CODESYS Security Agent 这个软件?
页:
[1]