本文介绍施耐德开放自动化EAE 中的OPC UA特性 。OPC UA 协议称之为“开放平台通信统一体系结构”,目前已经成为工业物联网中不同设备,系统之间相互交换数据的一个重要的协议。越来越多的系统和设备都具备了OPC UA 的接口,UPC UA 被认为是工业4.0 协议的理想选择。它·采取了“服务器/客户端”通信方式。通常设备中是服务器端,而系统软件为客户端。
施耐德开放自动化EAE中,运行时中带有OPC UA 服务器,也就是说,在EAE 的环境下,每个设备都具有一个OPC UA 服务器功能。
都说OPC UA是个好东西,不过使用起来十分的麻烦,建模,转换成程序语言,和编译的过程有时会搞得稀里糊涂。 施耐德EAE能够将IEC61499 功能块的数据映射到OPC UA 的变量中。这种方式使IEC61499 功能块应用建立OPC UA 服务器的方法十分简单。
测试EAE 运行时OPCUA 服务器
为了方便起见,我们可以在一台Windows 10 PC 上完成EAE OPC UA 服务器的测试。EAE Help 建议首先软件dPAC 首先使用Local Test 模式。其中内置一个OPC UA 服务器。使用一个OPC UA 客户端软件就可以访问该服务器OPC UA模型中定义的变量。OPC UA 客户端,我们采用Unified· Automation 公司的UaExpert 软件。这是一个免费的OPC UA 客户端。可以从Unified Automation 官网上下载。
配置OPC UA 服务器参数
按照我们前面介绍过的方法,新建一个项目 OPCUA_Test。与前面介绍的类似,在System 工作区的Delvice list 中,出现了一个EcoRT_0设备。点击它后再工作区的右边会出现该设备的各种属性。将OPC UA Stack Configuration 属性有Default 改成OVERWRITE 后,可以看见OPC UA 的各项属性。
比较重要的参数是OPC UA 服务器的端口 ,缺省值为 48040. 当然你可以修改它。
建立IEC61499 和OPC UA 的联系
建立了一个简单的计数器项目。它内部有两个计数器,我们希望通过OPC UA 的客户端查看两个计数器的当前值。
App1 完成后,点击左边栏的System ,在工作区中选择OPC UA 发现空空如也。不知道如何将IEC61499 功能块网络的变量和OPC UA 模型中的变量关联起来。
详细看了Help 文档后才发现。首先要定义一个CAT 类型。我们在前面已经介绍过,CAT 是与HMI 关联的复合功能块。内部含有一个CAT_HMI 功能块。只有 CAT_HMI 功能块的输入和输出数据才会在OPC UA 模型中作为变量出现。仔细想来也对。OPC UA 某种意义上也是HMI 的一种接口。
具体的设置过程:
1 在左边栏的CAT->Application 击右键选择New Item。建立一个CAT1 的CAT 类型。
2 在下面会出现一个IThis:CAT1_HMI 点击后工作区如下,我们在InputVars 中添加两个输入变量 IN1和IN2.它们的类型UINT ,用了来显示两个计数器的当前值。
设置完成后,要保存一下。然后回到System 工作区,点击Composite 。将CAT1_HMI 拖动到工作区中。;连接线。事实上,它是一个复合功能块,你可以在其中添加各种需要的功能块。
3 在App1 功能块网络中拖入CAT1 类型功能块,连线。
4 完成后 再次查看OPC UA 选项,发现IN1,IN2 变量已经在里面了。 你可以修改某些属性,比如 BrowseName,DisplayName 等等。
测试
EAE 建议现在Local Test 的模式下测试OPCUA 。为止我们先将设备运行在Local Test 模式。按照以前说过的过程,让模拟运行时运行起来。
然后启动UaExpert 客户端软件。右击servers 选择 Add。弹出App Server 窗口。在Custom Dictionary 中选择添加一个地址,localhost:48040 保存。
对 Localhost:48040地址击右键,选择Rebrowse ,如果一切OK 的话,你会看到 EcoStructure Runtime。点击OK 返回后, 展开Server,选择 EcoStructure Runtime击右键,选择Connect。
于是,在下面出现了 IN1,IN2 变量。
我们终于完成了EAE OPC UA 服务器的简单测试。
结束语
EAE OPC UA server 的实现方式是比较简单明了。能够使我们快速地将IEC61499 功能块网络和OPC UA 实现关联。看起来似乎只有简单的变量类型。其实由于IEC61499 的编程能力,我们可以在CAT1复合功能块中实现更过的OPC UA 模型所需要的功能。