RampSoak 工作原理 (S7-1200,S7-1500) 组态和验证配置文件数据 (S7-1200, S7-1500) 组态配置文件数据 可在静态结构 UserData中组态配置文件。 它包含以下元素: • NumberOfUsedPoints 用于配置文件的点数。 • StartValue 开始(页 5354)、停止 (页 5358)或结束配置文件执行时的可选输出值。 • Point 50 个元素的数组包含Point[i].Value 和 Point[i].Time 点的值对: – Point[i].Value只要点处于活动状态,输出值就会逐步更改为该值,并在 Point[i].Time 时间内达到该 值。 – Point[i].Time此值以秒为单位定义点的持续时间。以下内容还适用于 ErrorMode 变量的所有值: • 如果替代输出值不是一个有效的 REAL值,则会将 0.0 作为输出值输出。 • 替代输出值将限制在数据类型 REAL 的取值范围 -3.402823e+38 ..+3.402823e+38 内。 只有这样才能在 Output 参数中输出替代输出值。 • 只有在设置了 Reset = FALSE参数的情况下 ErrorMode 变量才有效。如果设置了 Reset = TRUE 参数,则 SubstituteOutput参数值或 0.0 将在“输出”参数中输出。 Error 参数指示是否存在错误处于未决状态。当错误不再处于未决状态时,Error 设为FALSE。 ErrorBits 参数显示了已发生的错误。ErrorBits 具有保持性,仅通过 Reset 或 ErrorAck参数的 上升沿来复位。
下图显示了一个有 6 个点的配置文件。点编号 5的持续时间为 0 秒,这会导致跳过输出值。验证配置文件数据 在配置文件数据用于配置文件执行之前,需要验证 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配置文件数据验证的影响和可能的错误消息 满足条件时,UserData结构中的新配置文件数据将传输到 WorkingData 结构并用于配置文 件执行。TotalTime参数将更新。执行配置文件时,RemainingTime_Total 参数将更新。 说明当前点的值和持续时间已临时存储,并且在成功验证新的配置文件数据后保持不变,直到当 前点完成。从下一点开始使用新的配置文件数据。如果不满足其中一个条件,则 WorkingData 结构中的现有配置文件数据将保持不变。带有 错误消息 ErrorBits =16#0000_0004 (页 5365) 的错误处于未决状态。 如果 Enable 参数或 Next 参数设置为TRUE,但 WorkingData 结构中不存在有效的配置文件 数据,则带有错误消息 ErrorBits =16#0008_0000 (页 5365) 的错误将处于未决状态。 说明 如果不更改 UserData结构中的默认值,则配置文件数据的验证将失败。 说明 不能更改 WorkingData 结构的离线值。如果要更改配置文件数据,编辑UserData 结构, 设置参数 Validate = TRUE。 执行配置文件 (S7-1200, S7-1500)要执行配置文件并计算输出值,需要经过验证的配置文件数据和 Enable 参数的上升沿。 启动和停止配置文件执行 - Enable 参数可基于 Enable 参数的上升沿开始配置文件执行和计算输出值。配置文件执行从输入/输出参 数 NextPoint 中指定的点开始。可以在参数 Enable 的下降沿停止配置文件执行。 如果配置文件停止或完全运行,则输入/输出参数 NextPoint 将自动设置为1。如果输入/ 输出参数 NextPoint 未更改,则下一个配置文件执行从配置文件的第一个点开始。可使用静态变量StartMode (页 5354) 和 StopMode (页 5358) 在配置文件执行的开始、停止 和完成时组态行为。 如果Reset = FALSE,配置文件执行仅确定 Output 参数的输出值。如果 RESET = TRUE 置位,则在后台继续执行激活的配置文件。 下图显示了输入参数 Enable、Reset 和 Hold如何确定配置文件的执行:在此示例中,配置文件执行的启动和停止行为(标有 *)显示为默认的 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 = FALSE Output 参数从 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参数值的变化,可以确定配置文件的执行应该从另一个点继续执行。 如果 NextPoint参数被取消激活,它可以通过以下方式影响配置文件执行的行为: • 如果参数 Next 存在上升沿,则参数 Output 采用Point[NextPoint].Value 的值。 • 开始配置文件执行时,NextPoint 代表第一个CurrentPoint。Output 参数以增量方式从 StartMode 定义的值更改为Point[NextPoint].Value 的值,并在 Point[NextPoint].Time 期 间到达该值。 如果NextPoint 参数被激活,它可以通过以下方式影响配置文件执行的行为: • 参数 Next 不存在上升沿:当前点完成后,该过程使用 NextPoint 继续。 • 参数 Next 存在上升沿: 该过程使用 NextPoint 继续。