下表列出了指令“TUSEND”的参数: 参数 声明 数据类型 存储区 说明 REQ Input BOOL I、Q、M、D、L、 T、C 控制参数 REQUEST 在上升沿时启动发送作 业。 数据从 DATA 和 LEN 指定的区域传出。 ID Input WORD M、D 或常数 指向用户程序和操作系统通信层之间相关连 接的引用。ID 必须与本地连接描述信息内对 应的参数 ID 相同。 取值范围:W#16#0001 至 W#16#0FFF LEN Input INT I、Q、M、D、L 作业需要发送的字节数 取值范围: 1 到 1472 DONE Output BOOL I、Q、M、D、L 状态参数 DONE: • 0: 作业未启动,或者仍在执行之中。 • 1: 作业已执行,且无任何错误 BUSY Output BOOL I、Q、M、D、L • BUSY = 1:作业仍未完成。 无法启动新 作业。 • BUSY = 0:作业已经完成。 ERROR Output BOOL I、Q、M、D、L 状态参数 ERROR: • ERROR=1: 处理期间出错。 STATUS 提供 有关错误类型的详细信息 STATUS Output WORD M、D 状态参数 STATUS: 错误信息。
参数 声明 数据类型 存储区 说明 DATA InOut ANY I、Q、M、D 发送区,包含地址和长度 该地址引用: • 输入的过程映像 • 输出的过程映像 • 位存储器 • 数据块 注: 可通过这两种方式输入 DATA 参数: • juedui。 示例:P#DB13.DBX0.0 字节 64 • 符号。 示例:DB_name.variable ADDR InOut ANY D 接收方的地址指针(例如, P#DB100.DBX0.0 字节 8) 另请参见: 远程通信伙伴 UDP 地址信息的 结构 (页 8759) 注: 可通过这两种方式输入 ADDR 参数: • juedui。 示例:P#DB13.DBX0.0 字节 64 • 符号。 示例:DB_name.variable 有关有效数据类型的更多信息,请参见“有效数据类型概述。参数 ERROR 和 STATUS ERROR STATUS (W#16#... ) 说明 0 0000 发送作业已成功完成 0 7000 当前无作业处理 0 7001 启动作业处理,正在发送数据 注: 在这个处理阶段,操作系统访问 DATA 发送区内的数据。 0 7002 中间调用(与 REQ 无关),正在处理作业 注: 在这个处理阶段,操作系统访问 DATA 发送区内的数据。 1 8085 LEN 参数的值为“0”或者大于Zui大允许值。 1 8086 ID 参数不在允许范围之内 0 8088 LEN 参数大于 DATA 内的指定存储区。 1 8089 参数 ADDR 没有指向某个数据块。ERROR STATUS (W#16#... ) 说明 1 80A1 通信错误: • 用户程序和操作系统通信层之间的指定连接仍未建立。 • 正在终止用户程序与操作系统通信层之间的指定连接。 无法通过该连接进行传输。 • 正在重新初始化接口。 1 80A4 远程连接端点的 IP 地址无效,例如,该地址与本地伙伴自己的 IP 地址相同。 1 80B3 • 协议选项(连接描述信息内的参数 connection_type)没有被设置为 UDP。 请使用 “TSEND (页 8777)”。 • ADDR 参数: 端口号的信息无效。 1 80C3 • 正在以不同的优先级处理该 ID 所对应的块。 • 内部资源不足。 1 80C4 临时通信错误: • 目前,无法建立用户程序与操作系统通信层之间的连接。 • 正在为接口分配新参数设置信息。 1 8xyy 常见错误信息 另请参见: 通过输出参数 RET_VAL 评估错误 (页 184) TURCV: 通过 UDP 接收数据 (S7-300, S7-400) 说明 指令“TURCV”可以通过 UDP 接收数据。 “TURCV”成功执行完毕之后,参数 ADDR 将会包含远 程通信伙伴的地址(发送方)。 警告 根据 RFC 768 采用 UDP 传输数据 根据 RFC 768,采用 UDP 传输数据时,至远程通信伙伴的数据传输没有确认机制,因此, 这种数据传输不可靠。 这意味着,数据有可能会丢失,而块也不会指示这类丢失现象。 功能描述 "TURCV" 指令为异步执行。即,该作业的执行可以延长并跨越多个调用。 调用“TURCV”,且 EN_R = 1,可启动接收作业。其作业状态由输出参数 BUSY 和 STATUS 指示。 此时,STATUS 相当于异步指令的输出参数 RET_VAL 另请参见: 同步指令和异步指令之间的不同之处 (页 6480). 下表列出了 BUSY、NDR 和 ERROR 之间的关系。 使用该表可以确定 TURCV 的当前状态或接 收过程结束的时间。 BUSY NDR ERROR 说明 TRUE 无关 无关 作业正在处理。 FALSE TRUE FALSE 作业已成功完成。 FALSE FALSE TRUE 由于出错,导致作业结束。 错误的原因可以从参数 STATUS 中找出。 FALSE FALSE FALSE 没有为该指令分配(新)作业。 说明 由于“TURCV”为异步执行,仅当参数 NDR 的值为 TRUE 之后,接收区内的数据才具备一致性。 参数 下表列出了指令“TURCV”的参数: 参数 声明 数据类型 存储区 说明 EN_R Input BOOL I、Q、M、D、L、 T、C 控制参数 enabled to receive: 当 EN_R = 1 时,“TURCV”已处于准备接收状态。正在处 理接收作业。 ID Input WORD M、D 或常数 指向用户程序和操作系统通信层之间相关连 接的引用。ID 必须与本地连接描述信息内的 有关参数 ID 相同。 取值范围:W#16#0001 至 W#16#0FFF LEN Input INT I、Q、M、D、L 接收区长度(以字节为单位): 0(推荐 值)或者 1 至 1472 另请参见:基于工业以太网的开放式用户通 信指令的功能描述 (页 8747) NDR Output BOOL I、Q、M、D、L 状态参数 NDR: • NDR = 0:作业未启动,或仍在执行过程 中 • NDR = 1:作业已成功完成。参数 声明 数据类型 存储区 说明 ERROR Output BOOL I、Q、M、D、L 状态参数 ERROR: • ERROR = 1:执行过程中出错。有关错误 类型的详细信息,请参见 STATUS BUSY Output BOOL I、Q、M、D、L • BUSY = 1:作业仍未完成。 无法启动新 作业。 • BUSY = 0:作业已经完成。 STATUS Output WORD M、D 状态参数 STATUS: 错误信息 RCVD_LEN Output INT I、Q、M、D、L 实际接收到的数据量(以字节为单位) DATA InOut ANY I、Q、M、D 接收区(有关接受区的定义,请参见基于工 业以太网的开放式用户通信指令的功能描述 (页 8747)) 地址引用: • 输入的过程映像 • 输出的过程映像 • 位存储器 • 数据块 注: 可通过这两种方式输入 DATA 参数: • juedui。 示例:P#DB13.DBX0.0 字节 64 • 符号。 示例:DB_name.variable ADDR InOut ANY D 接收方的地址指针(例如, P#DB100.DBX0.0 字节 8),另请参见:远 程通信伙伴 UDP 地址信息的结构(页8759) 注: 可通过这两种方式输入 ADDR 参数: • juedui。 示例:P#DB13.DBX0.0 字节 64 • 符号。 示例:DB_name.variable 有关有效数据类型的更多信息,请参见“有效数据类型概述。参数 ERROR 和 STATUS ERROR STATUS (W#16#... ) 说明 0 0000 新数据已接收。 RCVD_LEN 可以显示已接收数据的当前长度。 0 7000 块还未准备好接收 0 7001 块已经准备好接收,接收作业已激活 0 7002 中间调用,正在处理接收作业 注: 在这个处理阶段,“TURCV”将数据写入接收区。 因此,错误可能破坏接收区内的 数据一致性。 1 8085 参数 LEN 大于Zui大允许值,或者第一次调用之后,您已经更改了参数 LEN 或 DATA 的值。 1 8086 ID 参数不在允许范围之内 1 8088 • 接收区过小 • LEN 的值大于 DATA 所指定的接收区 1 8089 参数 ADDR 没有指向某个数据块 1 80A1 通信错误: • 用户程序和操作系统通信层之间的指定连接仍未建立。 • 正在终止用户程序与操作系统通信层之间的指定连接。 无法通过该连接执行接收作 业。 • 正在为接口分配新参数设置信息。 1 80B3 协议选项(连接描述信息内的参数 connection_type)没有被设置为 UDP。 请使用 “TRCV (页 8780)”。 1 80C3 • 正在以不同的优先级处理该 ID 所对应的块。 • 内部资源不足。 1 80C4 临时通信错误: 正在为接口分配新参数设置信息。 1 8xyy 常见错误信息 另请参见: 通过输出参数 RET_VAL 评估错误。