系统平台:windows 7 SP1 64位

软件环境:Wincc 7.4 SP1、kepware 6.5

配置实例方式:kepware作为 OPC UA 服务器,wincc作为OPC UA客户端

适合的阅读对象:电气自动化工程师、设备自控维护人员、工业数据采集工程技术人员、物联网工程技术人员、OPC UA 应用技术爱好者。

本文仅对OPC UA的应用配置进行记录,供有需要者参考。本文不包含OPC UA的原理、规范等相关的讲解、不包含wincc 软件安装、kepware软件的安装讲解,有相关需求的读者请自行寻找相关资料。

kepware作为OPC UA服务器的配置步骤如下:

1、建立一个项目,设置两个通道,分别为siemens tcp/IP协议和simulator协议,然后在每个通道下面建立一个设备,设备下添加标记。建好以后如下图所示(注意:图中的通道名称有问题,导致wincc添加OPC UA变量后提示地址与AS符号不一致,运行时无法获取变量值,因为名称中包含了空格和/)。

wincc变量比较指令(OPCUA配置实例一)(1)

wincc变量比较指令(OPCUA配置实例一)(2)

2、完成第一步后,右键点击任务栏右方的kepware图标,在右键菜单中点击 OPC UA配置,进入配置窗口。

wincc变量比较指令(OPCUA配置实例一)(3)

3、在配置窗口内“服务器端点”选项下,添加服务器端点,在端点定义窗口内配置端点信息。这里选默认即可。端点地址格式:opc.tcp://[hostname]:port, [hostname]为OPC服务器所在计算机名称,也可以是IP地址,port为端口号,本例中为默认的49320,也可根据需要修改,但要注意不能与系统内其他应用配置的端口号冲突。

wincc变量比较指令(OPCUA配置实例一)(4)

4、添加号端点后如下图所示

wincc变量比较指令(OPCUA配置实例一)(5)

5、切换到“受信任的客户端”选项卡,导入客户端的证书

wincc变量比较指令(OPCUA配置实例一)(6)

6、WINCC安装好以后在其安装路径下可以找到wincc作为客户端或服务器的证书,这里把wincc客户端的两个证书导入到kepware内,路径如下图所示。

wincc变量比较指令(OPCUA配置实例一)(7)

7、导入完成后如下图所示,这时候证书并非是受信任的,选中一个证书,点击右下方的“查看证书”按钮可查看到证书状态,如果状态中显示不受信任,则需要安装证书。

8、打开wincc客户端证书所在文件夹,选中证书文件,右键菜单内选择安装证书。(本次配置实例中,wincc与kepware安装在同一台计算机,所以直接找到wincc的客户端证书安装即可;如wincc与kepware分别安装与同一网络下的两台计算机内,需要把wincc的客户端证书复制到kepware所在计算机任意路径下,再右键安装证书)

wincc变量比较指令(OPCUA配置实例一)(8)

9、进入证书安装向导后点下一步,在第二步内选择把证书放到“受信任的根证书颁发机构”

wincc变量比较指令(OPCUA配置实例一)(9)

wincc变量比较指令(OPCUA配置实例一)(10)

后续步骤均为直接点击“下一步”,安装完成后再次进入查看证书窗口内,在证书路径选项卡下可看到证书状态“该证书没有问题”,这说明此证书已被信任。用同样的方法安装好另一个证书,证书全部被信任即可。

wincc变量比较指令(OPCUA配置实例一)(11)

10、接下来导出kepware服务器的证书,导出的服务器证书需要放在winccOPC UA客户端所在计算机的Trust文件夹内。

wincc变量比较指令(OPCUA配置实例一)(12)

首先按照上图的方式导出证书到一个文件夹,然后复制到下图路径的文件夹内(从OPC UA 服务器复制到OPC UA客户端所在计算机上),再右键安装证书,安装过程与客户端证书的安装过程一致。

wincc变量比较指令(OPCUA配置实例一)(13)

11、右键点击“项目”,进入属性配置窗口,在OPC UA组内,右侧的“服务器接口-启用”项必须选“是”,“客户端会话-允许匿名登录”选择“是”(选否的话,wincc客户端配置连接参数时必须输入用户名和密码)。 此项配置可在项目建立后立即配置,不必等到前面10个步骤内容都设置好,但要在wincc客户端配置参数前配置好,否则也要回过头来再配置。

wincc变量比较指令(OPCUA配置实例一)(14)

12、以上都完成后,重新初始化服务器运行时。点击下图的“重新初始化”。

wincc变量比较指令(OPCUA配置实例一)(15)

Wincc 作为OPC UA客户端的配置:

1、新建wincc项目(单机项目、服务器项目均可),添加OPC UA WINCC通道驱动

wincc变量比较指令(OPCUA配置实例一)(16)

2、添加驱动后,新建连接

wincc变量比较指令(OPCUA配置实例一)(17)

wincc变量比较指令(OPCUA配置实例一)(18)

3、右键点击新建的连接,再点击连接参数,进入参数配置页面

wincc变量比较指令(OPCUA配置实例一)(19)

4、在参数配置页面双击蓝色区域弹出添加新服务器的窗口。窗口内服务器名称这里填写为opc.tcp://127.0.0.1:49320,因OPC UA的服务器和客户端在同一台计算机上,所以IP为127.0.0.1,如果客户端和服务器分别安装在两台计算机上,这里的IP地址需要换成服务器所在计算机的IP地址或者计算机名称,后面的端口号49320与服务器配置的端口号一致。

wincc变量比较指令(OPCUA配置实例一)(20)

5、点击“OK”按钮后,窗口下会有信息提示,下图所示为获得服务器端点成功,这时不要忘记配置窗口右方的安全策略和安全模式。这里配置为:Basic128Rsa15 Sign,权限选择匿名(服务器端已配置为可匿名登录)。

wincc变量比较指令(OPCUA配置实例一)(21)

6、点击OK关闭服务器配置窗口后,回到变量管理器内,右键点击新建的连接,选择Browser OPC Server,如果参数配置没问题,可在变量管理器内弹出“符号”栏,单击选择的设备,右侧窗口显示设备下的变量。

wincc变量比较指令(OPCUA配置实例一)(22)

勾选访问列的复选框后如后面Address列出现红色背景则说明kepware内配置的通道名称或者设备名、变量名称称包含了不符合Wincc AS符号规范的的字符,最好去掉名称里的空格/~-等特殊字符,名称最好是字母数字和下划线的组合。

下图是修改后的通道名称、设备名称。

wincc变量比较指令(OPCUA配置实例一)(23)

勾选访问列的复选框后相应变量被导入wincc,点击“符号”右侧的绿色图标,收起符号栏,这时可看到连接下的的变量已经被导入。

wincc变量比较指令(OPCUA配置实例一)(24)

7、Wincc项目内新建画面,拖入3个输入输出域,分别关联导入的三个变量,保存画面,并把画面设置为启动画面,启动wincc的运行系统。

wincc变量比较指令(OPCUA配置实例一)(25)

wincc变量比较指令(OPCUA配置实例一)(26)

8、同时打开kepware的OPC Quick Client,在wincc画面内修改test1、test2的数值,可以在OPC Quick Client内看到数值跟随变化,数值一致,OPC UA通讯正常。

Md0变量出现黄叹号说明此变量连接失败,但这并不是OPC UA通道连接失败,而是kepware 的通道连接对应设备有问题,因为手里没有PLC,300PLC并没有接入KEPWARE,所以kepware运行时只有模拟通道的数据正常。

wincc变量比较指令(OPCUA配置实例一)(27)

,