n
组态注意事项:
这里所述的情况仅适用于下列两种工业以太网模板(CP 443-1 Advanced):n
- 6GK7 443-1EX40-0XE0n
- 6GK7 443-1EX41-0XE0
这些模板支持open TCP/IP通讯的功能块,即除了SEND/RECEIVE 功能块 (FC5/50 "AG_SEND/AG-LSEND" 和 FC6/60 "AG_RECV/AG_LRECV"),可以使用T功能块通过以太网进行open TCP/IP 通讯。
功能块 | 功能块名称 | 功能 |
FB 63 | TSEND | 通过已建立的通讯连接发送数据包 |
FB 64 | TRCV | 通过已建立的通讯连接接收数据包 |
FB 65 | TCON | 建立通讯连接 |
FB 66 | TDISCON | 中断一个通讯连接 |
通过TCP/IP协议进行数据交换是一种高性能的通讯方式。在集成的PROFINET端口上可以和CP一样进行open TCP/IP的通讯。n
当通过CP使用T块进行open TCP/IP通讯时,还可以使用ISO-on-TCP通讯服务。因而RFC1006协议可以扩展在TCP/IP层上。CPU做为连接的终端。这是与CP通过SEND/RECEIVE进行通讯的明显的区别,使用CP的通讯需要在NetPro中进行组态,且终端总是CP。n
Open TCP/IP通讯通过T块进行,不需要在NetPro中进行组态,组态参数在数据块中进行定义。这些数据块被传送到FB65“TCON”用来建立连接。连接参数包括本地的和远程的“TSAP(transport service access point)”。这在下列参数中定义:n
- local_tsap_id (local TSAP)n
- rem_tsap_id (remote TSAP)
当连接建立时,在通讯双方将比较本地和远程建立连接的参数。当双方的参数一致时才会建立连接,该组态连接的机制与通过SEND/RECEIVE进行通讯的机制相类似。n
当同时使用ISO-on-TCP和T块时应注意下列条件:
- 一个连接是通过组态,调用SEND/RECEIVE,通过CP实现的。通讯块是FC50 "AG_LSEND" 和 FC60 "AG_LRECV"。n
- 第二个连接是通过调用FB65 "TCON"建立open TCP/IP通讯。n
- open TCP/IP通讯是当CPU启动后通过用户程序建立的。n
- 所建立的连接是无特殊定义的连接。这意味着只有本地的连接是可以预组态的。连接建立时通讯对方的连接参数并没有指明。
在这种情况下,不应将两种通讯连接定义相同的TSAP,将导致CP,接收到两个相同的来自被动站点的连接请求(或连接等待)。但实际上一个是通过SEND/RECEIVE接口,一个是通过FB 65 "TCON"来建立的。n
做为接收方,CP首先检查该连接组态是否与SEND/RECEIVE接口相匹配。当open TCP/IP的连接失败时,CP将进行连接等待。当两种通讯方式都使用相同的TSAP时,只有SEND/RECEIVE接口连接被建立!尽管open TCP/IP的参数都正确。n
基本原则:
下列参数是在建立open TCP/IP连接时需要定义的:
参数 | 设定值 | 描述 |
rem_tsap_id[1] | B#16#E0 | T-连接类型 |
rem_tsap_id[2] | Bits 0 to 4: slot, | 远程连接终端的机架号和槽号(CPU) |
rem_tsap_id[3-16] | TSAP extension | 请参照详细的说明 |
TSAP的第一个字节必须被定义成0xE0,这定义了该连接的类型。
另外需要注意的是:
- 在使用SEND/RECEIVE接口进行组态连接的通讯中,第一个TSAP字节不应该被定义成0xE0 或 0xE1。
- 除了本地连接的参数,那些通讯对方的参数在建立连接时也将被检查,如果严格按照规范进行定义,发生错误的可能性将会大大的降低。
#Ende#
© Siemens AG, 1998, 2000
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc336723.html