调用指令(首次调用) 以下的“Call_OpenDoor_On_Productionine”程序摘录给出了使用“OPC_UA_MethodReleaseHandleList”指令的方法。有关完整的程序示例,请参见“AUTOHOTSPOT”部分。 示例程序由 CASE 指令 (Cases) 分为多个程序段。指令的功能调用指令“OPC_UA_MethodReleaseHandleList”可释放程序中不再需要的方法句柄。 已组态连接的使用方法 1.在“项目树”(Project tree) 区域中,选择将用作客户端的 CPU。 2. 在“程序块”(Program blocks)文件夹中,选择要用于执行客户端指令的函数块。在该示例中,函数块名为“Call_OpenDoor_On_Productionline”。 选择的语言:SCL。 3.使用拖放功能将“OPC_UA_MethodReleaseHandleList”指令从“指令 > 通信 > OPC UA> OPC UA 客户端”(Instructions > Communication > OPC UA >OPC UA Client) 文件夹移到编辑器。 4. 选择该调用,作为多重实例。 STEP 7创建该指令的实例并将其命名为“OPC_UA_MethodReleaseHandleList_Instance”。 5.单击“OPC_UA_MethodReleaseHandleList_Instance”。 STEP 7将打开“组态”(Configuration)。 6. 在“选择用于 OPC UA 接口的客户端接口”(Select clientinterface for OPC UA interface) 下,选 择要为指令使用的客户端接口。在本示例中,该客户端接口名为之前创建的“Productionline”,具体参见“AUTOHOTSPOT”。 7.单击“数据访问”(Data access),然后选择方法列表。 在该示例中,方法列表名为“MethodListOpenDoor”。STEP 7 将通过变量自动提供指令的大多数参数,但参数 Busy、Done 和 Error 除外。 8.为尚未提供的参数创建本地变量。 9. 单击“块参数”(Block parameters),然后为剩余的参数手动分配变量。 STEP 7会将所选变量添加到函数调用中。
异步执行“OPC_UA_MethodReleaseHandleList”指令与用户程序异步执行,需要多个程序周期。通过“Busy”、“Done”、“Error”和“Status”参数,可检查作业的状态。有关异步程序执行的信息,请参见“同步指令和异步指令之间的不同之处 (页 715)”部分。 指令调用说明(首次调用)上图所示为示例 5。程序的这一部分可重新释放服务器方法的句柄。在该示例中,“OpenDoor”服务器方法的句柄传递给了“MethodHdls”参数。如果无法释放该句柄,则“StatusList”参数会包含错误代码。指令调用说明(故障排除)如果发生错误,则“OPC_UA_MethodReleaseHandleList”指令的输出参数“Error”的值将设为TRUE。这会将“#State”变量的值设为 100。该实例将保留以接受故障排除。示例程序还调用了指令“OPC_UA_MethodReleaseHandleList”,以将 REQ 参数设为 FALSE。如果输出参数“Done”为“TRUE”,则“OPC_UA_MethodReleaseHandleList”指令执行成功。在该示例中,还检查确定了“OpenDoor”服务器方法的句柄是否已释放。 如果执行成功,则变量“"#State”的值将递增1。这意味着将在下一周期执行下一程序段(示 例 6)。说明 在示例 6 中,将启用与 OPC UA服务器的连接。这同样也将释放客户端程序在服务器中占用 的所有其它资源。如果要终止与服务器的连接,则用户程序可跳过示例 5 直接执行示例6。 OPC UA 客户端指令的系统数据类型 (S7-1500) OPC_UA_SessionConnectInfo(S7-1500) OPC_UA_SessionConnectInfo请参见下表了解“OPC_UA_Connect”指令的“SessionConnectInfo”参数所对应的连接信息含义。 表格 4-86系统数据类型 “OPC_UA_SessionConnectInfo”的参数 参数 S7 数据类型 含义 SessionNameWSTRING[64 ] 会话名称,可在此处输入。该参数可留空。 如果不输入一个名称,OPC UA 服务器会分配一个名称。例如,会话名称用于确定连接以进行诊断。 ApplicationNam e WSTRING[64 ] OPC UA客户端的名称。应用程序名称是客户端说明的一 部分,该说明又是会话的一部分(请参见 SessionName)。无法为每个对话设置唯一的ApplicationName。STRING 必须为空,否则将返回错误代码“Simatic_BadValue_VariantInput2 (0xB080_2200)”。 组态的应用程序名称用作SIMATIC 的 ApplicationName (OPC UA 区域中的 CPU 参数)。 SecurityMsgMo deUDINT security 过程 • 0 = zuijia步骤。注:禁止使用该设置! • 1 = None • 2 = Sign •3 = Sign&Encrypt参数 S7 数据类型 含义 SecurityPolicy UDINT Security配置文件 • 0 = zuijia安全配置文件。注:禁止使用该设置! • 1 = 无 security 配置文件 • 2 =Basic128Rsa15 • 3 = Basic256 • 4 = Basic256Sha256 ServerUriSTRING[254] 仅与通过网关服务器与 OPC UA 服务器的连接相关。 固件版本 ≤ V2.6 的 CPU不支持网关服务器。因此,必须 为此参数提供空字符串。 CheckServerCer tificate BOOL如果将此位置位,客户端将根据组态的可信证书检查服务 器发送的证书。用户可通过属性“客户端 CPU >‘保护和安 全’区域> 证书管理器”(Client CPU > "Protection & Security" area >Certificate Manager) 访问受信证书列 表。在此,可找到必须填写的“伙伴设备证 书”(Certificates ofthe partner devices) 表。 填写要求为已通过全局证书管理器导入所需的证书(项目 树 > 证书管理器>“受信任的证书和根证书颁发机 构”(Project tree > Certificate manager >"Trusted Certificates and Root Certification Authorities") 选项 卡)。如果未将此位置位,则客户端不会检查服务器证书。 TransportProfile UDINT 1 = UATP_UATcp 根据PLCopen 规范,仅支持该传输配置文件。 UserIdentityTok enType UDINT有关用户身份验证数据的信息,请参见此表下面的说明。 UserTokenPara m1 WSTRING[64 ] 其含义取决于UserIdentityTokenType(例如用户名)。 UserTokenPara m2 WSTRING[64 ] 其含义取决于UserIdentityTokenType(例如密码)。