全国服务热线 15801815554

SIEMENS西门子 S120 伺服电机 1FK7022-5AK71-1LG3

更新时间:2025-01-30 08:00:00
价格:请来电询价
西门子:代理商
S120:全新原装 假一罚十
德国:现货 实体经营
联系电话:15801815554
联系手机: 15801815554
联系人:邓经理
让卖家联系我
详细介绍


          符号化移动 (S7-1500) 运行期间进行符号化访问 (S7-1500) 应用 借助“运行期间进行符号化访问”功能,外部应用程序在运行期间可以访问 PLC 程序中的变 量。外部应用程序可以是 HMI 应用程序、OPC UA 功能或其它通信功能等。可读取或写入变 量。 创建程序时,并不编写静态的读写访问。实际上,在运行期间动态执行读写访问。通过手动 或通过程序控制的方式输入要在运行期间访问的符号变量名称。 “运行期间进行符号化访问”功能可处理优化数据以及非优化数据。这意味着相对于只能访 问非优化数据的 ANY 指针而言,此功能更加灵活高效。 例如,此功能可通过外部设备或应用程序来跟踪变量。 限制 下列限制适用于运行期间的符号化访问: • 符号化访问仅适用于 S7-1500 固件版本 V3.0 及以上版本。 • 变量必须具有属性“可从 HMI/OPC UA/Web API 访问”或“可从 HMI/OPC UA/Web API 写 入”。 下表列出了可访问的数据:故障安全程序中的数据 - 访问故障安全程序部分时, CPU 将切换为 STOP 模式。 - 访问故障安全程序部分时, CPU 将切换为 STOP 模式。 工作原理 要在运行期间访问变量,需要执行两步操作: 1. 通过 HMI 等方式输入的符号化变量名必需进行“解析”。即,在 PLC 程序中需创建相应变量 的引用。引用属于类型化指针,可通过该指针在 PLC 程序中寻址变量。要解析符号变量,请 使用异步指令“ResolveSymbols”。 2. 可通过专门的 Move 指令读取或写入变量值。Move 指令属于同步指令。该指令通过之前生成 的引用寻址变量。

               步骤 1 示例 以下示例说明了使用指令“ResolveSymbols”解析符号变量名称的工作原理: • 在参数 "nameList" 中指定一个包含要解析的变量名称的 Array of WSTRING。 • 在参数 "referenceList" 中指定保存变量引用的 Array of ResolvedSymbol (SDT)。 • 这两个数组的限值需相同。 随后在参数 "referenceList" 中收到对每个符号变量名称的引用。引用包含在系统数据类型 “"ResolvedSymbol"”的结构中。步骤 2 示例 以下示例说明了如何使用指令“MoveResolvedSymbolsToBuffer”读取变量值并将其写入缓冲 区中: • 在参数 "src" 中,指定包含对已解析变量引用的 Array of ResolvedSymbol (SDT) 。 • 在 "dst" 参数中指定 Array of BYTE 。该数组用作写入变量值的目标缓冲区。 执行指令 "MoveResolvedSymbolsToBuffer" 时,会通过引用读取变量值,并将其写入目标缓 冲区。 另请参见: MoveResolvedSymbolsToBuffer:从已解析的符号中读取值并写入缓冲区中ResolveSymbols:解析多个符号 (S7-1500) 说明 “解析多个符号”指令用于解析多个符号变量名称。执行该指令后,会收到对变量的引用。引 用属于类型化指针,可用于对变量进行读写访问。 在 "nameList" 参数中指定 Array of WSTRING 。运行期间会通过此数组传送待解析的变量名称。 该数组可位于优化的存储区或非优化存储区中。 在参数 "referenceList" 中指定保存引用的 Array of ResolvedSymbol (SDT)。ARRAY 需位于优 化存储区中。这两个数组的限值需相同。 符号变量名称以 WSTRING 格式传输,且长度不得超过 254 个 UTF-16 字符。输入完全限定 的名称(包括命名空间)。不支持表示本地变量的限定符 #。支持数组中的元素,但必须指 定固定下标才能访问元素。不支持通过可变下标(如myArray[myIndexTag])进行访问。 完全限定名称示例: myNamespace.mySubnamespace.myDataBlock.myArray[7,12,1] 使用 "firstIndex" 和 "lastIndex" 参数,可以仅解析列表中的部分符号。要解析整个符号列表, 可在 "firstIndex" 参数中指定下限,在 "lastIndex" 参数中指定上限。 该指令以异步方式执行。参数“"execute"”出现信号上升沿时开始执行。该指令在执行过程中 (Busy = 1),"nameList" 和 "referenceList" 参数中的值无法更改。对符号进行解析前,"referenceList" 参数中位于指定数组范围("firstIndex"和 "lastIndex")内 的数组的值将复位。 该指令执行完成后,"done" 参数值将在一个周期内为 1。参数 "referenceList" 中的数组会填 入对变量的引用。 “execute”参数出现下降沿后,表示“ResolveSymbol”的实例不再处于激活状态。 说明 组态限值 每次Zui多可激活 10 条 "ResolveSymbols" 指令。该指令的所有活动实例总共可解析Zui多 2000 个符号。参数 下表列出了“解析多个符号”指令的参数: 参数 声明 数据类型 存储区 说明 execute Input BOOL I、Q、M、D、L 出现信号上升沿 时,会开始执行 指令。 firstIndex Input DINT I、Q、M、D、 L、C 待解析的第一个 变量名称的下 标。 lastIndex Input DINT I、Q、M、D、 L、C 待解析的Zui后一 个变量名称的下 标。 done Output BOOL I、Q、M、D、L Done = 1 该指令执行完 成。 busy Output BOOL I、Q、M、D、L Busy = 1 该指令当前正在 执行。如果操作数“#Input_Execute”的信号状态更改为“1”,则该指令开始执行。对参数 "nameList" 中的变量名称进行解析,并将变量引用写入参数 "referenceList" 中的操作数 "#InOut_ResolvedSymbols"。该指令执行完成后,"done" 参数值将在一个周期内为 1。系统数据类型 ResolvedSymbol (S7-1500) 说明 执行“运行期间进行符号化访问”功能需要使用系统数据类型 "ResolvedSymbol"。该数据类 型会保存对 PLC 程序中变量的引用,并会保存用于生成这些引用的状态信息。系统类型需位 于优化存储器中。 在固件版本 V3.0 及以上版本,系统数据类型“ResolvedSymbol”可声明为 PLC 数据类型的元 素。系统数据类型的结构 "ResolvedSymbol" 系统数据类型具有以下可见元素: 参数名称 数据类型 说明 resolved BOOL 指示符号是否成功解析: • 已解析 = FALSE,且 STATUS = 0 => 尚未执行符号解析。 • 已解析 = FALSE + status <> 0 => 符号解析失败 status 参数的值指示变量中无法解析的结构等 级。 负值表示无法解析符号,原因包括超出范围等。 正值表示变量不可访问或不可通过 HMI/OPC UA 或 Web API 写入。 • 已解析 = TRUE,且 STATUS = 0 => 符号已成功解析。 • 已解析 = TRUE,且状态 <> 0 => 符号已成功解析,但该 DB 由“RUN”模式下 的后续加载结果覆盖。 status INT "resolved" 元素用于指示某个符号是否已成功解析。如果符号已成功解析,"status" 参数的值 为 0,且 "ResolvedSymbol" 结构中包含正确的信息。 除了这两个参数之外,系统数据类型还包含用于保存变量数据类型、长度和地址信息的内部 参数,但这些参数不可访问。 如果符号解析错误,则 "status" 参数将返回以下值:系统数据类型“ResolvedSymbol”中的无效引用 如果在 RUN 模式下因加载导致被引用的变量覆盖,则 SDT "ResolvedSymbol" 中的引用可能 变为无效。引用可能指向不存在的变量。"status" 参数中的错误代码指示引用无效。 以下示例中显示了出错时在 SCL 中如何使用 IF 指令中断 Move 指令的执行以及如何重新解 析该符号:在调用 „MoveResolvedSymbolsToBuffer“ 指令之前,需进行检查,确定符号解析是否成功以 及 „MoveResolvedSymbolsToBuffer“ 是否可以执行。 即使符号解析成功,执行 „MoveResolvedSymbolToBuffer“ 时也可能出错。例如,在 RUN 模 式下因加载导致变量覆盖。此时,返回值 „err“ 为复制失败的进程数。 如果识别到复制过程识别,则后续的 IF 指令将 "EnableMove" 设置为 FALSE。这样,系统将 不再执行 "MoveResolvedSymbolsToBuffer"。 之后,FOR 指令将进行检查,确定产生错误代码的相关符号。对于这些符号,会将错误代码 复制到 "status" 参数中。 同时,参数“„resolved“”设置为 FALSE。现在需要再次使用异步操作指令 „ResolveSymbols“ 解 析符号。

联系方式

  • 地址:上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201100
  • 电话:15801815554
  • 联系人:邓经理
  • 手机:15801815554
  • 微信:15801815554
  • QQ:190755061