首页 > 技术知识 > 正文

同样是使用使用FB65但RFID与PC的连接DB用法有一定的区别:

首先说一下什么是FB65:

通过TCP和ISO on TCP使用

两个通信伙伴都调用FB 65 “TCON”来设置和建立通信连接。在这些参数中,您要指定哪个伙伴是主动通信传输点、哪个伙伴是被动通信传输点。

设置并建立连接后,CPU会自动对连接进行维护和监视。

如果连接中断,如由于线路中断或远程通信伙伴而造成的中断,主动伙伴会尝试重新建立已组态的连接。在这种情况下,不必再次调用FB 65 “TCON”。

当调用FB 66 “TDISCON”或CPU进入STOP模式时,现有连接将被终止并删除已组态的连接。要重新设置并再次建立该连接,必须再次调用FB 65 “TCON”。

下面各自介绍一下程序结构和设置:

RFID的设置

RFID与PC的连接DB用法的区别-rfid的设备

SICKRFID里软件程序里的设置:

RFID与PC的连接DB用法的区别-rfid的设备1

RFID与PC的连接DB用法的区别-rfid的设备2

RFID的背景数据块定义FB的连接格式:和UDT65一致!

RFID与PC的连接DB用法的区别-rfid的设备3

RFID与PC的连接DB用法的区别-rfid的设备4

在程序中设置格式:

FB520程序分析:

用户程序和操作系统通信层之间该连接的标识号(数值范围:W#16#0001至W#16#0FFF)您必须在各个带有标识号的块中指定参数的值。

TCON_PARAM.id := INT_TO_WORD(VerbID.ID); 20

建立连接的方式的标识号:必须将FALSE分配给该参数。

TCON_PARAM.active_est := True;S7作Client时为主动 TRUE

S7作Server时为被动FALSE

TCON_PARAM.connection_type := B#16#11; 协议类型:11TCP/13UDP

B#16#03:通过CPU 319-3 PN/DP上的集成IE接口进行通信

TCON_PARAM.local_device_id := INT_TO_BYTE(VerbID.DeviceID); =3

以十六进制表示的端口号RFID与PC的连接DB用法的区别-rfid的设备5

TCON_PARAM.local_tsap_id[1]:= WORD_TO_BYTE(SHR(IN:=INT_TO_WORD(VerbID.lokalPort),N:=8)); 2111

TCON_PARAM.local_tsap_id[2]:= WORD_TO_BYTE(INT_TO_WORD(VerbID.lokalPort));

TCON_PARAM.rem_staddr_len :=B#16#4; 远程连接终端的地址长度:4: 参数rem_staddr中有效的IP地址

TCON_PARAM.rem_tsap_id_len := B#16#2; 所使用的参数rem_tsap_id的长度

连接设备的IP地址:

TCON_PARAM.rem_staddr[1] :=INT_TO_BYTE(VerbID.IP[1]); 10

TCON_PARAM.rem_staddr[2] :=INT_TO_BYTE(VerbID.IP[2]);200

TCON_PARAM.rem_staddr[3] :=INT_TO_BYTE(VerbID.IP[3]);27

TCON_PARAM.rem_staddr[4] :=INT_TO_BYTE(VerbID.IP[4]);48

TCON_PARAM.rem_tsap_id[1] :=B#16#8; 远程标示号0840—2112

TCON_PARAM.rem_tsap_id[2] := B#16#40; 远程标示号

在与中控室电脑连接时FB600 的静态变量格式与RFID的格式一致证明

DB860关于与PC连接用设置结构:

RFID与PC的连接DB用法的区别-rfid的设备6

RFID与PC的连接DB用法的区别-rfid的设备7

FB600程序分析:

L DBW[AR1,P#0.0] 1 连接ID用户程序和操作系统通信层之间该连接的标识号

T #Verbindung.id

L B#16#11 使用TCP连接方式

T #Verbindung.connection_type

SET 建立连接的方式的标识号:必须将FALSE分配给该参数。

R #Verbindung.active_est

L 0 //0 不用指0

T #Verbindung.rem_staddr_len // 远程连接终端的地址长度

PC的IP地址:

L DBW[AR1,P#4.0] //VerID.IP[1] 192

T #Verbindung.rem_staddr[1]

L DBW[AR1,P#6.0] //VerID.IP[2] 168

T #Verbindung.rem_staddr[2]

L DBW[AR1,P#8.0] //VerID.IP[3] 0

T #Verbindung.rem_staddr[3]

L DBW[AR1,P#10.0] //VerID.IP[4] 11

T #Verbindung.rem_staddr[4]

L 0

T #Verbindung.rem_tsap_id_len// 所使用的参数rem_tsap_id的长度

连接设备的IP地址:

L 2 //所使用的参数local_tsap_id的长度为2

T #Verbindung.local_tsap_id_len

RFID与PC的连接DB用法的区别-rfid的设备8

L DBW[AR1,P#12.0] //2000

T #Verbindung.local_tsap_id[2] // 低字节

SRW 8

T #Verbindung.local_tsap_id[1] // 高字节

L DBW[AR1,P#2.0] B#16#03:通过CPU 319-3 PN/DP上的集成IE接口进行通信

RFID与PC的连接DB用法的区别-rfid的设备9

T #Verbindung.local_device_id

从对FB600和FB520程序分析我们可以知道它们公用的程序结构还是使用了UDT65的标准化的结构,都使用了TCP连接,只是端口各不相同罢了,一个是2111而另一个是2000.在就是和RFID通讯时作主站,和PC通讯时作从站.

审核编辑:彭静

猜你喜欢