SIEMENS西门子 操作屏连接盒 6AV2 125-2AE23-0AX0
开始执行作业时首次调用 0070_0200 - 后续调用 8003_0000 OpcUa_BadOutOfMemory 无 OPC UA 客户端可用的内存。 由于 OPC UA 客户端和 OPC UA 服 务器共用存储区,应降低服务器 的存储区要求。 此时,可执行以下操作: • 为 OPC UA 释放少量 PLC 变量。 • 减少当前连接到服务器的 OPC UA 客户端的数量。 • 设置更少的订阅。 800A_0000 OpcUa_BadTimeout 发生网络超时。 可能的原因: • 与 OPC UA 服务器的连接速度 过慢(容量不足)。 • 网络负载过高。 • OPC UA 服务器不可用。 可能的补救措施: • 检查 OPC UA 服务器的 URL • 增加超时设置(为函数块 OPC_UA_Connect 的超时参 数设置更大的值)。 800D_0000 OpcUa_BadServerNotConnected 服务器未连接或者连接句柄错误 或无效。 800F_0000 OpcUa_BadNothingToDo 不执行任何操作:OPC UA 服务 器从 OPC UA 客户端接收到一个 空表,其中不含任何指令。 8010_0000 OpcUa_BadTooManyOperations 已超出每个连接可同时调用的 “OPC_UA_Disconnect”指令数量 (> 1),请参见:AUTOHOTSPOT B080_C400 Simatic_ClientNotEnabled OPC UA 客户端已禁用。 B080_C600 Simatic_ClientNotAvailable 初始化客户端时出错。
错误代码 (十六进制值) 错误名称 说明 C080_C300 Simatic_OutOfResources 已超出可同时使用的Zui大客户端 指令数量。 可能的补救措施: • 减少同时运行的此类型客户端 指令数量,请参见 “AUTOHOTSPOT” 更多错误代码,请参见“错误代码 (页 5899)”。 下文中将介绍如何使用该指令 此部分根据程序示例介绍指令“OPC_UA_Disconnect”在与 OPC UA 服务器交换数据的程序中 的使用方法。 要求 以下说明假定: • 已创建了一个客户端接口,参见“AUTOHOTSPOT”。 • 已创建并组态与 OPC UA 服务器的连接,请参见“AUTOHOTSPOT”。 此外,使用“OPC_UA_Disconnect”指令必须满足以下要求: • 提供与 OPC UA 服务器建立连接的句柄。 通过调用指令获取连接句柄,请参见“OPC_UA_Connect:创建连接 (页 5741)”。 指令的功能 调用指令“OPC_UA_Disconnect”断开与 OPC UA 服务器的连接。 已组态连接的使用方法 1. 在“项目树”(Project tree) 区域中,选择将用作客户端的 CPU。 2. 在“程序块”(Program blocks) 文件夹中,选择要用于执行客户端指令的函数块。 在该示例中,函数块名为“ReadFromProductionline”。 选择的语言:SCL。 3. 使用拖放功能将“OPC_UA_Disconnect”指令从“指令 > 通信 > OPC UA > OPC UA 客户 端”(Instructions > Communication > OPC UA > OPC UA Client) 文件夹移到编辑器。 4. 选择该调用,作为多重实例。 STEP 7 将创建一个该指令的实例并命名为 "OPC_UA_Disconnect_Instance"。5. 在“OPC_UA_Disconnect_Instance”指令中,单击图标“开始组态”(Start configuration)。 STEP 7 随即在巡视窗口中打开“组态”(Configuration) 选项卡。 6. 在“选择用于 OPC UA 接口的客户端接口”(Select client interface for OPC UA interface) 下,选 择要为指令使用的客户端接口。 在本示例中,该客户端接口名为“Productionline”,为“AUTOHOTSPOT”而创建;具体参见 “AUTOHOTSPOT”。 STEP 7 现在将自动为指令参数提供已为客户端接口组态的值。 7. 单击“块参数”(Block parameters),然后将变量手动分配给剩余参数 REQ、Busy、Done、 Error、Status。 STEP 7 会将所选变量添加到指令调用中。 调用指令 有关完整的程序,请参见“AUTOHOTSPOT”部分。 示例程序用于终止 OPC UA 服务器连接和会话:基于以下原因,该示例程序将调用“OPC_UA_Disconnect”指令: • 终止与 OPC UA 服务器的连接。 • 发生错误的情况下将 REQ 参数设为 FALSE。 异步执行 “OPC_UA_Disconnect”指令与用户程序异步执行,需要多个程序周期。 通过“Busy”、“Done”、“Error”和“Status”参数,可检查作业的状态。 有关异步程序执行的信息,请参见“同步指令和异步指令之间的不同之处 (页 715)”部分。指令调用说明 上图所示为示例 6。程序中的这一部分用于终止与已连接的 OPC UA 服务器的连接和会话。 如果 #State 变量为 6,则执行示例 6。 如果“OPC_UA_Disconnect”指令未执行,#Busy 为 FALSE,因此“#Req”变量会设为值 TRUE。 这将启动指令的执行过程。下一周期中,#Req 为 FALSE。 如果输出参数“Done”为 TRUE,则可释放用于连接的句柄并终止连接。这样会将“#State”变量 的值加 1。这意味着将在下一周期执行下一程序段(示例 7)。该实例用于设置函数块 (Output_Busy = FALSE,Output_Done = TRUE)的状态信息。 如果无法成功执行该指令,则输出参数“Error”为 TRUE,且变量 #State 的值为 100。该实例 将保留以接受故障排除。 诊断 (S7-1500) OPC_UA_ConnectionGetStatus:读取连接状态 (S7-1500) 有效性 除非另有说明,否则“OPC_UA_ConnectionGetStatus”指令的以下说明适用于 S7-1500 CPU 固 件版本 V2.6 及更高版本。 说明 使用“OPC_UA_ConnectionGetStatus”指令监视连接,即获取关于 OPC UA 服务器连接质量的 信息。 该指令返回以下信息: • 连接状态 • 所连接 OPC UA 服务器的状态和服务等级 (状态的节点标识符:i=2259,ServiceLevel 的节点标识符:i=2267)① 准备读取和写入操作的指令 ② 读取和写入指令 ③ 完成读取或写入操作后用于进行“清理”的指令 “OPC_UA_ConnectionGetStatus”的参数 表格 4-82 “OPC_UA_ConnectionGetStatus”函数块的参数 参数 区域中的 声明 数据类型 含义 REQ Input BOOL 参数中的上升沿 0 → 1 可触发指令的执行。 ConnectionHdl Input DWORD 已建立连接的唯一标识符。 可使用指令“OPC_UA_Connect:创建连接 (页 5741)”获取句柄。 Timeout Input TIME 指令执行的Zui长时间(单位为毫秒)。 另请参见“OPC_UA_Connect:创建连接 (页 5741)”中该参数的具体说明。 Done Output BOOL 执行的状态: • 0:指令的执行中止、尚未完成或尚未开始 • 1:指令的执行已完成且未出错 Busy Output BOOL 执行状态参数: • 0:指令未在执行 • 1:指令当前正在执行 Error Output BOOL 错误显示 • 0:无错误 • 1:发生错误。请参见“Status”参数。 Status Output DWORD 错误原因,请参见下文中的“状态对应的错误 编号”