UA_ReadList(S7-1200, S7-1500) 功能 (S7-1200, S7-1500) 块的功能 通过 UA_ReadList块,您可以从所连接的 UA 服务器中读取数据。 您可以对输入参数“NodeAddInfos”引用的UDT“UANodeAdditionalInfo”中要读取的属性进行 编程。从“UA_NodeGetHandleList”块的输出参数“NodeHdls”的数组中读取输入参数“NodeHdls”处所 需的句柄。输入参数“NodeIDCount”处 nodeID 的数量始终是 1,所以您需要为每个目标节点单独调用该 块。 参见 参数(页 6000) OPC UA 客户端的程序块。
参数 (S7-1200,S7-1500) 块参数 下表介绍了程序块的形式参数。 表格 4-103 块 UA_ReadList 的参数 参数 声明 S7 数据类型 取值范围 含义 Execute IN BOOL 0, 1 参数的上升沿 0 → 1 启动块的处理。ConnectionHdl IN DWORD 1 .. 5 UA_Connect 提供的连接标识符 NodeHdlCount INWORD 1 要读取的目标区域的元素数该数量必须为 1。 NodeHdls IN ARRAY of DWORD 1 OPC UA服务器的目标节点(数据项)的节 点数组。从“UA_NodeGetHandleList”块的输出参数“NodeHdls”的数组中读取句柄。 NodeAddInfos IN ARRAY of UDT 请参见“含义”指定要读取的数据项的属性和索引范围。有 关 UDT 结构的信息,请参 见 UANodeAdditionalInfo(页 6011) 部分。 Timeout IN TIME 5000 .. 120000建立连接的Zui长时间(单位:毫秒)。如果 超出该值,则中止块的处理,错误编号 B0007001。 如果输入的值超出允许范围,则使用默认值 60000(60 秒)。 Variables IN_OUT UDT 请参见“含义” 指向要读取的数据。有关 UDT 结构的信息,请参见 UAAnyPointer (页 6012) 部分。 有关支持的过程数据的数据类型,请参见数 据类型(页 6003)部分。 Done OUT BOOL 0, 1 块处理的状态参数 • 0:块执行中止、未完成或未启动 •1:无错完成块处理 Busy OUT BOOL 0, 1 块处理的状态参数 • 0:当前未处理块 • 1:块执行当前正在进行。参数声明 S7 数据类 型 取值范围 含义 Error OUT BOOL 0, 1 错误代码 • 0:无错误 •1:已发生错误。请参见“ErrorID”参数。 ErrorID OUT DWORD 请参见“含义” “错误”(Error) = 1时,输出错误编号。 有关编号的意义,请参见错误编号 (页 6014)部分。 NodeErrorIDs OUT ARRAYof DWORD 请参见“含义” 包含块“Variables”数据区所有元素的错误编 号。 有关编号的意义,请参见错误编号(页 6014)部分。 TimeStamps OUT UDT 请参见“含义”包含块“Variables”数据区所有元素的时间 戳。有关 UDT 结构的信息,请参 见 UATimeStamp 部分。
UA_WriteList(S7-1200, S7-1500) 功能 (S7-1200, S7-1500) 块的功能 通过 UA_WriteList块,您可以将数据写入所连接的 UA 服务器。 您可以对输入参数“NodeAddInfos”引用的UDT“UANodeAdditionalInfo”中要写入的属性进行 编程。从“UA_NodeGetHandleList”块的输出参数“NodeHdls”的数组中读取输入参数“NodeHdls”处所 需的句柄。输入参数“NodeIDCount”处 nodeID 的数量始终是 1,所以您需要为每个目标节点单独调用该 块。参数 (S7-1200,S7-1500) 块参数 下表介绍了程序块的形式参数。 表格 4-104 块 UA_WriteList 的参数 参数 声明 S7数据类 型 取值范围 含义 Execute IN BOOL 0, 1 参数的上升沿 0 → 1 启动块的处理。ConnectionHdl IN DWORD 1 .. 5 UA_Connect 提供的连接标识符 NodeHdlCount INWORD 1 要写入的目标区域的元素数该数量必须为 1。 NodeHdls IN ARRAY of DWORD 1 OPC UA服务器的目标节点(数据项)的节 点数组。从“UA_NodeGetHandleList”块的输出参数“NodeHdls”的数组中读取句柄。 NodeAddInfos IN ARRAY of UDT 请参见“含义”指定要写入的数据项的属性和索引范围。有 关 UDT 结构的信息,请参 见 UANodeAdditionalInfo(页 6011) 部分。 Timeout IN TIME 5000 .. 120000建立连接的Zui长时间(单位:毫秒)。如果 超出该值,则中止块的处理,错误编号 B0007001。 如果输入的值超出允许范围,则使用默认值 60000(60 秒)。 Variables IN_OUT UDT 请参见“含义” 指向要写入的数据。有关 UDT 结构的信息,请参见 UAAnyPointer (页 6012) 部分。 有关支持的过程数据的数据类型,请参见数 据类型(页 6003)部分。 Done OUT BOOL 0, 1 块处理的状态参数 • 0:块执行中止、未完成或未启动 •1:无错完成块处理 Busy OUT BOOL 0, 1 块处理的状态参数 • 0:当前未处理块 • 1:块执行当前正在进行。参数声明 S7 数据类 型 取值范围 含义 Error OUT BOOL 0, 1 错误代码 • 0:无错误 •1:已发生错误。请参见“参数 “ErrorID””。 ErrorID OUT DWORD 请参见“含义” “错误”(Error) =1 时,输出错误编号。 有关编号的意义,请参见错误编号 (页 6014)部分。 NodeErrorIDs OUT ARRAYof DWORD 请参见“含义” 包含块“Variables”数据区所有元素的错误编 号。 有关编号的意义,请参见错误编号(页 6014)部分。 数据类型 (S7-1200, S7-1500) 数据类型和存储区CP 443‑1 OPC UA 支持以下列出的过程数据的数据类型。 CPU上相应的符号允许在下面列出的操作数区域中使用。存储区的缩写形式如下。括号中的 缩写形式取决于助记符设置(德语/英语)。 • I =过程输入映像 (E/I) • Q = 过程输出映像 (A/Q) • PI = I/O 区域输入 (PE/PI) • PQ = I/O区域输出 (PA/PQ) • M = 存储器位 • DB = 数据块/系统数据块/实例数据块有关编码的信息,请参见以下部分。有关此数据类型编码的一般说明,请参见 STEP 7 在线帮助。 复杂数据类型的特性 通过 CP 的 OPC UA功能使用复杂数据类型时,下面说明的特殊编码规则适用。 STRING 每个字符串Zui多可包含 254 个字符。 允许使用32 (0x20) .. 255 (0xFF) 范围内的 ASCII 字符。其中,不允许使用以下字符: 127 (0x7F), 129 (0x81), 141 (0x8D), 143 (0x8F), 144(0x90), 157 (0x9D) OPC UA 服务器的特性 在 CP 的 OPC UA 服务器中以 UTF-8格式对字符进行了编码。ARRAY OPC UA 客户端的特性 客户端程序块仅支持传送存储区“DB”中的一维数组。客户端程序块不支持传送数据类型“ARRAY of BOOL”。 对于 ARRAY ofSTRING,由于每个字符串元素的尺寸均存在限制,因此必须指定“n”次Zui大长 度 (256),其中的“n”是指数组中字符串的数量。OPC UA 服务器的特性 所有情况下都可以读取“ARRAY of BOOL”数据类型。 但要写入“ARRAY ofBOOL”数据类型,则只有当其长度是 8 的整数倍时才可行。 UDT 有关 OPC UA 客户端功能的程序块所需的 UDT的结构,请参见“CP 443-1 OPC UA 的 UDTCP 443-1 OPC UA 的 UDT (S7-1200,S7-1500) UASessionConnectInfo (S7-1200, S7-1500)UASessionConnectInfo 下表列出了 UA_Connect块的参数“SessionConnectInfo”的连接信息的意义。 表格 4-106 UDT UASessionConnectInfo的参数 参数 S7 数据类型 取值范围 含义 SessionName STRING 0 ..254 个字 符 会话的名称如果该字符串为空,则系统将输入以下内 容作为会话名称: “