RampSoak
RampSoak 说明说明可以使用 RampSoak指令生成一个输出值,该输出值在时间相关的基础上遵循可组态的配置文件。此配置文件的每个点都有一个目标值和一个时间值。执行配置文件时,在时间值内达到当前点的目标值。例如,RampSoak指令可用于提供调节温度过程所用的设定值配置文件。输出值的计算输出值是根据以下公式在当前点和前RampSoak 工作原理组态和验证配置文件数据组态配置文件数据可在静态结构 UserData中组态配置文件。它包含以下元素:• NumberOfUsedPoints用于配置文件的点数。• StartValue开始 (页423)、停止 (页 426)或结束配置文件执行时的可选输出值。• Point50 个元素的数组包含 Point[i].Value 和Point[i].Time 点的值对:– Point[i].Value只要点处于活动状态,输出值就会逐步更改为该值,并在Point[i].Time 时间内达到该值。–Point[i].Time此值以秒为单位定义点的持续时间。验证配置文件数据在配置文件数据用于配置文件执行之前,需要验证UserData 结构中的配置文件数据。验证触发条件如下:• 将 Validate 参数设为 TRUE 时。• 在 CPU的工作状态从 STOP 切换为 RUN 之后首次将参数 Enable 设置为 TRUE 且之前未执行配置文件数据的验证时。针对UserData 结构中的配置文件数据检查以下条件:• 1 ≤ UserData.NumberOfUsedPoints ≤ 50•NextPoint ≤ UserData.NumberOfUsedPoints• 激活配置文件执行 (Enable = TRUE)时:– CurrentPoint ≤ UserData.NumberOfUsedPoints• -3.402823e+38 ≤UserData.StartValue ≤ 3.402823e+38• -3.402823e+38 ≤UserData.Point[i].Value ≤ 3.402823e+38,索引 i=1..UserData.NumberOfUsedPoints• 0.0 ≤ UserData.Point[i].Time ≤3.402823e+38,索引 i = 1..UserData.NumberOfUsedPoints• 0.0 <UserData.Point[1].Time + UserData.Point[2].Time+…+UserData.Point[UserData.NumberOfUsedPoints].Time ≤3.402823e+38配置文件数据验证的影响和可能的错误消息满足条件时,UserData 结构中的新配置文件数据将传输到WorkingData 结构并用于配置文件执行。TotalTime 参数将更新。执行配置文件时,RemainingTime_Total参数将更新。说明当前点的值和持续时间已临时存储,并且在成功验证新的配置文件数据后保持不变,直到当前点完成。从下一点开始使用新的配置文件数据。如果不满足其中一个条件,则WorkingData 结构中的现有配置文件数据将保持不变。带有错误消息 ErrorBits = 16#0000_0004 (页432) 的错误处于未决状态。如果 Enable 参数或 Next 参数设置为 TRUE,但 WorkingData结构中不存在有效的配置文件数据,则带有错误消息 ErrorBits = 16#0008_0000 (页 432)的错误将处于未决状态。说明如果不更改 UserData 结构中的默认值,则配置文件数据的验证将失败。说明不能更改WorkingData 结构的离线值。如果要更改配置文件数据,编辑 UserData 结构,设置参数 Validate =TRUE。执行配置文件要执行配置文件并计算输出值,需要经过验证的配置文件数据和 Enable 参数的上升沿。启动和停止配置文件执行 -Enable 参数可基于 Enable 参数的上升沿开始配置文件执行和计算输出值。配置文件执行从输入/输出参数NextPoint中指定的点开始。可以在参数 Enable 的下降沿停止配置文件执行。如果配置文件停止或完全运行,则输入/输出参数 NextPoint将自动设置为 1。如果输入/输出参数 NextPoint 未更改,则下一个配置文件执行从配置文件的第一个点开始。可使用静态变量StartMode (页 423) 和 StopMode (页 426) 在配置文件执行的开始、停止和完成时组态行为。如果 Reset= FALSE,配置文件执行仅确定 Output 参数的输出值。如果 RESET = TRUE置位,则在后台继续执行激活的配置文件。在此示例中,配置文件执行的启动和停止行为(标有 *)显示为默认的 StartMode=StopMode = 2(从Zui后一个输出值开始/保留Zui后一个输出值)。保持配置文件执行 - Hold 参数可以使用参数 Hold =TRUE 来暂停激活的配置文件执行。Hold = TRUE 参数的作用如下:•Output、CurrentPoint、NextPoint、RemainingTime_Total 和RemainingTime_Point 参数保持不变。• 参数 Enable 或 Next 的边沿被延迟,并且仅在 Hold =FALSE 时生效。• 如果 Reset 参数从 TRUE 切换为 FALSE,则 Hold 参数会影响 Output参数的更改。有关更多信息,请参见 Reset 参数的说明。Hold 参数对 Validate 和 ErrorAck参数的处理没有影响。覆盖输出值 - Reset 参数使用 Reset = TRUE 参数,可以复位指令并用SubstituteOutput 参数的值覆盖 Output 参数的输出值。在后台继续执行激活的配置文件。使用参数Enable、Hold 和 Next也可实现。如果配置文件执行仍处于活动状态(Enable=TRUE,并且配置文件尚未完全运行)且参数Reset 从 TRUE 更改为FALSE,则行为取决于 Hold 参数:• Hold = FALSEOutput 参数从 SubstituteOutput以增量方式更改为当前点的值,并在当前点的剩余时间(RemainingTime_Point) 内到达该值。• Hold =TRUEOutput 参数从 SubstituteOutput跳转到暂停的配置文件执行的值。如果配置文件执行不再处于活动状态(Enable=FALSE 或配置文件完全运行)且 Reset参数从TRUE 更改为 FALSE,Output 参数将跳转到配置文件执行的Zui后一个值。使用某个点继续执行配置文件 - Next参数通过 Next 参数的上升沿,可以使用 Point[NextPoint] 继续执行配置文件。当配置文件执行被取消激活时,参数Next = TRUE 的作用如下:• Output 参数采用 Point[NextPoint].Value 的值。•CurrentPoint 参数采用 NextPoint 的值。• NextPoint 参数增大。如果 NextPoint是配置文件的Zui后一个点,则 NextPoint 的值将变为1。当配置文件执行被激活时,参数 Next = TRUE 的作用如下:•Output 参数以增量方式从其当前值更改为 Point[NextPoint].Value的值,并在Point[NextPoint].Time 期间到达该值。• RemainingTime_Point 参数采用Point[NextPoint].Time 的值。• RemainingTime_Total 参数将相应更新。•CurrentPoint 参数采用 NextPoint 的值。• NextPoint 参数增大。如果 NextPoint是配置文件的Zui后一个点,则新值取决于StopMode。有关更多信息,请参见 NextPoint 参数的说明。说明在 CPU的工作状态从 STOP 切换到 RUN 后,首次调用 RampSoak 指令时,行为由 StartMode确定。Next参数仅对以下调用有效。包含 Next 参数的示例配置文件位于以下“使用某个点继续执行配置文件 - NextPoint参数”部分。使用某个点继续执行配置文件 - NextPoint 参数NextPoint参数确定从哪一点继续执行配置文件。如果当前点已完成,RampSoak 指令会自动将 NextPoint参数的值更新到配置文件的下一个点。通过 NextPoint参数值的变化,可以确定配置文件的执行应该从另一个点继续执行。