APP下载

Octopuz虚拟软件与S7-1200PLC进行OPC通信的实现

2021-02-14闫海兰尚坡利

兰州石化职业技术学院学报 2021年4期
关键词:客户端车间服务器

闫海兰,尚坡利

(兰州石化职业技术学院 电子电气工程学院,甘肃 兰州 730060)

为了中国制造2025的稳步运行,推动智能制造快速发展,各行各业开始研究和实施智能车间的建设,例如石油化工、冶金、航空航天、装备制造等将会作为数字化车间、智能化工厂的首批试点领域。未来几年内,全国大多数工厂车间都会趋向智能化,各大制造型企业也都将开始进行信息化改革升级[1]。智能车间的建设使得车间内设备的种类也更加繁多,如传感器、PLC和伺服轴等。这些设备提高了生产质量和生产效率,但也产生了一些不可忽视的问题,不同型号和不同生产厂家的底层设备导致车间内的通信协议也各种各样,这给车间监管人员对车间内部数据采集和通信系统的整合带来困难。且由于各种各样的通信协议,使得设备间数据信息交互困难,设备间存在信息孤岛的问题。因此,车间生产控制系统在开发设计时,为了能够使得不同型号、不同生产厂家的生产设备兼容适配,开发人员智能在系统中集成大量的通信协议,这不仅使得开发人员的工作量显著增加,而且使得生产系统庞大复杂。且不同的设备有不同的通信总线,布线时需要对其布置专有的通信总线,进而导致车间内的布线数大量增加,产生车间生产安全隐患。

然而使用OPC技术刚好可以解决这个问题,它为不同品牌和信号的设备提供一种统一且简单的接口,保证设备间能够交互通信,对于设备的数据采集与监控也可靠简单[2]。OPC UA已经成为国内外在数据采集与监控系统设计中不可或缺的一部分,国外对OPC UA技术的研究较为成熟。相比于国外的研究现状,国内对于OPC UA技术在工业中的研究与应用还不够完善。北京的艾克信控公司是国内最早一批开始接触OPC UA技术的公司,并开发了一些基于OPC UA的产品。华北电力大学最为国内高校中较早研究OPC UA的院校之一,在2011年取得了一定的成果,孙建发、白洋、方辉等在毕业课题中分别对OPC UA服务器中数据管理与订阅功能模块、安全与配置功能模块、地址空间与数据存储模块以及时间管理与订阅功能模块进行了研究和开发。内蒙古工业大学的李赫研究设计了基于OPC UA的中间件服务器,首先将设备信息采集到OPC DA服务器中,在经过中间件的封装转换,能够成功被OPC UA客户端访问[3]。兰州理工大学的谢春求研究了基于OPC UA的数控机床原创监控系统,以OPC UA为主要核心技术,采用WinCC软件作为远程监控客户端,提供一系列解决方案[4]。杭州电子科技大学的黄志韬使用OPC UA研究并实现了个性化定制生产线信息系统,解决目前生产信息系统只适合大批量生产不适用小规模生产的问题。

本论文以上述智能车间生产通信中存在的问题为出发点进行研究,力求实现对车间内各种硬件底层设备进行数据信息采集,并达到统一监管的目的。要使该目标实现首先需要设备间数据能够共享交互,设计出合理的而数据采集系统将设备信息采集出来。其次,需要有数据显示和监控界面供监管人员对采集上来的数据进行实时监控。

1 OPC UA的技术优势

由于OPC是在微软的OLE技术基础上发展起来的数据交换技术,因此它为基于Windows的应用程序与工业控制系统进行数据交互建立了桥梁,并且它有效地将硬件与软件分离开来[5]。基于OPC技术的过程控制通信系统如下图1所示,采用C/S结构来进行数据交换,底层硬件设备中需内置OPC服务器并创建OPC服务器的统一接口,OPC客户端就可以通过OPC通信对OPC服务器的统一接口进行信息访问,双方的数据就可以进行交互,软件开发者只需要对应接口进行编程而没必要了解硬件设备具体信息。但传统的OPC是基于微软的COM/DCOM技术的,因此该技术只能在Windows系统上应用,不能在Linux等其他平台上进行OPC客户端与OPC服务器之间的通信。但是由于该技术只能在Windows系统上应用,导致OPC接口不能再例如Linux等其他平台上工作,客户端与服务器无法实现跨平台交互,这个主要缺陷随着控制要求的逐渐提升将无法满足工业现场的需求。

图1 基于OPC的过程控制通信系统

OPC UA技术能弥补传统OPC的不足,它仍然以C/S结构进行设备间数据通讯以及信息采集,但服务器与客户端是通过OPC UA通信栈进行通信的,即首先客户端通过API与自己的通信栈进行交互,接着客户端的通信栈再与服务器的通信栈进行信息交互,服务器接收到响应信号并将响应的应答信号反馈给客户端。OPC UA弃用了传统的COM/DCOM技术,建立了以Web Service为基础的技术架构,使得不同的设备或者不同的系统可以在不一样的网络环境上进行交互,这赋予OPC UA具有跨平台特点,为当前工业通信系统存在的数据传输无法跨越防火墙的问题提供技术支持,并且OPC UA支持更多类型的数据结构,增加许多安全规范,使得设备在工业网络中更加安全且受保护,以及增强了命名空间等优点。OPC UA所具有的优势如下[6-9]:(1)与平台无关性;OPC UA的相关研究不再受限于Windows系统,所以可在实际需求的操作系统上进行,且基于Web Service的技术架构使得信息交互更加开发、更加灵活。(2)访问统一性;OPC UA增加了统一的、完整的和一致的地址空间模型和服务模型,因而客户端向OPC UA服务器发送请求即可获取数据,解决了资源浪费的问题。(3)安全性和通信性能增强;OPC UA技术定义了一系列完整的安全策略,OPC UA服务器与客户端通过一条特定的连接通道进行安全通信,在该通道应用了加密技术,例如OpenSSL加密、公共密钥体系和X509证书等,若想要进行会话则需要进行身份验证,这使得通信更加安全可靠,保证了信息的完整性。(4)支持更多更复杂的数据结构;OPC UA支持一种元数据建模规则,而且该模型具有可扩展性,根据实际开发的各种需求,开发人员可自定义进行增删改数据模型之间的相关性。(5)可靠性和冗余性;该机制的设计可使客户端连接冗余服务器,保证数据传输的完整性、连续性,且OPC UA数据信息传输是加密的,服务器和客户端需要用户验证才能通讯,这也保证了数据的可靠性。

2 OPC UA服务器的搭建

2.1 OPC UA服务器的搭建方式

在工厂车间数据通讯中,采用的OPC UA技术是基于分布式的服务器/客户端(C/S)模型,该客户端负责消费这些数据和服务,实现对车间内底层设备数据、工作状态等信息的监控和展示,而该服务器负责准备服务和数据。如下图2所示,主要有3种常见的方式实现OPC UA的搭建。第一种方式为通过网关适配器来实现OPC UA服务器的搭建,以硬件的形式将某种型号的设备或控制器协议转换为OPC UA标准协议;第二种方式为OPC UA服务器内嵌的形式,即服务器直接嵌入在机器、控制器或者设备内部,设备生产过程中就加入了OPC UA的功能;第三种方式为以外部软件的形式搭建OPC UA服务器,这种情况可能某些设备公司为特定型号的产品研发特有的OPC UA服务器软件,例如西门子PLC等,还有可能是通用的OPC UA服务器软件。本论文采用第二种方式,即OPC UA服务器内嵌的形式。

图2 OPC UA服务器的搭建方式

2.2 OPC Server服务器的搭建步骤

因为选用第二种方式,OPC UA服务器内嵌的形式实现对设备数据信息的访问通讯,并且还能实现不同设备间数据交互的功能,解决了设备间信息孤岛的问题,通过上位机客户端可以对底层设备数据进行读写和监控。OPC Server服务器的搭建流程如下图3所示,首先启动博图软件,然后查看固件版本,博图软件只有V4.4固件版本以上才支持OPC通信,若固件版本较低,则进行固件升级。其次创建PLC项目并添加与硬件相对应的PLC设备,接着在工程界面开启OPC服务器,并创建PLC变量及其调用,此外创建服务器的借口,最后OPC服务器接口调用变量,至此完成搭建工作。

图3 OPC UA服务器的搭建方式流程

OPC UA服务器搭建过程中包括的关键步骤为:首先点击设备组态并选择PLC,找到OPC UA,点击激活OPC UA服务器,并记录下方的服务器地址,即OPC通信地址,客户端以此作为识别号,如图4所示。

图4 开启OPC服务器

其次,创建服务器的通信变量,之后建立西门子的函数模块并编写程序,如下图5所示,并在MAIN中调用函数块实,紧接着进行变量引用赋值,实现功能:输出数据以0.5s变化。

图5 程序代码

最后,创建服务器接口,并用OPC UA服务器接口调用变量,变量引用完成后将工程项目编译下载。至此,OPC UA服务器搭建完成。

3 Octopuz虚拟仿真软件与服务器的连接

Octopuz虚拟仿真软件与OPC UA服务器相连接是基于安全通道和会话的,连接流程如下图6所示,首先开启Octopuz虚拟仿真软件并开启OPC服务。

图6 Octopuz与OPC UA服务器连接流程

其次在虚拟环境中创建单独的组件,以承载特征、脚本、属性参数,并添加与PLC对应类型的变量,否则后期印射变量会发生错误。紧接着在连通性中添加服务器并添加对应的服务器地址,测试连接,如弹出对话框提示连接成功,表示Octopuz与服务器已经连接成功。之后创建Python脚本并写入代码,以添加组件行为,如下图7(a)所示。最后映射服务器至模拟、模拟至服务器的OPC通信变量,如下图7(b)所示。

(a)

(b)

4 OPC UA的数据采集与监控系统验证

整体方案设计、实现完成后,将对OPC UA的数据采集与监控系统进行验证工作,测试搭建的OPC UA服务器是否能正常工作,以及整个系统是否能正常运转。首先对Octopuz中的节点属性信息读写功能进行测试验证,通过点击树形结构可在服务器地址空间栏中随意浏览各级节点层次结构,点击单个节点或一类节点可在属性信息栏中看到节点的具体信息,实现对服务器地址空间中数据展示和读取操作。且可以在博图、Octopuz中分别监控OPC输入输出变量数据以0.5s的速度变化,如下图8所示。

图8 OPC输入输出变量数据的变化

5 结束语

针对智能车间底层设备繁多、通信协议各异,导致无法进行统一的数据采集与监控等问题,以OPCUA为核心技术,搭建了可适配不同底层设备的通用OPC UA服务器,并实现了Octopuz虚拟仿真软件与OPC UA服务器的成功连接,因而实现了车间内各种硬件底层设备进行数据信息采集,并达到统一监管的目的。

猜你喜欢

客户端车间服务器
你的手机安装了多少个客户端
你的手机安装了多少个客户端
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
100MW光伏车间自动化改造方案设计
服务器组功能的使用
山间采茶忙 车间制茶香
理解Horizon 连接服务器、安全服务器的配置
PowerTCP Server Tool
招工啦
“扶贫车间”拔穷根