控制理论的发展及其在工业和军事等领域的应用,导致其对运动对象的控制要求越来越高,尤其在被控对象的动态性能方面提出了更加苛刻的要求,不仅要采用计算机进行先期模拟,还要在模拟的基础上进行实验验证[1-2]。针对国内对重载空间多自由度模拟平台的缺乏,急需建立一种能够对实验对象施加一定空间运动的模拟实验平台[3-4]。本文设计了转动、制动和驱动模拟平台进行空间多自由度位姿控制的控制系统,系统中以液压泵站为动力源,利用液压油缸及其他机械装置来实现模拟平台的转动、制动和驱动,采用两路PID分别控制模拟平台的横滚和俯仰运动。
1系统设计要求及总体方案
空间多自由度位姿模拟平台由一个立柱和两个液压缸组成,立柱与地基是一个整体并保持静止,两个液压缸由液压泵站提供动力源,通过电液比例伺服阀控制油缸的行程和速度,实现模拟平台的横滚与俯仰。该系统的主要目标是能够快速地跟踪并保持给定角度,实验对象在给定的角度上完成空间多自由度位姿实验。模拟平台在X轴与Y轴方向上转动的结构示意图如图1所示。本系统下位机选用S7-300系列PLC与传感器配合采集与处理信号,运用PID算法运算对信号进行运算与处理,模拟量模块输出控制电液比例伺服阀,由电液比例伺服阀控制油缸的伸出与缩回。选用与西门子PLC无缝连接的WinCC软件对上位机监控软件进行开发[5-8],模拟平台的实时位姿由另一套视频系统显示,控制系统总体方案如图2所示。
2硬件设计
2.1电控系统硬件设计
系统中的主控模块选择了具有较强通讯功能的315-2DP、数字量输入模块SM321(DI32)和数字量输出模块SM322(DO32),主要控制急停、复位、报警等的按钮和指示灯。模拟量的采集包括总油路油温、油压、油缸进口和出口压力以及角度信号,分别选用模拟量输入模块SM331(AI8)、模拟量输出模块SM332(AO2)及DP网关做主站,用MODBUS协议来采集X、Y轴的角度信号,西门子通讯协议是MPI下挂接PROFIBUS实现网络通讯[6]。硬件选用与网络的结构示意图如图3所示。
2.2液压系统硬件设计
液压系统通过电液比例阀来控制两个液压油缸的伸出和缩回,用PID算法实现比例阀开度的稳定,从而使模拟平台保持一定角度。液压油从液压泵站出来,经过出油管路、过滤器到溢流阀、安全阀,再经过三位四通换向阀,以确保油缸动作的唯一性。两个电液比例阀实现两个油缸的伸出和缩回,在油缸下端有各自的平衡阀以保持油缸中的压力[9]。
3软件设计
3.1上位机软件设计
本系统的WinCC组态有操作画面、报警画面、趋势组态等,需要对实时曲线实时保存、回放等。由于WinCC的曲线控件不具备随时保存、提取的功能,调用组态王的超级XY曲线控件,将所采集到的数据实时显示并按实验要求所需要的时间保存。系统组态主控画面如图4所示,操作画面主要调用WinCC组态的控件以及VB脚本编程。由图4可以看出,系统用户登录后弹出主控画面,用户先要进行参数校验,设置横滚与俯仰的报警上下限以及零点校验相应的K、B系数。通过手/自切换开关选择本地的手动/自动控制方式,其中手动方式是将给定可调节的模拟量输出到电磁阀,使平台能较平稳地制动。在确保一侧角度为水平位置后,输入另一侧的设定值,将自动控制开关闭合,表盘控件指针、阀开度的百分比及超级XY曲线控件自动实时跟踪角度值。点击坡面控制按钮进入自动实时跟踪角度值。点击坡面控制按钮进入自动步骤设定画面,设定角度、定时时间后返回主控制画面,闭合自动方案开关,实现系统自动20步的动作。通过开始记录、暂停记录、保存数据、清除图像和曲线回放步骤,能实现试验数据的随时记录、提取、保存和回放功能。报警记录通过调用WinCC控件,实现主要监控参数包括油温、油压和实际角度的上下限等是否超限。
3.2下位机软件设计
系统采用模块化编程思想,利用S7-300的编程软件Step7编写,将LAD与STL混合编程。上电后,OB100执行一个扫描周期、PID默认自动方式,则初始化完成,然后执行OB1循环扫描,调用各个子模块程序。其中SFC系统功能是实现角度传感器网关处理,完成两个角度的实时上传。FB2功能块用于油缸调速,分为FC100功能的本地调速和FC101功能的现场调速。调速形式有两种,一种是手动高、中、低三档调速,通过调节模拟量输出PQW的值来调速;另一种是通过PID算法来调速,是对PID功能块的输出LMN作出处理,乘以高、中、低三档的系数控制PQW的输出值大小。FB40功能块转换模拟输入量,外部输入的是4~20mA电信号,经过模拟量输入模块进行A/D转换,由FC105功能转换到实数,实现温度、压力等参数的规格化。FB10功能块是对主要参数的报警判断,实现本地控制台面板、现场手动箱和上位机WinCC主画面的报警提示。FC10功能是实现现场手动,即当有故障发生时,控制系统可以脱离工控机运行。在FB50功能块中,本地动作有3种,包括本地手动FC50功能块、本地角度设定FB70功能块以及FB60功能块本地坡度方案的设定。其中后两种功能通过调用中断OB35,采用PID算法进行编程[7]。系统保持角度的定时时间不定,由于S7-300定时器的最长设定定时时间小于3h,故采用定时中断来做长时间定时,在中断OB34中的程序块安排示意图如图5所示。控制系统采用PID为主要算法,其程序的编写分为3个步骤:(1)实际值PV_IN与设定值SP_INT规格化处理。将采集到的角度数字量信号转换为0.0~1.0之间的数值。(2)在OB35循环中断中调用FB41子程序实现连续循环控制。其接口数据存放在DB41中,要设置的主要参数包括手自动、P使能位、输出的上下限、死区区间、比例参数、输出端LMN,为了便于调试,设置了LMN_P、LMN_I以及判断正反作用的ER。(3)输出LMN的规格化处理。调用FC106功能将其转换到—27648~27648之间的数字量,将其与高、中、低3档系数绑定,实现可调节的PID控制。由于所选电磁比例阀的放大板是单极性的,当ER≥0时,LMN为正作用,直接输出到AQW0;当ER<0时,LMN为反作用,取ER的绝对值输出到AQW0。
4编程与调试过程
4.1PID参数的整定与实验结果
对于PID参数的整定,常用的有临界比例法、衰减曲线法以及试凑法。在熟悉了P、I、D3个参数对系统性能影响的基础上,设定值横滚角度为20°,现场运用试凑法[10]。实验结果曲线趋势与效果分析如图6所示,其中,P为比例系数,DEADB为死区。由图6可知,图(a)中的比例系数较大,调节速度加快,稳态误差较小,但超调量增大,振荡次数增加;图(b)中的比例系数适当与死区匹配,能满足系统1°/s的速度要求,且运行较平稳;图(c)中的比例系数太小,系统输出量变化缓慢,运行较平稳,调节所需的总时间过长[11]。为了满足±0.5°精度要求,本文设定比例系数为20.0、死区为0.001。
4.2上升沿与下降沿的采集
系统上电后默认低速,调用OB100以及通讯多处用到的上升沿、下降沿指令,如果简单地将其放在功能或功能块中有时会采集不到信号。但当上升沿、下降沿指令在OB1主程序中或是在FB、FC中做静态变量时,就能准确地采集到信号。
4.3长时间定时的实现
系统要求定时时间不定,S7-300的最长定时时间为9990s,长时间的定时一般需用定时器的串联或是定时器与计数器的配合使用,这样使得编程较为复杂。为了简化程序考虑用中断定时,CPU315-2DP有4个循环中断,其中OB35用来写PID程序,OB34的循环周期设为6000ms,用1条ADD无限指令累加,在坡度方案的FB60中,当上位机设置的定时时间到,让累加的数值为0,实现一个中断程序长时间的定时和多次调用。
4.4超级XY曲线的使用
系统需要对模拟平台的转动制动情况随时提取曲线,而WinCC自带的趋势控件只能从数据库提取从实验开始到实验结束的曲线趋势[11-12]。组态王中的超级XY曲线移植到WinCC中可以做到曲线的随时保存、调用等。
5结论
本系统现已投入运行,半年内使用正常,模拟平台达到了预期效果,控制精度在±0.5°。系统中下位机程序语言用LAD编程,可以灵活地用STL来取代LAD算法等。程序的多次重复执行可以编写较精简的功能块,以便再次开发时使用该程序。
作者:郭伟建 李维军 石成江 单位:辽宁石油化工大学机械工程学院