您现在的位置是:首页 > PLC技术 > PLC技术

S7-200系列PLC高速脉冲输出的PTO输出形式

来源:艾特贸易2017-06-04

简介PTO 输出形式是指从 Q0.0 或(和) Q0.1 输出指定周期的一段或几段方波脉冲序列,周期值为 16 位无符号数据,周期范围为 50 ~ 65 535 s 或 2 ~ 65 535ms ,占空比为 50% ,一般对周期值的设定

    PTO输出形式是指从Q0.0或(和)Q0.1输出指定周期的一段或几段方波脉冲序列,周期值为16位无符号数据,周期范围为5065 535μs265 535ms,占空比为50%,一般对周期值的设定为偶数,否则会引起输出波形占空比的失真。每段脉冲序列中,脉冲的数量为32位数据,可分别设定为14 292 967 295    PTO输出形式中,允许连续输出多个方波脉冲序列(脉冲串),每个脉冲串的周期和脉冲数可以不同。当需要输出多个脉冲串时,允许这些脉冲串进行排队,形成管线,在当前的脉冲串输出完成后,立即输出新的脉冲串。根据管线的实现方式,可分为单段管线PTO和多段管线PTO    ①单段管线PTO    在单段管线PTO输出时,管线中只能存放1个脉冲串的控制参数(入口地址)。在当前脉冲串输出期间,就要对与下一个脉冲串相关的特殊继电器进行更新,当前的脉冲串输出完成后,通过执行PLS指令,就可以立即输出新的脉冲串,实现多段脉冲串的连续输出。    采用单段管线PTO的优点是:各个脉冲串的时间基准可以不同。    采用单段管线PTO的缺点是:编程复杂且繁琐,当参数设置不合适时,会造成各个脉冲串连接的不平滑。    ②多段管线PTO    当采用多段管线PTO输出时,需要在变量存储器区(V)中建立一个包络表,在包络表中存储各个脉冲串的参数,当执行PLS指令时,CPU自动按顺序从包络表中取出各个脉冲串的入口地址,连续输出各个脉冲串。    包络表由包络段数和各段构成,每段长度为8字节,用于存储脉冲周期值(16位),周期增量值(16位),脉冲计数值(32位)。编程时必须装入包络表的偏移首地址。在表5-40中,给出了一个3段包络表的格式。    5-40    3段包络表的格式
3段包络表的格式
    采用多段管线PTO输出的优点是:编程简单,可按照程序设定的周期增量值自动增减脉冲周期。    采用多段管线PTO输出的缺点是:所有脉冲串的时间基准必须一致,当执行PLS指令时,包络表中的所有参数均不能改变。    在使用PTO输出时需要掌握一些编程要点。    ·确定高速脉冲串的输出端(Q0.0Q0.1)和管线的实现方式(单段或多段)。    ·进行PTO的初始化,利用特殊继电器SM0.1调用初始化子程序。    ·编写初始化子程序。    设置控制字节,将控制字写入SMB67SMB77    如果是多段PTO,则装入包络表的首地址(可以子程序的形式建立包络表)。    设置中断事件。    编写中断服务子程序。    设置全局开中断。    执行PLS指令。    例:某加速步进电机,1段加速运行,A点频率为2kHz,脉冲数为200个;2段恒速运行,B点频率为10kHz,脉冲数为3400个;3段为减速运行,C点的频率仍为10kHz,脉冲数为400个。运行曲线如图5-24所示。
步进电机的运行曲线
    5-24    步进电机的运行曲线    该例子的设计步骤如下所述。    ①选择由Q0.0输出,由图5-24可知,选择3段管线的输出形式。    ②选择周期值的时基单位,因为段2输出的频率最大,为10kHz,对应的周期值    100μs,因此选择时基单位为μs,向控制字SMB67写入控制字16# A0    ③确定初始周期时间,周期增量值。初始周期时间是将每段管线初始频率换算成    时间,段1500μs.段2100μs,段3100μs;周期增量值的确定可通过计    算来得到,计算公式为(Tn+1-Tn)/N,其中,Tn+1为该段结束的周期时间;Tn为该    段开始的周期时间;Ⅳ为该段的脉冲数。    ④建立包络表。该包络表的首地址为VB500,包络表中的参数见表5-41    5-41    包络表的参数
包络表的参数
    按照PTO输出编程要点的步骤编制系统主程序、初始化子程序以及包络表子程序,分别如图5-25、图5-26和图5-27所示。
步进电机控制的主程序
    5-25    步进电机控制的主程序    5-25中,当PLCSTOP转为RUN时,SM0.1OFF变为ON一个扫描周期,此时接通高速脉冲串输出Q0.0,并调用初始化子程序SBR_0
步进电机控制的初始化子程序(SBR_0)
    5-26    步进电机控制的初始化子程序(SBR_0)    5-26中,在PLC处于RUN状态,并被主程序调用后,将控制字16#A0传送到SMB67,且将包络表存放到SMB168,然后调用包络表子程序SBR_1,将中断子程序与19号终端联系起来,开全局中断,最后执行PLS指令。
步进电机控制的包络表子程序
    5-27    步进电机控制的包络表子程序    5-27中,在PLC处于RUN状态并被调用的情况下,将3段管线的包络表参数存放到包络表中。