理论教育 博科7.2.3高速脉冲输出指令的应用技巧

博科7.2.3高速脉冲输出指令的应用技巧

时间:2023-07-02 理论教育 版权反馈
【摘要】:高速脉冲输出是指在PLC的某些输出端产生高速脉冲,输出频率可达20kHz,用来驱动负载实现精确定位控制和速度控制等,在运动控制中应用广泛。使用高速脉冲输出功能时,PLC主机应选用晶体管输出型,以满足高速输出的频率要求。图7-4 初始化的子程序图7-5 中断程序1.指令格式及功能高速脉冲输出指令格式及功能如表7-8所示。

博科7.2.3高速脉冲输出指令的应用技巧

高速脉冲输出是指在PLC的某些输出端产生高速脉冲,输出频率可达20kHz,用来驱动负载实现精确定位控制和速度控制等,在运动控制中应用广泛。使用高速脉冲输出功能时,PLC主机应选用晶体管输出型,以满足高速输出的频率要求。

高速脉冲输出有高速脉冲串输出(PTO)和脉宽调制输出(PWM)两种方式。

PTO(高速脉冲串输出)多用于带有位置控制功能的步进驱动器或伺服驱动器,通过输出脉冲的个数,作为位置给定值的输入,以实现定位控制功能。通过改变定位脉冲的输出频率,可以改变运动的速度。

PWM(脉宽调制输出)用于直接驱动调速系统或运动控制系统的输出级,控制逆变主回路。

S7-200晶体管输出型PLC(如CPU 224DC/DC/DC)有PTO和PWM两台高速脉冲发生器。分别指定给数字输出点Q0.0和Q0.1。

当Q0.0端子或Q0.1端子设定为PTO或PWM功能时,其他操作均失效。不使用PTO/PWM功能时,Q0.0端子或Q0.1端子可用作普通输出端子。通常在启动PTO/PWM操作之前,用复位指令R将Q0.0或Q0.1清零。

978-7-111-47551-4-Chapter07-12.jpg

图7-4 初始化的子程序

978-7-111-47551-4-Chapter07-13.jpg

图7-5 中断程序

1.指令格式及功能

高速脉冲输出指令格式及功能如表7-8所示。

2.用于脉冲输出的特殊标志位存储器

每个高速脉冲发生器对应一定数量的特殊寄存器,这些寄存器包括控制字节寄存器、状态字节寄存器和参数值寄存器。它们可以控制高速脉冲的输出形式,反映输出状态和参数值。各个寄存器的功能如表7-9所示。

表7-8 高速脉冲输出指令格式及功能

978-7-111-47551-4-Chapter07-14.jpg

表7-9 相关特殊标志位寄存器功能表

978-7-111-47551-4-Chapter07-15.jpg

(1)控制字节和参数的特殊存储器

每个PTO/PWM发生器都有一个控制字节,通过对控制字节指定位的编程,设置字节中各控制位,如脉冲输出允许、PTO/PWM模式选择、PTO单段/多段选择、更新方式、时间基准和允许更新等。控制字节中各控制位的功能如表7-10所示。

表7-10 Q0.0和Q0.1对PTO/PWM输出的控制字节

978-7-111-47551-4-Chapter07-16.jpg

(2)状态字节的特殊存储器

除了控制信息外,还有用于PTO功能的状态位。程序运行时,根据运行状态使某些位自动置位。可以通过程序来读取相关位的状态,用此状态作为判断条件,实现相应的操作。状态字节各状态位的功能如表7-11所示。

表7-11 Q0.0和Q0.1的状态位

978-7-111-47551-4-Chapter07-17.jpg

3.对输出的影响

PTO/PWM发生器和输出映像寄存器共用Q0.0和Q0.1。在Q0.0或Q0.1使用PTO或PWM功能时,PTO/PWM发生器控制输出,并禁止输出点的正常使用,输出波形不受输出映像寄存器状态、输出强制和执行立即输出指令的影响;在Q0.0或Q0.1没有使用PTO或PWM功能时,输出映像寄存器控制输出,所以输出映像寄存器决定输出波形的初始和结束状态,即决定脉冲输出波形从高电平或低电平开始和结束,使输出波形有短暂的不连续,为了减小这种不连续产生的有害影响,应注意:在启用PTO或PWM操作之前,将用于Q0.0和Q0.1的输出映像寄存器设为0。

4.PTO的使用

PTO功能是可以指定脉冲数和周期值的、占空比为50%的高速脉冲串输出。状态字节中的最高位(空闲位)用来指示脉冲串输出是否完成。可在脉冲串完成时启动中断程序,若使用多段操作,则在包络表完成时启动中断程序。

(1)周期和脉冲数

周期范围从10~65535μs或从2~65535ms,为16位无符号数,时基有μs和ms两种,通过控制字节的第三位选择。

注意:如果周期小于2个时间单位,则周期的默认值为2个时间单位。周期设定奇数微秒或毫秒(例如75ms),会引起波形失真。

脉冲计数范围从1~4294967295,为32位无符号数,如设定脉冲计数值为0,则系统默认脉冲计数值为1。

(2)PTO的种类及特点

在PTO方式中,可输出多个脉冲串,并允许脉冲串排队,以形成管线。当前输出的脉冲串完成之后,立即输出新脉冲串,这保证了脉冲串顺序输出的连续性。根据管线的实现方式,将PTO分为两种:单段管线和多段管线。

1)单段管线。单段管线中只能存放一个脉冲串的控制参数(即入口),一旦启动了一个脉冲串进行输出时,就需要用指令立即为下一个脉冲串更新特殊寄存器,并再次执行脉冲串输出指令,第一个脉冲串完成以后,第二个脉冲串输出立即开始。

采用单段管线PTO的优点是各个脉冲串可以采用不同的时间基准。缺点是单段管线输出多个高速脉冲时,编程复杂,而且有时参数设置不当会造成脉冲串之间的不平滑转换。

2)多段管线。多段管线是指在变量存储器V中建立一个包络表。包络表中存储每个脉冲串的参数,相当于有多个脉冲串的入口。多段管线用PLS指令启动,运行时,CPU自动从包络表中按顺序读出每个脉冲串的参数进行输出。包络表中每个脉冲串编程时必须装入包络表起始变量(V存储区)的偏移地址,运行时只使用特殊存储区的控制字节和状态字节。

包络表由包络段数和各段构成。以包络3段的包络表为例,若VBn为包络表起始字节地址,则包络表的结构如表7-12所示。

采用多段管线(PTO)的优点是编程简单,能够通过指定脉冲的数量自动增加或减少周期。周期增量值D为正值会增加周期,周期增量值D为负值会减少周期,若D为零,则周期不变。采用多段管线(PTO)的缺点是:所有脉冲串的时间基准必须一致,在多段管线执行时,包络表的各段参数不能改变。多段管线常用于步进电动机的控制。

表7-12 包络表的结构

978-7-111-47551-4-Chapter07-18.jpg

注意:周期增量值Δ为整数微秒或毫秒。

5.PTO使用示例

【例7-4】根据控制要求列出PTO包络表。

步进电动机的控制要求如图7-6所示。从A点到B点为加速过程,从B到C为恒速运行,从C到D为减速过程。

流水线可以分为3段,需建立3段脉冲的包络表。起始和终止脉冲频率为2kHz,最大脉冲频率为10kHz,所以起始和终止周期为500μs,与最大频率时的周期为100μs。1段:加速运行,应在约200个脉冲时达到最大脉冲频率;2段:恒速运行,约(4000-200-200)个脉冲=3600个脉冲;3段:减速运行,应在约200个脉冲时完成。

978-7-111-47551-4-Chapter07-19.jpg

图7-6 步进电动机的控制要求

分析:(www.daowen.com)

1)确定脉冲发生器及工作模式。

选择如下:选用高速脉冲串发生器为Q0.0,并且确定PTO为3段脉冲管线(AB、BC和CD段)。

2)设置控制字节。

时基选择为ms级。将2#10100000,即16#A0写入控制字节SMB67。

3)写入周期值、周期增量值和脉冲数。

由于是3段脉冲,因此需要建立3段脉冲的包络表,并分别设置各段参数。包络表中各脉冲都是以周期为时间参数,所以必须先把频率换算为周期值。给定段的周期增量按下式计算:

给定段的周期增量=(TEC-TIC)/Q

式中,TEC为该段结束周期时间;TIC为该段初始周期时间;Q为该段的脉冲数量。

用该式计算出1段的周期增量值Δ为-2μs,2段的周期增量值Δ为0,3段的周期增量值Δ为2μs。假设包络表位于从VB200开始的V存储区中,包络表结构如表7-13所示。

表7-13 包络表结构

978-7-111-47551-4-Chapter07-20.jpg

4)装入包络表首地址。将包络表的起始变量V存储器地址装入SMW168中。

5)中断调用。高速输出完成时,调用中断程序,则信号灯变亮(本例中Q0.2=1)。脉冲输出完成,中断事件号为19。用中断调用ATCH指令将中断事件19与中断子程序PTOINT连接起来,并全局开中断。

6)执行PLS指令。用PLS指令启动多段脉冲串,并由Q0.0输出。

参考程序如图7-7至图7-10所示。

978-7-111-47551-4-Chapter07-21.jpg

图7-7 步进电动机控制主程序

6.PWM的使用

脉宽调制输出PWM,用来输出周期固定、占空比可调的高速脉冲。用户可以控制脉冲的周期和脉冲宽度,完成特定的控制任务。

978-7-111-47551-4-Chapter07-22.jpg

图7-8 步进电动机控制中断程序

(1)周期和脉宽

周期和脉宽时基均为16位无符号数。周期的范围:50~65535μs或2~65535ms。若周期小于两个时基,则系统默认为两个时基。脉宽范围:0~65535μs或2~65535ms。若脉宽不小于周期,占空比等于100%,输出连续接通。若脉宽等于0,占空比为0%,则输出断开。

978-7-111-47551-4-Chapter07-23.jpg

图7-9 步进电动机控制初始化子程序

978-7-111-47551-4-Chapter07-24.jpg

图7-10 步进电动机控制包络表子程序

(2)更新方式

在PWM输出方式下的典型操作是当周期为常数时改变脉冲宽度,根据在改变脉冲宽度时是否需要改变时间基准,可有两种改变PWM波形的方法:同步更新和异步更新。

不需要改变时基时,可以用同步更新。需要改变PWM的时基时,则应使用异步更新。异步更新使高速脉冲输出功能被瞬时禁用,与PWM波形不同步。这样可能造成控制设备振动。常见的PWM操作是脉冲宽度不同,但周期保持不变,即不要求时基改变。因此先选择适合于所有周期的时基,尽量使用同步更新。

(3)PWM初始化和操作步骤

首先,确定PWM使用的输出端Q0.0或Q0.1。然后按下述步骤进行操作。

1)用SM0.1使输出位复位为0,并调用初始化子程序。这样可减少扫描时间,程序结构更合理。

2)在初始化子程序中设置控制字节。按要求设置SMB67或SMB77特殊寄存器。

3)在SMW68或SMW78中写入一个字长的周期值。

4)在SMW70或SMW80中写入一个字长的脉宽值。

5)执行PLS指令,使S7-200 PLC为PWM发生器编程,并由Q0.0或Q0.1输出。

6)可为下一个输出脉冲预设控制字。在SMB67或SMB77控制字节中写入16#D2(ms)或16#DA(ms),将禁止改变周期值,允许改变脉冲宽度。以后只要装入一个新的脉宽值,不需要改变控制字节,直接执行PLS指令就可以改变脉宽值。

7)退出子程序。

7.PWM应用示例

【例7-5】设计程序,从PLC的Q0.0输出高速脉冲。该串脉冲脉宽的初始值为0.1s,周期固定为1s,其脉宽每周期递增0.1s,当脉宽达到设定的0.9s时,脉宽改为每周期递减0.1s,直到脉宽减为0。以上过程重复执行。

分析:因为每个周期都有操作,所以须把Q0.0接到I0.0,采用输入中断的方法完成控制任务,并且编写两个中断程序,一个中断程序实现脉宽递增,一个中断程序实现脉宽递减,并设置标志位,在初始化操作时使其置位,执行脉宽递增中断程序,当脉宽达到0.9s时,使其复位,执行脉宽递减中断程序。

在子程序中完成PWM的初始化操作,选用输出端为Q0.0,控制字节为SMB67,控制字节设定为16#DA(允许PWM输出,Q0.0为PWM方式,同步更新,时基为ms,允许更新脉宽,不允许更新周期)。程序如图7-11~图7-13所示。

978-7-111-47551-4-Chapter07-25.jpg

图7-11 高速脉冲输出主程序

978-7-111-47551-4-Chapter07-26.jpg

图7-12 高速脉冲输出中断程序

978-7-111-47551-4-Chapter07-27.jpg

图7-13 高速脉冲输出初始化子程序

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈