文章背景
项目中需要使用OPC UA 来读取PLC的点位。本文简单介绍了OPC UA和使用KepServer软件连接PLC并读点。
OPC相关概念
OPC之前,软件开发需要写大量驱动程序去连接设备,设备上的一个硬件改变,应用程序都有可能需要重写,不同设备甚至相同设备不同单元的驱动都可能不同。为了改变硬件和软件之间的障碍,建立了OPC协议。
OPCUA
OPC UA 开放性生产控制和统一架构 open production control unified architecture是一种通信协议 不同设备和系统进行通信的技术规范
OPCUA优点
为什么要用opcua 以前不同厂商使用不同通信协议,导致设备之间难以沟通,数据集成困难。
- 开放性,无论哪种设备只要支持opcua就可以互相通信
- 统一架构,不同设备用相同的数据模型交换数据
- 跨平台和跨语言 无论是windows还是linux,无论C++还是python都可以用
- 设备和系统抽象为一个对象,有自己的属性方法和时间可以,读取和写入
- 支持TCP/IP HTTPS
- 有安全机制,确保通信安全
- 可以读结构体
- 数据订阅:针对OPCClient不同的配置与标准,提供数据/消息的监控,以及数值变化时的变化报告
OPC和OPCUA的区别
OPC和OPC UA协议使用的TCP层不一样,OPC是基于DOM/COM上,应用层最顶层;OPC UA是基于TCP IP scoket 传输层
OPC UA应用领域
数据采集和监控
设备集成和互操作
云平台连接
KepServer 使用OPCUA连接PLC
前提:本机和PLC在同一个网段,PLC已经打开了OPC UA服务端,全局变量已经添加。
- 新建通道,选择OPC UAClient (其他没体现的步骤,全部默认下一步)
- 改通道名称
- 添加URL和设置安全策略
- 其他全部默认下一步,然后添加设备
- 默认下一步到选择导入项,单机选择导入项,选择要添加的项,点击确定
- 点击Quick Client就可以读到PLC的点位,也可以写