同樣是使用使用FB65但RFID與PC的連接DB用法有一定的區(qū)別:
首先說(shuō)一下什么是FB65:
通過(guò)TCP和ISO on TCP使用
兩個(gè)通信伙伴都調(diào)用FB 65 "TCON"來(lái)設(shè)置和建立通信連接。在這些參數(shù)中,您要指定哪個(gè)伙伴是主動(dòng)通信傳輸點(diǎn)、哪個(gè)伙伴是被動(dòng)通信傳輸點(diǎn)。
設(shè)置并建立連接后,CPU會(huì)自動(dòng)對(duì)連接進(jìn)行維護(hù)和監(jiān)視。
如果連接中斷,如由于線路中斷或遠(yuǎn)程通信伙伴而造成的中斷,主動(dòng)伙伴會(huì)嘗試重新建立已組態(tài)的連接。在這種情況下,不必再次調(diào)用FB 65 "TCON"。
當(dāng)調(diào)用FB 66 "TDISCON"或CPU進(jìn)入STOP模式時(shí),現(xiàn)有連接將被終止并刪除已組態(tài)的連接。要重新設(shè)置并再次建立該連接,必須再次調(diào)用FB 65 "TCON"。
下面各自介紹一下程序結(jié)構(gòu)和設(shè)置:
RFID的設(shè)置
SICKRFID里軟件程序里的設(shè)置:
RFID的背景數(shù)據(jù)塊定義FB的連接格式:和UDT65一致!
在程序中設(shè)置格式:
FB520程序分析:
用戶程序和操作系統(tǒng)通信層之間該連接的標(biāo)識(shí)號(hào)(數(shù)值范圍:W#16#0001至W#16#0FFF)您必須在各個(gè)帶有標(biāo)識(shí)號(hào)的塊中指定參數(shù)的值。
TCON_PARAM.id := INT_TO_WORD(VerbID.ID); 20
建立連接的方式的標(biāo)識(shí)號(hào):必須將FALSE分配給該參數(shù)。
TCON_PARAM.active_est := True;S7作Client時(shí)為主動(dòng) TRUE
S7作Server時(shí)為被動(dòng)FALSE
TCON_PARAM.connection_type := B#16#11; 協(xié)議類型:11TCP/13UDP
B#16#03:通過(guò)CPU 319-3 PN/DP上的集成IE接口進(jìn)行通信
TCON_PARAM.local_device_id := INT_TO_BYTE(VerbID.DeviceID); =3
以十六進(jìn)制表示的端口號(hào)
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; 遠(yuǎn)程連接終端的地址長(zhǎng)度:4: 參數(shù)rem_staddr中有效的IP地址
TCON_PARAM.rem_tsap_id_len := B#16#2; 所使用的參數(shù)rem_tsap_id的長(zhǎng)度
連接設(shè)備的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; 遠(yuǎn)程標(biāo)示號(hào)0840---2112
TCON_PARAM.rem_tsap_id[2] := B#16#40; 遠(yuǎn)程標(biāo)示號(hào)
在與中控室電腦連接時(shí)FB600 的靜態(tài)變量格式與RFID的格式一致證明
DB860關(guān)于與PC連接用設(shè)置結(jié)構(gòu):
FB600程序分析:
L DBW[AR1,P#0.0] 1 連接ID用戶程序和操作系統(tǒng)通信層之間該連接的標(biāo)識(shí)號(hào)
T #Verbindung.id
L B#16#11 使用TCP連接方式
T #Verbindung.connection_type
SET 建立連接的方式的標(biāo)識(shí)號(hào):必須將FALSE分配給該參數(shù)。
R #Verbindung.active_est
L 0 //0 不用指0
T #Verbindung.rem_staddr_len // 遠(yuǎn)程連接終端的地址長(zhǎng)度
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// 所使用的參數(shù)rem_tsap_id的長(zhǎng)度
連接設(shè)備的IP地址:
L 2 //所使用的參數(shù)local_tsap_id的長(zhǎng)度為2
T #Verbindung.local_tsap_id_len
L DBW[AR1,P#12.0] //2000
T #Verbindung.local_tsap_id[2] // 低字節(jié)
SRW 8
T #Verbindung.local_tsap_id[1] // 高字節(jié)
L DBW[AR1,P#2.0] B#16#03:通過(guò)CPU 319-3 PN/DP上的集成IE接口進(jìn)行通信
T #Verbindung.local_device_id
從對(duì)FB600和FB520程序分析我們可以知道它們公用的程序結(jié)構(gòu)還是使用了UDT65的標(biāo)準(zhǔn)化的結(jié)構(gòu),都使用了TCP連接,只是端口各不相同罷了,一個(gè)是2111而另一個(gè)是2000.在就是和RFID通訊時(shí)作主站,和PC通訊時(shí)作從站.
-
RFID
+關(guān)注
關(guān)注
388文章
6180瀏覽量
238184 -
PC
+關(guān)注
關(guān)注
9文章
2096瀏覽量
154399 -
遠(yuǎn)程通信
+關(guān)注
關(guān)注
0文章
49瀏覽量
12587
原文標(biāo)題:S7程序-RFID 與PC連接區(qū)別-FB 65/UDT65
文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論