当前位置: 首页 > >

脉冲输出指令pls

发布时间:

第三节 高速输出功能指令
高速脉冲输出功能可以使PLC在指定的输出点上产生高速的 在指定的输出点上产生高速的PWM(脉宽调制 脉宽调制) 高速脉冲输出功能可以使 在指定的输出点上产生高速的 脉宽调制 脉冲或输出频率可变的PTO脉冲,可以用于步进电动机和直流伺服电动机的 脉冲, 脉冲或输出频率可变的 脉冲 定位控制和调速。在使用高速脉冲输出功能时, 定位控制和调速。在使用高速脉冲输出功能时,CPU模块应选择晶体管输出 模块应选择晶体管输出 以满足高速脉冲输出的频率要求。 型,以满足高速脉冲输出的频率要求。 1. 高速脉冲输出指令
名 指令 指令表格式 梯形图格式 称 PLS PLS Q 高速脉冲输出

2. 指令功能 PLS 脉冲输出指令,在EN端口执行条件存在时,检测脉冲输出特 脉冲输出指令, 端口执行条件存在时, 端口执行条件存在时 殊存储器的状态,然后激活所定义的脉冲操作, 殊存储器的状态,然后激活所定义的脉冲操作,从Q端口指定的数字输出 端口指定的数字输出 端口输出高速脉冲。 端口输出高速脉冲。 PLS指令可在 指令可在Q0.0和Q0.1两个端口输出可控的 两个端口输出可控的PWM脉冲和 脉冲和PTO高速 指令可在 和 两个端口输出可控的 脉冲和 高速 脉冲串波形。由于只有两个高速脉冲输出端口,所以PLS指令在一个程 脉冲串波形。由于只有两个高速脉冲输出端口,所以 指令在一个程 序中最多使用两次。高速脉冲输出和输出映像寄存器共同对应Q0.0和 序中最多使用两次。高速脉冲输出和输出映像寄存器共同对应 和 Q0.1端口,但Q0.0和Q0.1端口在同一时间只能使用一种功能。在使用高 端口, 端口在同一时间只能使用一种功能。 端口 和 端口在同一时间只能使用一种功能 速脉冲输出时,两输出点将不受输出映像寄存器、 速脉冲输出时,两输出点将不受输出映像寄存器、立即输出指令和强制 输出的影响。 输出的影响。 3. 高速脉冲输出所对应的特殊标志寄存器 为定义和监控高速脉冲输出,系统提供了控制字节、 为定义和监控高速脉冲输出,系统提供了控制字节、状态字节和参 数设置寄存器。 数设置寄存器。

Q0.0对应寄存 对应寄存 器 SMB66 SMB67 SMW68 SMW70 SMD72 SMB166 SMW168

Q0.1对应寄存 对应寄存 器 SMB76 SMB77 SMW78 SMW80 SMD82 SMB176 SMW178

功能描述 状态字节, 方式下, 状态字节,PTO方式下,监控脉冲串的运行状态 方式下 控制字节,定义 控制字节,定义PTO/PWM脉冲的输出格式 脉冲的输出格式 设置PTO/PWM脉冲的周期值,范围:2~65535 脉冲的周期值,范围: ~ 设置 脉冲的周期值 设置PWM的脉冲宽度值,范围:0~ 设置PWM的脉冲宽度值,范围:0~65535 的脉冲宽度值 设置PTO脉冲串的输出脉冲数,范围:1~ 脉冲串的输出脉冲数,范围: ~ 设置 脉冲串的输出脉冲数 4294967295 设置PTO多段操作时的段数 多段操作时的段数 设置 设置PTO多段操作时包络表的起始地址,使用从变 多段操作时包络表的起始地址, 设置 多段操作时包络表的起始地址 量寄存器V0开始的字节偏移表示 量寄存器 开始的字节偏移表示

(1) 状态字节 每个高速脉冲输出都有一个状态字节,监控并记录程序 每个高速脉冲输出都有一个状态字节, 运行时某些操作的相应状态。可以通过编程来读取相关位状态。 运行时某些操作的相应状态。可以通过编程来读取相关位状态。
状态位功能 不用位 PTO包络由于增量计算错误终止:0(无错误 ; 包络由于增量计算错误终止: 无错误 无错误); 包络由于增量计算错误终止 1(终止 终止) 终止 PTO包络由于用户命令终止:0(无错误 ;1(终止 包络由于用户命令终止: 无错误 无错误); 终止 终止) 包络由于用户命令终止 PTO管线上溢 下溢:0(无溢出 ;1(溢出 管线上溢/下溢 无溢出); 溢出 溢出) 管线上溢 下溢: 无溢出 PTO空闲:0(执行中 ;1(空闲 空闲: 执行中 执行中); 空闲 空闲) 空闲 Q0.0 SM66.0~SM66.3 ~ SM66.4 SM66.5 SM66.6 SM66.7 Q0.1 SM76.0~SM76.3 ~ SM76.4 SM76.5 SM76.6 SM76.7

(2) 控制字节 通过对控制字节的设置,可以选择高速脉冲输出的时间基准、 通过对控制字节的设置,可以选择高速脉冲输出的时间基准、 具体周期、输出模式(PTO/PWM)、更新方式等,是编程时初始化操作中必 具体周期、输出模式 、更新方式等, 须完成的内容。 须完成的内容。
控制位功能 PTO/PWM周期更新允许:0(不更新 ;1(允许更新 周期更新允许: 不更新 不更新); 允许更新 允许更新) 周期更新允许 PWM脉冲宽度值更新允许:0(不更新 ;1(允许更新 脉冲宽度值更新允许: 不更新 不更新); 允许更新 允许更新) 脉冲宽度值更新允许 PTO脉冲数更新允许: 0(不更新 ;1(允许更新 脉冲数更新允许: 不更新 不更新); 允许更新 允许更新) 脉冲数更新允许 时基); 时基) 时基 PTO/PWM时间基准选择:0( 1?s / 时基 ;1(1ms/时基 时间基准选择: 时间基准选择 PWM更新方式:0(异步更新 ;1(同步更新 更新方式: 异步更新 异步更新); 同步更新 同步更新) 更新方式 PTO单/多段选择:0(单段管线 ;1(多段管线 单 多段选择 多段选择: 单段管线 单段管线); 多段管线 多段管线) PTO/PWM模式选择:0(PTO模式 ;1(PWM模式 模式选择: 模式); 模式) 模式选择 模式 模式 PTO/PWM脉冲输出允许:0(禁止脉冲输出 ;1(允许脉冲输 脉冲输出允许: 禁止脉冲输出 禁止脉冲输出); 允许脉冲输 脉冲输出允许 出) Q0.0 SM67.0 SM67.1 SM67.2 SM67.3 SM67.4 SM67.5 SM67.6 SM67.7 Q0.1 SM77.0 SM77.1 SM77.2 SM77.3 SM77.4 SM77.5 SM77.6 SM77.7

PWM脉冲输出设置 脉冲输出设置
1) PWM脉冲含义及周期、脉宽设置要求 脉冲含义及周期、 脉冲含义及周期 PWM脉冲是指占空比可调而周期固定的脉冲。其周期和脉宽的增 脉冲是指占空比可调而周期固定的脉冲。 脉冲是指占空比可调而周期固定的脉冲 量单位可以设为微秒()或毫秒 或毫秒(ms),周期变化范围分别为 ~65535和 量单位可以设为微秒 或毫秒 ,周期变化范围分别为50~ 和 2ms~65535ms。周期设置时,设置值应为偶数,若设为奇数会引起输 ~ 。周期设置时,设置值应为偶数, 出波形占空比的轻微失真。 出波形占空比的轻微失真。周期设置值应大于 2,若设置值小于 ,系 ,若设置值小于2, 统将默认为2。 统将默认为 。 2) PWM脉冲波形更新方式 脉冲波形更新方式 由于PWM占空比可调,且周期可设置,所以存在脉冲连续输出时 占空比可调,且周期可设置, 由于 占空比可调 的波形更新问题。系统提供了同步更新和异步更新两种波形更新方式。 的波形更新问题。系统提供了同步更新和异步更新两种波形更新方式。 同步更新 PWM脉冲输出的典型操作是周期不变而变化脉冲宽度,这时由于不 脉冲输出的典型操作是周期不变而变化脉冲宽度, 脉冲输出的典型操作是周期不变而变化脉冲宽度 需要改变时间基准,可以使用同步更新。同步更新时波形的变化发生在 需要改变时间基准,可以使用同步更新。 周期的边缘,可以形成*滑转换。 周期的边缘,可以形成*滑转换。 异步更新 若在脉冲输出时要改变时间基准,就要使用异步更新方式。 若在脉冲输出时要改变时间基准,就要使用异步更新方式。异步更新 会造成PWM功能瞬间被禁止,使得 功能瞬间被禁止, 波形转换时不同步, 会造成 功能瞬间被禁止 使得PWM波形转换时不同步,可能会引 波形转换时不同步 起被控设备的振动。所以应尽量避免使用异步更新。 起被控设备的振动。所以应尽量避免使用异步更新。

3 ) PWM脉冲输出设置 脉冲输出设置 下面以Q0.0为脉冲输出端介绍 为脉冲输出端介绍PWM脉冲输出的设置步骤。 脉冲输出的设置步骤。 下面以 为脉冲输出端介绍 脉冲输出的设置步骤 (1) 使用初始化脉冲触点 使用初始化脉冲触点SM0.1调用 调用PWM脉冲输出初始化操作子程序。 脉冲输出初始化操作子程序。 调用 脉冲输出初始化操作子程序 这个结构可以使系统在后续的扫描过程中不再调用这个子程序, 这个结构可以使系统在后续的扫描过程中不再调用这个子程序,从而减少 了扫描时间,且程序更为结构化。 了扫描时间,且程序更为结构化。 (2) 在初始化子程序中,将 16#D3(2#11010011)写入 SMB67 控制字节中 在初始化子程序中, 写入 设置内容为脉冲输出允许;选择PWM方式;使用同步更新;选择以微秒 方式; 。设置内容为脉冲输出允许;选择 方式 使用同步更新; 为增量单位;可以更新脉冲宽度和周期。 为增量单位;可以更新脉冲宽度和周期。 (3) 向SMW68中写入希望的周期值。 中写入希望的周期值。 中写入希望的周期值 (4) 向SMD70中写入希望的脉冲宽度。 中写入希望的脉冲宽度。 中写入希望的脉冲宽度 (5) 执行 执行PLS指令,开始输出脉冲。 指令, 指令 开始输出脉冲。 (6) 若要在后续程序运行中修改脉冲宽度,则向 若要在后续程序运行中修改脉冲宽度,则向SMB67中写入 中写入 16#D2(2#11010010),即可以改变脉冲宽度,但不允许改变周期值。再次执 ,即可以改变脉冲宽度,但不允许改变周期值。 指令。 行PLS指令。 指令

在上面初始化子程序的基础上,若要改变脉冲宽度,则执行以下步骤。 在上面初始化子程序的基础上,若要改变脉冲宽度,则执行以下步骤。 (1) 调用一子程序,把所需脉冲宽度写入 调用一子程序,把所需脉冲宽度写入SMD70中。 中 (2) 执行 执行PLS指令。 指令。 指令

PTO脉冲串输出设置 脉冲串输出设置
1) PTO脉冲串含义及周期、脉冲数设置要求 脉冲串含义及周期、 脉冲串含义及周期 PTO脉冲串用于输出占空比为 ∶1的方波,可以设置其周期和输出的脉 脉冲串用于输出占空比为1∶ 的方波 的方波, 脉冲串用于输出占空比为 1?s 冲数量。周期的增量单位可以设为微秒( )或毫秒 或毫秒(ms), 冲数量。周期的增量单位可以设为微秒( )或毫秒(ms),周期变化范围分别 为 50~65535微秒和 2~65535ms。周期设置时,设置值应为偶数,若设为奇 ~ 微秒和 ~ 。周期设置时,设置值应为偶数, 数会引起输出波形占空比的轻微失真。周期设置值应大于2,若设置值小于2 数会引起输出波形占空比的轻微失真。周期设置值应大于 ,若设置值小于 系统将默认为2。脉冲数设置范围为1~ ,系统将默认为 。脉冲数设置范围为 ~4294967295,若设置值为 ,系统 ,若设置值为0, 将默认为1。 将默认为 。 2) PTO脉冲串的单段管线和多段管线输出控制 脉冲串的单段管线和多段管线输出控制 PTO功能允许脉冲串的排队输出,当前脉冲串完成时,可以立即开始新 功能允许脉冲串的排队输出,当前脉冲串完成时, 功能允许脉冲串的排队输出 脉冲的输出,从而形成管线,保证了脉冲串顺序输出的连续性。根据管线的 脉冲的输出,从而形成管线,保证了脉冲串顺序输出的连续性。 实现形式, 分为单段管线和多段管线两种。 实现形式,将PTO分为单段管线和多段管线两种。 分为单段管线和多段管线两种

(1) 单段管线。 单段管线。 管线中只能存放一个脉冲串控制参数, 管线中只能存放一个脉冲串控制参数,一旦启动了一个脉冲串输 就要立即为下一个脉冲串设置控制参数,并再次执行PLS指令。第 指令。 出,就要立即为下一个脉冲串设置控制参数,并再次执行 指令 一个脉冲串输出完毕后,第二个脉冲串自动开始输出。重复以上过程 一个脉冲串输出完毕后,第二个脉冲串自动开始输出。 就可输出多个脉冲串。若前后脉冲串的时间基准产生变化或利用PLS指 就可输出多个脉冲串。若前后脉冲串的时间基准产生变化或利用 指 令捕捉到新脉冲串之前上一个脉冲串已经完成,在脉冲串之间会出现 令捕捉到新脉冲串之前上一个脉冲串已经完成, 不*滑转换。 不*滑转换。 在管线满时,若要再装入一个脉冲串的控制参数,则状态位 在管线满时,若要再装入一个脉冲串的控制参数,则状态位SM66.6 SM76.6会置位 表示PTO管线溢出 单段管线编程较复杂, 会置位, 管线溢出。 或SM76.6会置位,表示PTO管线溢出。单段管线编程较复杂,主要 要注意新脉冲串控制参数的写入时机。 要注意新脉冲串控制参数的写入时机。

(2) 多段管线。 多段管线。 在多段管线方式下,需要在变量存储器区 建立一个包络表 建立一个包络表。 在多段管线方式下,需要在变量存储器区(V)建立一个包络表。包 络表中包含各脉冲串的参数(初始周期 周期增量和脉冲数)及要输出脉 初始周期、 络表中包含各脉冲串的参数 初始周期、周期增量和脉冲数 及要输出脉 冲串的段数。使用PLS指令启动输出后,系统自动从包络表中读取每个 指令启动输出后, 冲串的段数。使用 指令启动输出后 脉冲串的参数进行输出。 脉冲串的参数进行输出。 编程时,必须向 编程时,必须向SMW168或SMW178装入包络表的起始变量的偏 或 装入包络表的起始变量的偏 移地址(从 开始计算偏移地址 例如包络表从VB300开始,则需向 开始计算偏移地址), 开始, 移地址 从V0开始计算偏移地址 ,例如包络表从 开始 SMW168或SMW178中写入十进制数 。包络表中的周期增量可以选 中写入十进制数300。 或 中写入十进制数 择微秒或毫秒,但一个包络表中只能选择一个时间基准,运行过程中 择微秒或毫秒,但一个包络表中只能选择一个时间基准, 也不能改变。 也不能改变。

包络表格式
从包络表起始 地址 开始的字节偏 移地址 VBn VWn+1 VWn+3 VDn+5 VWn+9 VWn+11 VDn+13 … … 第2段 段 第1段 段 包络表 各段 描 述

段数(1~ 则产生非致命性错误, 段数 ~255):设为 则产生非致命性错误, :设为0则产生非致命性错误 不产生PTO输出 不产生 输出 初始周期(2~65535时间基准单位 时间基准单位) 初始周期(2~65535时间基准单位) 每个脉冲的周期增量(每个脉冲的周期增量 -32768~32767时间基 ~ 时间基 准单位) 准单位 脉冲数(1~ 脉冲数 ~4294967295) 初始周期(2~ 时间基准单位) 初始周期 ~65535时间基准单位 时间基准单位 每个脉冲的周期增量(每个脉冲的周期增量 -32768~32767时间基 ~ 时间基 准单位) 准单位 脉冲数(1~ 脉冲数 ~4294967295) …

包络表中各段的长度均为8个字节, 包络表中各段的长度均为 个字节,前两个字节为该段起始时脉冲的周期值 个字节 ;接下来的两个字节为前后两个脉冲之间周期值的变化量,若为正则输出 接下来的两个字节为前后两个脉冲之间周期值的变化量, 脉冲周期变大,若为负则输出脉冲周期变小,若为0则输出脉冲周期不变 则输出脉冲周期不变; 脉冲周期变大,若为负则输出脉冲周期变小,若为 则输出脉冲周期不变; 最后四个字节设置本段内输出脉冲的数量。 最后四个字节设置本段内输出脉冲的数量。 一般来说,为了使各脉冲段之间能够*滑过渡,各段的结束周期 一般来说,为了使各脉冲段之间能够*滑过渡,各段的结束周期(ECT)与 与 下一段的初始周期(ICT)应相等,在各段输出脉冲数 确定的情况下,脉 应相等, 确定的情况下, 下一段的初始周期 应相等 在各段输出脉冲数(Q)确定的情况下 需要经过计算来确定。 冲的周期增量(N)需要经过计算来确定 冲的周期增量(N)需要经过计算来确定。 例如: 脉冲数为400个;而第 段的初始周期 例如:第1段中的初始周期为 500?s ,脉冲数为 段中的初始周期为 个 而第2段的初始周期 为保证*滑过渡, 段的结束周期设为与第2段初始周期相同 为 100?s ,为保证*滑过渡,第1段的结束周期设为与第 段初始周期相同 段的结束周期设为与第 ,则脉冲的周期增量为

ECT ? ICT 100 ? 500 = = ?1 N= Q 400

3) PTO脉冲串输出设置 脉冲串输出设置 下面以Q0.0为输出端介绍 为输出端介绍PTO脉冲串输出设置步骤。 脉冲串输出设置步骤。 下面以 为输出端介绍 脉冲串输出设置步骤 (1) 使用初始化脉冲触点 使用初始化脉冲触点SM0.1调用 调用PTO脉冲串输出初始化操作子 调用 脉冲串输出初始化操作子 程序。这个结构可以使系统在后续的扫描过程中不再调用这个子程序 程序。 从而减少了扫描时间,且程序更为结构化。 ,从而减少了扫描时间,且程序更为结构化。 (2) 在子程序中,若设置单段操作,则将 在子程序中,若设置单段操作,则将16#85(2#10000101)写入 写入SMB67 写入 表示脉冲输出允许、选择PTO功能、单段操作、以微秒为增量单位、可 功能、 ,表示脉冲输出允许、选择 功能 单段操作、以微秒为增量单位、 更新脉冲数和周期值;若设置多段操作,则将16#A0(2#10100000)写入 以 更新脉冲数和周期值;若设置多段操作,则将 写入 SMB67,表示脉冲输出允许、选择 功能、 ,表示脉冲输出允许、选择PTO功能、多段操作、以微秒为增量单 功能 多段操作、 位。 (3) 单段操作中向 单段操作中向SMW68中写入希望的周期值,向SMD72中写入希望 中写入希望的周期值, 中写入希望的周期值 中写入希望 的脉冲数;多段操作中则要向SMW168中写入包络表的起始变量存储器偏移 的脉冲数;多段操作中则要向 中写入包络表的起始变量存储器偏移 地址,然后建立包络表。 地址,然后建立包络表。 (4) 为捕获高速脉冲输出对应的中断事件 为捕获高速脉冲输出对应的中断事件(PTO脉冲输出完成中断 编写 脉冲输出完成中断)编写 脉冲输出完成中断 相应的中断程序,并参考中断事件及其优先级, 相应的中断程序,并参考中断事件及其优先级,用ATCH中断连接指令建立 中断连接指令建立 中断事件和中断程序的联系。本步骤可选。 中断事件和中断程序的联系。本步骤可选。 (5) 执行 执行PLS指令。 指令。 指令




友情链接: year2525网 工作范文网 QS-ISP 138资料网 528200 工作范文网 baothai 表格模版