全国服务热线 15801815554

SIEMENS西门子 触摸屏KP1200 6AV21241MC010AX0

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

 

                下文中将介绍如何使用该指令 此部分举例说明指令“OPC_UA_TranslatePathList”在程序中的使用方法。 示例 假定 RFID 阅读器扫描从工厂大门运出的货物。 在本示例中,第一个阅读器名为“RfidReader_Door_1”。 RFID 阅读器 是一种可提供数据和方法让 OPC UA 客户端使用的 OPC UA 服务器。 AutoID 规范 按照 Companion 规范“AutoID”的要求,RFID 阅读器配有标准化接口。 RFID 阅读器的属性和方法的名称是通过标准化指定的。 下图显示了 UAExpert(Unified Automation 的工具)中阅读器"FfidReaderDoor_1" 的一部分 地址空间。 节点“RfidReader_Door_1”位于 "DeviceSet”下。 在其下方,可看到根据 AutoId 阅读器发布的属性和方法:由于阅读器符合 AutoID 规范,因此阅读器的属性和方法是已知的。 以下元素未知: • 名称“RfidReader_Door_1”。名称可随意选择,也可在相应工厂中指定。 • 阅读器地址空间中“RfidReader_Door_1”节点的 NodeId • 阅读器属性和方法的 NodeIds,也就是“RfidReader_Door_1”下方的所有节点,见上图。确定 NodeIds 的程序 • 使用客户端接口并通过拖放操作组态读取、写入或方法列表。 为此,请在线访问 OPC UA 服务器或使用包含所请求变量的 NodeIds 的服务器的 OPC UA XML 文件。STEP 7 (TIA Portal) 随后会自动确定变量的 NodeID。 不必在此调用“OPC_UA_TranslatePathList”指令。 • 使用 UAExpert 等工具: – 从“RfidReader_Door_1”读取 NodeId。 – 读取要在用户程序中使用的该阅读器的所有下级属性和方法的 NodeIds。 程序中的下一步是调用“OPC_UA_NodeGetHandleList”。 • 使用指令“OPC_UA_TranslatePathList”。 先为该指令定义浏览路径 (BrowsePath)。该路径的起始节点可以是“Objects”,但也可以 是 NodeId 已知的其它任何节点。 NodeId“i=85”始终会分配给“Objects”节点(根据 OPC UA 规范)。以下示例使用的 BrowsePath 源自“Objects”节点。通过“OPC_UA_TranslatePathList”确定所请求变量的 NodeIds 之后,请在下一步调用“OPC_UA_NodeGetHandleList”指令时使用这些 NodeIDs。 编程示例简介 以下示例说明了如何使用“OPC_UA_TranslatePathList”指令确定两个变量的 NodeIds。 示例中寻找的变量为“DeviceInfo”和“DeviceStatus”,使用的路径 (BrowsePath) 在“Objects”节 点 (NodeId: i=85) 处开始,通过“productionline”、“DataBlocksGlobal”和 “RfidReader_Door_1”到达搜索的变量,请参见下图。要求 使用“OPC_UA_TranslatePathList”指令必须满足以下要求: • 提供与 OPC UA 服务器建立连接的句柄。 通过指令“AUTOHOTSPOT”,可获取连接句柄。 可在 TIA Portal 中使用 OPC UA 的连接组态来组态与 OPC UA 服务器的连接。 如果不使用该连接组态,则需要在用户程序中设置连接参数。本说明的后续部分“与 OPC UA 服务器建立连接”一节介绍了具体处理方法。 调用指令(首次调用) 本部分介绍了函数块“Read_from_RfidReader_Door_1”。函数块说明了如何使用指令 “OPC_UA_TranslatePathList”。 有关完整的示例,请参见“AUTOHOTSPOT”部分。 变量声明 声明“OPC_UA_TranslatePathList”指令的实例和为指令参数提供的变量。 本程序示例中的声明如下所示: 用户程序 以下截取自用户程序的部分定义了 PLC 变量“DeviceInfo”的浏览路径。“DeviceStatus”的定义 未显示。 先定义起始节点 (StartingNode),随后会进入所寻找节点的浏览路径。所寻找节点的路径 (RelativePath) 定义如下。 第一个浏览路径 (BrowsePaths[0]) 的起始节点为“Objects”(NodeId i=85),通过 “productionline”、“DataBlocksGlobal”和“RfidReader_Door_1”到达搜索到的“DeviceInfo”变 量。 定义起始节点 以下用户程序先将起始节点设为 "Objects"。 “Objects”节点是由 OPC 基金会在命名空中定义的。OPC UA 服务器命名空间数组中的索引 0 始终分配给该命名空间。 OPC UA 服务器在其地址空间中发布该命名空间数组,以便 OPC UA 客户端使用索引代替命 名空间对节点进行寻址。与 OPC UA 服务器建立连接 示例程序的以下部分介绍了如何在不使用 STEP 7 (TIA Portal) 提供的连接组态的情况下在用 户程序中(通过程序)手动组态与 OPC UA 服务器的连接。 SCL 程序将相应值分配给用于此用途的参数。 在本程序示例中,由于为 OPC UA 使用“opc.tcp”协议,且服务器的 IP 地址为“192.168.1.1”, 因此会先定义服务器端。 设置安全模式“2”(SecurityMsgMode),对传输的消息进行签名。将值“Basic128Rsa15”设为签 名程序 (SecurityPolicy)。还指定了客户端证书的数目 (CerificateID)。本示例中使用的是数字 6。确定 DeviceInfo 和 DeviceStatus 节点的 NodeIds 以下截取自示例程序“Read_From_RfidReader_Door_1”的部分会向 OPC UA 服务器查询 BrowseName 为“DeviceInfo”和“DeviceStatus”的节点的 NodeIds。 有关完整的示例,请参见“AUTOHOTSPOT”部分。基于以下原因,该示例程序将调用“OPC_UA_TranslatePathList”指令: • 请求 BrowseName 为“DeviceInfo”和“DeviceStatus”的节点的 NodeId。 • 发生错误的情况下将 REQ 参数设为 FALSE。 异步执行 “OPC_UA_TranslatePathList”指令与用户程序异步执行,需要多个程序周期。 通过“Busy”、“Done”、“Error”和“Status”参数,可检查作业的状态。 有关异步程序执行的信息,请参见“同步指令和异步指令之间的不同之处 (页 715)”部分。 有关如何确定 NodeIds 的说明 如果“OPC_UA_TranslatePathList”指令未执行,#Busy 为 FALSE,因此“#Req”变量会设为 TRUE。这将启动指令的执行过程。 下一周期中,#Req 为 FALSE。 如果输出参数“Error”为 TRUE,指令执行过程中会出错。这会将“#State”变量的值设为 100。 该实例将保留以接受故障排除。 如果输出参数“Done”为 TRUE,说明指令执行成功。 注:该指令可能已成功执行(“Error”参数未置位,“Done”参数置位),但不会返回 PLC 变量 的 NodeId。 因此,在示例中,会对各 PLC 变量进行检查,以确定程序是否已获取各 PLC 变量的 NodeId: • 如果返回第一个变量的 NodeId,则“TargetStatusList”参数指向的数组的第一个元素包含 值 0。 • 如果返回第二个变量的 NodeId,则“TargetStatusList”参数指向的数组的第一个元素包含 值 0。 如果同时满足两个条件,输出参数“TargetNodeHdls”指向包含 NodeIds 的有效列表。这样会将 “#State”变量的值加 1。将在下一周期执行下一程序段(示例 4)。 有关示例 4 的说明信息,请参见“AUTOHOTSPOT”。数据交换 (S7-1500) OPC_UA_ReadList:读取变量 (S7-1500) 有效性 “OPC_UA_ReadList”指令的以下说明适用于 S7-1500 CPU 固件版本 V2.6 及更高版本。 说明 使用指令“OPC_UA_ReadList”读取 PLC 变量的值。 下图显示了该指令在编辑器 (FBD) 中的图标。在上图中,尚未包含该指令的参数。 指令“"OPC_UA_ReadList”用于从 OPC UA 服务器读取变量,请参见下图中的 ②。 指令返回包含变量值的列表。 除了变量值之外,还可以读取其它变量属性。属性是通过 AttributeID 指定的,请参见 “AUTOHOTSPOT”。① 准备读取和写入操作的指令 ② 读取和写入指令 ③ 完成读取或写入操作后释放资源的指令 说明 读取 OPC UA 数组与固件版本的相关性 对于 V2.9 及之前的固件版本,程序结构中的数组大小必须完全匹配读取的 OPC UA 数组的 大小。自固件版本 V3.0 起,PLC 程序中的数组大小可以大于读取的 OPC UA 数组的大小。建 议在执行读操作前完全复位程序中的值,因为 PLC 的固件不执行此操作。如果当前读取的数 组小于之前读取的数组,则存在访问程序中的旧值或无效值的风险。 关于兼容性,以下规则适用:到目前为止有效的访问将仍然有效。之前无效的访问现在可返 回值。 “OPC_UA_ReadList”的参数 表格 4-78 “OPC_UA_ReadList”指令的参数 参数 声明 数据类型 含义 REQ Input BOOL 参数中的上升沿 0 → 1 可触发指令的 执行。 ConnectionHdl Input DWORD 已建立连接的唯一标识符。 可使用指令“AUTOHOTSPOT”获取句 柄。 NodeHdlCount Input UINT 指向 NodeHdls 参数的数组中元素的 数目。 NodeHdls InOut VARIANT 指向 DWORD 类型的数组的指针。 该数组包含要读取其值的变量的节点 句柄。

联系方式

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