1、第七章 S7-200PLC的复杂功能(gngnng)指令-1,机电(jdin)一体化,主讲(zhjing):s7-200,第一页,共四十五页。,7-12 高速(o s)脉冲输出指令,1.高速脉冲(michng)输出的几个概念 1)高速脉冲输出的形式 高速脉冲串输出 PTO:(Pulse Train Output)输出指定数量,占空比为50%的方波脉冲串。,第二页,共四十五页。,宽度(kund)可调脉冲输出 PWM:(Pulse Width Modulation)输出数量不限,占空比可调的脉冲串信号。,2)高速脉冲输出(shch)端子 每台CPU可以提供 2 个高速脉冲发生器 PTO/PWM 发
2、生器0 的输出端子是 Q0.0 PTO/PWM 发生器1 的输出端子是 Q0.1,第三页,共四十五页。,3)高速脉冲(michng)输出优先权,有PTO/PWM 输出(shch)时,CPU 把输出(shch)端子Q0.0、Q0.1 控制权交给 PTO/PWM 发生器,禁止普通逻辑输出(shch)。,输出映像寄存器 Q 的状态会影响PTO/PWM波形的起始电平(din pn),高速脉冲输出前要先把Q0.0、Q0.1的状态清零。,第四页,共四十五页。,4)高速脉冲输出(shch)适用机型 输出高频脉冲信号时,应选用晶体管输出型 PLC。,2.高速脉冲输出(shch)指令及特殊寄存器 1)高速脉冲输
3、出指令(Pulse),指令功能:EN 有一个上升沿时,激活PLS,控制PLC从 Q0.0 或 Q0.1 输出(shch)高速脉冲。,第五页,共四十五页。,PLS指令可以输出:高速脉冲(michng)串 PTO 宽度可调的脉冲信号 PWM,数据类型:操作数Q0.X:X必须(bx)是常数 0 或 1。EN:只接通一个扫描周期的短信号。,第六页,共四十五页。,2)特殊寄存器每个 PTO/PWM 都有一组配套参数:1个 8位的控制字节 1个 8位的状态字节 1个 16位的周期值 1个 16位的脉宽值 1个 32位的脉冲数量 对于(duy)多段 PTO,还有 1个 8位的段字节 1个 16位包络表起始地
4、址,第七页,共四十五页。,这些参数存放在系统指定的特殊(tsh)标志寄存器中,表7-17 相关(xinggun)寄存器功能表,第八页,共四十五页。,第九页,共四十五页。,状态字节 PTO 方式下运行时,系统根据运行状态使相应(xingyng)位置位。表7-18 状态字节表,第十页,共四十五页。,控制(kngzh)字节中各控制(kngzh)位的功能,控制字节 通过设置字节中各控制位,来定义(dngy)高速脉冲输出的特性.,第十一页,共四十五页。,3高速(o s)脉冲串输出PTO 特点:高速脉冲串输出(PTO)方式下,只能改变脉冲的周期值和脉冲数。,1)周期和脉冲数周期:单位:s或ms。周期值为1
5、6位无符号(fho)整数。变化范围:5065535 s或 265535 ms。,第十二页,共四十五页。,脉冲数:是一个32位的无符号(fho)整数,取值范围:14294967295。,2)高速(o s)脉冲串输出中断 PTO 方式下,当输出完指定数量的脉冲后,产生高速脉冲串输出中断。PTO/PWM 0 的中断事件号是19 PTO/PWM 1 的中断事件号是20 高速脉冲串输出时,CPU自动将PTO空闲位SM66.7(或SM76.7)置1。,第十三页,共四十五页。,3)PTO的种类 PTO方式下,要输出多段脉冲串时,允许脉冲串排队(pi du)。PTO输出多段脉冲的方式有两种:单段PTO:定义一
6、个脉冲串,输出一个脉冲串(特性参数通过特殊寄存器分别定义)。多段PTO:集中定义多个脉冲串,按顺序输出多个脉冲串(特性参数通过包络表集中定义)。,第十四页,共四十五页。,单段PTO 实现的方法 用指定的特殊标志寄存器定义脉冲串特性参数(cnsh)(每次定义一个脉冲串)。一个脉冲串输出完成后,产生中断。在中断服务程序中再为下一个脉冲串更新参数(cnsh),输出下一个脉冲串。,优点:各脉冲(michng)段可以采用不同的时间基准。缺点:单段PTO输出多段高速脉冲串时,编程复杂,且参数设置不当会造成脉冲串之间的不平滑转换。,第十五页,共四十五页。,多段PTO 操作 多段PTO:集中定义多个脉冲串,并
7、把各段脉冲串的特性参数(cnsh)按照规定的格式写入变量存储区用户指定的缓冲区中-称为包络表(见书表7-20)。,第十六页,共四十五页。,包络表说明:包络表由包络段数和各段构成。第一个字节为需要输出的脉冲串总段数,范围:1255;定义一段脉冲串的特性参数(cnsh)需要8个字节 2个字节存放脉冲串的起始周期值 2个字节定义脉冲串的周期增量 4个字节存放该段脉冲串的脉冲数,第十七页,共四十五页。,包络表中的周期单位可以为 ms 或 s,但表中所有(suyu)周期单位必须一致。周期增量的计算公式:,多段PTO操作(cozu)时,需把包络表的起始地址 装入标志寄存器 SMW168(或SMW178)中
8、。PTO指令执行时,当前输出段的段号由系 统填入 SMB166 或 SMB176 中。,第十八页,共四十五页。,多段PTO的优点:编程简单(jindn),且在同一段脉冲串中其周期可以均匀改变。,多段 PTO 编程方法及步骤:A.初始化操作(以PTO/PWM 0为例):a.将 PTO 的输出点 Q0.0 复位;b.调用(dioyng)初始化子程序SBR-0,完成下列任务:,第十九页,共四十五页。,将包络表的起始(q sh)地址写入 SMW168;填写包络表中各段脉冲串的特性参数;,设置控制字节(z ji)SMB67,按照控制要求按位填写:如使SMB67=16#A0。,多段PTO下全为0,PWM更
9、新(gngxn)方式,第二十页,共四十五页。,建立中断连接:用ATCH指令建立脉冲输出完成中断事件与中断程序的联系。当PLS指令输出完指定数量的脉冲串时,产生(chnshng)中断。用ENI全局开放中断;B.有启动信号时,执行高速脉冲输出指令PLS,按顺序输出多段脉冲串。C.有停止信号时,停止高速脉冲串输出。,第二十一页,共四十五页。,停止 PTO 输出的方法 PLS指令一经激发,就能完成(wn chng)指定脉冲串的输出,故要停止PTO输出,必须先在控制字节中禁止PTO输出,且执行PLS指令。,SMB67,停止(tngzh)按钮,第二十二页,共四十五页。,【例7-11-2】多段PTO应用(y
10、ngyng)实例,已知步进电机(dinj)的起动频率为2 kHz(A点),经过400个脉冲加速后频率上升到10 kHz(B点和C点),恒速转动的脉冲数为4000个,减速过程脉冲数为200个,频率降为2 kHz(D点),其频率特性如图所示。,第二十三页,共四十五页。,解:确定脉冲发生器及工作(gngzu)模式,要求PLC输出三段串脉冲(michng)。故采用多段PTO输出方式。选择输出端为 Q0.0。填写控制字节SMB67:使SMB67=16#A0,填写(tinxi)包络表。,将包络表首地址装入SMW168中。,第二十四页,共四十五页。,参数(cnsh)换算:,起始频率:2 kHz,起始周期值:
11、500s,运行频率为10 kHz,运行周期值:100s。输出3段脉冲(michng)串,时基取s,定义三段脉冲(michng)串特性参数的包络表为:,第二十五页,共四十五页。,第二十六页,共四十五页。,中断(zhngdun)连接:高速脉冲输出完成时,产生中断(zhngdun)事件19,用ATCH指令将与中断(zhngdun)事件与中断(zhngdun)服务程序INT0连接起来,并全局开中断(zhngdun)(ENI)。执行PLS指令。,本控制程序的结构(jigu):主程序 初始化子程序 中断服务程序,第二十七页,共四十五页。,输出完成(wn chng)指示,起动(q dn)按钮,第二十八页,共
12、四十五页。,停止(tngzh)按钮,第二十九页,共四十五页。,第三十页,共四十五页。,第三十一页,共四十五页。,第三十二页,共四十五页。,第三十三页,共四十五页。,采用多段PTO,脉冲串连续输出期间,按启动按钮I0.0不起作用,不会出现脉冲串重复排队输出的现象,脉冲串能够按照规定的顺序(shnx)输出完后,停止输出。,第三十四页,共四十五页。,4宽度可调的脉冲输出PWM 特点:PWM方式下,用户可以改变脉冲的周期值 和 脉宽值,脉冲数不受限制。1)周期值和脉宽值 周期值:是一个16位无符号数据,单位:s或ms;变化(binhu)范围:5065535s或265535 ms。,第三十五页,共四十五
13、页。,脉冲宽度:是一个16位无符号(fho)整数,单位:s或ms;变化范围是065535 s或ms。即占空比在0100之间变化。2)PWM 更新方式 同步更新:在改变脉冲周期值和脉宽值时,不改变时间基准。特点:同步更新时,波形的变化发生在周期的边缘,输出波形进行平滑转换。,第三十六页,共四十五页。,异步更新:在改变脉冲周期值和脉宽值时,改变时间基准。特点:采用异步更新会使高速脉冲输出功能被瞬时禁止,这时输出端交由输出映像寄存器Q控制,可能使 PWM 的波形不连续,引起被控制设备的振动。结论(jiln):改变 PWM 波形的特性时应尽量采用同步更新。,第三十七页,共四十五页。,3)PWM的编程方
14、法(fngf)及步骤 A.确定脉冲发生器:选择高速脉冲输出端(发生器);选择工作模式为PWM。B.PWM的初始化 a.将PWM的输出点(Q0.0或Q0.1)复位;b.调用初始化子程序SBR-0,它所完成的任务:,第三十八页,共四十五页。,向SMW68写入第一个脉冲(michng)串的周期值;向SMW70写入第一个脉冲串的脉宽值;执行PLS指令,输出指定宽度的脉冲信号。,按位填写(tinxi)控制字节(如SMB67):SMB67=16#DB,第三十九页,共四十五页。,修改脉冲串宽度的方法 改写控制字节SMB67,将允许改脉宽值位 置1,其它位不变。向SMW70写入新的脉冲宽度值 执行PLS,输出
15、(shch)指定宽度的脉冲信号。,第四十页,共四十五页。,【例7-11-3】PWM 输出举例 要求 PWM0的脉冲(michng)周期是 T=10000ms,开始时输出占空比为 10%的脉冲(michng),当 I0.0=1时,输出占空比为 50%的脉冲(michng),当 I0.2=1时,停止输出脉冲(michng)。,第四十一页,共四十五页。,第四十二页,共四十五页。,第四十三页,共四十五页。,第四十四页,共四十五页。,内容(nirng)总结,第七章 S7-200PLC。PTO 方式下运行时,系统根据运行状态使相应位置位。SM6.0SM6.3。包络表由包络段数和各段构成。【例7-11-2】多段PTO应用(yngyng)实例。填写控制字节SMB67:使SMB67=16#A0。运行频率为10 kHz,运行周期值:100s。W。同步更新:在改变脉冲周期值和脉宽值时,不改变时间基准。异步更新:在改变脉冲周期值和脉宽值时,改变时间基准,第四十五页,共四十五页。,