通过用户程序更改参数使用用户程序按如下方式修改参数: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_CounterV3.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 的数字量输入未用于计数器时,可以通过用户程序使用此数字量输入。通过用户程序使用数字量输出(TMCount 和 TM PosInput)使用 High_Speed_Counter 指令可设置数字量输出,•如果对“置位输出”(Set output) 组态了“由用户程序使用”(Use by user program) 设置。•如果对“置位输出”(Set output) 组态了“在 CPU 发出置位命令后,达到比较值之前”(Afterset commandfrom CPU until comparison value) 设置。• 如果设置相应的静态变量ManualCtrlDQm(临时覆盖)。静态变量 SetDQ0 和 SetDQ1 仅在以上情况下有效。在第一种和第三种情况下,DQm跟随 SetDQm 的值。在第二种情况下,DQm 在 SetDQm 的上升沿置位。在计数器值对应于比较值时或在 SetDQm的下降沿,DQm 将复位。使用 High_Speed_Counter 工艺对象3.6 编译High_Speed_Counter计数、测量和位置检测功能手册, 11/2022, A5E32010507-AK139通过用户程序使用数字量输出(紧凑型 CPU)可使用 High_Speed_Counter 指令将 DQ1 数字量输出置位。•如果对“置位输出”(Set output) 组态了“由用户程序使用”(Use by user program) 设置。•如果对“置位输出”(Set output) 组态了“在 CPU 发出置位命令后,达到比较值之前”(Afterset commandfrom CPU until comparison value) 设置。• 如果已设置相应的静态变量ManualCtrlDQ1(临时覆盖)。静态变量 SetDQ1 仅在以上情况下有效。在第一种和第三种情况下,DQ1 跟随 SetDQ1的值。在第二种情况下,DQ1 在 SetDQ1 的上升沿置位,并在计数器值对应于比较值时或在SetDQ1 的下降沿复位。说明要通过High_Speed_Counter 指令将紧凑型 CPU 的物理数字量输出置位,必须先将 DQ1信号分配到所需的数字量输出。可使用High_Speed_Counter 指令和静态变量 StatusDQ0 将 DQ0 信号置位。• 如果对“置位输出”(Setoutput) 组态了“由用户程序使用”(Use by user program) 设置。• 如果对“置位输出”(Setoutput) 组态了“在 CPU 发出置位命令后,达到比较值之前”(Afterset command from CPU untilcomparison 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。High_Speed_Counter 输入参数参数 声明 数据类型默认值说明SwGate INPUT BOOL FALSE 控制软件门:• 上升沿:软件门打开• 下降沿:软件门关闭SwGate与硬件门一起启用内部门。CaptureEnableINPUT BOOL FALSE 启用 Capture功能启用后,会在相关数字量输入的下一个组态沿处发生Capture 事件。将在 CaptureEnable 的下降沿复位输出参数CaptureStatus。即使未发生 Capture 事件,也会在CaptureEnable 的下降沿复位启用功能。无论CaptureEnable 为何值,在出现下一个 Capture 事件之前,上一个值都将保留在输出参数CapturedValue中。SyncEnable INPUT BOOL FALSE 启用同步同步方向在静态变量SyncUpDirection 和SyncDownDirection 中指示。将在 SyncEnable 的下降沿复位输出参数SyncStatus 。ErrorAck INPUT BOOL FALSE 截至 V3.0 的High_Speed_Counter:在上升沿确认报告的状态。自 V3.1 起的High_Speed_Counter:由上层确认报告的错误状态。EventAck INPUT BOOL FALSE在上升沿复位以下输出参数:• CompResult0• CompResult1• ZeroStatus• PosOverflow•NegOverflowSetCountValueINOUT BOOL FALSE 在上升沿开始将静态变量 NewCountValue中的新计数器值传送到工艺模块。完成传送后计数器值立即生效。