文章信息
- 席嫣娜, 王印松, 李亚玲, 汶爱文
- XI Yanna, WANG Yinsong, LI Yaling, WEN Aiwen
- 基于dSPACE和PLC的控制算法测试系统设计
- Design of control algorithm test system based on dSPACE and PLC
- 中国测试, 2018, 44(9): 96-101, 108
- CHINA MEASUREMENT & TEST, 2018, 44(9): 96-101, 108
- http://dx.doi.org/10.11857/j.issn.1674-5124.2018.09.018
-
文章历史
- 收稿日期: 2018-04-25
- 收到修改稿日期: 2018-05-31
2. 航空工业陕西航空电气有限责任公司,陕西 西安 710000
2. Avic Shanxi Aero Electric Co., Ltd., Xi’an 710000, China
随着自动控制技术在现代工业中的广泛应用和不断发展,自控系统的控制算法和硬件架构呈现出不可避免的复杂化趋势,从而导致系统可能出现问题的环节不断增多[1]。此外,由于实际生产过程的连续性、运行工况的复杂性、执行机构的频繁动作等,使得智能优化控制算法的工程化验证具有一定的风险和难度[2]。目前,为实现控制算法的有效开发和测试,通常基于纯数字仿真技术,利用控制系统设计软件(如Matlab/Simulink)在虚拟数字环境下对控制器性能进行测试[3-5]。由于不能对被控对象的运行状态进行实时模拟,且不支持在线调试系统参数,从而导致仿真结果置信度较低以及资源的大量浪费[6]。dSPACE实时仿真系统作为基于Matlab/Simulink的控制系统开发及测试平台,能有效克服传统控制系统开发过程中存在的问题,高效地实现控制算法的设计与测试。王文卓等[7]通过搭建的dSPACE仿真测试平台模拟了风电机组的现场环境和运行条件,避免了现场测试带来的不便,并借助该平台完成了风机控制算法的研究和优化。马培蓓等[8]应用dSPACE仿真平台完成了某型反航导弹控制系统半实物仿真的开发,并取得了良好的控制效果。目前,该实时仿真系统已广泛应用于汽车、机器人、航海航空及工业控制等领域[9]。
工业过程中普遍存在非线性、大时滞的复杂控制系统,一般很难对其进行精确化建模[10],传统控制算法往往不能获得满意的控制效果。作为一种先进控制算法,模糊控制不依赖于被控对象的精确数学模型,在非线性时变参数系统或迟延系统的控制方面具有良好效果。同时,随着可编程序控制器(programmable logic controller,PLC)在行业中的广泛应用,人们对模糊控制器在PLC中的应用进行了广泛研究,并取得了一定成果。但是,目前多数文献[11-12]涉及到在PLC中开发模糊控制算法都是基于规则表查询的,这种方法不仅设计繁琐,而且适用性不高。此外,由于常规模糊控制一般是依照操作人员的运行经验进行模糊控制规则的设计,因此其适应范围存在一定的局限性。为提高对生产过程的适应性,自适应模糊控制算法应运而生。QIAO等[13]提出了峰值观测法,根据系统响应的峰值大小进行控制器参数的调节,若响应无超调出现,则不进行参数调节。EKSIN等[14]提出了函数调节法,通过4个设计参数和系统误差进行控制器参数调整,设计过程简单但具有一定的不确定性。GÜZELKAYA等[15]提出的相对速率观测法考虑了系统误差和反应速率,调节精准,但所涉及的模糊推理过程增加了控制器设计和工程实现的复杂度。
针对以往控制算法开发和测试过程中,普遍存在脱离实际对象和环境、系统参数修改复杂以及开发周期过长等问题,本文设计了由S7-300 PLC、dSPACE实时仿真系统与WinCC 联合组成的控制算法测试系统。此外,在传统函数调节法的基础上,提出了一种基于函数-变斜率的新型自适应模糊控制算法,并将其应用于S7-300 PLC。通过在STEP 7中将该算法封装为一个库函数,以便技术开发人员随时调用。最后,以双容水箱为控制对象,借助所搭建的测试系统对该算法的动态性能和对被控对象参数变化的鲁棒性进行了测试。
1 测试系统整体结构为提高控制算法开发和测试过程的准确性、快速性和有效性,本文设计的控制算法测试系统是由西门子S7-300 PLC、德国dSPACE公司的dSPACE实时仿真系统和SIMATIC WinCC系统软件组合搭建而成的。该测试系统的整体结构如图1所示。
S7-300 PLC作为控制器,能够实现各种复杂控制算法,是目前工业控制领域的一种主流控制设备;dSPACE实时仿真系统是一套基于Matlab/Simulink的系统开发及测试的软硬件工作平台,通过与Matlab/Simulink的无缝连接,能将在Simulink仿真环境中搭建的对象模型自动转换为实时硬件代码,模型参数可通过ControlDesk测试软件进行在线调整。通过模拟被控对象的各种运行状态,可对控制器实现各工况的全方位性能测试,同时也能规避由于控制器失效而给实际系统带来的风险。
1.1 硬件设计SIMATIC S7-300 PLC是一种模块化可编程控制器,能够按照需求组合各种功能模块,采用浮点数运算实现复杂的算术功能,灵活性强,精确度高,且具备强大的通信功能。该测试系统控制中心采用CPU 317-2PN/DP型号的PLC,其集成有DP/MPI、PROFINET两个接口,与安装有STEP 7的PC机通过带有USB接口的PC/MPI适配器相连。STEP 7是一种专门用于西门子系列工控产品的编程软件,利用其用户界面的通信组态功能,通过简单的模块选择便可进行PLC的硬件组态。此外,在其编程环境下也可实现复杂控制算法的编写和下载。
dSPACE实时硬件采用DS1104控制器板,作为能够快速进行原型控制的单板硬件。DS1104的控制卡插入PC机主板的PCI插槽,具有高度集成性和快速计算能力。同时,8路DAC通道、4路ADC通道、1路分时复用ADC通道以及20位并行数字I/O都确保了测试过程的实时可靠。dSPACE实时仿真系统通过RTI实现与Matlab/Simulink的完全无缝连接,测试人员在Simulink中搭建的对象模型,可通过Matlab实时工具箱和RTI的扩展直接转换为C语言代码并下载至dSPACE,无需编程。
1.2 软件设计SIMATIC WinCC作为上位机控制系统软件,可与各种PLC连接,测试人员可在WinCC中开发图形用户界面,实现参变量的可视化管理,同时提供对测试过程的数据管理和通信。在通信驱动程序确定后,WinCC便可与PLC连接通信,从而实现控制系统的手动/自动状态切换、控制器参数在线调试以及输入输出的限幅限速设置,并对系统运行状态进行实时监测。
2 自适应模糊控制算法设计本文提出的新型自适应模糊控制主要由模糊控制器和参数调整两部分组成,该控制系统结构如图2所示。其中,模糊控制器采用文献[16]中提出的基于解析结构的PID型模糊控制器,其可等效为参数时变的PID控制器,量化因子(
通过对量化因子和比例因子的变化对控制系统性能的影响进行仿真实验[16],可知
文中设计模糊控制器输入为x1和x2,分别对应误差e和误差变化率Δe,模糊化后分别表示为E和EC,其相应的模糊子集均为{N(负),Z(零),P(正)},并采用三角形、全交迭、对称分布的隶属度函数。模糊控制器中间变量
通过乘积-求和推理方法,得到模糊控制器的中间变量
$u_{{\rm{PID}}}^{\rm{F}} = {k_{\Delta {{u}}}}\int_0^t {{u_{\rm{c}}}(t){\rm{d}}t + {k_{{u}}}{u_{\rm{c}}}(t)} $ | (1) |
本文设计的基于函数调节法的新型自适应模糊控制算法考虑了误差e以及调节过程中的误差变化率Δe,并采用如下参数调整策略:
1) 当系统误差较大,但误差变化较慢时,令
2) 当系统误差较小,但误差变化较快时,令
传统函数调节法[14]中,系统参数的调整算法为
$\left\{ \begin{gathered} {k_{\Delta {{e}}}} = {k_{\Delta {{e}}_0}} \cdot {f_{\Delta {{e}}}}(E) \\ {k_{\Delta {{u}}}} = {k_{\Delta {{u}}_0}} \cdot {f_{\Delta {{u}}}}(E) \\ \end{gathered} \right.$ | (2) |
$\left\{ \begin{aligned}& {f_{\Delta {{u}}}}(E) = {a_1} \cdot \left| E \right| + {a_2} \\& {f_{\Delta {{e}}}}(E) = {b_1} \cdot \left( {1 - \left| E \right|} \right) + {b_2} \\ \end{aligned} \right.$ | (3) |
其中,
$\left\{ \begin{gathered} {f_{\Delta {{u}}}}(E) = {n_{\Delta {{u}}}} + ({m_{\Delta {{u}}}} - {n_{\Delta {{u}}}})\left| E \right| \\ {f_{\Delta {{e}}}}(E) = {m_{\Delta {{e}}}} + ({m_{\Delta {{e}}}} - {n_{\Delta {{e}}}})\left| E \right| \\ \end{gathered} \right.$ | (4) |
其中,
${k_{\Delta {{u}}}} \in [{m_{\Delta {{u}}}}{k_{\Delta {{u}}_0}},{{ }}{n_{\Delta {{u}}}}{k_{\Delta {{u}}_0}}]$ | (5) |
同理,
$\left\{ \begin{gathered} {n_{\Delta {{u}}}} = 1/{m_{\Delta {{e}}}} \\ {m_{\Delta {{u}}}} = 1/{n_{\Delta {{e}}}} \\ \end{gathered} \right.$ | (6) |
借助中介变量
$\left\{ \begin{gathered} {n_{\Delta {{e}}}} = p \cdot {p_{{f}}} \\ {m_{\Delta {{e}}}} = p/{p_{{f}}} \\ \end{gathered} \right.$ | (7) |
其中,pf为设计参数;p的取值一般根据e和Δe的变化,采用粗调与细调相结合的方式进行调节。粗调是指根据前半个振荡周期的最大误差变化率,改变系统接下来半个振荡周期中p的斜率K,其调节公式为
$K = \left| {E{C_{{\rm{max}}}}} \right| \cdot {K_0}$ | (8) |
其中,ECmax为最大误差变化率,通常在误差正负变号时刻取值,K0为p的初始斜率。
然后每隔半个振荡周期,根据误差e和斜率K细调中介变量p的取值,其调整算法为
$p = \left| E \right| \cdot K + {p_{\rm{m}}} + {E_{\rm{m}}} \cdot K$ | (9) |
其中,pm为设计参数,取
根据e、Δe以及两个设计参数pm和pf,便可实现对
相较于传统函数调节法[14],本文所提算法综合考虑了系统调节过程中的误差和误差变化率。此外,设计过程只需对2个参数确定取值,从而在一定程度上使传统函数调节法得到了简化,提高了算法的可靠性,同时也不需进行相对速率法[15]中的模糊推理过程,设计简单,便于实现。
2.3 算法在PLC中的实现STEP 7软件为测试人员提供了多种编程语言,其中结构化文本(SCL)语言是最接近计算机高级语言的一种编程方式。将文中提出的自适应模糊控制算法采用SCL语言在STEP 7中进行编写,并封装入库。使用时,只需在相应库中调用即可。该控制算法在PLC中的程序结构如图3所示。
其中,OB1用于控制系统启停和调用子程序FC105、FC106和FC31。FC105用于对被控对象的输出值进行滤波和归一化处理,FC106用于实现对模糊控制器输出值的限速限幅和死区限制。在FC31功能块的设计中,若系统处于手动模式,则控制器不进行自适应模糊控制算法的计算,其输出直接为手动值,且在每个控制周期内,需使系统设定值准确跟踪被控量,同时清除计算式中的历史数据,将手动值赋给控制器上一周期的输出,由此保证在由手动方式切换到自动方式的瞬间,其输出不会发生突变。暖启动组织块OB100用于各子程序参数的初始化。OB35负责在每个采样时刻调用自适应模糊控制算法功能块FB31。FB31可根据采样时间计算e和Δe,并对其进行模糊化处理,之后根据它们以及两个设计参数pm和pf,实现对模糊控制器参数
3 仿真研究
双容水箱作为一类典型的非线性、时延被控对象,其控制策略的研究不仅可以作为复杂非线性系统的研究基础,而且对工业生产过程中液位控制系统的研究具有指导意义。文献[16]通过机理分析,可将双容水箱近似等效为二阶惯性加纯迟延环节,其传递函数为
$G(s) = \frac{{0.75{{\rm{e}}^{ - 8.067s}}}}{{(1 + as)(1 + 61.45s)}}$ | (10) |
首先,在Matlab/Simulink中搭建双容水箱模型,然后通过dSPACE的软件平台将其转换为C语言代码,并下载至dSPACE的实时硬件系统中。通过PLC模拟量输入通道采集对象输出数据,之后基于控制算法对控制器参数进行在线计算,同时借助WinCC运行画面,实现系统参数的实时在线调试。此外,借助dSPACE的ControlDesk测试软件,可对系统模型参数及运行工况进行实时监控和在线修改,以实现控制器在各种工作条件下的全方位性能测试。借助该测试系统,模拟双容水箱的液位控制实验,分别采用文献[16]提出的模糊PID控制和本文设计的新型自适应模糊控制进行仿真对比试验。系统采样时间设为0.1 s,设定值为0.4,dSPACE采集数据间隔为0.001 s。
3.1 控制算法的动态性能试验取对象模型的结构参数
仿真结果表明,相较于模糊PID控制,本文提出的新型自适应模糊控制算法具有较好的控制效果。系统超调量小,调节时间短,可较快地稳定于设定值附近,从而使系统的动态性能得以改善。
在被控对象模型参数不变的条件下,针对本文提出的控制算法,取3组不同的设计参数
数据组 | 控制器设计参数 | 调节时间/s | 超调量/% | 峰值时间/s |
第1组 | pm1=0.43, pf1=1.21 | 73.5 | 0.7 | 98.5 |
第2组 | pm2=0.8, pf2=0.68 | 71.3 | 0.6 | 97.3 |
第3组 | pm3=1.51, pf3=0.47 | 66.6 | 0.47 | 101.74 |
3.2 模型参数改变时的鲁棒性检验
在模糊PID控制器和自适应模糊控制器中各项参数未做任何改变的条件下,对被控对象模型的结构参数
由表4的性能对比数据可以看出,本文提出的新型自适应模糊控制对被控对象参数的变化具有较好的适应能力,超调量小、响应快,能在较短时间内恢复稳定,控制效果未见明显改变,表现出了较强的鲁棒性。但是,由于被控对象参数的变化,模糊PID控制器的系统超调量明显增大,响应速度也较为迟缓。
a | 模糊PID控制 | 自适应模糊控制 | ||||
调节时间/s | 超调量/% | 峰值时间/s | 调节时间/s | 超调量/% | 峰值时间/s | |
61.45 | 134.2 | 4.14 | 99.8 | 65.3 | 0.4 | 94.7 |
85 | 149.3 | 4.97 | 105.7 | 71.8 | 0.3 | 96.5 |
4 结束语
本文设计了一种基于dSPACE实时仿真系统、S7-300 PLC和WinCC的通用控制算法测试系统,通过dSPACE实时模拟被控对象的动态过程,便于实现控制器在各种运行状态下的全方位性能测试,同时借助S7-300 PLC实现各种复杂控制算法,使算法开发及测试更具真实性。该测试系统实时性强、适用范围广、置信度高,为复杂控制算法的测试提供了一个方便易行、实时可靠的实验环境。同时,在传统函数调节法的基础上,本文考虑了系统调节过程中的误差和误差变化率,并对设计参数进行精简,提出了一种基于函数-变斜率的新型自适应模糊控制算法。随后,将其应用于S7-300 PLC,通过在STEP 7中将该算法封装为一个库函数,以便技术开发人员随时调用。最后,以双容水箱为控制对象,借助所搭建的测试系统考察了该算法的控制性能。实验结果表明,本文提出的基于函数-变斜率的新型自适应模糊控制算法具有较好的调节效果,其动静态性能和鲁棒性均优于模糊PID控制器。
[1] |
郎鹏飞. 基于dSpace的硬件在回路仿真系统研究[D]. 广州:华南理工大学, 2013.
|
[2] |
翟廉飞, 柴天佑, 高忠江, 等. 制粉系统智能解耦控制的分布式仿真实验平台[J].
系统仿真学报, 2006, 18(7): 1824-1828.
DOI:10.3969/j.issn.1004-731X.2006.07.023 |
[3] |
董海鹰, 魏占宏, 赵香桂, 等. 基于多种群遗传算法的电动变桨系统的变论域模糊控制[J].
控制工程, 2014, 21(2): 182-188.
DOI:10.3969/j.issn.1671-7848.2014.02.007 |
[4] |
廖鹏, 潘维加. 变论域模糊控制器单元机组SCR烟气脱硝控制研究[J].
计算机测量与控制, 2017, 25(1): 84-87.
|
[5] |
多丽, 刘义艳, 程绍峰. 基于模糊自适应脉宽调制的双反馈控制算法[J].
探测与控制学报, 2017, 39(6): 87-92.
|
[6] |
齐鹏, 翟正军, 姜红梅. 基于dSPACE的通用控制器系统开发验证平台[J].
测控技术, 2008(2): 91-94.
DOI:10.3969/j.issn.1000-8829.2008.02.031 |
[7] |
王文卓, 卢强, 王伟, 等. 基于dSPACE仿真测试平台风机控制系统研究[J].
控制工程, 2010, 17(S3): 102-105, 138.
|
[8] |
马培蓓, 吴进华, 纪军, 等. dSPACE实时仿真平台软件环境及应用[J].
系统仿真学报, 2004, 16(4): 667-670.
DOI:10.3969/j.issn.1004-731X.2004.04.017 |
[9] |
杜常清, 徐懂懂. 基于dSPACE的混合动力汽车控制策略半实物仿真平台[J].
自动化与仪表, 2018, 33(1): 79-83, 88.
|
[10] |
刘德荣. 复杂工业过程的先进控制[J].
自动化学报, 2014, 40(9): 1841-1842.
|
[11] |
汪小澄, 方强. 基于PLC的模糊控制研究[J].
武汉大学学报, 2002, 35(3): 79-81.
|
[12] |
刘晓霞, 孙金根, 田兆福. 用可编程控制器PLC实现模糊控制的方法研究[J].
沈阳工业学院学报, 2003(2): 28-31.
DOI:10.3969/j.issn.1003-1251.2003.02.010 |
[13] |
QIAO W Z, MIZUMOTO M. PID type fuzzy controller and parameters adaptive method[J].
Fuzzy sets and systems, 1996, 78(1): 23-35.
DOI:10.1016/0165-0114(95)00115-8 |
[14] |
EKSIN, I, GUZELKAYA M, GÜRLEYEN F. A new methodology for. deriving the rule-base of a fuzzylogic controller with a new internal structure[J].
Engineering Applications of Artificial Intelligence, 2001, 14(5): 617-628.
DOI:10.1016/S0952-1976(01)00035-5 |
[15] |
GÜZELKAYA M, EKSIN İ, YEŞIL E. Self-tuning of PID-type fuzzy logic controller coefficients via relative rate observer[J].
Engineering Applications of Artificial Intelligence, 2003, 16(3): 227-236.
DOI:10.1016/S0952-1976(03)00050-2 |
[16] |
WANG Y S, LIU J Z . A PID-type fuzzy controller and its parameters tuning method[C]//Proceedings of the 5th World Congress on intelligent Control and Automation, 2004.
|