APP下载

基于组态王与S7-PLCSIM的水箱液位控制系统虚拟调试

2022-06-06范然然蓝伟铭

仪器仪表用户 2022年6期
关键词:模拟量液位组态

范然然,苏 磊,蓝伟铭

(柳州职业技术学院 机电工程学院,广西 柳州 545000)

0 引言

水箱液位控制系统是工业过程控制中常见的控制系统,液位控制系统因其涉及到的传感器数量多且种类较为复杂,初期调试阶段需要花费较长的时间,并且上位机监控画面的设计也是其重点[1]。西门子S7-1200 可编程逻辑控制器(Rogrammable Logic Controller,PLC)作为目前工业控制常用的控制器得到了较为广泛的应用,但是其售价较高,尤其是在受到全球芯片短缺的情况下,许多PLC 公司都提高其产品的售价。西门子公司的S7-1200PLC 市场占有率是最高的,有着广泛的应用场景和实际使用群体[2]。本文针对在缺少西门子物理S7-1200PLC的情况下,开发出一套借助于仿真控制器来完成对水箱液位控制系统调试的途径和手段,为S7-1200PLC 水箱液位控制系统虚拟调试开拓新的方法。

1 系统组成

案例中控制要求为有一水箱,水箱进水可由变频器驱动的三相异步电机水泵泵入,现需对水箱中水位体积进行液位体积控制,并可在5500mL ~20000mL(最大值数据可根据水箱高度确定)范围内进行调节。系统中中间水箱为带有加热棒控制的水箱,可以在浮球开关浮起时对水进行加热。上部水箱有S7-1200PLC 控制的比例阀来进行开度调节,实现放水功能。系统元件框架如图1。

图1 系统元件框架图Fig.1 Frame diagram of system components

系统以S7-1200PLC 为控制核心元件,采用CPU 1214C DC/DC/DC 型PLC,考虑模拟量控制元器件较多的编程需求,根据实际工况的组态状况,选用SM1234 AI4/AQ2模拟量拓展模块作为模拟量输入/输出控制模块。本文中主要是针对液位系统的仿真与分析,被控对象以模拟量信号的采集与控制为主,涉及到的模拟量采集信号有温度、压力、距离,模拟量输出控制信号主要有变频器频率、比例阀开度。考虑到编程与仿真的快捷性,所有模拟量信号采集和输出控制均将地址建立在背景数据块(data block,DB)DB1 中。PLC 控制模拟量输如输出分配表见表1。

表1 模拟量输入输出变量表Table 1 Analog input and output variable table

2 系统程序设计

2.1 采用循环中断,编写模拟量控制程序

在TIA15.1 中循环中断组织块(organization block,OB)的功能是循环中断组织块OB 在经过一段固定的时间间隔后执行相应的中断OB 中的程序。S7-1200最多支持4 个循环中断OB,在创建循环中断OB 时设定固定的间隔扫描时间。循环中断OB 的编号为30 ~38。本文考虑模拟量信号的采集周期和实际需求,为了提高CPU的运行速度,将模拟量控制程序编写在建立的循环中断OB30 中,其执行过程如图2[3]。

图2 循环中断OB30的执行过程Fig.2 Execution process of cyclic interrupt OB30

PLC 上电后,首先执行主程序OB1 中的程序,在下一个间隔时间后,再执行OB30。OB30 的循环时间可以在其属性中设定,本文中设置为100ms。如果以相同的时间间隔调用优先级较高和优先级较低的循环中断OB,则只有在优先级较高的OB 完成处理后,才会执行优先级较低的OB。低优先级OB 的执行起始时间会根据优先级较高的OB 的处理时间而延迟,如果希望以固定的时间间隔来执行优先级较低的OB,则优先级较低的OB 需要设置相移时间,且相移时间应大于优先级较高的OB 的执行时间,本文采用默认相移时间。

在图3(a)中,编写了对温度这一模拟量信号的采集程序。根据S7-1200 中模拟量信号的转换关系可知,模拟量信号采集模块是将温度变送器采集到的电信号经过D/A 转换,变为0 ~27648 范围内的数字量,然后才能使用NORM_X 进行标准化和使用SCALE_X 进行缩放。由于是进行模拟仿真,为尽量接近工程实际中的应用环境,在此将D/A 转换后的数据关联到DB1 中,进而可以直接在组态王中可以直接输入0 ~27648 之间的数据。通过输入的数据来模拟外围温度变送器所采集到的温度信号。利用同样的方法,编写了压力变送器采集到的压力电信号,以及超声波传感器采集到的距离电信号。本文中采用的超声波传感器采集的是超声波探头距离页面高度的结果为30mm ~300mm,但是实际现场是水箱上标注有体积的刻度。为此,采用了编程推导转换实现液位高度转化为液位体积[4],程序如图3(b)。另外,在实际人机交互画面(human machine interface,HMI)中,变频器频率是直接在画面上可以设定的,故本文针对实际控制需求作了两次的标准化和缩放的程序编写。首先,将变频器设定值进行标准化和缩放。这一步是为了将0Hz ~50Hz 这个物理量转换为0 ~27648 的数字量,之后为了方便在HMI中监控实际的频率值,又将0 ~27648 的数字量进行标准化和缩放为0Hz ~50Hz 的物理量,显示在HMI 中。通过两次的标准化和缩放过程更能直观地对变频器控制程序的虚拟调试进行仿真验证。

图3 模拟量信号采集与控制程序Fig.3 Analog signal acquisition and control program

2.2 NetToPLCsim与S7-PLCSIM通讯

西门子的S7-PLCSIM 在博图中的仿真较为单一。TIA15.1 中可以实现西门子WINCC 和西门子PLC 的仿真,但是对于第三方的组态软件则不能直接实现仿真。要实现第三方组态软件的仿真,则需要使用NetToPLCSim这款工具软件。NetToPLCsim 与S7-1200PLC 仿真须依靠S7-PLCSIM 一起使用,可以将TIA15.1 中的程序地址映射到上位机中,进而可以实现第三方的组态软件对PLC 程序的访问与控制,从而实现在没有PLC 硬件的情况下的项目调试。设置PC 及和模拟S7-1200PLC 的参数如下:①Network IP Address,运行PLCSim的 机 器 的IP 地 址:192.168.0.100;Plcsim IP Address:PLC 的IP 地址,根据实际的PLC 硬件组态输入:192.168.0.1;Rack/Slot:PLC 所在的机架号和槽位号,根据实际的PLC 硬件组态输入,S7-1200 一般是R0/S1。

2.3 组态王HMI设计与运行调试

在本文中主要定义组态王中的I/O 变量。组态王中外部数据与软件通讯交换主要依靠I/O 变量,PLC 程序中需要采集和监控的数据、交换的指令,比如“液位体积”“开关”等变量,都要设置成“I/O 变量”。本文中数据类型用到了实型变量,用于表示PLC 中的Real 型数据,以浮点(FIOAT)型数据形式选用;离散变量,是只有0,1 两种取值的布尔量(BOOL),用于表示一些开关量[4],根据控制系统的设计要求组态王中定义的变量见表2。

表2 组态王中定义的变量表Table 2 Variables defined in Kingview

根据图1 系统元件框架图中的元器件与PLC 控制系统的关系,在组态王中组建了如图4 所示的画面。画面分为系统监控区和操作控制区,在系统监控区可以实时监控当前系统中各个传感器采集的数据和PLC 控制程序发送的数据;在操作控制区可以对温度、频率、超声波距离、压力、比例阀等进行控制和调试。图4 中在组态王画面中设置温度虚拟采集值为10000,按照NORM_X 和SCALE_X 程序的理论计算应该为36.16899℃,画面监控值为36.17℃。这是因为画面仅取了实型变量小数点后两位进行四舍五入的结果。图4 中还将各个参数均进行了调试,结果显示系统完全可以正常仿真运行,并且传输速度较快,比较真实地对水箱液位控制系统进行了仿真调试。

图4 TIA15.1与组态王运行调试画面Fig.4 TIA15.1 and Kingview running and debugging screen

3 总结

通过对水箱液位控制系统中上位机组态王的画面设计,使用NetToPLCsim 与S7-PLCSIM 进行通讯参数设定,联合组态王进行仿真运行。结果发现NetToPLCsim 对S7-PLCSIM 地址映射稳定性和可行性较高,无论离散变量还是实型变量均可以进行虚拟调试,水箱液位值系统按照程序设定预期结果运行良好。该方法可以为S7-1200PLC过程控制系统的搭建提供重要的技术支撑,对于在缺少昂贵的实物PLC 情况下,同时又需要对非西门子产品上位机和下位机之间进行系统联调的工程任务起到了重要的虚拟调试借鉴意义。

猜你喜欢

模拟量液位组态
浅谈力控ForceControl V7.2组态软件在自动化控制工程中的应用
ZnF低激发电子态的组态相互作用研究
除氧器液位控制器切换异常原因分析及应对措施
一种模拟量模块的应用
关于机械式浮顶储罐液位开关设计的分析与研究
组态软件技术现状与发展
模拟量液位计在液压站节能中的应用
高职“工业组态技术”课程建设探析
TEP除气装置液位控制及故障分析
智能液位控制器在排水系统中的应用