您现在的位置是:首页 > 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位无符号数据,周期范围为50~65 535μs或2~65 535ms,占空比为50%,一般对周期值的设定为偶数,否则会引起输出波形占空比的失真。每段脉冲序列中,脉冲的数量为32位数据,可分别设定为1~4 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段包络表的格式 采用多段管线PTO输出的优点是:编程简单,可按照程序设定的周期增量值自动增减脉冲周期。 采用多段管线PTO输出的缺点是:所有脉冲串的时间基准必须一致,当执行PLS指令时,包络表中的所有参数均不能改变。 在使用PTO输出时需要掌握一些编程要点。 ·确定高速脉冲串的输出端(Q0.0或Q0.1)和管线的实现方式(单段或多段)。 ·进行PTO的初始化,利用特殊继电器SM0.1调用初始化子程序。 ·编写初始化子程序。 设置控制字节,将控制字写入SMB67或SMB77。 如果是多段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。 ③确定初始周期时间,周期增量值。初始周期时间是将每段管线初始频率换算成 时间,段1为500μs.段2为100μs,段3为100μs;周期增量值的确定可通过计 算来得到,计算公式为(Tn+1-Tn)/N,其中,Tn+1为该段结束的周期时间;Tn为该 段开始的周期时间;Ⅳ为该段的脉冲数。 ④建立包络表。该包络表的首地址为VB500,包络表中的参数见表5-41。 表5-41 包络表的参数
按照PTO输出编程要点的步骤编制系统主程序、初始化子程序以及包络表子程序,分别如图5-25、图5-26和图5-27所示。
图5-25 步进电机控制的主程序 图5-25中,当PLC由STOP转为RUN时,SM0.1由OFF变为ON一个扫描周期,此时接通高速脉冲串输出Q0.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段管线的包络表参数存放到包络表中。
点击排行
