S7-1500 功能 在不进行 n 取 1 检查的条件下发送 1 到 12 个参数值(每个参数值都是 1 个双字),并从伙 伴接收当前在本地有效的参数值。这意味着无需在循环程序中调用 FC Safe。 由于缺少 n 取 1 检查,因此传送安全性较低。 没有参数发送到无法访问的用户。 可使用 Par12D_R 块接收并评估该块的帧。 每个双字的内容均可以是双字格式的值(DWORD、DINT、REAL)。 说明 注意字边界 如果仅传送更改的数据,且数据区域包含双字格式的值,应确保双字值实际位于要采集的数 据区域的一个双字之中(Zui多 12 个双字)。 如果通过两个连续的数据双字进行分发,可能仅传送双字值中的一个字(高位或低位字), 原因是仅特定字中发生更改。在这种情况下,丢失的字可能导致接收伙伴发生数据错误(适 用于 ST7cc,不适用于 S7 CPU)。 为“ParameterInput”参数指定要传送的数据区域时,应以 Any 指针的形式指定。此数据区域 必须在数据块中,并且其长度可以在 1 到 12 个双字范围内变化。要发送到伙伴的数据区域或在伙伴处本地输入的参数值,将从伙伴返回,并在“ReturnedParameter”参数中输出。此输 出区(Any 指针)也必须在数据块内,其长度必须与为“ParameterInput”所指定的长度相匹 配。 镜像 通常会分别为“ParameterInput”和“ReturnedParameter”指定数据区域,以方便识别Zui新输入 的内容以及本地有效的内容。 但是,还可为两个参数指定相同的数据区域。之后,两个区域完全重叠,并始终保持同步。 但这种情况下,无法再区分Zui新输入内容与本地有效内容。 即使分别指定“ParameterInput”和“ReturnedParameter”的数据区域,仍可确保 “ParameterInput”输入区域与“ReturnedParameter”的镜像返回值始终同步。将 “ApplyRemoteParam”参数设置为 TRUE 可自动执行此同步。 也可以在接收参数的伙伴对象中本地设置参数。然后必须在伙伴对象中将“Local”输入参数设 置为 TRUE。本地有效的参数可由伙伴对象在“LocalParameterInput”输入参数中创建;然后 将它们输出到“ReturnedParameter”。本地状态可由伙伴对象通过“Local”参数报告,并在 “LocalOperation”输出中显示。可设置伙伴对象,使其在本地模式下工作时不接受来自 Remote 的任何参数(请参见 Par12D_R 块)。 触发发送 可通过以下参数触发在“ParameterInput”中定义的发送数据区域操作: • ContinuousEnterFunct 在块的软件模式 (HWmode = FALSE) 下更改区域“ParameterInput”时自动传送 • Release 块的硬件和软件模式下的单次触发传送 说明 使用标准访问的 DB 该块具有“ANY”类型的参数。因此,禁用 DB 属性中的“优化块访问”(Optimized block access) 属性。
该参数指定块采用硬件模式 (TRUE) 还是软件模式 (FALSE)。 • 硬件模式 可以通过连接到“Release”输入端的数字量输入模块来触发传送。 当 Release 输入端的信号从 0 变为 1 时,将在硬件模式下应用该参数值。 “InputDelayTime”运行时不发送“ParameterInput”输入的更改。 在硬件模式下,发送使用“ParameterInput”定义的完整数据区域。 在硬件模式下,必须在“Release”输入端检测到空循环,块才能发送新的参数 值。 • 软件模式 可通过“Release”输入或在软件模式下通过“ContinuousEnterFunct”函数触发发 送操作。 可在每个 OB1 循环中通过软件输入发送新的参数值。可以根据需要在循环中 开启和关闭“ContinousEnterFunct”函数。 注:发生更改的数据区域 在软件模式下,该块会选择性发送,即,仅发送检测到更改的双字区域。 例外:如果在激活“Release”输入时未检测到更改,则会发送完整的参数区域。 发生更改的数据区域包括检测到更改的第一个和Zui后一个双字,以及位于这 两个双字之间的所有字(即使这些字未发生更改也包括在内)。 示例: 要读取的数据区域长度为 10 个双字。在本例中,在第 2 个、第 5 个和第 8 个 双字中检测到更改。因此,传送的数据区域范围是从第 2 个双字到第 8 个双字。 “HWmode”参数在启动期间应用,并且不能在循环中更改。连续检查更改 如果 HWmode 等于 TRUE,则不评估该参数。 如果使用软件输入参数,或者通过操作面板 (OP) 输入参数,则将此参数设置 为 TRUE。 系统会定期检查更改。检查更改的方式是与Zui后传送的值进行比较。 在“ParameterInput”定义的数据区域中检测到更改后,会立即执行传送操作。 将发送更改后的值。如果检测到多个更改,则该块将发送检测到更改的第一 个双字到Zui后一个双字的数据区域。 即使参数输入项未更改,也可以通过“Release”输入触发新的参数值传送操作 (见下文)。 如果不需要此参数,保留不处理即可。如果参数的值为“TRUE”,则执行输入区与返回区的自动同步。 使用该参数,会将“ReturnedParameter”镜像返回区的所有参数值复制到 “ParameterInput”区。 除此之外,还向通信 DB 的发送邮箱写入镜像返回参数值。 这样,当从伙伴对象 (Par12D_R) 接收到新数据时,始终都会执行自动同步。 同步还可通过从 0 到 1 的信号跳变来触发一次,例如,通过按钮手动触发。 如果参数的值为“FALSE”或者未指定参数,则不会执行输入区与返回区的自动 同步。输入指针时,不要忘记点号和空格! 请注意,不允许使用默认值(空指针)。必须指定具有真实地址的指针。 说明: 参数输入区。 ANY 指针对要采集的参数值所在的数据区域进行寻址。此数据区域必须在数 据块中,并且其长度可以在 1 到 12 个数据双字范围内变化。 有关内容和格式的信息,请参见上文中的“功能”部分。 如果参数分配不正确(空指针、长度 > 12、数据区域不是 DB),则会在诊断 缓冲区中输入错误消息(事件 ID B114,[Info2/3] = 7)。CPU 不切换为 STOP 模式。然后,在更正错误之前,不再对该数据块进行处理。 “ParameterInput”中值的后续处理方式取决于它是硬件输入还是软件输入以及 如何触发传送。更多相关信息,请参见上文“函数”部分的“HWmode”参数介 绍。请注意,不允许使用预设值(空指针)。必须指定具有真实地址的指针。 说明: 参数输出区 接收参数值的伙伴对象将返回有效参数值报告。这些值将显示在 “ReturnedParameter”输出中。如果伙伴对象设置为“local”且有新的输入,则 此处会由“ReturnedParameter”指示本地更改的参数。 ANY 指针所定义的数据区域中的已接收参数值将被输出。此数据区域必须在 数据块中,并且其长度可以在 1 到 12 个数据双字范围内变化。且必须等于为 ParameterInput 设置的长度。 启动本地或伙伴 CPU 后,或在恢复连接后,自动一般请求可确保在 “ReturnedParameter”中指示本地有效的Zui新参数。 如果参数设置不正确(数据区域不是数据块,长度大于 12 个数据双字或与 ParameterInput 设置的长度不一致),则会在诊断缓冲区中输入相应的错误 消息(事件 ID B114,[Info2/3] = 8)。CPU 不切换为 STOP 模式。但在更正 错误之前,不会再对该 FB 进行处理。用于发送当前未决参数值的触发输入 可以在块的软件或硬件模式下使用该参数。 • 硬件模式 通过 OP 使用此输入时,应通过 OP 的功能键对其进行操作。可以先在 OP 上 输入几个参数。只有当 Release 功能键激活时,才会传送参数。 在硬件模式下,“Release”输入不会自动复位。因此,应仅指定存储器位或数 据位作为输入。数字量输入不能自动复位。 “Release”输入取决于“InputDelayTime”,并通过“MaxInputTime”进行监视。如 果输入中设置的时间超过“MaxInputTime”,则将在“InputError”输出超时。只 有在“Release”输入 = 0 后,“InputError”输出才会变回“0”。(另请参见 “InputError”) • 软件模式 只有在 Release 输入端具有信号 1 时才执行更改检查。将发送自上次传送以来 “ParameterInput”区域中已更改的数据。如果在激活“Release”输入端时未检测 到更改,则该块将传送完整的参数区域。 在软件模式下,“Release”输入会自动复位。因此,应仅指定存储器位或数据 位作为输入。 如果不需要此参数,保留不处理即可从伙伴对象返回消息:对象设置为本地操作。 也可以在接收参数的伙伴对象中本地设置参数。然后必须在“Local”输入参数 中将伙伴对象 Par12D_R 设置为“local”。“Local”输入参数的当前状态由伙伴对 象报告,并在“LocalOperation”输出中显示。 启动本地或伙伴 CPU 后,或在恢复连接后,自动常规请求将确保在 “LocalOperation”中显示本地当前有效状态。 参数: NewData 说明: 有关声明、数据类型、取值范围、默认值和功能的信息,请参见重现参数 (页 2443)部分。 每当块收到新数据,并将其输出至输出“ReturnedParameter”或 “LocalOperation”时,在一个 OB1 循环内,“NewData”输出将设置为 TRUE。