每单位增量数该参数定义每个相关单位由增量或juedui值编码器提供给速度测量的计数脉冲数。计数脉冲数取决于组态的信号评估。可输入一个介于 1 和 65535 之间的值。示例 1:行程 1 米,编码器相应地传送 4000 个计数脉冲。应以每秒米数为单位测量速度。“信号评估”组态为“双重”。这种情况下,需指定以下参数:• 每单位增量数:8000• 速度测量的时基:1 s示例 2:编码器每转传送 4096 个计数脉冲。应以每分钟转数为单位测量速度。“信号评估”(signalevaluation) 组态为“单重”(Single)。这种情况下,需指定以下参数:• 每单位增量数:4096• 速度测量的时基:60 s
编译 High_Speed_CounterHigh_Speed_Counter 指令High_Speed_CounterHigh_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) 组和“计数和测量”(Countingand 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 的上升沿使用 High_Speed_Counter 工艺对象3.6 编译 High_Speed_Counter计数、测量和位置检测136 功能手册, 11/2022, A5E32010507-AK• 输出参数 SyncStatus 在以下部分的下降沿复位– 输入参数 SyncEnable 或– 静态变量 SyncDownDirection 或– 静态变量 SyncUpDirection通过用户程序更改参数使用用户程序按如下方式修改参数:1. 根据相应 Set 变量进行检查,以确定工艺对象是否已准备好进行参数更改(Set 变量 =FALSE),或确定更改作业是否仍在运行(Set 变量 = TRUE)为此,工艺对象背景 DB 的静态变量中提供了 UserCmdFlags 的下列 Set 变量:– SetReferenceValue0– SetReferenceValue1– SetUpperLimit– SetLowerLimit– SetCountValue– SetStartValue– SetNewDirection2. 如果工艺对象已准备好进行参数更改,请修改相关静态变量。为此,可使用工艺对象背景 DB 的以下静态变量:– NewReferenceValue0 / NewReferenceValue0_M(用于 SetReferenceValue0)– NewReferenceValue1 / NewReferenceValue1_M(用于 SetReferenceValue1)– NewUpperLimit– NewLowerLimit– NewCountValue– NewStartValue– NewDirection3. 设置相关 Set 变量以执行更改命令。使用 High_Speed_Counter 工艺对象3.6 编译 High_Speed_Counter计数、测量和位置检测功能手册, 11/2022, A5E32010507-AK 1374. 使用输出参数 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工作模式“将计数值作为参考”的这四个特定静态变量被忽略。使用 High_Speed_Counter 工艺对象3.6 编译 High_Speed_Counter计数、测量和位置检测138 功能手册, 11/2022, A5E32010507-AK确认事件可通过输入参数 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 发出置位命令后,达到比较值之前”(Afterset command from CPU until comparison value) 设置。• 如果设置相应的静态变量 ManualCtrlDQm(临时覆盖)。静态变量 SetDQ0 和 SetDQ1 仅在以上情况下有效。在第一种和第三种情况下,DQm 跟随 SetDQm 的值。在第二种情况下,DQm 在 SetDQm 的上升沿置位。在计数器值对应于比较值时或在 SetDQm 的下降沿,DQm 将复位。使用 High_Speed_Counter 工艺对象3.6 编译 High_Speed_Counter计数、测量和位置检测功能手册, 11/2022, A5E32010507-AK 139通过用户程序使用数字量输出(紧凑型 CPU)可使用 High_Speed_Counter 指令将 DQ1 数字量输出置位。• 如果对“置位输出”(Set output) 组态了“由用户程序使用”(Use by user program) 设置。• 如果对“置位输出”(Set output) 组态了“在 CPU 发出置位命令后,达到比较值之前”(Afterset command from CPU until comparison value) 设置。• 如果已设置相应的静态变量 ManualCtrlDQ1(临时覆盖)。静态变量 SetDQ1 仅在以上情况下有效。在第一种和第三种情况下,DQ1 跟随 SetDQ1 的值。在第二种情况下,DQ1 在 SetDQ1 的上升沿置位,并在计数器值对应于比较值时或在SetDQ1 的下降沿复位。说明要通过 High_Speed_Counter 指令将紧凑型 CPU 的物理数字量输出置位,必须先将 DQ1信号分配到所需的数字量输出。可使用 High_Speed_Counter 指令和静态变量 StatusDQ0 将 DQ0 信号置位。• 如果对“置位输出”(Set output) 组态了“由用户程序使用”(Use by user program) 设置。• 如果对“置位输出”(Set output) 组态了“在 CPU 发出置位命令后,达到比较值之前”(Afterset command from CPU until comparison value) 设置。• 如果已设置静态变量 ManualCtrlDQ0(临时覆盖)。静态变量 SetDQ0 仅在以上情况下有效。在第一种和第三种情况下,DQ0 跟随 SetDQ0 的值。在第二种情况下,StatusDQ0 在 SetDQ0 的上升沿置位,并在计数器值对应于比较值时或在相应的下降沿复位。说明数字量输出 DQ0 不能用作物理输出。使用 High_Speed_Counter 工艺对象3.6 编译 High_Speed_Counter计数、测量和位置检测140 功能手册, 11/2022, A5E32010507-AK对错误的响应如果调用指令期间发生错误或在工艺模块中出现错误,则会设置 Error 输出参数。可以在输出参数 ErrorID 中读取更多详细错误信息。消除错误原因并通过设置输入参数 ErrorAck 确认错误消息。如果没有更多的未决错误,工艺对象将复位输出参数 Error 。在确认上一个错误之前不会再报告新错误。改变计数方向仅当将“脉冲 (A)”组态为信号类型时,才能通过用户程序更改计数方向。除此之外,计数方向取决于工艺模块的输入信号。计数方向由静态变量 NewDirection 控制:• +1:向上计数方向• -1:向下计数方向要执行更改命令,需要设置静态变量 SetNewDirection = TRUE。