收藏 分享(赏)

s7-200高速脉冲计数器及PTO和PWM.doc

上传人:精品资料 文档编号:8013401 上传时间:2019-06-04 格式:DOC 页数:10 大小:243.50KB
下载 相关 举报
s7-200高速脉冲计数器及PTO和PWM.doc_第1页
第1页 / 共10页
s7-200高速脉冲计数器及PTO和PWM.doc_第2页
第2页 / 共10页
s7-200高速脉冲计数器及PTO和PWM.doc_第3页
第3页 / 共10页
s7-200高速脉冲计数器及PTO和PWM.doc_第4页
第4页 / 共10页
s7-200高速脉冲计数器及PTO和PWM.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、高速脉冲计数器高速计数器专用输入高速计数器 使用的输入HSC0 I0.0, I0.1, 0.2HSC1 I0.6, I0.7, I1.0, I1.1HSC2 I1.2, I1.3, I1.4, I1.5HSC3 I0.1HSC4 I0.3, I0.4, I0.5HSC5 I0.4有些高速计数器和边缘中断的输入点赋值存在某些重叠。同一个输入不能用于两种不同的功能;但是高速计数器当前模式未使用的任何输入均可用于其他目的。例如,如果在模式 2 中使用 HSC0,模式 2 使用I0.0 和 I0.2,则 I0.1 可用于边缘中断或用于 HSC3。如果所用的 HSC0 模式不使用输入 I0.1,则该输入

2、可用于 HSC3 或边缘中断。与此相似,如果所选的HSC0 模式不使用 I0.2,则该输入可用于边缘中断;如果所选 HSC4 模式不使用 I0.4,则该输入可用于HSC5。请注意 HSC0 的所有模式均使用 I0.0,HSC4 的所有模式均使用 I0.3,因此当使用这些计数器时,这些输入点绝不会用于其他用途。HSC 模式 说明(中断描述) 输入点HSC0 I0.0 I0.1 I0.2HSC1 I0.6 I0.7 I1.0 I1.1HSC2 I1.2 I1.3 I1.4 I1.5HSC3 I0.1HSC4 I0.3 I0.4 I0.5HSC5 I0.40 时钟1 时钟 复位2具有内部方向控制的单

3、相计数器 时钟 复位 启动3 时钟 方向4 时钟 方向 复位5具有外部方向控制的单相计数器 时钟 方向 复位 启动6 增计数脉冲 减计数脉冲7 增计数脉冲 减计数脉冲 复位8具有两个时钟输入的双向计数器 增计数脉冲 减计数脉冲 复位 启动9 时钟脉冲 A 时钟脉冲 B10 时钟脉冲 A 时钟脉冲 B 复位11A/B 相正交计数器时钟脉冲 A 时钟脉冲 B 复位 启动12仅HSC0和HSC3支持模式12。HSC0计数Q0.0输出的脉冲数。HSC3 计数 Q0.1 输出的脉冲数。四台计数器有三个控制位,用于配置复原和起始输入的激活状态并选择 1x 或 4x 计数模式(仅限正交计数器) 。这些控制位

4、位于各自计数器的控制字节内,只在执行 HDEF 指令时才使用。执行 HDEF 指令之前,必须将这些控制位设为所需的状态,否则计数器采用所选计数器模式的默认配置。复原输入和起始输入的默认设置为现用水平高,正交计数速率为 4x(或 4 乘以输入时钟频率) 。一旦执行了 HDEF 指令,就不能再改变计数器设置,除非首先将 CPU 设为 STOP(停止)模式。下表 复位和启动输入的有效电平以及 1x/4x 控制位HSC0 HSC1 HSC2 HSC4 HDEF 控制位(仅在执行 HDEF 时使用)说明SM37.0 SM47.0 SM57.0 SM147.0 “复原“ 的有效控制位*:0 = 复原现用水

5、平高 1 = 复原现用水平低 SM47.1 SM57.1 起动有效电平控制位*:0 = 起始现用水平高 1 = 起始现用水平低SM37.2 SM47.2 SM57.2 SM147.2 “正交“计数器的计数速率选项:0 = 4x 计数速率 1 = 1x 计数速率 *缺省设置为:复位输入和启动输入高电平有效,正交计数率为四倍速(四倍输入时钟频率)。定义控制字节一旦定义了计数器和计数器模式,您就可以为计数器动态参数编程。每台高速计数器均有一个控制字节,允许完成以下作业:* 启用或禁止计数器* 控制方向(仅限模式 0、1 和 2)或初始化所有其他模式的计数方向* 载入当前值通过执行 HSC 指令可激活

6、控制字节以及相关当前值和预设值检查。下表说明每个控制位。HSC0 HSC1 HSC2 HSC3 HSC4 HSC5 中断描述SM37.3 SM47.3 SM57.3 SM137.3 SM147.3 SM157.3 计数方向控制位: 0=减计数; 1=增计数SM37.4 SM47.4 SM57.4 SM137.4 SM147.4 SM157.4 向HSC中写入计数方向:0=不更新; 1=更新 计数方向SM37.5 SM47.5 SM57.5 SM137.5 SM147.5 SM157.5 向HSC中写入预置值:0=不更新; 1=更新预置值SM37.6 SM47.6 SM57.6 SM137.6

7、SM147.6 SM157.6 向HSC中写入新的初始值:0=不更新; 1=更新初始值SM37.7 SM47.7 SM57.7 SM137.7 SM147.7 SM157.7 启用 HSC:0 = 禁用 HSC 1 = 启用 HSC设置当前值和预设值每台高速计数器都有一个 32 位初始值和一个 32 位预设值,初始值和预设值均为带符号的整数值。欲向高速计数器载入新的初始值和预设值,您必须设置包含初始值和或预设值的控制字节及特殊内存字节。然后您必须执行 HSC 指令,将新数值传输至高速计数器。下表说明用于包含新当前值和预设值的特殊内存字节。除控制字节以及新预设值和当前值保持字节外,还可以使用数据

8、类型 HC(高速计数器当前值)加计数器号码(0、1、2、3、4 或 5)读取每台高速计数器的当前值。因此,读取操作可直接存取当前值,但只有用上述 HSC 指令才能执行写入操作。载入数值 HSC0 HSC1 HSC2 HSC3 HSC4 HSC5新初始值 SMD38 SMD48 SMD58 SMD138 SMD148 SMD158新预设值 SMD42 SMD52 SMD62 SMD142 SMD152 SMD162指定中断所指有定计中数断器模式都支持在HSC的当前值等于预设值时产生一个中断事件。使用外部复位端的计数模式支持外部复位中断。除去模式0、1和2之外,所有计数器模式支持计数方向改变中断。

9、每种中断条件都可以分别使能或者禁止。要得到关于使用中断的更多信息,参见通讯和中断指令一节注:当使用外部复位中断时,不要写入初始值,或者是在该中断服务程序中禁止再允许高速计数器,否则会产生一个致命错误。状态字节每个高速计数器都有一个状态字节,其中的状态存储位指出了当前计数方向,当前值是否大于或者等于预置值。下表给出了每个高速计数器状态位的定义提示:只有在执行中断服务程序时,状态位才有效。监视高速计数器状态的目的是使其它事件能够产生中断以完成更重要的操作。HSC0到HSC5的状态位HSC0 HSC1 HSC2 HSC3 HSC4 HSC5 中断描述SM36.0 SM46.0 SM56.0 SM13

10、6.0 SM146.0 SM156.0 不用SM36.1 SM46.1 SM56.1 SM136.1 SM146.1 SM156.1 不用SM36.2 SM46.2 SM56.2 SM136.2 SM146.2 SM156.2 不用SM36.3 SM46.3 SM56.3 SM136.3 SM146.3 SM156.3 不用SM36.4 SM46.4 SM56.4 SM136.4 SM146.4 SM156.4 不用SM36.5 SM46.5 SM56.5 SM136.5 SM146.5 SM156.5 当前计数方向状态位 0=减计数; 1=增计数SM36.6 SM46.6 SM56.6 SM

11、136.6 SM146.6 SM156.6 当前值等于预置值状态位 0=不等; 1=相等SM36.7 SM46.7 SM56.7 SM136.7 SM146.7 SM156.7 当前值大于预置值状态位:0=小于等于;1=大 于脉冲输出指令脉冲输出(PLS)指令被用于控制在高速输出(Q0.0和Q0.1)中提供的“脉冲串输出“(PTO)和“脉宽调制“(PWM)功能。PTO提供方波(50%占空比)输出,配备周期和脉冲数用户控制功能。PWM提供连续性变量占空比输出,配备周期和脉宽用户控制功能。识别S7-200高速输出指令S7-200有两台PTO/PWM发生器,建立高速脉冲串或脉宽调节信号信号波形。一台

12、发生器指定给数字输出点Q0.0,另一台发生器指定给数字输出点Q0.1。一个指定的特殊内存(SM)位置为每台发生器存储以下数据:一个控制字节(8位值) 、一个脉冲计数值(一个不带符号的32位值)和一个周期和脉宽值(一个不带符号的16位值) 。PTO/PWM发生器和过程映像寄存器共用Q0.0和Q0.1。PTO或PWM功能在Q0.0或Q0.1位置现用时,PTO/PWM发生器控制输出,并禁止输出点的正常使用。输出信号波形不受过程映像寄存器状态、点强迫数值、执行立即输出指令的影响。PTO/PWM发生器非现用时,输出控制转交给过程映像寄存器。过程映像寄存器决定输出信号波形的初始和最终状态,使信号波形在高位

13、或低位开始和结束。注释 在启用PTO或PWM操作之前,将用于Q0.0和Q0.1的过程映像寄存器设为0。 所有的控制位、周期、脉宽和脉冲计数值的默认值均为0 PTO/PWM输出必须至少有10%的额定负载,才能提供陡直的上升沿和下降沿。每台PTO/PWM发生器有一个控制字节(8位) ,一个周期值和脉宽值(不带符号的16位值)和一个脉冲计值(不带符号的32位值) 。这些值全部存储在特殊内存(SM)区域的指定位置。一旦设置这些特殊内存位的位置,选择所需的操作后,执行脉冲输出指令(PLS)即启动操作。该指令使S7-200读取SM位置,并为PTO/PWM发生器编程。通过修改SM区域中(包括控制字节)要求的

14、位置,您可以更改PTO或PWM的信号波形特征,然后执行PLS指令。您可以在任意时间向控制字节(SM67.7或SM77.7)的PTO/PWM启用位写入零,禁用PTO或PWM信号波形的生成,然后执行PLS指令。脉冲串操作(PTO)PTO按照给定的脉冲个数和周期输出一串方波(占空比50)。(见右图)PTO可以产生单段脉冲串或者多段串(使用脉冲包络)。可以指定脉冲数和周期(以微秒或毫秒为增加量):- 脉冲个数: 1到4,294,967,295- 周期: 10s到 65,535s或者2ms 到 65,535ms。如果为周期指定一个奇微秒数或毫秒数(例75ms ) 将会引起占空比失真下表中是对计数和周期的

15、限定。PTO功能的脉冲个数及周期脉冲个数/周期 结果周期2个时间单位 将周期缺省地设定为2个时间单位脉冲个数=0 将脉冲个数缺省地设定为1个脉冲PTO功能允许脉冲串“链接”或者“排队”。当当前脉冲串输出完成时,会立即开始输出一个新的脉冲串。这保证了多个输出脉冲串之间的连续性。PTO脉管冲的单段管线在单段线串模式,需要为下一个脉冲串更新特殊寄存器。一旦启动了起始PTO段,就必须按照第二个波形的要求改变特殊寄存器,并再次执行PLS指令。第二个脉冲串的属性在管线中一直保持到第一个脉冲串发送完成。在管线中一次只能存储一段脉冲串的属性。当第一个脉冲串发送完成时,接着输出第二个波形,此时管线可以用于下一个

16、新的脉冲串。重复这个过程可以再次设定下一个脉冲串的特性。除去以下两种情况之外,脉冲串之间可以作到平滑转换:时间基准发生了变化或者在利用PLS指令捕捉到新脉冲之前,启动的脉冲串已经完成。如果您在管线已满时尝试载入,状态寄存器(SM66.6 或 SM76.6)中的 PTO 溢出位被设置。进入RUN(运行)模式时,该位被初始化为 0。如果您希望探测随后出现的溢出,则必须在探测到溢出之后以手动方式清除该位。PTO脉冲线串的多段管线在多段脉管模式, CPU自动从V存储器区的包络表中读出每个脉冲串的特性。在该模式下,仅使用特殊存储器区的控制字节和状态字节。选择多段操作,必须装入包络表在V存储器中的起始地址

17、偏移量(SMW168或SMW178)。时间基准可以选择微秒或者毫秒,但是,在包络表中的所有周期值必须使用同一个时间基准,而且在包络正在运行时不能改变。执行PLS指令来启动多段操作。每段记录的长度为8个字节,由16位周期值、16位周期增量值和32位脉冲个数值组成。下表中给出了包络表的格式。您可以通过编程的方式使脉冲的周期自动增减。在周期增量处输入一个正值将增加周期;输入一个负值将减少周期;输入0将不改变周期。如果您指定的周期增量在一定数量的脉冲后导致非法周期则会出现数学溢出条件。PTO功能被终止,输出转换成映象寄存器控制。此外,状态字节(SM66.4或SM76.4)中的增量计算错误位被设为一。如

18、果您以手动方式异常中止正在运行的PTO包络,状态字节(SM66.5或SM76.5)中的用户异常中止位则被设为一。当PTO包络执行时,当前启动的段的编号保存在SMB166(或SMB176)。多段PTO操作的包络表格式字节偏移量 包络段数 描述0 段数1到255 11 初始周期(2到65535时间基准单位)3 每个脉冲的周期增量(有符号值)(-32768到32767时间基准单位)51脉冲数(1到4294967295)9 初始周期(2到65535时间基准单位)11 每个脉冲的周期增量(有符号值)(-32768到32767时间基准单位)132脉冲数(1到4294967295)(连续) 3 (连续)1

19、输入0作为脉冲串的段数会产生一个非致命错误,将不产生PTO输出脉宽调制(PWM)PWM产生一个占空比变化周期固定的脉冲输出,(见下图)您可以以微秒或者毫秒为单位指定其周期和脉冲宽度:- 周期: 10s到65,535s或者2ms到65,535ms- 脉宽: 0s到65,535s或者0ms到65,535ms。如下表所示,设定脉宽等于周期(使占空比为100) ,输出连续接通。设定脉宽等于0(使占空比为0) ,输出断开。脉宽、周期和PWM功能的执行结果。脉宽/周期 结果脉宽周期值 占空比为100%:输出连续接通脉宽0 占空比为0%:输出断开。周期2个时间单位 将周期缺省地设定为2个时间单位。有两个方法

20、改变PWM波形的特性:- 同步更新:如果不需要改变时间基准,就可以进行同步更新。利用同步更新,波形特性的变化发生在周期边沿,提供平滑转换。- 异步更新:PWM的典型操作是当周期时间保持常数时变化脉冲宽度。所以,不需要改变时间基准。但是,如果需要改变PTO/PWM发生器的时间基准,就要使用异步更新。异步更新会造成PTO/PWM功能被瞬时禁止,和PWM波形不同步。这会引起被控设备的振动。由于这个原因,建议采用PWM同步更新。选择一个适合于所有周期时间的时间基准。提示: 控制字节中的 PWM更新方式位( SM67.4或 SM77.4)用于指定更新方式。当 PLS指令执行时变化生效。如果改变了时间基准

21、,会产生一个异步更新,而与 PWM更新方式位的状态无关。使用SM来配置和控制PTO/PWM操作PLS指令会从特殊存储器SM中读取数据,使程序按照其存储值控制PTO/PWM发生器。SMB67控制PTO0或者PWM0,SMB77控制PTO1或者PWM1。下表对用于控制PTO/PWM操作的存储器给出了描述。您可以使用PTO/PWM控制字节参考表作为一个快速参考,用其中的数值作为PTO/PWM控制寄存器的值来实现需要的操作。您可以通过修改SM存储区(包括控制字节),然后执行PLS指令来改变PTO或PWM波形的特性。您可以在任意时刻禁止PTO或者PWM波形,方法为:首先将控制字节中的使能位(SM67.7

22、或者SM77.7)清0,然后执行PLS指令。PTO状态字节中的空闲位(SM66.7或者SM76.7)标志着脉冲串输出完成。另外,在脉冲串输出完成时,您可以执行一段中断服务程序。如果您使用多段操作,可以在整个包络表完成之后执行中断服务程序。下列条件使SM66.4(或SM76.4)或SM66.5(或SM76.5)置位:- 如果周期增量使PTO在许多脉冲后产生非法周期值,会产生一个算术溢出错误,这会终止PTO功能并在状态字节中将增量计算错误位(SM66.4或者SM76.4)置1,PLC的输出变为由映象寄存器控制。- 如果要手动终止一个正在进行中的PTO包络,要把状态字节中的用户终止位(SM66.5或

23、SM76.5)置1。- 当管线满时,如果试图装载管线,状态存储器中的PTO溢出位(SM66.6或者SM76.6)置1。如果想用该位检测序列的溢出,必须在检测到溢出后手动清除该位。当CPU切换至RUN模式时,该位被初始化为0。提示: 如果要装入新的脉冲数( SMD72或 SMD82)、脉冲宽度( SMW70或 SMW80)或周期( SMW68或 SMW78),应该在执行 PLS指令前装入这些值和控制寄存器。如果要使用多段脉冲串操作,在使用 PLS指令前也需要装入包络表的起始偏移量( SMW168或 SMW178)和包络表的值。PTO/PWM控制寄存器的SM标志Q0.0 Q0.1 状态字节SM66

24、.4 SM76.4 PTO包络由于增量计算错误而终止 0=无错误; 1=终止SM66.5 SM76.5 PTO包络由于用户命令而终止 0=无错误; 1=终止SM66.6 SM76.6 PTO管线上溢/下溢 0=无溢出; 1=上溢/下溢SM66.7 SM76.7 PTO空闲 0=执行中; 1=PTO空闲Q0.0 Q0.1 控制字节SM67.0 SM77.0 PTO/PWM更新周期值 0=不更新; 1=更新周期值SM67.1 SM77.1 PWM更新脉冲宽度值 0=不更新; 1=脉冲宽度值SM67.2 SM77.2 PTO更新脉冲数 0=不更新; 1=更新脉冲数SM67.3 SM77.3 PTO/

25、PWM时间基准选择 0=1s/格,1=1ms/格SM67.4 SM77.4 PWM更新方法: 0=异步更新;1=同步更新SM67.5 SM77.5 PTO操作: 0=单段操作;1=多段操作SM67.6 SM77.6 PTO/PWM模式选择 0=选择PTO;1=选择PWMSM67.7 SM77.7 PTO/PWM允许 0=禁止; 1=允许Q0.0 Q0.1 其它PTO/PWM寄存器SMW68 SMW78 PTO/PWM周期值(范围:2到65535)SMW70 SMW80 PWM脉冲宽度值(范围:0到65535)SMD72 SMD82 PTO脉冲计数值(范围:1到4,294,967,295)SMB

26、166 SMB176 进行中的段数(仅用在多段PTO操作中)SMW168 SMW178 包络表的起始位置,用从V0开始的字节偏移表示(仅用在多段PTO操作中)SMB170 SMB180 线性包络状态字节SMB171 SMB181 线性包络结果寄存器SMD172 SMD182 手动模式频率寄存器PTO/PWM控制字节参考执行PLS指令的结果控制寄存器(16进制)允许 模式选择PTO段操作 PWM更新方法时基 脉冲数 脉冲宽度周期1681 YES PTO 单段 1s/周期 装入1684 YES PTO 单段 1s/周期 装入1685 YES PTO 单段 1s/周期 装入 装入1689 YES P

27、TO 单段 1ms/周期 装入168C YES PTO 单段 1ms/周期 装入168D YES PTO 单段 1ms/周期 装入 装入16A0 YES PTO 多段 1s/周期16A8 YES PTO 多段 1ms/周期16D1 YES PWM 同步 1s/周期 装入16D2 YES PWM 同步 1s/周期 装入16D3 YES PWM 同步 1s/周期 装入 装入16D9 YES PWM 同步 1ms/周期 装入16DA YES PWM 同步 1ms/周期 装入16DB YES PWM 同步 1ms/周期 装入 装入计算包络表的值PTO/PWM发生器的多段管线功能在许多应用中非常有用,尤

28、其在步进电机控制中。例如:您可以用带有脉冲包络的PTO来控制一台步进电机,来实现一个简单的加速、匀速和减速过程或者一个由最多255段脉冲包络组成的复杂过程,而其中每一段包络都是加速、匀速或者减速操作。下图示例给出的包络表值要求产生一个输出波形包括三段:步进电机加速(第一段);步进电机匀速(第二段)和步进电机减速(第三段)。对该例,假定需要4000个脉冲达到要求的电机转动数,启动和结束频率是2kHz,最大脉冲频率是10kHz。由于包络表中的值是用周期表示的,而不是用频率,需要把给定的频率值转换成周期值。所以,启动和结束的脉冲周期为500s,最高频率的对应周期为100s。在输出包络的加速部分,要求

29、在200个脉冲左右达到最大脉冲频率。也假定包络的减速部分,在400个脉冲完成。在该例中,使用一个简单公式计算PTO/PWM发生器用来调整每个脉冲周期所使用的周期增量值:De给定段的周期增量=ECT-ICT/Q其中: ECT = 该段结束周期时间ICT = 该段初始化周期时间 Q = 该段的脉冲数量利用这个公式,加速部分(第1段)的周期增量是-2。由于第2段是恒速控制,因此,该段的周期增量是0。相似地,减速部分(第3段)的周期增量是1。假定包络表存放在从VB500开始的V存储器区,下表给出了产生所要求波形的值。该表的值可以在用户程序中用指令放在V存储器中。一种方法是在数据块中定义包络表的值。包络

30、表值V存储器地址 值 中断描述VB500 3 总段数VW501 500 初始周期VW503 -2 周期增量VD505 200 脉冲数段1VW509 100 初始周期VW511 0 周期增量VD513 3400 脉冲数段2VW517 100 初始周期VW519 1 周期增量VD521 400 脉冲数段3段的最后一个脉冲的周期在包络中不直接指定,但必须计算出来(除非周期增量是0)。如果在段之间需要平滑转换,知道段的最后一个脉冲的周期是有用的。计算段的最后一个脉冲周期的公式是:段的最后一个脉冲的周期时间=ICT+(DEL*(Q-1)其中: ICT = 该段的初始化周期时间DEL = 该段的增量周期时

31、间Q = 该段的脉冲数量作为介绍,上面的简例是有用的,实际应用可能需要更复杂的波形包络。记住:周期增量只能以微秒数或毫秒数指定,周期的修改在每个脉冲上进行。这两项的影响使对于一个段的周期增量的计算可能需要叠代方法。对于结束周期值或给定段的脉冲个数,可能需要作调整。在确定校正包络表值的过程中,包络段的持续时间很有用。按照下面的公式可以计算完成一个包络段的时间长短:包络段的持续时间 = Q*(ICT+(DEL/2)*(Q-1)其中: Q = 该段的脉冲数量ICT = 该段的初始化周期时间 DEL = 该段的增量周期时间PTO/PWM初始化和操作顺序以下是初始化和操作顺序说明,能够帮助您更好地识别P

32、TO和PWM功能操作。在整个顺序说明过程中一直使用脉冲输出Q0.0。初始化说明假定S7-200刚刚置入RUN(运行)模式,因此首次扫描内存位为真实。如果不是如此或者如果必须对PTO/PWM功能重新初始化,您可以利用除首次扫描内存位之外的一个条件调用初始化例行程序。PWM初始化以下PWM初始化和操作顺序说明建议使用“首次扫描“位(SM0.1)初始化脉冲输出。使用“首次扫描“位调用初始化子程序可降低扫描时间,因为随后的扫描无须调用该子程序。 (仅需在转换为RUN(运行)模式后的首次扫描时设置“首次扫描“位。 )但是,您的应用程序可能有其他限制,要求您初始化(或重新初始化)脉冲输出。在此种情况下,您

33、可以使用另一个条件调用初始化例行程序。通常,您用一个子程序为脉冲输出初始化PWM。您从主程序调用初始化子程序。使用首次扫描内存位(SM0.1)将脉冲输出初始化为0,并调用子程序,执行初始化操作。当您使用子程序调用时,随后的扫描不再调用该子程序,这样会降低扫描时间执行,并提供结构更严谨的程序。从主程序建立初始化子程序调用后,用以下步骤建立控制逻辑,用于在初始化子程序中配置脉冲输出Q0.0:1. 通过将以下一个值载入SMB67: 16#D3(选择微秒递增)或16#DB(选择毫秒递增)的方法配置控制字节。两个数值均可启用PTO/PWM功能、选择PWM操作、设置更新脉宽和周期值、以及选择(微秒或毫秒)

34、 。2. 在SMW68中载入一个周期的字尺寸值。3. 在SMW70中载入脉宽的字尺寸值。4. 执行PLS指令(以便S7-200为PTO/PWM发生器编程) 。5. 欲为随后的脉宽变化预载一个新控制字节数值(选项) ,在SMB67: 16#D2(微秒)或16#DA(毫秒)中载入下列数值之一。6. 退出子程序。为PWM输出更改脉宽如果您用16#D2或16#DA预载SMB67(请参阅以上第5步) ,您可以使用一个将脉宽改变为脉冲输出(Q0.0)的子程序。建立对该子程序的调用后,使用以下步骤建立改变脉宽的控制逻辑:1. 在SMW70中载入新脉宽的字尺寸值。2. 执行PLS指令,使S7-200为PTO/

35、PWM发生器编程。3. 退出子程序。PTO初始化单段操作以下PWM初始化和操作顺序说明建议使用“首次扫描“位(SM0.1)初始化脉冲输出。使用“首次扫描“位调用初始化子程序可降低扫描时间,因为随后的扫描无须调用该子程序。 (仅需在转换为RUN(运行)模式后的首次扫描时设置“首次扫描“位。 )但是,您的应用程序可能有其他限制,要求您初始化(或重新初始化)脉冲输出。在此种情况下,您可以使用另一个条件调用初始化例行程序。通常,您用一个子程序为脉冲输出初始化PWM。您从主程序调用初始化子程序。使用首次扫描内存位(SM0.1)将脉冲输出初始化为0,并调用子程序,执行初始化操作。当您使用子程序调用时,随后

36、的扫描不再调用该子程序,这样会降低扫描时间执行,并提供结构更严谨的程序。从主程序建立初始化子程序调用后,用以下步骤建立控制逻辑,用于在初始化子程序中配置脉冲输出Q0.0:1. 通过将以下一个值载入SMB67: 16#85(选择微秒增加)或16#8D(选择毫秒增加)的方法配置控制字节。2. 两个值均可启用PTO/PWM功能、选择PWM操作、设置更新脉宽和周期值、以及选择(微秒或毫秒) 。在SMW68中载入一个周期的字尺寸值。3. 在SMD72中载入脉冲计数的双字尺寸值。4. (选项)如果您希望在脉冲串输出完成后立即执行相关功能,您可以将脉冲串完成事件(中断类别19)附加于中断子程序,为中断编程,

37、使用ATCH指令并执行全局中断启用指令ENI。5. 执行PLS指令,使S7-200为PTO/PWM发生器编程。6. 退出子程序。改变PTO周期单段操作对于单段PTO操作,您可以使用中断例行程序或子程序改变周期。欲使用单段PTO操作更改中断例行程序或子程序中的PTO周期,请遵循下列步骤:* 设置控制字节(启用PTO/PWM功能、选择PTO操作、选择、设置更新周期值) ,方法是在SMB67: 16#81(用于微秒)或16#89(用于毫秒)中载入下列一个值。* 在SMW68中,载入新周期的一个字尺寸值。* 执行PLS指令,使S7-200为PTO/PWM发生器编程。更新脉冲计数信号波形输出开始之前,C

38、PU必须完成所有进行中的PTO。* 退出中断例行程序或子程序。改变PTO脉冲计数单段操作对于单段PTO操作,您可以使用中断例行程序或子程序改变脉冲计数。欲使用单段PTO操作在中断例行程序或子程序中改变PTO脉冲计数,请遵循下列步骤:1. 设置控制字节(启用PTO/PWM功能、选择PTO操作、选择、设置更新周期值) ,方法是在SMB67: 16#84(用于微秒)或16#8C(用于毫秒)中载入以下两个值之一。2. 在SMD72中,载入新脉冲计数的一个双字尺寸值。3. 执行PLS指令(以便S7-200为PTO/PWM发生器编程) 。开始用更新脉冲计数生成信号波形之前,S7-200完成所有进行中的PT

39、O。4. 退出中断例行程序或子程序。改变PTO周期和脉冲计数单段操作对于单段PTO操作,您可以使用中断例行程序或子程序改变周期和脉冲计数。欲使用单段PTO操作更改中断例行程序或子程序中的PTO周期和脉冲计数,请遵循下列步骤:1. 设置控制字节(启用PTO/PWM功能、选择PTO操作、选择、设置更新周期和脉冲计数值) ,方法是在SMB67: 16#85(用于微秒)或16#8D(用于毫秒)中载入以下两个值之一。2. 在SMW68中,载入新周期的一个字尺寸值。3. 在SMC72中,载入新脉冲计数的一个双字尺寸值。4. 执行PLS指令,使S7-200为PTO/PWM发生器编程。用更新脉冲计数和脉冲时间

40、信号波形输出开始之前,CPU必须完成所有进行中的PTO。5. 退出中断例行程序或子程序。PTO初始化多段操作通常,您用一个子程序为多段操作的脉冲输出配置和初始化PTO。您从主程序调用初始化子程序。使用首次扫描内存位(SM0.1)将PTO使用的输出初始化为0,并调用子程序,执行初始化操作。当您使用“首次扫描“位调用初始化子程序时,随后的扫描不再调用该子程序,这样会降低扫描时间执行。从主程序建立对初始化例行程序的调用后,使用以下步骤建立控制逻辑,用于在初始化子程序中配置脉冲输出Q0.0:使用首次扫描内存位(SM0.1)将输出初始化为0,并调用您所需的子程序,执行初始化操作。这样会降低扫描时间执行,

41、并提供结构更严谨的程序。1. 通过将以下一个值载入SMB67: 16#A0(选择微秒增加)或16#A8(选择毫秒增加)的方法配置控制字节。两个数值均可启用PTO/PWM功能、选择PTO操作、选择多段操作、以及选择(微秒或毫秒) 。2. 在SMW168中载入一个字尺寸值,用作包络表起始V内存偏移量。3. 使用V内存在包络表中设置段值。确保“段数“域(表的第一个字节)正确无误。4. (选项)如果您希望在PTO包络完成后立即执行相关功能,您可以将脉冲串完成事件(中断类别19)附加在中断子程序中,为中断编程。使用ATCH执行全局中断启用指令ENI。5. 执行PLS指令,使S7-200为PTO/PWM发生器编程。6. 退出子程序。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报