0 到 1
| block_length
| UINT
| 64
| 长度:64 个字节(固定)
|
2 到 3
| id
| CONN_OUC
| 1
| 引用该连接(值范围:1 到 4095)。
对于 TSEND_C、TRCV_C 或 TCON 指令,必须在 ID 中指定该参数的值。
|
4
| connection_type
| USINT
| 17
| 连接类型:
17:TCP (17 dec = 0x11 hex)
18:ISO-on-TCP (18 dec = 0x12 hex)
19:UDP(十进制 19 = 十六进制 0x13)
|
5
| active_est
| BOOL
| TRUE
| 连接建立类型的标识符。UDP 总是为 FALSE,这是因为数据可以通过本地 ID 进行发送和接收。
以下设置适用于 TCP 和 ISO-on-TCP:
FALSE:被动连接建立
TRUE:主动连接建立
|
6
| local_device_id
| USINT
| 1
| 本地 PN/IE 接口的 ID。
|
7
| local_tsap_id_len
| USINT
| 0
| 所用参数 local_tsap_id 的长度(字节);可能值:
0 或 2(连接类型为 17 (TCP) 时)
主动端的值只能为 0。
2 到 16(连接类型为 18 (ISO-on-TCP) 时)
2,连接类型为 19 (UDP) 时
|
8
| rem_subnet_id_len
| USINT
| 0
| 该参数未使用。
|
9
| rem_staddr_len
| USINT
| 4
| 伙伴端点的地址长度(字节):
0:未指定,即参数 rem_staddr 不相关。
4:参数 rem_staddr 中的有效 IP 地址
(仅限 TCP 和 ISO-on-TCP)
|
10
| rem_tsap_id_len
| USINT
| 2
| 所用参数 rem_tsap_id 的长度(字节);可能值:
0 或 2(连接类型为 17 (TCP) 时)
被动端的值只能为 0。
2 到 16(连接类型为 18 (ISO-on-TCP) 时)
0,连接类型为 19 (UDP) 时
|
11
| next_staddr_len
| USINT
| 0
| 该参数未使用。
|
12 到 27
| local_tsap_id
| BYTE 类型的 ARRAY [1..16]
| -
| 连接的本地地址部分:
TCP 和 UDP:本地端口号(可能值:1 到 49151;建议值:2000 到 5000);
local_tsap_id[1] = 端口号的高位字节(十六进制表示);
local_tsap_id[2] = 端口号的低位字节(十六进制表示);
local_tsap_id[3-16] = 不相关
ISO-on-TCP:本地 TSAP ID:
local_tsap_id[1] = B#16#E0;
local_tsap_id[2] = 本地端点的机架和插槽(位 0 到 4:插槽号;位 5 到 7:机架号);
?local_tsap_id[3-16] = TSAP 扩展(可选)
注:请确保 local_tsap_id 的每个值在 CPU 中都唯一。
|
28 到 33
| rem_subnet_id
| USINT 类型的 ARRAY [1..6]
| -
| 该参数未使用。
|
34 到 39
| rem_staddr
| USINT 类型的 ARRAY [1..6]
| -
| 仅限 TCP 和 ISO-on-TCP:伙伴端点的 IP 地址,例如,192.168.002.003:
rem_staddr[1] = 192
rem_staddr[2] = 168
rem_staddr[3] = 002
rem_staddr[4] = 003
rem_staddr[5-6]= 无关
|
40 到 55
| rem_tsap_id
| BYTE 类型的 ARRAY [1..16]
| -
| 连接的伙伴地址部分
TCP:伙伴端口号(可能值:1 到 49151;建议值:2000 到 5000);
rem_tsap_id[1] = 端口号的高位字节(十六进制表示);
rem_tsap_id[2] = 端口号的低位字节(十六进制表示);
rem_tsap_id[3-16] = 不相关
ISO-on-TCP:伙伴 TSAP-ID:
rem_tsap_id[1] = B#16#E0;
rem_tsap_id[2] = 伙伴端点的机架和插槽(位 0 到 4:插槽号;位 5 到 7:机架号);
rem_tsap_id[3-16] = TSAP 扩展(可选)
UDP:该参数未使用。
|
56 到 61
| next_staddr
| BYTE 类型的 ARRAY [1..6]
| -
| 该参数未使用。
|
62 到 63
| spare
| WORD
| W#16#0000
| 预留。
|
0
| 0000
| 已成功建立连接。
|
0
| 7000
| 当前无作业处理
|
0
| 7001
| 启动作业执行,建立连接。
|
0
| 7002
| 正在建立连接(与 REQ 无关)。
|
1
| 8085
| 连接 ID(ID 参数)已经被已组态的连接使用。
|
1
| 8086
| ID 参数超出了有效范围。
|
1
| 8087
| 已达到最大连接数;无法建立更多连接
|
1
| 8089
| CONNECT 参数没有指向某个数据块。
|
1
| 809A
| 集成接口不支持参数 CONNECT 中的结构,或长度无效,或连接描述 (SDT) 中指定的的“InterfaceID”错误。
|
1
| 809B
| TCON_xxx 结构中的 InterfaceId 元素不会引用 CPU 或 CM/CP 接口的硬件标识符,或其值为“0”。
|
1
| 80A0
| 组错误,用于错误代码 W#16#80A1 和 W#16#80A2。
|
1
| 80A1
| 指定的连接或端口正在使用中。
|
1
| 80A2
| 系统正在使用本地或者远程端口。
|
1
| 80A3
| 正尝试重新建立现有连接。
|
1
| 80A4
| 连接远程端点的 IP 地址无效,即它与本地伙伴的 IP 地址重复。
|
1
| 80A5
| 连接 ID 已被使用。
|
1
| 80A7
| 通信错误:在“TCON”完成前执行了“TDISCON”。
|
1
| 80B2
| CONNECT 参数指向通过属性“仅存储在装载存储器中”生成的某个数据块。
|
1
| 80B4
| 使用 ISO-on-TCP 协议选项 (connection_type =?B#16#12) 建立被动连接时,违反了以下一个或两个条件:
local_tsap_id_len >= B#16#02
local_tsap_id[1] = B#16#E0
local_tsap_id_len >=?B#16#03 时,local_tsap_id[1] 是 ASCII 字符。
local_tsap_id[1] 是 ASCII 字符,且 local_tsap_id_len >=?B#16#03。
|
1
| 80B5
| 连接类型 13 = UDP 仅支持建立被动连接。
|
1
| 80B6
| SDT TCON_Param 的 connection_type 参数存在参数分配错误。
|
1
| 80B7
| 在进行连接描述的数据块中,以下某个参数错误:block_length、local_tsap_id_len、rem_subnet_id_len、rem_staddr_len、rem_tsap_id_len、next_staddr_len。
注:如果在 TCP 中为被动端调用 TCON,则 local_tsap_id_len 的值必须为 2 且 rem_tsap_id_len 的值必须为 0。
|
1
| 80B8
| 结构元素 ID 和块参数 ID 的连接描述不同。
|
1
| 80C3
| 所有连接资源均已使用。
|
1
| 80C4
| 临时通信错误:
此时无法建立连接。
由于连接路径中防火墙的指定端口未打开,无法建立连接。
接口当前正在接收新参数。
“TDISCON”指令当前正在删除已组态的连接。
|
0
| 0000
| 发送作业已完成且未出错。
|
0
| 7000
| 未激活任何作业处理。
|
0
| 7001
| 启动作业执行,正在发送数据。
处理该作业期间,操作系统访问 DATA 发送区中的数据。
|
0
| 7002
| 作业正在执行(与 REQ 无关)。
处理该作业期间,操作系统访问 DATA 发送区中的数据。
|
1
| 8085
| 参数 LEN 大于所允许的最大值。
S7-1200:8192;S7-1500 (TCP):65536;S7-1500 (FDL):240 / 236
DATA 和 LEN 参数值均为“0”。
|
1
| 8086
| ID 参数超出了允许的地址范围。
|
1
| 8088
| LEN 参数大于 DATA 中指定的区域。
|
1
| 80A1
| 通信错误:
尚未建立指定的连接。
正在终止指定的连接。无法通过此连接进行传送。
正在重新初始化接口。
|
1
| 80B1
| 在当前作业完成前更改了 DATA 参数。
|
1
| 80B3
| 协议选项(连接描述信息内的参数 ConnectionType)被设置为 UDP。UDP 连接使用指令“TUSEND”。
|
1
| 80C3
| 具有该 ID 的块正在一个具有不同优先级的组中处理。
内部资源不足。
|
1
| 80C4
| 临时通信错误:
此时无法建立与伙伴的连接。
接口正在接收新参数设置或正在建立连接。
仅对于 FDL/PROFIBUS:连接伙伴上暂时没有可用的接收资源。连接伙伴尚未就绪,无法接收。
R/H 系统为 SYNCUP 系统状态,或进行了主备份切换。连接关闭。TSEND 停止执行。
|
1
| 80C5
| 通信伙伴终止连接。
远程连接伙伴的 LSAP 未释放
|
1
| 80C6
| 网络错误:
远程伙伴无法访问。
PROFIBUS 物理断开
|
1
| 80C7
| 执行超时。
|
1
| 80EE
| 通信握手尚未完成
|
1
| xxyy, xx > 80
| 有关常见错误信息,请参见通过输出参数 RET_VAL 评估错误
|
|
|
|
0
| 0000
| 作业已成功完成。在参数 RCVD_LEN 中输出已接收数据的当前长度。
|
0
| 7000
| 块未做好接收准备。
|
0
| 7001
| 块已经准备好接收,接收作业已激活。
|
0
| 7002
| 中间调用,接收作业正在执行。
注:处理作业期间,数据会写入接收区。此时访问接收区可能会得到不一致的数据。
|
1
| 8085
| 参数 LEN 大于允许的最大值(对于 S7-1200:8192 字节,S7-1500:65536 字节)。
参数 LEN 或 DATA 的值在第一次调用后发生改变。
参数 LEN 与 DATA 的值均为“0”,或 LEN 的长度超出所允许的最大值(S7-1200:8192 字节,S7-1500:65536 字节)。
|
1
| 8086
| ID 参数超出了有效范围。
|
1
| 8088
| 接收区过小。
参数 LEN 的值大于参数 DATA 中设置的接收区。
|
1
| 80A1
| 通信错误:
尚未建立指定的连接。
正在终止指定的连接。无法通过该连接执行接收作业。
正在重新初始化连接。
|
1
| 80B1
| 在当前作业完成前更改了 DATA 参数。
|
1
| 80B3
| 协议选项(连接描述信息内的参数 connection_type)被设置为 UDP。UDP 连接使用指令“TURCV”。
|
1
| 80C3
|
- 具有该 ID 的块正在一个具有不同优先级的组中处理。
- 内部资源不足。
|
1
| 80C4
| 临时通信错误:
- 此时无法建立与伙伴的连接。
- 接口正在接收新参数设置或正在建立连接。
- R/H 系统为 SYNCUP 系统状态,或进行了主备份切换。连接关闭。TRCV 停止执行。
|
1
| 80C5
| 远程伙伴终止了连接。
|
1
| 80C6
| 无法访问远程伙伴(网络错误)。
|
1
| 80C7
| 执行超时。
|
1
| 80C9
| 接收区的长度小于发送数据的长度。
|
1
| 80EE
| 通信握手尚未完成
|
1
| xxyy, xx > 80
| 有关常见错误信息,请参见通过输出参数 RET_VAL 评估错误
|
|
|
|