浔之漫智控技术(上海)有限公司
西门子授权代理商 , 西门子授权代理商 , 西门子一级代理商
SIEMENS 西门子 S120伺服电机 1FK7022-5AK71-1LB3


            MoveToResolvedSymbol:将值写入已解析的符号中 (S7-1500) 说明 使用“将值写入已解析的符号中”指令读取变量值,并将其写入由已解析符号引用的目标变 量中。 SRC 参数的数据类型为 VARIANT。指向读取的变量。 DST 参数的数据类型为 ResolvedSymbol。指向 PLC 程序中写入的变量。之前必须已使用 “"ResolveSymbols"”指令对变量进行解析。 源变量和目标变量的数据类型必须相同。 说明 查询被引用变量的数据类型 执行“将值写入已解析的符号中”之前,可以使用 "TypeOf" 指令查询“ResolvedSymbol”引用 的变量的数据类型。 另请参见“TypeOf:检查数据类型为 VARIANT 或 ResolvedSymbol 的变量在调用 „MoveResolvedSymbolsToBuffer“ 指令之前,需进行检查,确定符号解析是否成功以 及 „MoveResolvedSymbolsToBuffer“ 是否可以执行。 即使符号解析成功,执行 „MoveResolvedSymbolToBuffer“ 时也可能出错。例如,在 RUN 模 式下因加载导致变量覆盖。此时,返回值 „err“ 为复制失败的进程数。 如果识别到复制过程识别,则后续的 IF 指令将 "EnableMove" 设置为 FALSE。这样,系统将 不再执行 "MoveResolvedSymbolsToBuffer"。 之后,FOR 指令将进行检查,确定产生错误代码的相关符号。对于这些符号,会将错误代码 复制到 "status" 参数中。 同时,参数“„resolved“”设置为 FALSE。现在需要再次使用异步操作指令 „ResolveSymbols“ 解 析符号。

             SDT“ResolvedSymbol”中的引用无效 如果在 RUN 模式下因加载导致被引用的变量覆盖,则 SDT "ResolvedSymbol" 中的引用可能 变为无效。引用可能指向不存在的变量。“status”参数中的错误代码指示引用无效。 此时,需使用“ResolveSymbols”指令对该符号进行重新解析。MoveFromResolvedSymbol:从已解析的符号中读取值 (S7-1500) 说明 使用“从已解析的符号中读取值”指令读取已解析符号引用的变量值,并将其写入目标变量 中。 "SRC" 参数的数据类型为 ResolvedSymbol。指向 PLC 程序中读取的变量。之前必须已使用 “"ResolveSymbols"”指令对变量进行解析。"DST" 参数的数据类型为 VARIANT. 。该参数指向写入的变量。 源变量和目标变量的数据类型必须相同。 说明 查询被引用变量的数据类型 执行“将值写入已解析的符号中”之前,可以使用 "TypeOf" 指令查询“ResolvedSymbol”引用 的变量的数据类型。 另请参见“TypeOf:检查数据类型为 VARIANT 或 ResolvedSymbol 的变量SDT“ResolvedSymbol”中的引用无效 如果在 RUN 模式下因加载导致被引用的变量覆盖,则 SDT "ResolvedSymbol" 中的引用可能 变为无效。引用可能指向不存在的变量。“status”参数中的错误代码指示引用无效。 此时,需使用“ResolveSymbols”指令对该符号进行重新解析。MoveResolvedSymbolsToBuffer:从已解析的符号中读取值并写入缓冲区中 (S7-1500) 说明 “从已解析的符号中读取值并写入缓冲区中”指令用于从多个已解析的符号中读取数值并写 入存储区 (Array of BYTE) 中。采用这种方式,可准备符号解析后的相应值,进行后续处理。 如,通过诸如 TSEND 等通信指令进行发送。 "src" 参数是一个 ResolvedSymbol (SDT) 数组,其中包含对之前通过“ResolveSymbols”指令解 析的变量的引用。在“dst”参数中指定一个 BYTE 数组。该数组用作写入变量值的目标缓冲区。 这两个数组的限值需相同。 使用参数 "firstIndex" 和 "lastIndex" 限制将在此次指令调用过程中复制的值列表。在后续的 调用过程中,可复制其它已解析符号的值。如果不希望对列表进行限制,则 "firstIndex" 参 数中的值必须等于该列表的下限且 "lastIndex" 参数中的值需等于该列表的上限。"mode" 参数的值用于定义 "dst" 参数中的存储器格式。 可通过偏移量确定目标缓冲区中已解析的符号值的存储位置。通过“dstOffsets”(Array of DINT) 参数指定偏移量。每个偏移量均为位偏移,用于确定将值写入缓冲区时的起始位。可在一个 字节中存储多个 BOOL 数据类型的值。其它所有数据类型的值的起始位位置必须可被 8 整除。 例如,如果 "src[i]" 参数引用一个数据类型为 REAL 的变量,同时"dstOffsets[i]"参数中的值为 88,"mode" 参数值为 2#1,则“从已解析的符号中读取值并写入缓冲区中”指令会将值复 制到字节 11 到 14 中(从Zui低有效字节开始)。 例如,如果 "src[i]" 参数引用一个数据类型为 BOOL 的变量,同时 "dstOffsets[i]" 参数中的值 为 29,则“从已解析的符号中读取值并写入缓冲区中”指令会将该值复制到字节为 3 并且 偏移量为 5 的目标存储器。 为确保 "dstOffsets[i]" 中包含有 "src[i]" 的偏移量,"dstOffsets" 和 "src" 处的数组限值必须相 同。 这样,可准确定义目标缓冲区的结构。但请注意,该指令不会验证所指定的偏移量是否重叠。 此时,不会发送错误消息,而且目标缓冲区中的内容不确定。 目标缓冲区中的内容同样取决于这是值从优化存储器中读取,或是从非优化存储器中。这两 个存储区对字节填充的规则不同。有关字节填充的更多信息,请参见“另请参见”。 "status" 参数是一个 INT 数组。为确保 "status[i]" 中包含有 "src[i]" 的状态,该参数的限值必 须与 "src" 和 "dstOffsets" 参数的相同。 对于 WSTRING 和 STRING,将复制源字符串的当前长度。如果源字符串比目标字符串短,则 目标字符串中的其余字符保持不变。 说明 SDT“ResolvedSymbol”中的引用无效 如果在 RUN 模式下因加载导致被引用的变量覆盖,则 SDT "ResolvedSymbol" 中的引用可能 变为无效。引用可能指向不存在的变量。“status”参数中的错误代码指示引用无效。 此时,需使用“ResolveSymbols”指令对该符号进行重新解析。数组“Input_ResolvedSymbols”中已解析的符号值将以 Big-Endian 格式写入 "dst" 参数的目标 缓冲区 "#InOut_Buffer" 内。 使用 "firstIndex" 和 "lastIndex" 参数中的两个常量,可限制需复制其值的变量数。 “Input_Offset”操作数中包含各个待写入值的偏移量。根据该偏移量,可确定在目标缓冲区中 写入已解析符号值的位置。MoveResolvedSymbolsFromBuffer:从缓冲区中读取值并写入已解析的符号中 (S7-1500) 说明 “从缓冲区中读取值并写入已解析的符号中”指令用于从存储区 (Array of BYTE) 中读取数值 并写入多个已解析的符号值中。采用这种方式,可处理从通信指令(如 TRCV)接收到的存 储区。 "src" 参数是一个 BYTE 数组,用作读取数值的源缓冲区。"dst" 参数是一个 ResolvedSymbol (SDT) 数组,其中包含对之前通过“ResolveSymbols”指令解析的变量的引用。通过使用引用, 将为变量写入来自源缓冲区的值。这两个数组的维度需相同。 通过使用 "firstIndex" 和 "lastIndex" 参数,限制选择已解析符号列表中需写入值的变量。如 果不希望对列表进行限制,则 "firstIndex" 参数中的值必须等于该列表的下限且 "lastIndex" 参 数中的值需等于该列表的上限。 "mode" 参数的值用于定义 "src" 参数中的存储器格式。 可通过偏移量确定在源缓冲区中读取和复制已解析符号值的起始位置。通过 “srcOffsets”(Array of DINT) 参数指定偏移量。每个偏移量均为位偏移,用于确定从缓冲区读 取值的起始位。可在一个字节中存储多个 BOOL 数据类型的值。其它所有数据类型的值的起 始位位置必须可被 8 整除。 例如,如果 "dst[i]" 参数引用一个数据类型为 REAL 的变量、"srcOffsets[i]" 参数中的值为 88, 同时 "mode" 参数值为 2#1,则该指令将读取“字节 11 到 14 中的值(从Zui低有效字节开 始)。 例如,如果 "src[i]" 参数引用一个数据类型为 BOOL 的变量,同时 "srcOffsets[i]" 参数中的值 为 29,则该指令将读取源缓冲区字节 3 中的值(偏移量 5)。 为确保 "srcOffsets[i]" 中包含有 "dst[i]" 的偏移量,"srcOffsets" 和 "dst" 处的数组限值必须相 同。 这样,可精准指定目标缓冲区中待复制的值。但请注意,该指令不会验证所指定的偏移量是 否重叠。此时,不会发送错误消息,而且可能随机读取值。 "status" 参数是一个 INT 数组。为确保 "status[i]" 中包含有 "dst[i]" 的状态,该参数的限值必 须与 "dst" 和 "srcOffsets" 参数的相同。

展开全文
拨打电话 微信咨询 发送询价