例子程序v1 20chaper 15 opc ua进阶功能opc-ua使用入门2of22 1_第1页
例子程序v1 20chaper 15 opc ua进阶功能opc-ua使用入门2of22 1_第2页
例子程序v1 20chaper 15 opc ua进阶功能opc-ua使用入门2of22 1_第3页
例子程序v1 20chaper 15 opc ua进阶功能opc-ua使用入门2of22 1_第4页
例子程序v1 20chaper 15 opc ua进阶功能opc-ua使用入门2of22 1_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、OPC-UA 的配置和使用 屈云豪 Sample 4 : 本例使用三台工控机,OPC-UA Client 连两个 Server,Server 和 runtime 安装在不同系统中。它们需要连接交换机使它们的 IP 在同一网段并添加路由。三台工控机上都需要安装 TwinCAT 3 以及 OPC-UA。 Server 工控机只运行 TwinCAT runtime;Client 工控机运行 TwinCAT 3 以及OPC-UA Configurator 软件。 本例的代码实现了用 TwinCAT 3 功能块和 OPC-UA Server 通讯,并且有读,写和方法调用的功能! 软件及系统版本说明: 注

2、意:Server 工控机虽然只运行了 TC3 Runtime,但也必须安装 OPC-UA。 本例必须对各个工控机的用户账户进行设置! 1,在 Server_1 和 Server_2 工控机上配置 TwinCAT runtime。方法和 Sample 1相同。(程序变了) 选择生成 symbol file,目标控制器为本机。 版本 三台工控机系统 WES7 32 位 TwinCAT 3 3.1.4018.13 OPC-UA 3.2.1 Client 工控机 IP 192.168.1.100 Client 工控机名称 CP-0C5DFA Client 工控机软件 TwinCAT 3 + OPC-U

3、A Client 工控机运行例程 opcua_client_1to2 Server_1 工控机 IP 192.168.1.101 Server_1 工控机名称 CP-09C3FC Server_1 工控机软件 TwinCAT 3 + OPC-UA Server_1 工控机运行例程 opcua_server_1to2 Server_2 工控机 IP 192.168.1.102 Server_2 工控机名称 CP-0C5DE0 Server_2 工控机软件 TwinCAT 3 + OPC-UA Server_2 工控机运行例程 opcua_server_1to2 这种情况下,OPC-UA Clie

4、nt 及 OPC-UA Server 所在的工控机与 TwinCAT runtime 的工控机需要连接交换机使它们的 IP 在同一网段,并且添加路由。1)三台工控机连接好交换机后,在 Client 工控机的 TC3 软件中点击 SYSTEM, 点击 Choose Target,点击 Search(Ethernet) 2)点击 Broadcast Search,出现另外两台工控机的信息。 选择该电脑并选择 IP Address;点击 Add Route。 弹出登录窗口,输入1,点击 OK。这里的修改需要管理员权限。各个 Runtime 重复两次操作,Connected 显示 X 时路由添加成功。

5、点击 Close 关闭 选择目标控制器为本机。SYSTEM 中点击 Choose Target 选择本机,点击 OK。 接下来配置 TwinCAT runtime 1)双击 PLC 下面的项目,在弹出的复选框中找到 setting,选中 Target Files中的 TMC File。使能 symbol file 下载。 2)将 Runtime 的 symbol file 拷贝到 OPC-UA Client 和 Server 所在的工控机中。Runtime 工控机的 symbol file 位置如下: 在 Client 工控机中新建 tmc 文件夹,分别将两个 Runtime 工控机中的 sy

6、mbol file 存放在 Plc_1 和 Plc_2 文件夹中。 开始配置 OPC-UA Server。 1)在 Client 工控机上启动 OPC-UA Configurator 软件,在 Data Access 窗体中的 Select device type 中选择 PLC TwinCAT 3(TMC)filtered,点击两次 Add, 添加两个 OPC-UA server。 2)我们将它命名为 PLC1 和 PLC2;Ads Net Id 填 TwinCAT runtime 工控机的 Ads Netid;Symbol File 选择拷贝过来的 tmc 文件TwinCAT runtim

7、e 工控机的 Ads Netid 可以在 Choose Target System 窗口中查看。 点击蓝框标注的选项卡可以选择拷贝过来的 tmc 文件。弹出提示窗口,点击 OK 选择拷贝过来的 tmc 文件。点击 Open 4)配置完成,点击 File 选项卡下的 Activate configuration,激活配置。 弹出提示窗口,点击 Yes 这里 Remote PC 选择 Local,点击 Restart Server。 弹出警告窗口,点击 OK 显示配置成功 首先在 Client 工控机上使用 OPC-UA Sample Client 进行测试 此时的 IP 为本地工控机的 IP。(

8、即 OPC-UA Client 和 Server 所在的工控机) 端口下面有两个 Server 测试成功! 下面介绍 OPC-UA Client 用代码实现和两台 TC3 Runtime 工控机通讯1)添加 Tc3_PLCopen_OpcUa 库文件。方法如 Sample 3 2) OPC-UA Client 不需要选中 Target Files 中的 TMC File。 3) 打开例程 opcua_client_1to2。它实现了 Client 访问多个 Server 工控机, 并实现读,写和方法调用的功能。 OPC-UA URL 的内容,中间是本地 OPC-UA Client 工控机的 I

9、P NamespaceUri 的内容。CP-0C5DFA 是 Client 工控机的名字,PLC1 是 Configurator配置的 Server_1 名称,PLC2 是 Configurator 配置的 Server_2 名称。 MethodCall 方法调用中输出变量的结构体类型 4)读的功能中 MAIN.nCounter 是变量的命名空间。(不仅可以读主函数下的变量,也可读在主函数中有实例化的功能块的输入,输出或输入输出变量) 5)写的功能中 MAIN.nNumber 是变量的命名空间,以及需要写入的数值。(不仅可以写主函数下的变量,也可写在主函数中有实例化的功能块的输入,输出或输入输

10、出变量) 6)方法调用能块的命名空间,方法的命名空间和输入变量对应的类型。 方法调用中方法输入变量的 16bit 的倍数,输入和输出变量的个数 7)运行程序 读到了 nCounter 的数值 写入 nNumber 的值完成 方法调用完成。红框内是两个输入变量和一个输出变量,例程中方法实现的是两个数相乘的功能。 Server_2 工控机也完成了读,写和方法调用的过程 8)在 Server_1 工控机上,nCounter 读出了,nNumber 已经写入,方法调用了。 同样在 Server_2 工控机上,nCounter 读出了,nNumber 已经写入,方法调用了。 9)本例由于实时自动刷新的需

11、要,将 bDone 和 bTest 设为了输入变量。主函数中用 CASE 语句使得各个功能串行运行,程序运行过程中各个子程序的 bDone 依次变为 TRUE;当所有的子程序全部运行完后将TRUE,程序循环运行。 bDone置为FALSE,bTest置为 以上示例 Sample 4 实现了三台工控机通过 OPC-UA 通讯,包含了读,写和方法调用的功能。和 Sample 3 相比本例实现了和多台 Server 进行 OPC-UA 通讯,但这种 Server 和 Runtime 不在同一系统中的方案我们是不推荐了。 Sample 5 : 本例使用三台工控机,它们只需要连接交换机使它们的 IP 在

12、同一网段,不需要添加路由。在一台工控机上安装 TwinCAT 3 以及 OPC-UA;另一台电脑上也安装TwinCAT 3 以及 OPC-UA。两个 Server 工控机运行 TwinCAT runtime 以及 OPC-UA Configurator 软件;Client 工控机只运行 TwinCAT 3 软件。 本例的代码实现了用 TwinCAT 3 功能块和 OPC-UA Server 通讯,并且有读,写和方法调用的功能! 软件及系统版本说明: 1,在 Server_1 和 Server_2 工控机上配置 TwinCAT runtime。方法和 Sample 1相同。(程序变了) 选择生成

13、 symbol file,目标控制器为本机。 2,在 Server_1 和 Server_2 工控机上配置 OPC-UA Server。方法和 Sample 1 相同。(程序变了) 启动 OPC-UA Configurator 软件,在 Data Access 窗体中的 Select device type中选择 PLC TwinCAT 3(TMC)filtered,点击 Add。即添加一个变量筛选的 OPC-UA 版本 三台工控机系统 WES7 32 位 TwinCAT 3 3.1.4018.13 OPC-UA 3.2.1 Client 工控机 IP 192.168.1.100 Client

14、 工控机名称 CP-0C5DFA Client 工控机软件 TwinCAT 3 + OPC-UA Client 工控机运行例程 opcua_client_1to2 Server_1 工控机 IP 192.168.1.101 Server_1 工控机名称 CP-09C3FC Server_1 工控机软件 TwinCAT 3 + OPC-UA Server_1 工控机运行例程 opcua_server_1to2 Server_2 工控机 IP 192.168.1.102 Server_2 工控机名称 CP-0C5DE0 Server_2 工控机软件 TwinCAT 3 + OPC-UA Serve

15、r_2 工控机运行例程 opcua_server_1to2 server。我们可以将它命名为 PLC1。其他选项默认即可。激活配置即可。 3,配置 OPC-UA Client。用 TwinCAT 3 代码实现和 OPC-UA Server 通讯1)添加 Tc3_PLCopen_OpcUa 库文件。方法如 Sample 3 2) OPC-UA Client 不需要选中 Target Files 中的 TMC File。 3) 打开例程 opcua_client_1to2。它实现了 Client 访问多个 Server 工控机, 并实现读,写和方法调用的功能。 OPC-UA URL 的内容,中间是

16、两台 OPC-UA Server 工控机的 IP NamespaceUri 的内容。 CP-09C3FC 是 Server_1 工控机的名字 ,PLC1是Configurator 配置的 Server_1 名称;CP-0C5DE0 是 Server_2 工控机的名字,PLC1是 Configurator 配置的 Server_2 名称。 MethodCall 方法调用中输出变量的结构体类型 4)读的功能中 MAIN.nCounter 是变量的命名空间。(不仅可以读主函数下的变量,也可读在主函数中有实例化的功能块的输入,输出或输入输出变量) 5)写的功能中 MAIN.nNumber 是变量的命名

17、空间,以及需要写入的数值。(不仅可以写主函数下的变量,也可写在主函数中有实例化的功能块的输入,输出或输入输出变量) 6)方法调用能块的命名空间,方法的命名空间和输入变量对应的类型。 方法调用中方法输入变量的 16bit 的倍数,输入和输出变量的个数 7)运行程序 读到了 nCounter 的数值 写入 nNumber 的值完成 方法调用完成。红框内是两个输入变量和一个输出变量,例程中方法实现的是两个数相乘的功能。 Server_2 工控机也完成了读,写和方法调用的过程 8)在 Server_1 工控机上,nCounter 读出了,nNumber 已经写入,方法调用了。 同样在 Server_2

18、 工控机上,nCounter 读出了,nNumber 已经写入,方法调用了。 9)本例由于实时自动刷新的需要,将 bDone 和 bTest 设为了输入变量。主函数中用 CASE 语句使得各个功能串行运行,程序运行过程中各个子程序的 bDone 依次变为 TRUE;当所有的子程序全部运行完后将 bDone 置为 FALSE,bTest 置为TRUE,程序循环运行。 以上示例 Sample 5 实现了三台工控机通过 OPC-UA 通讯,包含了读,写和方法调用的功能。和 Sample 3 相比本例实现了和多台 Server 进行 OPC-UA 通讯,和Sample 4 相比本例中 Server 和

19、 Client 在同一系统中,这种方法也是我们所推荐的。 证书交换: 安全是 OPC-UA 通讯的一个重要特点。 最开始说的设置里面添加信任 IP 规则是一种安全的措施,还有 Sample 4中用户账户的设置也算是一种安全措施。 下面以 Sample 3 为依托,介绍一下 OPC-UA 中证书交换的安全方法。1)在 Configurator 中选择相应的加密端口(蓝色框内的端口) 设置完后选择本地,激活配置! 2)在 Client 工控机上首先用 Sample Client 做测试。输入 Server 的 URL 地址, 点击 Get Endpoints。可以看到只出现了我们设置的那个加密端点

20、。 点击 Connect,无法连接,并报错。 这是因为我们现在有的是加密通道,而 Sample Client 我们的 Server 工控机并不知道它是否可以信任。下面我们添加对它的信任。 3)这时我们点击 Server 工控机,Configurator 软件安全选项卡内的 Refresh按钮。 可以看到在 Client certificates 证书中的 Rejected Client certificates 拒绝的客户端证书中出现了一个后缀名为 der 的证书。 我们选中该证书, 然后点击红框内的按钮, 将它添加到 Accepted Client certificates 接受了的客户端证

21、书。 4)这是我们在 Client 工控机的 Sample Client 软件中点击 Connect,就可以和Server 通讯。 5)下面介绍用 TC3 软件通过加密通道访问 Server 的设置方法。 首先将 Server 工控机上的 OpcUaServer 证书拷贝到 Client 工控机的相应目录下。 Server 工控机上的 OpcUaServer 证书位置如下: 将证书拷贝到 Client 工控机的如下目录中去: 6)下面我们开始修改程序。将红框内的加密选项从 None 改为对应的加密通道参数。(有两个加密通道,可以酌情选择) 读,写和方法调用中的参数都需要修改! 7)然后重新激活-登录-开始。程序报代码为 E4DD0101 的错误 这个时候我们回到 Server 工控机中,点击 Configurator 中的 Refresh 按钮,在拒绝窗口中出现 OpcUaClient 的证书。点击添加按钮,将其添加到信任证书中去。 8)这时回到 Client 工控机。点击 TC3 软件中的复位按钮,然后点击开始。 软件正常

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论