WINCC配置OPC UA服务器的步骤和故障解决
本次配置实例的环境:
- 在同一局域网内的两台计算机,均为windows7 SP1系统
- 一台计算机安装wincc 7.4,并建立项目,项目在运行状态
- 一台计算机安装UAExpert(测试用OPC UA客户端软件)
WINCC 配置为OPC UA服务器操作相对简单,主要为以下几个步骤:
1、修改OPC UA 的配置文件
WINCC OPC UA 的配置文件位于 "wincc项目OPC甥十牥ver"文件夹下,用记事本打开OpcUaServerWinCC.xml 对此文件内容可进行修改配置(不修改也能用,但是默认包含未加密的连接方式,最好删除未加密方式),如需修改最好先备份一个副本。
![9687f81e5c15e4536edf24571a278682.png](https://i-blog.csdnimg.cn/blog_migrate/f060e448b651f8f96aa39c5e8d3b6e58.jpeg)
服务器IP地址要记下来,默认端口号4862,一般不需要修改,改的话要注意不要与系统内已被占用的端口冲突。
2、建立并运行wincc项目。
wincc项目不在运行状态时,OPC UA客户端是无法与OPC UA服务器建立连接的。
3、 打开OPC UA 客户端软件,添加并浏览服务器
本次测试用的客户端软件是UaExpert,可在unified automation官网下载,开源免费软件。
![54ea92ccd0a0a8fbab4e96760af966b3.png](https://i-blog.csdnimg.cn/blog_migrate/1639141432d20b164c8f4fcf5a801bbb.jpeg)
按照上图所示步骤1、2、3添加服务器。//后面填写服务器IP地址或计算机名称,记住在英文字符下输入,尤其中间的冒号不要错输入为中文的。
![a5a7d20b03a30da0d3982b81f1804a8a.png](https://i-blog.csdnimg.cn/blog_migrate/d61fa0a98abead2f20e251a848bc7b53.jpeg)
添加搜索到服务器,可以看到是加密的连接方式。
![d2bf8b1c3efa97fa6db52bc2ef3c3747.png](https://i-blog.csdnimg.cn/blog_migrate/9d6492d786028dd3691ff31007f72bfb.jpeg)
选中一个连接点击OK,弹出下图认证对话框,点击下方的Trust Server Certificate 进行证书信任操作。
![4ed37192911566ad7dc8fa68e41c8d5e.png](https://i-blog.csdnimg.cn/blog_migrate/becf4daff56fe0efb846207bc940467e.jpeg)
证书信任后,证书名称从红色变为橙色,这时仅是客户端对服务器证书进行了认证。服务器并没有信任客户端的证书。
![89fce415b9447f2af16f9655064070b7.png](https://i-blog.csdnimg.cn/blog_migrate/ef5aac9a73d74d2c7f2b1f2ff842dd23.jpeg)
点击下方Continue 按钮,然后转到服务器端操作。
4、在服务器端进行对客户端证书的认证
打开wincc安装路径下的CA文件夹,里面多出一个rejected文件夹,这个文件夹没有任何OPC UA客户端连接到此项目时是不存在的,当OPC UA客户端进行连接时自动创建。
![89ae7bb0595aa653a0dec7d1103a469f.png](https://i-blog.csdnimg.cn/blog_migrate/2e20e47aa60252f8132f5b13573f1c6e.jpeg)
打开rejected文件夹
![30b5f6b5893e64b142a4cdce76f752cd.png](https://i-blog.csdnimg.cn/blog_migrate/e48c9a6444cf0bcdb570f9a9972a33a4.jpeg)
把里面的证书文件转移到下图路径文件夹内,完成对证书的信任操作。
![ba8541538b1be67cb74a770800ca86c9.png](https://i-blog.csdnimg.cn/blog_migrate/2f7dead3227c2b250e89473ad6dc5376.jpeg)
5、回到客户端,选中服务器,点击连接按钮进行连接
![ddaffb5f65af72e9e4ab6763ca6553ed.png](https://i-blog.csdnimg.cn/blog_migrate/d417e5b875189dc6edb6c272f726b26e.jpeg)
在下方的Address Space内可以看到wincc内变量,连接成功。
![a95ed411709eed5da2497d0e389058b7.png](https://i-blog.csdnimg.cn/blog_migrate/3f10d0d4101a2e0eb174d0e22fb44124.jpeg)
拖动一个变量到右侧窗口内,可看到变量数据和刷新的时间标签
![02dafa79adf997eba776b5ced119e674.png](https://i-blog.csdnimg.cn/blog_migrate/1f5cd0e493b59ff4e3ba8db7cdda3950.jpeg)
至此,完成了OPC UA客户端对wincc 服务器的访问。
以上步骤初次操作难免会失误,多试验几次最终会成功,这次试验过程也遇到一些故障问题。
故障一:服务器配置文件修改结束后无法在客户端找到服务器,WINCC项目已经是运行状态了,还是无法发现服务器。
只好打开服务器命令行工具,输入 netstat -n -a 命令,看到下图中红线标出的一行了吗?4862端口可以看到,那么客户端就可以找到服务器。偏偏开始的时候,根本没这一行,也就是4862端口没开放。继续找原因。
![b645309be8aabe4a9aca4b52cd1df429.png](https://i-blog.csdnimg.cn/blog_migrate/385d0535d37f521450156a0f0ebe7179.jpeg)
打开服务器的任务管理器,发现一个opcUaServerWincc的服务,状态在是"已停止",这个服务没启动等于wincc的OPC UA服务是关闭的。
故障二:opcUaServerWincc服务被禁用了
在任务管理器里重新启动此服务发现启动失败,打开服务器的服务列表,找到opcUaServerWincc服务,发现被禁用了,右键属性里把禁用改为自动并启动服务。此时回到任务管理器发现服务状态为"正在运行",这时从客户端再搜索服务器就能正常发现了。
![648c218ecd684c370914575b3fddbad3.png](https://i-blog.csdnimg.cn/blog_migrate/85791b38ce5557b77773604f4aec9154.jpeg)
![15d3975b73efbe5e203856fac111ac3d.png](https://i-blog.csdnimg.cn/blog_migrate/0dd433376b3be5be616c4f61422ec1e2.jpeg)
这两个拦路虎解决以后,客户端就能顺利找到服务器了,再配合后面的证书互相信任的操作之后,客户端就能和服务器正常通讯了。