UA_NodeGetHandleList (S7-300, S7-400) 功能 (S7-300, S7-400) 块的功能 通过 UA_NodeGetHandleList 块,您可以在所连的 UA 服务器上注册 nodeID。 UA 服务器返回句柄。这些句柄由具有“NodeHdls”参数的块输出。您可以通过块“UA_ReadList” 和“UA_WriteList”在其输入参数“NodeHdls”处访问节点句柄的数据项。 您必须了解在“NodeIDs”输入参数中指定的目标服务器的 nodeID。您可以将它们保存在 UDT “UANodeID”中。 输入参数“NodeIDCount”处目标节点的数量始终是 1,所以您需要为每个 nodeID 单独调用该 块。
参数 (S7-300, S7-400) 块参数 下表介绍了程序块的形式参数。 表格块 UA_NodeGetHandleList 的参数 参数 声明 S7 数据类 型 取值范围 含义 Execute IN BOOL 0, 1 参数的上升沿 0 → 1 启动块的处理。 ConnectionHdl IN DWORD 1 .. 5 UA_Connect 提供的连接标识符 NodeIDCount IN WORD 1 “NodeIDs”的数据区中的元素数量该数量必 须为 1。 NodeIDs IN ARRAY of UDT 请参见“含义” 服务器的目标节点的参数结构。 NodeID 的数量 (1) 必须与输出参数 “NodeHdls”处的数量相同。 有关 UDT 结构的信息,请参见 UANodeID (页 9365)部分。 Timeout IN TIME 5000 .. 120000 建立连接的Zui长时间(单位:毫秒)。如果 超出该值,则中止块的处理,错误编号 B0007001。 如果输入的值超出允许范围,则使用默认 值 60000(60 秒)。参数 声明 S7 数据类 型 取值范围 含义 NodeHdls OUT ARRAY of DWORD 0 .. 4 294 967 295 服务器分配的作为客户端查询的回复的句柄 的数组。该句柄用于对服务器上的数据项进 行唯一标识。 在通过调用 UA_NodeReleaseHandleList 块 将句柄释放之前,句柄保持有效,释放后即 变为无效。 会话终止时,CP 会取消该会话的所有已注 册节点句柄。 该参数用于“UA_ReadList”和“UA_WriteList” 块的输入参数“NodeHdls”。 Done OUT BOOL 0, 1 块处理的状态参数 • 0:块执行中止、未完成或未启动 • 1:无错完成块处理 Busy OUT BOOL 0, 1 块处理的状态参数 • 0:当前未处理块 • 1:块执行当前正在进行 Error OUT BOOL 0, 1 错误代码 • 0:无错误 • 1:已发生错误。请参见“参数 “ErrorID””。 ErrorID OUT DWORD 请参见“含义” “错误”(Error) = 1 时,输出错误编号。 有关编号的意义,请参见错误编号 (页 9369)部分。 NodeErrorIDs OUT ARRAY of DWORD 请参见“含义” 包含块“NodeIDs”数据区所有元素的错误编 号。 有关编号的意义,请参见错误编号部分。UA_NodeReleaseHandleList (S7-300, S7-400) 功能 (S7-300, S7-400) 块的功能 通过 UA_NodeReleaseHandleList 块,您可以在所连的 UA 服务器上释放当前会话的节点句 柄。这会删除列表。 输入参数“NodeHdls”引用写入了“UA_NodeGetHandleList”块的输出参数“NodeHdls”的句柄的 数据块。 输入参数“NodeHdlCount”处的句柄的数量始终是 1,所以您需要为每个句柄单独调用该块。UA_NodeReleaseHandleList 的参数 参数 声明 S7 数据类 型 取值范围 含义/说明 Execute IN BOOL 0, 1 参数的上升沿 0 → 1 启动块的处理。 ConnectionHdl IN DWORD 1 .. 5 UA_Connect 提供的连接标识符 NodeHdlCount IN WORD 1 “NodeHdls”的数据区中的元素数量该数量 必须为 1。 NodeHdls IN ARRAY of DWORD 要取消的句柄的 ID 数组。 如果成功执行该块,该句柄将在服务器上取 消,因此编程无效。参数 声明 S7 数据类 型 取值范围 含义/说明 Timeout IN TIME 5000 .. 120000 建立连接的Zui长时间(单位:毫秒)。如果 超出该值,则中止块的处理,错误编号 B0007001。 如果输入的值超出允许范围,则使用默认 值 60000(60 秒)。 Done OUT BOOL 0, 1 块处理的状态参数 • 0:块执行中止、未完成或未启动 • 1:无错完成块处理 Busy OUT BOOL 0, 1 块处理的状态参数 • 0:当前未处理块 • 1:块执行当前正在进行 Error OUT BOOL 0, 1 错误代码 • 0:无错误 • 1:已发生错误。请参见“参数 “ErrorID””。 ErrorID OUT DWORD 请参见“含义” “错误”(Error) = 1 时,输出错误编号。 有关编号的意义,请参见错误编号 (页 9369)部分。 NodeErrorIDs OUT ARRAY of DWORD 请参见“含义” 包含“NodeHdls”数据区所有元素的错误代 码。UA_Disconnect (S7-300, S7-400) 功能 (S7-300, S7-400) 块的功能 通过 UA_Disconnect 块,您可以终止作为 OPC UA 客户端的 CP 与 UA 服务器之间的现有连接。 这将结束现有会话。块 UA_Disconnect 的参数 参数 声明 S7 数据类 型 取值范围 含义 Execute IN BOOL 0, 1 参数的上升沿 0 → 1 启动块的处理。 ConnectionHdl IN DWORD 1 .. 5 UA_Connect 提供的连接标识符 Timeout IN TIME 5000 .. 120000 建立连接的Zui长时间(单位:毫秒)。如果 超出该值,则中止块的处理,错误编号 B0007001。 如果输入的值超出允许范围,则使用默认 值 60000(60 秒)。 Done OUT BOOL 0, 1 块处理的状态参数 • 0:块执行中止、未完成或未启动 • 1:无错完成块处理 Busy OUT BOOL 0, 1 块处理的状态参数 • 0:当前未处理块 • 1:块执行当前正在进行 Error OUT BOOL 0, 1 错误代码 • 0:无错误 • 1:已发生错误。请参见“参数 “ErrorID””。 ErrorID OUT DWORD 请参见“含义” “错误”(Error) = 1 时,输出错误编号。 有关编号的意义,请参见错误编号部分。UA_ReadList (S7-300, S7-400) 功能 (S7-300, S7-400) 块的功能 通过 UA_ReadList 块,您可以从所连接的 UA 服务器中读取数据。 您可以对输入参数“NodeAddInfos”引用的 UDT“UANodeAdditionalInfo”中要读取的属性进行 编程。 从“UA_NodeGetHandleList”块的输出参数“NodeHdls”的数组中读取输入参数“NodeHdls”处所 需的句柄输入参数“NodeIDCount”处 nodeID 的数量始终是 1,所以您需要为每个目标节点单独调用该 块。参数 (S7-300, S7-400) 块参数 下表介绍了程序块的形式参数。 表格块 UA_ReadList 的参数 参数 声明 S7 数据类 型 取值范围 含义 Execute IN BOOL 0, 1 参数的上升沿 0 → 1 启动块的处理。 ConnectionHdl IN DWORD 1 .. 5 UA_Connect 提供的连接标识符 NodeHdlCount IN WORD 1 要读取的目标区域的元素数该数量必须为 1。 NodeHdls IN ARRAY of DWORD 1 OPC UA 服务器的目标节点(数据项)的节 点数组。从“UA_NodeGetHandleList”块的 输出参数“NodeHdls”的数组中读取句柄。