姚晓宁,郭 琼
(无锡职业技术学院,江苏 无锡,214121)
发展智能制造是推动制造业高端化、智能化、绿色化发展的关键举措。[1]设备、机器及系统之间安全可靠的数据和信息交换是智能制造发展的关键。OPC UA 作为一种用于工业通信的数据交互规范,可实现对制造过程中的多源异构数据的传输与解析,进而实现互联互通,它弥补了传统OPC DA 技术无法独立于Windows 系统之外实现互联通信的不足,并简化接口和使用安全认证机制,是工业网络发展的重要方向。
作为培养高素质技术技能人才的高职院校或应用型本科而言,在教学过程中需要时刻关注新技术应用的发展趋势,以促进教学资源同步技术发展,提高专业人才培养质量。但受实验设备、技术储备等方面的限制,教学实施中引入OPC UA 等技术应用相对滞后,如何将这类代表行业发展的先进应用技术很好地嵌入教学中,是新时代教师需要不断思考和付诸行动的一个重要课题,也是助推新技术应用和持续发展的动力。
为快速响应产业发展需求、加强专业服务能力,学校坚持“研究先行、研教结合”理念,鼓励专业教学团队积极参与行业企业技术研发项目,对新技术进行研究、消化并实现教学资源转化。针对OPC UA 通信技术的应用研究,本研究设计了一种基于OPC UA 通信的虚实结合进阶实验项目,以期带动相关专业学习新技术应用,更好地服务智能制造发展。
OPC UA(OPC Unified Architecture)是一个开放的跨平台架构,其特点在于通过面向对象技术,将控制器、传感器等各类物理设备分别描述成对象,形成数字化模型,为不同厂商的设备提供统一的通信标准,即提供一种即插即用的软件接口,以实现不同设备之间、软件和硬件之间的互联互通。该规范由全世界30 多家知名制造企业联合开发,[2]越来越多的控制器厂商支持该协议。
工业4.0专家认为,OPC UA 是提供强大数据建模和数据安全能力的通信协议,可用于满足工业4.0的信息通信需求。[3]我国在智能制造的发展中,也一直在引进、转化和推广OPC UA,2017年7月国家标准《OPC统一架构》第1~8部分正式发布,同年9月机械工业仪器仪表综合技术经济研究所OPC认证测试实验室获得OPC国际基金会正式授权;2021年8月《OPC统一架构》的四个部分正式发布。OPC UA标准的引进和落地,标志着OPC UA将全面进入中国智能制造行业市场,有助于解决当前我国智能制造实施过程中异构系统信息集成难的问题,[4]助力智能制造的发展和企业数字化转型升级。
PLC 是设备控制、信息采集和数据通信的主要技术手段,是智能制造的核心和智能工厂的关键环节。[5]选取PLC 作为学习OPC UA 技术应用的研究对象具有一定的代表性。实验对象选择西门子PLC,一方面西门子PLC市场占有率高,所开发实验项目具有一定的辐射性和适用性;另一方面,西门子公司提供了支持OPC UA仿真通信的软件,依托虚拟仿真软件构建通信系统,实验成本低、技术成熟,同采用第三方软件开发VR 实验相比,功能强大、系统灵活,能与PLC软件无缝对接。
OPC UA针对不同应用场景提供客户端—服务器模型和发布者—订阅者模型,其中客户端—服务器模型采用的是TCP和HTTP协议[6],在工业领域的应用尤其广泛。OPC服务器将数据源封装,然后向外提供访问的标准接口;OPC客户端创建会话过程后, 在标准接口发送请求和接受传输的数据,实现客户端与服务器之间的交换信息服务。在西门子PLC产品中,S7-1500PLC V2.6以上版本支持OPC UA协议,既可作服务器又可作客户端;S7-1200 PLC V4.4版本以上支持OPC UA协议,但只能做服务器。考虑S7-1500 PLC、1200PLC使用同一个编程平台,且硬件组态、编程方法基本一样,因此在基于OPC UA技术的实验设计中,服务器可以任意采用S7-1500/1200PLC, 客户端采用S7-1500PLC,完成从简单到复杂、由虚到实的完整的通信系统建立和实践操作。
结合高职及应用型本科学生学习特点,实验项目设计时遵循由基础到综合、虚实结合的设计思想,充分利用市场已有的客户端测试软件、系统虚拟仿真软件及尽可能低成本的实验载体,同时兼顾线上、线下学习环境,设计如图1所示三个进阶实验。
图1 OPC UA 技术应用进阶实验
(1)客户端仿真实验。考虑PLC 的OPC UA通信编程工作量主要集中在客户端,因此设计了基于客户端测试软件的实验项目,服务器采用S7-1500/1200PLC,客户端采用第三方客户端测试软件,这样处理可省略客户端参数设置与编程工作,实验重点聚焦在了解OPC UA 技术特性、学会服务器的配置和应用。
(2)系统虚拟仿真实验。考虑线上教学和学习需求及线下实验调试时间受限,采用虚拟仿真软件搭建和运行调试通信系统,引导学生反复训练通信系统相关知识,了解客户端编程思路和方法。
(3)实践操作实验。通过现场实践操作将虚拟项目落在实处,熟悉OPC UA 应用场景,培养学生职业素养和技能,提升学生新技术应用和自主创新能力。
在客户端仿真实验阶段,采用UaExpert 和服务器进行通信,服务器选用S7-1500-1200 PLC,计算机做客户端。计算机做客户端时需要安装客户端软件UaExpert,实验模型如图2 所示。
图2 客户端仿真实验模型
UaExpert 是支持OPC UA 的GUI 工具,具有数据访问、警报和条件、历史访问等功能;其基本框架包括证书处理、发现OPC UA 服务器、与OPC UA 服务器连接、浏览信息模型、显示特定OPC UA 节点的属性和引用等。当编写好服务器代码后,可将UaExpert 作为客户端与服务器进行通信。将UaExpert 软件引入学习中,可使OPC UA通信学习变得更加方便和易于理解。
PLC 做OPC UA 服务器时需要在CPU 属性中设置一些主要参数,例如激活OPC UA 服务器、添加服务器证书、设置安全策略、选择系统运行许可证等;其他一些常规参数,例如最大会话超时时间、最大会话数量等,可根据通信需求采用默认参数或自己设定参数。服务器主要通信参数设置的流程及内容如图3所示。
图3 服务器主要通信参数设置
在服务器中设置通信数据源,以便客户端访问数据源并与服务器进行数据交互。建立通信数据源数据块DB1的示例如图4所示,所建变量用于监控电机运行状态。变量读写属性可任意设置,图中的变量Motor_start、Motor_stop 被设为客户端可读、可写属性,即电机起动、停止操作可在服务器侧操控,也可在客户端侧操控;电机运行状态Motor_status、转速Motor_speed 被设为客户端只读变量,即客户端只能读取电机运行状态和转速值,但不能修改变量值。
图4 服务器侧通信数据块的建立
UaExpert 软件主要用于测试服务器的OPC UA 通信功能,同真实的客户端相比,其设置和使用简单、无须编程。
在软件操作界面点击“+”选项,弹出“Add Server”界面,添加相应服务器的地址,如图5 所示;如果与服务器连接成功,则可看见对应服务器提供的通信数据地址。客户端可访问的变量如图6 所示。当UaExpert 与服务器连接成功后,将需要访问服务器的数据拖曳至UaExpert 的Data Access View 区域,即可对服务器数据进行读写操作。图7为基于客户端仿真的实验系统在线运行界面。
图5 连接服务器
图6 可访问的变量
图7 基于客户端仿真的通信系统运行界面
有了客户端仿真实验或演示,学生对OPC UA 技术特性及OPC UA 通信系统结构有了整体的了解,在此基础上可以进一步扩充学习内容,将客户端软件替换为客户端载体,并进行通信程序的编写。
系统虚拟仿真阶段可采用S7-PLCSIM Advanced 仿真器对OPC UA 通信系统进行仿真调试,仿真调试完成后再将调试好的服务器和客户端参数及程序下载至实体PLC 中进行现场运行,可减少试错成本,实现随时随地学习。
PLCSIM Advanced 由西门子公司推出,与TIA Portal 平台上的PLCSIM 相比,功能更为丰富,特别是通信仿真方面有了显著的提升。虚拟的PLC 实例可以在单台PC 上实现多台PLC 的通信仿真运行,在软件中可建立多个虚拟PLC实例,并通过虚拟网卡实现PLC之间的通信。
但PLCSIM Advanced 只针对S7-1500 或ET-200SP 控制器仿真,因此,采用该仿真软件建立通信系统实验项目时,无论是客户端还是服务器,我们都要选用S7-1500PLC,实验模型如图8所示。
图8 系统虚拟仿真实验模型
在S7-PLCSIM Advanced 软件中建立两个虚拟PLC 实例,分别做服务器和客户端,完成示例如图9 所示。选择通信协议时,选用虚拟网卡方式建立虚拟仿真实例,在软件的控制面板上将在线访问切换至“PLCSIM Virtual Eth.Adapter”;TCP/IP 通信可选择本地<Local>或以太网,其中本地<Local>是指选择虚拟网卡进行通信,PLC实例和TIA Portal均在同一台PC中。
图9 建立客户机/服务器实例
在虚拟仿真阶段,关键知识点放在TIA Portal 软件对客户端参数配置和通信程序编写上,这个步骤也是实践操作中必须要做的。通过仿真软件可不断修改、测试和完善程序。
在TIA Portal 中,分别建立服务器和客户端,系统硬件组态示例如图10 所示。其中,服务器通信参数设置及通信变量建立步骤,与客户端仿真实验中的服务器建立步骤和内容完全相同。
图10 通信系统硬件组态
用S7-1500 PLC 做OPC UA 客户端时,同样需要在CPU 属性中设置一些通信参数,主要通信参数设置的流程及内容如图11 所示。采用客户端仿真软件建立OPC UA 通信系统时,客户端侧操作简单,只需与服务器建立连接;但PLC 做客户端时,不仅需要导入服务器的接口变量,还需要编写访问服务器的程序,从而完成客户端与服务器的连接、数据访问等功能。
图11 客户端主要通信设置
客户端访问服务器需要导入的服务器接口变量,可在服务器侧OPC UA 属性中将通信变量表通过“导出OPC UA XML 文件”导出,并将该文件导入客户端接口的数据访问(读取列表/写入列表)中。客户端访问服务器导入的服务器变量示例如图12所示。
图12 客户端侧读写列表建立
将TIA Portal 项目中设置的服务器、客户端PLC 文件夹分别下载至由S7-PLCSIM Advanced软件设置的两个虚拟PLC实例中。操作虚拟PLC的步骤与操作真实PLC 的步骤一致,也需将程序下载至虚拟PLC 中并将其运行状态调整至RUN。如图13 所示,通过TIA Portal 软件在线监控通信系统,观察两台虚拟PLC 通过OPC UA 技术通信实现的数据交互情况,这个观察界面与真实PLC通信界面也是一致的。
图13 通信系统联调界面
实践操作是对系统仿真测试的有力补充。i学生可通过现场操作巩固所学知识,提升专业技能。在实践操作阶段,如果PLC 选型与虚拟仿真阶段PLC 型号一致,则可直接将虚拟仿真项目下载至真实PLC 中;如果服务器选择使用S7-1200PLC,按照客户端仿真实验中建立服务器的步骤重新建立服务器即可;也可将客户端仿真软件连接至通信系统,实现系统的多点通信,实验模型如图14所示。
图14 实践操作系统模型
采用网线连接PLC 服务器、客户端通信接口,将TIA Portal 软件中已建立的服务器、客户端文件分别下载至对应的PLC中,并在UaExpert软件中连接所建立的服务器IP 地址。系统运行后在TIA Portal 软件中监控PLC,在UaExpert 软件中读写服务器PLC 提供的数据,实体客户端和仿真客户端都可以访问服务器数据。
OPC UA 以其跨网络、跨平台的通信方式在工业网络中占有举足轻重的位置,未来许多智能仪器仪表和控制器会陆续支持OPC UA 协议。使用OPC UA 协议可以减少通信的中间环节,推动和优化工业网络系统的工作效率和工作质量。但市场中除主要厂商的控制器支持OPC UA,其他支持OPC UA 的产品并不多见。工业控制领域中PLC 应用广泛,将PLC 的OPC UA 技术应用及时补充到高校教学中,可以使学生更好地适应智能制造新技术的应用需求。
本文基于OPC UA 技术,利用行业软件资源,设计了一套切实可行的客户端仿真、系统虚拟仿真、实践操作的进阶学习项目,可充分调动学生的学习积极性,为不同水平学生提供了进一步学习和实践的机会。由于PLC 通信系统现场接线简单,主要工作量在服务器/客户端的程序编写与通信系统调试上,因此采用虚拟仿真实验不失为一种学习OPC UA 通信技术、减少实验成本的重要手段,如实验条件允许再通过实践操作来验证、强化理论知识,可大大提高学生的学习效果和操作技能,有利于培养学生敢于尝试、大胆探究和自主创新的能力。