脉冲输出
脉冲输出指令 (PLS)
脉冲输出 (PLS) 指令控制高速输出(Q0.0、Q0.1 和 Q0.3)是否提供脉冲串输出 (PTO) 和脉宽调制 (PWM) 功能。 若使用 PWM,可通过可选向导来创建 PWM 指令。
说明
可使用 PLS 指令来创建多三个 PTO 或 PWM 操作。PTO 允许用 户控制方波(50% 占空比)输出的频率和脉冲数量。PWM 允许用 户控制占空比可变的固定循环时间输出。
该 CPU 具有三个 PTO/PWM 生成器(PLS0、PLS1 和 PLS2),可产生高速脉冲串或脉 宽调制波。PLS0 分配给了数字输出端 Q0.0,PLS1 分配给了数字输出端 Q0.1,PLS2 分 配给了数字输出端 Q0.3。指定的特殊存储器 (SM) 单元用于存储每个发生器的以下数 据:一个 PTO 状态字节(8 位值)、一个控制字节(8 位值)、一个周期时间或频率 (16 位无符号值)、一个脉冲宽度值(16 位无符号值)以及一个脉冲计数值(32 位无 符号值)。
PTO/PWM 生成器和过程映像寄存器共同使用 Q0.0、Q0.1 和 Q0.3。若在 Q0、Q0.1 或 Q0.3 上激活 PTO 或 PWM 功能,PTO/PWM 生成器将控制输出,从而禁止输出点的正常 用法。输出波形不会受过程映像寄存器状态、输出点强制值或立即输出指令执行的影响。 若未激活 PTO/PWM 生成器,则重新交由过程映像寄存器控制输出。过程映像寄存器决 定输出波形的初始和终状态,确定波形是以高电平还是低电平开始和结束。
说明
如果已通过运动控制向导将所选输出点组态为运动控制用途,则无法通过 PLS 指令激活 PTO/PWM。 PTO/PWM 输出的低负载必须至少为额定负载的 10%,才能实现启用与禁用之间的顺 利转换。 在启用 PTO/PWM 操作前,请将过程映像寄存器中 Q0.0、Q0.1 和 Q0.3 的值设置为 0。 所有控制位、周期时间/频率、脉冲宽度和脉冲计数值的默认值均为 0。
说明
脉冲输出 (PLS) 指令仅可用于以下 S7-200 SMART CPU: • SR20/ST20(两个通道,Q0.0 和 Q0.1) • SR30/ST30、SR40/ST40 以及 SR60/ST60(三个通道,Q0.0、Q0.1 和 Q0.3)
脉冲串输出 (PTO)
PTO 以指定频率和指定脉冲数量提供 50% 占空比输出的方波。请参见下图。PTO 可使 用脉冲包络生成一个或多个脉冲串。您可以指定脉冲的数量和频率。
PTO 功能允许脉冲串“链接”或“管道化”。有效脉冲串结束后,新脉冲串的输出会立即开 始。这样便可持续输出后续脉冲串。
PTO 脉冲的单段管道化
在单段管道化中,您负责更新下一脉冲串的 SM 位置。在初始的 PTO 段开始后,您必须 立即使用第二个波形的参数修改 SM 单元。SM 的相应值更新后,再次执行 PLS 指令。 PTO 功能在管道中保留第二个脉冲串的属性,直到其完成了个脉冲串。PTO 功能在 管道中一次只能存储一个条目。在个脉冲串完成时,开始输出第二个波形,然后可在 管道中存储一个新脉冲串设置。之后可重复此过程,设置下一脉冲串的特性。若在管道仍 然填满时试图装载新设置,将导致 PTO 溢出位(SM66.6、SM76.6 或 SM566.6)置位并 且指令被忽略。 只有在当前有效的脉冲串在 PLS 指令捕获到新脉冲串设置之前完成,才能在脉冲串之间 实现平滑转换。
说明
在单段管道化期间,频率的上限为 65,535 Hz。如果需要更高的频率(高为 100,000 Hz),则必须使用多段管道化。
PTO 脉冲的多段管道化
在多段管道化期间,S7-200 SMART 从 V 存储器的包络表中自动读取每个脉冲串段的特 性。该模式中使用的 SM 单元为控制字节、状态字节和包络表的起始 V 存储器 (SMW168、SMW178 或 SMW578)的偏移量。执行 PLS 指令将启动多段操作。 每段条目长 12 字节,由 32 位起始频率、32 位结束频率和 32 位脉冲计数值组成。下表 给出了 V 存储器中组态的包络表的格式: PTO 生成器会自动将频率从起始频率线性提高或降低到结束频率。频率以恒定速率提高 或降低一个恒定值。在脉冲数量达到指定的脉冲计数时,立即装载下一个 PTO 段。该操 作将一直重复到到达包络结束。如果段持续时间少于 500 微秒,PTO 管道下溢位 (SM66.6、SM76.6 和 SM566.6)将置为 1,并且 PTO 操作终止。这表明 CPU 没有足 够的时间来计算 PTO 段值。 在 PTO 包络作用期间,在 SMB166、SMB176 或 SMB576 中提供当前有效段的编号。
脉宽调制 (PWM) PWM
提供三条通道,这些通道允许占空比可变的固定周期时间输出。请参见下图。可以 指定周期时间和脉冲宽度(以微秒或毫秒为增量):
• 周期时间:10 µs 到 65,535 µs 或 2 ms 到 65,535 ms • 脉冲宽度时间:0 µs 到 65,535 µs 或 0 ms 到 65,535 ms
更改 PWM 波形的特性 只能使用同步更新更改 PWM 波形的特性。执行同步更新时,信号波形特性的更改发生在 周期交界处,这样可实现平滑转换。
使用 SM 位置组态和控制 PTO/PWM 操作
PLS 指令读取存储于指定 SM 存储单元的数据,并相应地编程 PTO/PWM 生成器。 SMB67 控制 PTO0 或 PWM0,SMB77 控制 PTO1 或 PWM1,SMB567 控制 PTO2 或 PWM2。“PTO/PWM 控制寄存器的 SM 单元”表(下面个表)介绍了用于控制 PTO/PWM 操作的寄存器。可快速参考“PTO/PWM 控制字节参考”表(下面第二个表)来 确定在 PTO/PWM 控制寄存器中放置什么值才能调用想要的操作。 可通过修改 SM 区域(包括控制字节)中的单元,然后执行 PLS 指令,来改变 PTO 或者 PWM 波形的特性。任何时候都可通过向 PTO/PWM 控制字节(SM67.7、SM77.7 或 SM567.7)使能位写入 0,然后执行 PLS 指令,来实现禁止生成 PTO 或 PMW 波形。输 出点将立即恢复为过程映像寄存器控制。 如果在 PTO 或 PMW 操作正在产生脉冲时被禁止,该脉冲将内在地完成其整个周期时 间。但是,该脉冲不会出现在输出端,因为此时过程映像寄存器重新获得了对输出的控 制。因为脉冲必须内在地完成,所以值得注意的是,若在脉冲完成之前设置使能位并执行 PLS 指令,将导致非致命错误以及指令被忽略。在再次执行 PLS 指令之前必须要有时间 延迟,并要确保其等于上一个有效脉冲的大周期时间。 状态字节(SM66.7、SM76.7 或 SM566.4)中的 PTO 空闲位可用来指示编程的脉冲串是 否已结束。另外,中断例程可在脉冲串结束后进行调用。(请参见中断指令 (页 302)的介 绍。)如果是使用单段操作,则在每个 PTO 结束时调用中断例程。例如,如果第二个 PTO 已装载到管道中,PTO 功能在个 PTO 结束时调用中断例程,然后在已装载到 管道中第二个 PTO 结束时再次调用。若使用多段操作,PTO 功能在包络表完成时调用中 断例程。 下列条件将设置状态字节(SMB66、SMB76 和 SMB566)的位: ● 如果在导致无效频率值的脉冲生成器中发生“添加错误”,PTO 功能将终止以及增量计 算错误位(SM66.4、SM76.4 或 SM566.4)置 1。输出恢复为映像寄存器控制。要纠 正该问题,请尝试调整 PTO 包络参数。 ● 若手动禁止进行中的 PTO 包络,则 PTO 包络禁用位(SM66.5、SM76.5 或 SM566.5)置 1。
● 如果以下任一情况发生,PTO/PWM 溢出/下溢位(SM66.6、SM76.6 或 SM566.6) 将置 1: – 当管道已满时试图装载管道;这是溢出条件。 – PTO 包络段太短而导致 CPU 无法计算下一段,以及传送了空管道;这是下溢条 件,且输出将恢复为映象寄存器控制。 ● 在 PTO/PWM 溢出/下溢位置位后,必须手动将其清零才能检测到后续的溢出事件。 切换到 RUN 模式可将该位初始化为
说明
• 确保您了解 PTO/PWM 模式选择位(SM67.6、SM77.6 和 SM567.6)的定义。该位定 义可能与支持脉冲指令的早期产品有所不同。在 S7-200 SMART 中,用户可通过以下 定义来选择 PTO 或 PWM 模式:0 = PWM,1 = PTO。 • 当装载周期时间/频率(SMW68、SMW78 或 SMW568)、脉冲宽度(SMW70、 SMW80 或 SMW570)或脉冲计数(SMD72、SMW82 或 SMW572)时,在执行 PLS 指令之前也要设置控制寄存器中相应的更新位。 • 对于多段脉冲串操作,在执行 PLS 指令之前也必须装载包络表的起始偏移量 (SMW168、SMW178 或 SMW578)和包络表值。 • 如果在 PWM 在执行过程中试图改变 PWM 的时基,则该请求被忽略并产生非致命错 误 (0x001B - ILLEGAL PWM TIMEBASE CHG)。