滞后(采用增量的形式) 通过组态滞后 (页 71),可以定义比较值前后的范围。对于函数“介于比较值和计数器上限 之间”与“介于比较值和计数器下限之间”,还需要将该滞后值应用到计数器限值处。在滞后 范围内,数字量输出无法重新切换,直到计数器值超出该范围。 选择一个足够小的滞后值。如果滞后范围的起始值为所组态的比较值且超出整个计数值范 围,则无法确保比较值的正常运行。 如果比较值如此接近计数器限值,以至于滞后范围将超出该计数器限值,则滞后范围在此 时结束。 如果输入“0”,则禁用滞后。可输入一个介于 0 和 255 之间的值。默认设置为“0”。 说明 对于版本为 V3.0 及更高版本的 High_Speed_Counter,以下内容适用: 在“DQ0 特性”(Behavior of DQ0) 下一并组态两个数字量输出的滞后。该滞后还显示在 “DQ1 特性”(Behavior of DQ1) 下。 滞后只适用于操作模式“将计数值用作参考”。指定测量值 (High_Speed_Counter) 测量变量 此参数用来指定由工艺模块提供的测量变量 (页 64)。工艺对象在输出参数 MeasuredValue 中显示测量值。 可以选择下列选项: 测量变量 含义 其它选项特定的参数 频率 (默认) 测量变量显示每秒的增量数。该值为浮点数 (REAL)。单 位为 Hz。 工艺对象在输出参数 MeasuredValue 中显示测量值。 • 更新时间 周期 测量变量即为两个增量间的平均周期。该值为整数 (DINT)。单位为 s。 工艺对象在输出参数 MeasuredValue 中显示测量值。 • 更新时间 速度 测量变量是速度值。 有关速度测量示例,请参见“每单位增量数”(Increments per unit) 参数的说明。 工艺对象在输出参数 MeasuredValue 中显示测量值。 • 更新时间 • 速度测量的时间基数 • 每单位增量数 更新时间 以毫秒组态更新时间 (页 64),可指定两次测量值更新间的时间间隔。 更新时间和信号类型会影响测量的精度。如果更新时间至少为 100 ms,则可忽略信号类 型的影响。 如果更新时间小于 100 ms,可使用以下信号类型获取Zui大测量精度: • 增量编码器(A、B 相移),采用信号评估“单重” • 增量编码器(A、B、N),采用信号评估“单重” • 脉冲 (A) 和方向 (B) • 脉冲 (A) 对于其它信号类型,测量精度取决于使用的编码器和电缆。 如果输入“0”,则测量值可在每个模块内部周期更新一次。Zui多可输入三个小数位。允许 介于 0.0 到 25000.0 之间的值。默认设置为“10.0”。每单位增量数 该参数定义每个相关单位由增量或juedui值编码器提供给速度测量的计数脉冲数。 计数脉冲数取决于组态的信号评估。可输入一个介于 1 和 65535 之间的值。 示例 1: 行程 1 米,编码器相应地传送 4000 个计数脉冲。应以每秒米数为单位测量速度。“信号 评估”组态为“双重”。 这种情况下,需指定以下参数: • 每单位增量数:8000 • 速度测量的时基:1 s 示例 2: 编码器每转传送 4096 个计数脉冲。应以每分钟转数为单位测量速度。“信号评估”(signal evaluation) 组态为“单重”(Single)。 这种情况下,需指定以下参数:High_Speed_Counter 指令 High_Speed_Counter High_Speed_Counter 指令属于 High_Speed_Counter 工艺对象的一部分。该指令提供工 艺模块的控制和反馈接口。 因此,High_Speed_Counter 指令形成了用户程序与工艺模块之间的软件接口。为同步输 入和输出数据,该指令必须从用户程序中循环调用。 High_Speed_Counter 指令对 S7-1500 和 ET 200SP 的工艺模块均适用。可集中和分散使 用模块。在每种情况下该指令都适用于已分配给相关工艺对象的工艺模块的通道。
在用户程序中调用指令 在循环或时间控制的程序中可对每个计数器调用一次 High_Speed_Counter 指令。不允许 在事件控制的中断程序中调用。 操作步骤 要在用户程序中调用指令,请按以下步骤操作: 1. 在项目树中打开 CPU 文件夹。 2. 打开“程序块”(Program blocks) 文件夹。 3. 双击用于循环程序执行的 OB。 该块将在工作区中打开。 4. 在“指令”(Instructions) 窗口中,打开“工艺”(Technology) 组和“计数和测量”(Counting and measurement) 文件夹。 文件夹中包含此指令。 5. 选择指令,并将其拖动到 OB 中。 “调用选项”(Call options) 对话框随之打开。 6. 从“名称”(Name) 列表中选择工艺对象或输入新工艺对象的名称。 7. 单击“确定”(OK) 进行确认。 结果 如果工艺对象尚不存在,则会添加工艺对象。该指令已添加到 OB 中。已将工艺对象分配 给该指令的此调用。 说明 如果单击指令用户界面中的“组态”(Configuration)、“调试”(Commissioning) 或“诊 断”(Diagnostics) 按钮之一,则会打开相应的编辑器。High_Speed_Counter 描述 说明 High_Speed_Counter 指令用于通过用户程序控制工艺模块计数和测量功能。 调用 必须以循环方式或在时间控制的程序中,对每个计数器调用一次 High_Speed_Counter 指 令。不允许在事件控制的中断程序中调用。 工作原理 计数器值:计数器值在输出参数 CountValue 中提供。每次调用 High_Speed_Counter 指 令都将更新该计数器值。 测量值:工艺模块基于组态的更新时间将测量值异步更新到指令调用。每次调用该指令, 都会在输出参数 MeasuredValue 中更新工艺模块Zui后确定的测量值。 测量值和计数器值在反馈接口中可并行提供。 Capture:输出参数 CaptureStatus = TRUE 表示在输出参数 CapturedValue 中存在有效的 Capture 值。 • 在以下条件下捕获 Capture 值: – 数字量输入具有参数分配“Capture” – CaptureEnable = TRUE – 具有 Capture 功能的数字量输入沿 • 输出参数 CaptureStatus 在输入参数 CaptureEnable 的下降沿复位。 同步:输出参数 SyncStatus = TRUE 表示已发生同步。 • 计数器值在以下条件下同步: – 对数字量输入分配了参数“同步”(Synchronization),或者对增量编码器分配了参数 “在信号 N 出现时同步”(Synchronization at signal N) – SyncEnable = TRUE – 静态变量 SyncUpDirection(或 SyncDownDirection)= TRUE – 在具有同步功能的数字量输入的信号沿或在编码器输入信号 N 的上升沿4. 使用输出参数 Error 检查是否出现错误。 如果未出现错误且工艺对象已自动复位 Set 变量,则参数更改成功。 说明 已更改计数限值 如果新的计数上限小于当前计数器值,则会根据参数分配将该计数器值设为计数下限或起 始值。如果新的计数下限大于当前计数器值,则会根据参数分配将该计数器值设为计数上 限或起始值。 工作模式(High_Speed_Counter V3.0 或更高版本) 在工艺对象的“DQ0 特性”(Behavior of DQ0) 下组态工作模式。 工作模式由输出参数 CompareMeasuredValue 进行指示: 状态 说明 FALSE 工作模式“将计数值作为参考”: 比较功能与计数器值配合使用。以下静态变量专用于该工作模式: • NewReferenceValue0 • NewReferenceValue1 • CurReferenceValue0 • CurReferenceValue1 工作模式“将测量值作为参考”的这四个特定静态变量被忽略。 TRUE 工作模式“将测量值作为参考”: 比较功能与测量值配合使用。以下静态变量专用于该工作模式: • NewReferenceValue0_M • NewReferenceValue1_M • CurReferenceValue0_M • CurReferenceValue1_M 工作模式“将计数值作为参考”的这四个特定静态变量被忽略。
确认事件 可通过输入参数 EventAck 的上升沿确认指示的事件。在工艺对象复位计数通道的以下事 件的状态位之前,EventAck 必须保持置位状态: • CompResult0 • CompResult1 • ZeroStatus • PosOverflow • NegOverflow 数字量输入的状态(TM Count 和 TM PosInput) 可通过静态变量 StatusDI0、StatusDI1 或 StatusDI2 获得数字量输入的状态。 数字量输入的状态(紧凑型 CPU) 可通过静态变量 StatusDI0 和 StatusDI1 获得数字量输入的状态。当紧凑型 CPU 的数字量 输入未用于计数器时,可以通过用户程序使用此数字量输入。 通过用户程序使用数字量输出(TM Count 和 TM PosInput) 使用 High_Speed_Counter 指令可设置数字量输出, • 如果对“置位输出”(Set output) 组态了“由用户程序使用”(Use by user program) 设置。 • 如果对“置位输出”(Set output) 组态了“在 CPU 发出置位命令后,达到比较值之前”(After set command from CPU until comparison value) 设置。 • 如果设置相应的静态变量 ManualCtrlDQm(临时覆盖)。 静态变量 SetDQ0 和 SetDQ1 仅在以上情况下有效。在第一种和第三种情况下,DQm 跟 随 SetDQm 的值。在第二种情况下,DQm 在 SetDQm 的上升沿置位。在计数器值对应于 比较值时或在 SetDQm 的下降沿,DQm 将复位。