1、 100 基于 OPC 技术的虚拟 PLC 实验平台搭建研究 窦 典,张金姣,付伟华,吴彭帅,余巧东23(湖北工业大学 机械工程学院,湖北 武汉 430068)摘 要:针对因实验器材短缺及功能不完备,设计开发一款功能较为全面的虚拟 PLC 实验平台,该平台由三菱 PLC 编程软件GX-Works2,三菱 OPC 服务软件 MX OPC server,以及组态王软件 KingView 组成。其中,GX-Works2 用来进行 PLC 程序的编辑与处理,KingView 用于对实验所控制对象进行模拟与仿真,MX OPC server 用于实现 GX-Works2 与 KingView 之间的数据通
2、信,通过建立一个基础实验平台和几个常见实验的仿真界面,并通过水塔水位仿真控制的案例展示该方案的有效性与可靠性。关键词:三菱 PLC;组态王;OPC 技术;虚拟实验平台 中图分类号:TP391.98 文献标志码:A 文章编号:1672-1047(2023)02-0100-05 DOI:10.3969/j.issn.1672-1047.2023.02.24 收稿日期:2023-03-11 作者简介:窦 典,男,黑龙江依兰人,机械设计制造及自动化专业学生。通讯作者:张金姣,女,湖北黄冈人,副教授。研究方向:机电一体化。可编程序控制器 PLC(Programmable Logic Controller
3、)作为现代工业自动化三大支柱之一,由于其丰富的输入输出模块和功能模块及其高可靠性,成为当代自动化控制学科中的一门必修课,同时也是自动化专业学生必备的一项技能。PLC 课程具有很强的实践性,在进行基本理论的学习后还伴有大量工程实际控制案例的练习1。实验室中为了展示与验收学生学习成果通常配备 PLC 实验箱,但因每次实验,经手的人太多,大部分实验箱有不可避免的损坏,造成许多实验无法正常进行。因此开发虚拟实验平台显得尤为重要。本文旨在设计一款采用 OPC(Object Linking and Embedding for Process Control)技 术 以 组 态 王(Kingview)为基础
4、的虚拟 PLC 实验平台。通过该实验平台完成对水塔水位仿真控制的实例,来展示其可行性。1 虚拟实验平台系统组成 1.1 软件配备 1.1.1 组态王(kingview6.55)组态王软件提供中文资源管理器式的主界面,操作简单,功能强大2,可以自动收集数据并将这些数据以动画的形式呈现出来,还具有记录、报警、历史曲线、实时曲线等监视功能3。因此选用组态王软件作为上位机来搭建虚拟实验平台可以更加直观方便的进行各种工况的监测。1.1.2 三菱编程软件(GX-Works2)GX-Works2 能在不使用实际设备的情况下使用 GX Simulator2 模拟器模拟可编程逻辑控制器的动作,有效地模拟输入输出
5、模块与智能功能模块进行数据输入输出的功能和调试已创建程序的功能4。因此选用 GX-Works2 作为编程软件可以更好地进行程序编写以及模拟仿真实验。1.1.3 三菱 OPC 服务软件(MX OPC server)OPC 技术是一种基于 OLE/COM/DCOM 技术的数据通信标准,是工业控制领域各应用程序之间数据共享的一种标准数据访问机制5。MX OPC server 是三菱公司 OPC 服务软件,为三菱所有 PLC 与其它过程控制软件之间提供数据访问的接口。通过它可以很容易地把一个个客户端集成在一起6。组态王软件全面支持 OPC 技术,因此,无需进行额外程序编写,可以利用 OPC 技术在同一
6、台计算机上实现 Windows 系统中组态王与 GX Simulator 之间的数据传输7。1.2 实施步聚(1)分析控制任务,明确控制要求,分配输入输出端口。(2)根据要求编写 PLC 程序,确保编译无误后,进入 PLC 虚拟仿真运行模式。(3)打开软件 MX OPC Configurator,新建 MX设备和变量,进行 MX 传输设置和变量属性设置,保存后进入运行状态。(4)打开组态王软件,首先定义 OPC 服务器,建立 OPC 连接。然后在数据词典中定义变量,并根据Vol.25 No.2Apr.2023第 25 卷第 2 期 2023 年 4 月 黄 冈 职 业 技 术 学 院 学 报J
7、ournal of Huanggang Polytechnic 101 控制要求设计仿真画面,同时建立变量与画面的动画链接。(5)进入组态王 View 模式运行系统,即可完成整套控制系统的仿真运行。2 基于 Kingview 的监控界面设计 2.1 基础实验平台设计 本文旨在通过组态王画面建立一款可以完成简单 PLC 基础实验仿真的基础实验平台,以三菱 PLC FX2N-32MR 为蓝本进行设计,如图 1 所示。该实验平台配备了 16 个按钮,对应 16 个输入 X0-X17,配备了7个输出Y0-Y6对应七段数码管,8个输出Y10-Y17对应 8 盏指示灯,图中还详细展示了 PLC 外部接线方
8、法。当输入电路或输出电路接通时,线路变红用来模拟有电流流过,也可以通过 PLC 编程实现数码管动态显示 0-9 个数字,和 AbCdEF 6 个字母。HL1-HL8 通过颜色的变化来模拟 8 盏灯开启与熄灭。PLC 教学任务中所涉及的 PLC 基本指令实验均可以在此平台上进行。图 1 基础实验平台 2.2 动画仿真界面设计 为增强实验教学效果,提高学生实验的兴趣,运用组态王软件强大的动画仿真能力,有些实验还配备了动画仿真监控界面。2.2.1 电动机的控制 电动机的控制包括电动机的启停控制,长动与点动控制,正反转控制,星形-三角形降压启动控制,双速电机控制等等。图 2 所示为双速电机控制仿真界面
9、。画面中配置了三个按钮,作为 PLC 外部输入信号,三个输出分别控制 KM1、KM2 和 KM3,实现双速电机高低速运行,电动机高低速运行的状态由四片扇叶的快速和慢速旋转进行仿真。另外,模拟了电源开关,对控制线路得电(变红)与失电(变灰)进行了仿真,当断开电源开关 QS 时,控制线路失电,电动机的控制实验将无法进行。图 2 双速电机的控制仿真界面 2.2.2 水塔水位控制 图 3 所示为水塔水位控制的仿真界面。其中,S1为水塔高水位检测信号,S2 为水塔低水位检测信号,S3 为水池高水位检测信号,S4 为水池低水位检测信号。Y0 控制水泵电机运行,Y1 控制阀 Y 的开启,Y2控制阀 Y 故障
10、指示灯的闪烁。X4 为阀 Y 故障模拟信号。该界面可以模拟水塔水位和水池水位上升与下降的变化过程,并用数值动态显示其水位值。当水泵电机运行时,有水流动画模拟水从水池向水塔流动的过程。S1-S4 也会模拟传感器根据水位自动产生变化,比如当水塔水位淹没低水位传感器 S2 时,S2 对应的输入信号 X1 得电,反之,当水塔水位没有到达低水位传感器 S2 位置时,X1 失电。其它水位传感器动作依此类推。图 3 水塔水位控制仿真界面 2.2.3 艺术灯的控制 图 4 所示为艺术灯的控制仿真界面。7 组艺术灯分别由 Y0-Y6 控制,它们得电时,将呈现 7 种不同的颜色。当通过 PLC 编程实现 7 组艺
11、术灯或轮流或分组或全部点亮时,有灯光璀璨的效果。第 2 期 基于 OPC 技术的虚拟 PLC 实验平台搭建研究 第 25 卷 102 图 4 艺术灯的控制仿真界面 2.2.4 机械手的控制 图 5 所示为机械手的控制仿真界面。其中,X0为启动按钮,X5 为停止按钮,SQ1、SQ2、SQ3、SQ4是机械手四个极限位置开关,Y1、Y3、Y4、Y5 分别控制机械手下降、上升、右移、左移四个电磁阀,Y2是控制机械手夹紧与松开动作的电磁阀。HL 为监控机械手运行指示灯。该界面可以模拟机械手上下左右移动,以及工件的夹持与松开,按照 PLC 程序预设的轨迹搬运工件。动画形象,逼真有趣。图 5 机械手的控制仿
12、真界面 2.2.5 液体混合装置的控制 图 6 所示为液体混合装置的控制仿真界面。其中X0 为启动按钮,X1 为停止按钮,SL1、SL2、SL3 分别为高、中、低三个液位传感器,V1 为 A 液体进入阀门,V2 为 B 液体进入阀门,V3 为混合液体排放阀门,DJ 为搅拌器电动机,V1、V2、V3 和 DJ 分别由Y0、Y1、Y2、Y3 控制。该界面除了具备液体液位上升与下降的变化过程仿真之外,三个液位传感器还可以根据液位动作,从而在顺序控制时,产生流畅的依次接通的动画效果。图 6 液体混合装置仿真画面 2.3 MX OPC 设置 打开 MX OPC Configurator,新建 MX de
13、vice,在 Device Properties 窗口点击 Configuration 按钮,进入MX Transfer Setup Wizard-PC side界面进行通信传输设置(如图 7 所示),在 PC side I/F 处选 GX Simulator2,CPU Series 选择 FXCPU,保存。然后在新建设备下添加变量组和变量,并对变量属性如变量 I/O 地址、变量读写属性、变量数据类型和采集频率等进行设置,图 8 所示为基础实验平台对应的 16个输入变量 X0-X17 和 16 个输出变量 Y0-Y17。图 7 MX 传输设置 图 8 MX device 所建变量 2.4 数据
14、词典建立 首先在组态王工程浏览器窗口新建 OPC 服务器第 2 期 基于 OPC 技术的虚拟 PLC 实验平台搭建研究 第 25 卷 103 进入设置窗口,如图 9 所示,OPC 服务器选择Mitsubishi MX OPC.6,读写方式选择同步读同步写。然后在数据词典中定义变量。本实验中连接设备选择已经建立好的 OPC 服务器 MX OPC.6。基础实验平台需要定义的变量包括X0-X17和Y0-Y17,均为I/O离散型变量,数据类型为bit,读写属性。变量X0-X17对应寄存器为 OPC 服务器中的 Dev03.x0-Dev03.x17,变量 Y0-Y17 对应 Dev03.y0-Dev03
15、.y17。变量 X0 的定义设置如图 10 所示。图 9 OPC 服务器设置 图 10 定义变量 2.5 命令语言设计 要实现 PLC 虚拟实验平台动画仿真的效果,命令语言的设计至关重要。下面主要介绍水塔水位控制仿真界面涉及到的命令语言。(1)按钮的按下与弹起:比如启动按钮按下时,对应变量 X5 得电,弹起时,对应变量 X5 失电。命令语言如下:按下时:localX5=1;弹起时:localX5=0;(2)控制线路的通断:涉及按钮的隐含连接,公共端的线属性连接和缩放连接。按钮通断的隐含连接:比如启动按钮按下时,对应变量 X5 为 1,按钮线路通电(红色)显示,按钮线路断开(灰色)隐含,反之,当
16、启动按钮断开,变量 X5 为 0,按钮线路通电(红色)隐含,按钮线路断开(灰色)显示。公共端的线属性连接表达式为localX_ALL,而 localX_ALL=localX0|localX1|localX2|localX3|localX4|localX5|localX6;此式表明 PLC 输入端无论哪个输入信号接通,输入公共端均通电。公共端的线路缩放连接表达式为localX_Side。X_Side 为内存实数,其值大小随着输入信号 X0-X6的位置作相应的改变。(3)水流的流动:水流流动连接表达式为localY0*(-10),当控制水流流动的变量 Y0 得电后,水从管道起点流向管道终点。(4)水位的上升与下降:比如水塔水位连接变量为local水塔水位,水塔水位为内存实数,当水塔水位上升条件满足时,水塔水位上升的命令语言如下:local水塔水位=local水塔水位+5;常数 5 可更改,此数越大,水塔水位上升的速度越快。(5)水位传感器的动作:比如 S2 是水塔低水位检测信号,当水塔水位超过最低水位时(此处设置为20),对应输入信号 X1 得电动作,命令语言如下:if(local 水 塔