应用于组态软件的自调节模糊控制算法设计与实现
2019-08-12严粤锋
严粤锋
摘 要: 为了使组态软件能够良好地控制人机界面,且便于投用、操作及维护,分析基于自调节模糊控制算法的组态软件。在研究过程中,首先,分析控制技术和工程中经常使用的控制算法原理和设计方法;然后,结合案例对开发过程中所使用的组态技术原理进行阐述。针对过程控制系统的特点,结合组态思想,利用组态技术设计控制算法模块;最后,在过程控制实验装置中对其可行性进行测试。测试结果表明,基于组态软件的自调节模糊控制算法能够满足实际使用需求。
关键词: 组态软件; 自调节模糊控制算法; 算法设计; 过程控制; PID控制; 隶属度函数
中图分类号: TN911.1?34 文献标识码: A 文章编号: 1004?373X(2019)15?0123?04
Design and implementation of self?tuning fuzzy control algorithm
applied to configuration software
YAN Yuefeng
(Guangdong Open University, Guangzhou 510091, China)
Abstract: In order to create a good advanced control man?machine interface for the configuration software and make it easy to put into use, operate and maintain, the configuration software based on self?adjusting fuzzy control algorithm is analyzed. The principle and design method of control algorithm commonly used in control technology and engineering are analyzed. The configuration technology principle used in the development process is elaborated with a case. The idea of configuration is combined to design the control algorithm module by using configuration technology. The feasibility of the system is tested in the process control experimental device. The testing results show that the self?adjusting fuzzy control algorithm based on the configuration software can meet the demands of actual application.
Keywords: configuration software; self?adjusting fuzzy control algorithm; algorithmic design; process control; PID control; membership function
0 引 言
现代科学技术的不断发展促进了自动化技术的发展。在现代工业生产中使用自动化技术,能够保证工业生产的安全性、高效性、连续性及高质量。自动化技术历经三次革命,在第三次变革的过程中,现场总线技术成为全新自动化领域中的主导技术。随着控制技术的不断发展,工业生产规模的不断扩大,控制系统也越来越依赖软件系统。组态软件目前被广泛应用到工业控制中,其具备丰富的图像显示、对象连接及数据库处理等功能,为使用人员提供了方便。然而,组态软件自身并没有控制组态的功能,都是通过上位机设置从而实现功能,控制功能是通过单回路调节器和可编程控制器实现的,无法充分展现组态软件的设计思想。为了能够有效简化工程人员工作量,降低重复性工作,本文提出通用空间控制工程的策略。
1 模糊控制算法分析
模糊控制是在20世纪70年代出现的,控制过程不适用数学模型,主要通过现场人员操作思维和实验进行控制,使用现代理论无法充分发挥控制作用。
模糊集合是控制模型的数学基础,控制经验作为控制知识模型,适应性比较强,并且不会依赖于精准数学模型,还具有良好鲁棒性。图1为模糊控制系统结构。
模糊控制系统具有常规计算机控制系统结构,由输入输出接口、被控对象、模糊控制器、测量装置和执行结构构成。在使用过程中,要求用户能够给出控制输出量及误差,基于模块将误差上下限及输出上下限定义为控制属性。其次,利用用户实现控制对象检测信号值、控制输出及设定值的控制,其能够实现空间属性的定义。
图1 模糊控制系统结构
模糊控制器为控制系统的主要部分,还是模糊控制的核心内容,结构所使用的推理算法、推理规则和模糊决策等方法都会影响到模糊控制系统的性能。图2为典型模糊控制器结构,其包括模糊推理、模糊化、知识库及模糊决策。
图2 典型模糊控制器结构
2 组态软件的体系结构
组态软件由多组件构成,使用组件的数量逐渐提高,功能也有所加强,各种组态软件都是利用面向对象编程和设计的方法,从而便于软件学习及掌握,提高功能。组态软件包括运行系统和组态系统,其主要目的就是通过系统特性需求配置系统,利用运行系统、组态配置信息控制工业现场功能,组态系统属于组态软件的重点。
工控软件能够收集数据,并且存储到数据库中,对数据进行分析处理之后呈现给用户。另外,利用控制算法输出信号,从而实现现场合理控制。共性稳定,通过组态技术实现可变性,从而满足不同工业现场需求。工控软件可变性指的是采集信号性质、处理数据的方法和呈现给用户的方式等。图3为组态软件的构成。
图3 组态软件的构成
1) 数据库组态。实现收集信号的配置,主要包括物理名称、序号、物理地址、信号类型、数据类型、采集频率、量程上下限及测量精度等,将其作为基础生成相应数据库表格,实现各种实时数据及历史数据的存储。
2) 系统组态。配置收集信号的硬件板卡和端口地址。
3) 流程图组态。利用图元组件制作,对图元组件流程关联数据及位置关系进行记录。通过运行系统中收集信息的状态展现流程图,包括压力、流量、水泵启停、阀门开关等。另外,要求图元组件具备动态连接属性,包括动态变化方式及数据源。
4) 报警组态。实现报警优先级、上下限及方式的配置。
5) 控制组态。实现控制算法、参数及物理量的配置。
6) 通信组态。实现通信方式及应用层用户协议的配置。
7) 报表组态。实现报表数据统计方式、数据源、打印方式及格式的配置。
3 先进控制算法的实现
3.1 ActiveX控件技术
ActiveX空间技术指的是将COM及OLE作为基础创建的应用技术,其属于编码及API协议,并且能够为不同语言及平台组件的跨越提供框架。ActiveX控件主要包括三个特性,分别为方法、事件及属性。ActiveX空间利用事件对控件进行控制,常用事件包括键盘输入数据、单击控件等。ActiveX控件利用触发控件容器进行通信,容器能够利用方法及属性和控件进行通信。属性及方法能够提供空间,将其作为控件容器使用输出接口,方法和脚本函数类似,都能够在容器中调用。
3.2 制作控件
本文使用VC设计ActiveX控件,具体步骤为:
1) 通过MFC创建工程,并且为工程及控件命名,此时MFC能够自动成为控件创建程序框架,用户只要将程序代码输入到框架中。
2) 控件外观设计。在Ondraw函数中绘制控件外观,利用画刷及画笔画出控件外观,还能夠编辑位图,之后在OnDraw中实现LoadBitamp函数的调用。
3) 属性的添加。在MFC中选择控件类,单击AddProperty实现属性添加。
4) 编辑属性页。用户能够浏览属性页,还能够对Activex控制属性值进行更改,其属于空间数据和容器数据两者交换的重要界面。用户的访问是利用空间属性对话框实现的,属性对话框中有一个或者多个属性页,用户可以对属性图形化界面进行浏览、控制和编辑。在工作区中双击条目,打开显示属性页对话框,在对话框中设计属性页外观。之后,对DoData函数进行自定义。
嵌入控件之后,在使用时还要连接组态软件数据,从而传输现场数据及空间模块数据,利用控件算法对控制量计算,到现场传输。将现场数据设置成组态软件数据库点,空间和现场数据连接也是数据库点连接。首先,设计的组态界面要和实际设备相一致,利用特殊功能菜单控制管理中选择算法控件。启动组态软件数据库组态,创建模拟点I/O点,双击控件就会弹出动画连接主对话框,选择杂项/一般动作属性,将ActiveX事件脚本编辑器打开,图4为ActiceX控件脚本编辑器界面,通过控制脚本编辑器能够实现控制属性、变量及方法的查看,还能够编辑脚本。在脚本编辑器中编辑脚本语言,在数据库中实现I/O点值及空间数据的相互交换。
图4 ActiveX控件脚本编辑器
3.3 算法计算机实现
3.3.1 模糊控制算法实现
在模糊控制算法模块中将误差及误差变化率作为输入量的二维模糊控制器,并且添加可变论域及动态环节,图5为控制算法程序框图。
图5中,[e]指的是误差,[ec]指的是误差变化率,[Ke],[Kec],[Ku]指的是比例因子,[m]指的是论域等级。限制在论域等级中[E]和[EC]的误差及误差变化率不超过论域等级范围。计算调整因子[a]为:
根据图5的流程实现算法程序代码的编辑,之后添加到OnTimer函数中,在控件运行的过程中,每通过一个采样周期,就会运行一次OnTimer函数,算法为周期运行。在属性页中设置算法,图6为模糊控件器的属性页。
图5 控制算法程序框图
图6 模糊控件器属性页
3.3.2 模糊PID控制算法实现
在模糊控制算法中,首先确定用户变量,使其能够定义空间属性。模糊控制算法能够使基本的论域转变为模糊论域,要求用户使用误差输出量及控制基本理论,在模糊中利用误差上下限定义层位空间属性输出。其次,用户在控件中利用控制对象检测信号值、设定值及控制输出,也就是空间属性。然后,通过例数函数、模糊方式及控制规则实现模糊控制算法的转变,使其作为空间方法。最后,定义时间函数,在时间函数中调用模糊控制算函数。通过三角形隶属函数,使算法模块转变为模糊量,实现模糊量输出,转变为精确量。利用二维模糊控制器偏差[E]、偏差变化[EC]、平均判决法和控制器输出[U]的相对模糊子集设置七档。选择模糊控制算法模块中的比例因子及量化因子具有重要作用,通过实验表示,比例因子和量化因子的大小和不同化因子代销及模糊控制量控制性能具有密切的关系。对于量化因子和比例因子来说,不仅要对计算机字长进行考虑,还要对计算机输入输出接口中的D/A及A/D转换精度和变化范围考虑。图7为基于模糊规则切换P?FUZZY?PID控制器程序框图。
图7 基于模糊规则切换P?FUZZY?PID控制器程序框图
图8 P?Fuzzy?PID算法控制属性页的隶属度函数
4 结 语
本文提出使用组态技术模糊控制算法实现组态软件的二次开发,能够有效丰富组态软件的控制功能。另外,分析实际使用过程中的过程控制技术,对工程中常用的控制算法原理及设计方法进行研究,实现基于组件技术控制算法模块的设计。通过实际使用分析表明,其在实际使用过程中具有一定效果。
参考文献
[1] 张立广,刘正中.城市隧道通风控制算法研究与实现[J].自动化技术与应用,2015,34(7):22?25.
ZHANG Liguang, LIU Zhengzhong. Research and implementation of ventilation control algorithms for urban tunnels [J]. Automation technology and application, 2015, 34(7): 22?25.
[2] 张弛,吴明亮,吴明永,等.基于S7?300PLC和模糊控制的锅炉分布式控制系统设计[J].机械设计与制造工程,2018,47(4):85?86.
ZHANG Chi, WU Mingliang, WU Mingyong, et al. Design of boiler distributed control system based on S7?300 PLC and fuzzy control [J]. Mechanical design and manufacturing engineering, 2018, 47(4): 85?86.
[3] 王少林,刘公明,魏仁政,等.胶乳反应釜自动控制系统的设计与实现[J].自动化与仪器仪表,2015,15(2):43?44.
WANG Shaolin, LIU Gongming, WEI Renzheng, et al. Design and implementation of automatic control system for latex reactor [J]. Automation and instrumentation, 2015, 15(2): 43?44.
[4] 王泰华,王坤非,姚学召.基于Backstepping的自适应模糊控制算法研究[J].自动化仪表,2017,38(9):36?39.
WANG Taihua, WANG Kunfei, YAO Xuezhao. Research on adaptive fuzzy control algorithm based on backstepping [J]. Automation instrument, 2017, 38(9): 36?39.
[5] 李夏林,刘雅娟,朱武.超声电源频率自动跟踪的模糊控制算法研究[J].应用声学,2017,36(2):135?141.
LI Xialin, LIU Yajuan, ZHU Wu. Research on fuzzy control algorithms for automatic frequency tracking of ultrasound power supply [J]. Applied acoustics, 2017, 36(2): 135?141.
[6] 张坤,许伦辉.基于模糊控制的AGV差速转向控制算法研究[J].自动化与仪表,2016,31(10):1?4.
ZHANG Kun, XU Lunhui. Algorithms for differential steering control of AGV based on fuzzy control [J]. Automation and instruments, 2016, 31(10): 1?4.
[7] 陈红玉,肖连,李兴海.自适应模糊控制在船舶定位中的设计与实现[J].舰船科学技术,2017,15(z2):40?42.
CHEN Hongyu, XIAO Lian, LI Xinghai. Design and implementation of adaptive fuzzy control in ship positioning [J]. Ship science and technology, 2017, 15(S2): 40?42.
[8] 张渊钦,李红宇.基于微粒群算法的模糊PID控制器在BLDCM中的应用[J].仪表技术,2015,21(5):35?37.
ZHANG Yuanqin, LI Hongyu. Application of fuzzy PID controller based on particle swarm optimization in BLDCM [J]. Instrument technology, 2015, 21(5): 35?37.