APP下载

基于S7-200PLC的调速器步进电机驱动方法

2010-07-09安艳涛

制造业自动化 2010年7期
关键词:恒速调速器步数

沈 宏,张 伟,安艳涛

(1.河南科技学院,新乡 453003;2.陕西江河水利水电土木勘测设计研究院,西安 710016)

0 引言

水轮机可编程调速器(简称PLC调速器)自20世纪90年代初投运于水电站以来,由于其面向工业现场具有可靠性高,易学易懂等优点,因而越来越受到用户的欢迎,然而作为电气-机械-液压转换部件的电液转换器的抗油污能力较差,却成为制约电液调速系统可靠性的致命因素[1]。针对这一棘手问题,相关单位陆续推出了一些采用步进电机代替电液转换器的步进式可编程调速器并投入运行,使得抗油污能力这一缺陷在一定程度上得到明显改善,而且由于步进式可编程调速器能够方便地控制位移、速度、方向,配以滚珠丝杆后可达到极高控制精度,所以可以在较宽的范围内调速。并且在负载能力范围内,其输出转角定位精度无积累误差,故在水轮机调速器中已占有相当的份额[2]。

但步进式可编程调速器在步进电机的驱动上依然存在一些问题,比如在目前的水轮机调节领域中,许多PLC调速器步进电机采用简单的直接启动方式,而对于水轮机调节系统,系统的极限起动频率是比较低的,而要求的运行速度往往较高。如果系统以要求的速度直接起动,则很有可能发生失步或根本不运行的情况。不仅如此,系统运行起来之后,如果到在到达终点时就立即停发脉冲,则会因为惯性的原因,发生冲过终点的现象,使点-位控制发生偏差,从而使调速器不能正常运行[3,4]。

所以,为保证步进电机的控制精度,如何处理好其升、降速驱动问题就显得十分重要。因此要根据步进电机的动力学特性及矩频特性来寻找最佳的升降速曲线,在数学上这种曲线是比较复杂的,人们很难找到一种硬件电路来模拟它,只能在一定频段内做近似的曲线拟合。有鉴于此,本文通过采用西门子S7-200PLC的高速脉冲输出功能,向步进电机发出进给脉冲,通过软件编程实现脉冲频率的变化,从而精确地实现了步进电机的加速-恒速-减速-低恒速-停止的过程[5]。并将此功能成功地应用在水轮机调速器中,实现了对步进电机的精确控制,使步进式水轮机调速器控制性能大为改善。

1 S7-200步进电机调速器硬件系统图

西门子S7-200CPU224XP系列有两路高频率脉冲输出,具有实时刷新技术,其信号输出频率最高可达20KHz,可以用于控制步进电机以实现精确定位任务。其硬件系统接线图如图1所示。

2 设计思想

图1 S7-200步进电机调速器硬件接线图

在步进式水轮机调速器中,为提高工作效率,步进电机控制系统的加速,减速特性非常重要,如果设计不合理,将会引起步进电机堵转、失步(运行精度差)或升、降速过程慢(工作效率低)等问题。

图2给出了步进电机加速启动、恒速运行和减速停止过程中脉冲频率与时间的关系。

由于步进电机不能直接接到工频交流或直流电源上工作,所以必须使用专用的步进电机驱动器。步进电机驱动器主要由脉冲发生控制单元,功率驱动单元等组成。本调速器将脉冲发生控制单元通过S7-200的高速脉冲指令来实现,外加功率放大单元来替代专用步进电机驱动器,成本显著降低[6]。

用可编程控制器对步进电动机进行加减速控制时,实际上就是改变高速脉冲输出的时间间隔,升速时使脉冲串逐渐加密,减速时使脉冲串逐渐稀疏。用定时中断方式来控制电动机变速。升速时的起始速度应等于或略小于系统的极限起动频率(速度),而不是从零开始。减速过程结束时的速度一般应等于或低于启动速度,再经数步低速运行后停止。

系统在执行升降速的控制过程中,对加减速过程的控制要准备下列数据:

1)加减速的斜率。在直线加速过程中,速度不是连续变化,而是分阶段变化的,为与要求的升速斜率相逼近,可以采用阶梯曲线来逼近加减速曲线,见图3所示,采用离散法将加减速曲线离散化,离散化以后的速度是分档上升的,而且必须确定每个速度台阶上运行的时间,时间△t越小,升速越快,反之渐慢。△t的大小可由理论分析或实验确定,以升速最快而不丢步为原则。则每个台阶运行的步数为NS=fs•△t =S•△N,其中fs为对应每一档的频率,△N反映了每个速度台阶运行步数与速度字S之间的关系。程序在执行过程中,每次速度升一档,都要计算这个台阶应走的步数,然后以递减方式检查,当减至零时表示该档速度运行完毕,S=S+1,随后升入又一档速度。

图3 阶梯形加减速曲线

2)升速过程的总步数。电动在机升速过程中,一直对这个总步数进行递减操作,当减至零时表示升速过程完毕,转入恒速运行。

3)恒速运行的总步数。电动机在恒速运行过程中,一直对这个总步数进行递减操作,当减至零时表示恒速过程完毕,转入减速运行。

4)减速过程的总步数。这个步数可以取与升速过程总步数相同。减速过程的规律也与升速过程相同,只是按相反的顺序进行即可。

在上面的数据确定后,我们就可以编制一个完整的具有升减速过程的点-位控制运行程序了。

2.1 S7-200高速脉冲输出指令

高速脉冲指令可以使PLC的某些输出端产生高速脉冲,用来驱动负载实现精确控制。

S7-200有两个PTO/PWM发生器[7],分别产生高速脉冲串和脉冲宽度可调的波形。PTO/PWM发生器的编号分配在数字输出点Q0.0和Q0.1。

脉冲串(PTO)功能提供方波(50%占空比)输出,并由用户控制脉冲周期和脉冲数;脉冲宽度调制(PWM)功能提供连续、占空比可调的脉冲输出,并由用户控制脉冲周期和脉冲宽度。

PTO/PWM发生器有一个8位的控制字节,一个16位无符号的周期值,一个16位无符号的脉宽值(仅PWM有),和一个32位无符号的脉冲计数值(仅PTO有)。这些数值全部存储在指定的特殊存储器(SM)中,特殊存储器的各位设置完毕后,即可执行脉冲(PLS)指令。PLS指令使CPU读取特殊存储器中的位,并对相应的PTO/PWM发生器进行编程。修改特殊存储器(SM)区(包括控制字节),并执行PLS指令,可以改变PTO或PWM特性。当PTO/PWM控制字节(SM67.7或SM77.7)的允许位被置为0,则禁止PTO或PWM的功能。

2.2 PTO/PWM控制寄存器

PLS指令从PTO/PWM控制寄存器中读取数据,使程序按控制寄存器中的值所对应的功能来控制PTO/PWM发生器。因此在执行PLS指令前,必须设置好控制寄存器。

2.3 PTO操作

PTO功能可以提供指定脉冲数和周期的方波(50%占空比)脉冲串。周期以微秒或毫秒为单位,周期的范围是10~65535μs或2~65535ms。脉冲数的范围是:1~4294967295。

如果周期时间小于最小值,就把周期默认为最小值;如果指定脉冲数为0,就把脉冲数默认为1个脉冲。

状态字节中的PTO空闲位(SM66.7或SM76.7)为1时,则表示脉冲串输出完成。可根据脉冲串输出的完成调用中断子程序。

若要输出多个脉冲串,PTO功能允许脉冲串的排队,形成管线。当激活的脉冲串输出完成后,立即开始输出新的脉冲串。这保证了脉冲串顺序输出的连续性。

PTO发生器具有单段管线和多段管线两种模式。其中PTO发生器的多段管线功能在对步进电机的控制中非常有用。

2.3.1多段管线模式

多段管线模式中,CPU在变量(V)存储区建立一个包络表。包络表中存储各个脉冲串的控制参数,多段管线用PLS指令启动。执行指令时,CPU自动从包络表中按顺序读出每个脉冲串的控制参数,并实施脉冲串输出。当执行PLS指令时,包络内容不可改变。

在包络表中周期增量可以选择微秒或毫秒,但在同一个包络表中的所有周期值必须使用同一个时间基准。

如果在输出若干个脉冲后指定的周期增量值导致非法周期值,就会产生溢出错误, SM66.7或SM76.7被置为1,同时停止PTO功能,PLC的输出变为通用功能。另外,状态字节中的增量计算错误位(SM66.7或SM76.7)被置为1。

如果要人为地终止一个正进行中的PTO包络,只需要把状态字节中的用户终止位(SM66.7或SM76.7)置为1即可。

2.3.2包络表参数的计算

本文以接力器运行100%全行程为例,设对应的步进电机为3000步,按照图2所示原理,若步进电机的运行控制分为3段(启动,运行,减速),则共需要3000个脉冲[8,9]。启动和减速的脉冲频率是16Hz,最大脉冲频率是1KHz。由于包络表中的值是用周期表示的,而不是用频率,所以需要把给定的频率值转换成周期值。启动和减速的周期是62500μs,最大脉冲频率对应的周期是1000μs。

要求加速部分在125个脉冲内达到最大脉冲频率(1KHz),减速部分在250个脉冲内完成。

PTO发生器用来调整给定段脉冲周期的周期增量为:

周期增量=(ECT-ICT)/Q

式中:ECT为该段结束周期;ICT为该段初始周期;Q为该段脉冲数。

计算得出:加速部分(第一段)的周期增量是-492;减速部分(第三段)的周期增量是246。第二段是恒速控制,该段的周期增量是0。

同理,当接力器从0走到75%、50%、25%全行程时的运动控制也可以分为3段(启动,运行,减速),此时分别需要脉冲2250、1500、750个。

假定包络表存放在从VB500开始的V存储器区,以接力器行程为0~100%为例,相应的包络表参数如表1所示。

该表的值可以通过用户程序中的指令放在变量(V)存储器中。

3 程序实现

3.1 PTO多段操作初始化及操作步骤

1)利用第一扫描内存位(SM0.1)复位输出为0,并调用所要的子程序进行初始化操作。这样可节约扫描执行时间,并使程序结构化更强。

表1 包络表值

2)在初始化子程序内,以微秒为递增单位把PTO数值16#A0存入SMB67。这些数值设定控制字节的目的是:启动PTO/PWM功能,选择PTO多段操作,并选择微秒或毫秒为递增单位,本文根据要求频率计算选用微秒为单位。

3)用包络表的起始V内存偏移量存入SMW168。

4)设定包络表内的段数值,保证段数目数值正确。

5)执行PLS指令,S7-200为PTO/PWM生成器编程。

6)退出子程序。

图4 S7-200控制器输出的驱动程序流程图

3.2 S7-200控制器输出的驱动程序(如图4所示)

4 结论

这种以S7-200PLC 224XP为硬件主体,采用软件编程实现对步进电机的加减速控制,灵活易变,抗噪性能强,既经济又节约空间,克服了以往PLC调速器步进电机采用简单的直接启动方式的不足, 可以通过对包络表中相应的控制字做出修改来调节步进电机的运行参数,使PLC调速器对步进电机的控制精度更加精确[10],驱动功能更加完善,大大减少了CPU的占用时间,提高了系统的响应速度,具有较强的实用性。

[1] 吴罗盛,金向丹.水轮机调速器的自动化及其发展前景[J].机电技术.2006 (4):63-65.

[2] 王德意,南海鹏,张江滨,等.水轮机步进式微机调速器应用研究[J].水利水电技术.2002,32(5):24-27.

[3] 刘宝廷.程树康,等.步进电动机及其驱动控制系统[M].哈尔滨:哈尔滨工业大学出版社,1984:33-36.

[4] 商国才,梁旭,李晋民.步进式全数字水轮机微机调速器的研究[J].华北电力大学学报.1995,22(1):8-13

[5] 蔡行健.深入浅出西门子S7-200PLC[M].北京:北京航空航天大学出版社,2003:201-211.

[6] 刘毅力.基于S7-200水轮机微机调速器的开发与研究[D].西安:西安理工大学,2004,3:54-56.

[7] Simatic S7-200系统手册[M].SIEMENS.2004,9:94-96.

[8] Hiden Dohmeki. New pentagon drive method for 5-phase step motors.IMCSD.1992:289-295.

[9] 王友军.五相混合式步进电动机驱动技术[J].仪表技术.2004(4):42-43.

[10] 刘志水.浅析步进电机的PLC控制技术与发展趋势[J].工业技术.2006(27):24.

猜你喜欢

恒速调速器步数
恒速泵注甲氧明在糖尿病患者下肢止血带术中的作用
楚国的探索之旅
重新认识有氧运动
微信运动步数识人指南
电力系统水机调速器改造情况及特点研究
国人运动偏爱健走
发电机恒速安装车研制
水电站冲击式水轮机调速器技术发展回顾
响水水电站调速器技改研究
筒式永磁调速器的磁场分析与特性研究