全国服务热线 15801815554

SIEMENS西门子 移动操作屏KTP700F 6AV21252GB230AX0

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



           异步执行 “OPC_UA_MethodGetHandleList”指令与用户程序异步执行,需要多个程序周期。 通过“Busy”、“Done”、“Error”和“Status”参数,可检查作业的状态。 有关异步程序执行的信息,请参见“同步指令和异步指令之间的不同之处”部分。 指令调用说明(首次调用) 上图所示为示例 3。此部分程序会在 OPC UA 服务器上注册方法“OpenDoor”。为此,会调用 “OPC_UA_MethodGetHandleList”方法。 如果指令未执行,#Busy 为 FALSE,因此“#Req”变量会设为值 TRUE。这将启动指令的执行过 程。下一周期中,#Req 为 FALSE。

           指令调用说明(故障排除) 如果发生错误,输出参数“Error”的值将设为 TRUE。这会将“#State”的值设为 100。该实例将 保留以接受故障排除。 如果输出参数“Done”为 TRUE,说明指令执行成功。 该指令可能已成功执行(“Error”参数未置位,“Done”参数置位),但无法返回方法的句柄。因此,在示例中会进行相应的检查,以确定是否已返回“OpenDoor”方法的句柄: • 如果满足条件,则变量“#State”的值加 1。这意味着将在下一周期执行下一程序段(示例 4 - 调用方法)。有关示例 4 的说明信息,请参见“OPC_UA_MethodCall:调用方法 (页 5872)”。 • 如果不满足该条件,则会将其评估为错误,且 #State 的值为 100。此错误情况会延续至 下一周期中。 说明 如果通过 OPC_UA_MethodGetHandleList 在应用程序中注册了多个方法,则当 #Done = TRUE 时,zuihao始终使 #State 的值加 1,并且在通过“OPC_UA_MethodCall”调用各个方法前, 仅检查是否针对有问题的方法返回了有效句柄(在示例 4 中)。OPC_UA_MethodCall:调用方法 (S7-1500) 有效性 “OPC_UA_MethodCall”指令的以下说明适用于 S7-1500 CPU 固件版本 V2.6 及更高版本。 说明 在用户程序中可使用“OPC_UA_MethodCall”指令调用服务器方法。 下图所示为用户程序结构。“OPC_UA_MethodCall”指令位于 ② 部分:① 用于准备方法调用的指令 ② 方法调用 ③ 完成方法调用后用于进行“清理”的指令OPC_UA_MethodCall:调用方法 (S7-1500) 有效性 “OPC_UA_MethodCall”指令的以下说明适用于 S7-1500 CPU 固件版本 V2.6 及更高版本。 说明 在用户程序中可使用“OPC_UA_MethodCall”指令调用服务器方法。 下图所示为用户程序结构。“OPC_UA_MethodCall”指令位于 ② 部分:“OPC_UA_MethodCall”的参数 表格 4-84 “OPC_UA_MethodCall”指令的参数 参数 区域中的声明 数据类型 含义 REQ Input BOOL 参数中的上升沿 0 → 1 可触发指 令的执行。 ConnectionHdl Input DWORD 已建立连接的唯一标识符。 可使用指令“AUTOHOTSPOT”获 取句柄。 Timeout Input TIME 指令执行的Zui长时间(单位为毫 秒)。 另请参见“AUTOHOTSPOT”中该 参数的具体说明。 MethodHdl Input DWORD 要调用的方法的句柄。 InputArguments InOut VARIANT 指向 PLC 数据类型 (UDT) 或 STRUCT 的变量的指针,变量的 名称、编号、顺序和数据类型与 预期输入参数对应。 OutputArguments InOut VARIANT 指向 PLC 数据类型 (UDT) 或 STRUCT 的变量的指针,变量的 名称、编号、顺序和数据类型与 预期输出参数对应。 Done Output BOOL 执行的状态: • 0:指令的执行中止、尚未完 成或尚未开始 • 1:指令的执行已完成且未出 错 Busy Output BOOL 执行状态参数: • 0:指令未在执行 • 1:指令当前正在执行 Error Output BOOL 错误显示 • 0:无错误 • 1:发生错误。请参见“状 态”参数。参数 区域中的声明 数据类型 含义 Status Output DWORD 错误原因,请参见下文中的“状 态对应的错误编号” MethodResult InOut VARIANT 指向 DWORD 类型且包含所调用 服务器方法错误代码(结果)的 变量的指针。 该错误代码由 OPC UA 服务器的 用户程序提供。如果将 S7-1500 CPU 作为 OPC UA 服务器,则可 以使用客户端指令 “OPC_UA_MethodCall”读取服务 器指令 “OPC_UA_ServerMethodPost”的 “UAMethod_Result”参数,即为 错误代码。 如果未能执行 “OPC_UA_MethodCall”指令 (Error = true,Status <> 0), 则不会为 MethodResult 设置值。OpcUa_BadOutOfMemory 无 OPC UA 客户端可用的内存。 由于 OPC UA 客户端和 OPC UA 服务 器共用存储区,应降低服务器的存储 区要求。 此时,可执行以下操作: • 为 OPC UA 释放少量 PLC 变量。 • 减少当前连接到服务器的 OPC UA 客户端的数量。 • 设置更少的订阅。 8006_0000 OpcUa_BadEncodingError 解码输出参数时出错 8009_0000 OpcUa_BadUnknownResponse 服务器未响应预期的结果数 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_MethodCall”指令数量 (> 5),请参见: AUTOHOTSPOT。错误代码(十六 进制值) 错误名称 说明 8034_0000 BadNodeIdUnknown The node id refers to a node that does not exist in the server address space. 指定 NodeId 的 NamespaceIndex 可 能不存在。如果在调用 “OPC_UA_MethodCall”指令时显示错 误代码: 另一个可能的原因是在之前调用 OPC_UA_MethodGetHandleList 时 使用了无效的 ObjectID。 “OPC_UA_MethodGetHandleList”指 令不评估 ObjectID。 8074_0000 OpcUa_BadTypeMismatch 参数变量的类型错误。 8075_0000 OpcUa_BadMethodInvalid 指定的 MethodHdl 没有已注册方法 8076_0000 BadArgumentsMissing 客户端未指定所有规定的输入参数。 80AB_0000 OpcUa_BadInvalidArgument 输入参数的类型错误。 B080_0100 Simatic_BadType_VariantInput1 指令的第一个变量参数指向的参数 “MethodResult”的数据类型不正确。 B080_0200 Simatic_BadType_VariantInput2 指令的第二个变量参数指向的参数 “InputArguments”的数据类型不正 确。 B080_0300 Simatic_BadType_VariantInput3 指令的第三个变量参数指向的参数 “OutputArguments”的数据类型不正 确。 B080_1100 Simatic_ArrayElements_TooMany 常规错误代码。数组包含的元素过多 时发生该错误。 B080_C400 Simatic_ClientNotEnabled OPC UA 客户端已禁用。 B080_C500 Simatic_NothingToDo 不执行任何操作:指令正在使用未包 含任何元素的列表。要求 以下说明假定: • 已创建了一个客户端接口,参见“AUTOHOTSPOT”。 • 已创建并组态与 OPC UA 服务器的连接,请参见“AUTOHOTSPOT”。 此外,使用“OPC_UA_MethodCall”指令(上述 cf 图)还必须满足以下要求: • 提供与 OPC UA 服务器建立连接的句柄。 通过该指令获取连接句柄,请参见“AUTOHOTSPOT”。 • 包含用户要通过客户端调用的方法的命名空间的索引。 使用指令“OPC_UA_NamespaceGetIndexList”,可获取索引。 要在用户程序中调用的方法所对应的句柄。 可使用该指令获取句柄,请参见“AUTOHOTSPOT”。 指令的功能 “OPC_UA_MethodCall”指令可用于调用 OPC UA 服务器中已发布的方法。 已组态连接的使用方法 1. 在“项目树”(Project tree) 区域中,选择将用作客户端的 CPU。 2. 在“程序块”(Program blocks) 文件夹中,选择要用于执行客户端指令的函数块。 在该示例中,函数块名为“Call_OpenDoor_On_Productionline”。 选择的语言:SCL。 3. 使用拖放功能将“OPC_UA_MethodCall”指令从“指令 > 通信 > OPC UA > OPC UA 客户 端”(Instructions > Communication > OPC UA > OPC UA Client) 文件夹移到编辑器。 4. 选择该调用,作为多重实例。 STEP 7 创建该指令的实例并将其命名为“OPC_UA_MethodCall_Instance”。

联系方式

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