西門(mén)子S7PCPU包含一個(gè)集成的PROFINET接口,該接口除了具有PROFINETI/O功能外還具有ISOonTCP通訊功能。通過(guò)該集成以太網(wǎng)接口組態(tài)ISOonTCP通訊時(shí),只能使用開(kāi)放式通訊專(zhuān)用的功能塊。依據(jù)RFC1006的ISOonTCP協(xié)議,使用STEP7“通訊塊”的“標(biāo)準(zhǔn)庫(kù)”中提供了下列FB,用于通過(guò)用戶程序與符合以太網(wǎng)標(biāo)準(zhǔn)的通訊伙伴進(jìn)行數(shù)據(jù)交換:
1.用于分配連接參數(shù)的UDT65“TCON_PAR”
2.用于建立連接的FB65“TCON”
3.用于終止連接的FB66 “TDISCON”
4.用于發(fā)送數(shù)據(jù)的FB63 “TSEND”
5.用于接收數(shù)據(jù)FB64 “TRCV”
要通過(guò)S7-PN CPU的集成PROFINET接口實(shí)現(xiàn)開(kāi)放的ISOonTCp通信,不能再硬件組態(tài)中完成,必須在一個(gè)數(shù)據(jù)塊中指定每個(gè)連接的參數(shù)。使用“Open Communication Wizard”工具可以簡(jiǎn)單明了地指定連接參數(shù),接著該工具可將一個(gè)包含所有參數(shù)的UDT導(dǎo)出到您的STEP項(xiàng)目。使用該UDT可以建立含有連接描述的數(shù)據(jù)塊。隨后,需要使用通信功能塊FB65,FB66,FB63,FB64完成程序編寫(xiě)。
UDT65:標(biāo)準(zhǔn)結(jié)構(gòu)
block_length: WORD W#16#40 UDT 65的長(zhǎng)度:64字節(jié)(固定)
ID: WORD W#16#0001 對(duì)連接的引用,您必須在各個(gè)帶有標(biāo)識(shí)號(hào)的塊中指定參數(shù)的值。
connection_type :BYTE B#16#11 協(xié)議類(lèi)型:B#16#11:TCP
active_est: BOOL FALSE 建立連接的方式的標(biāo)識(shí)號(hào):FALSE:被動(dòng)建立
local_device_id: BYTE B#16#02
1).B#16#02:通過(guò)集成IE接口與CPU 315-2 PN/DP和317-2 PN/DP進(jìn)行通信.
2). B#16#03:通過(guò)集成IE接口與CPU 315T-3 PN/DP、317T-3 PN/DP和319-3 PN/DP進(jìn)行通信.
local_tsap_id_len: BYTE B#16#02 所使用的參數(shù)local_tsap_id的長(zhǎng)度.
rem_subnet_id_len: BYTE B#16#00 該參數(shù)當(dāng)前未使用。必須將B#16#00分配給它.
rem_staddr_len: BYTE B#16#00 遠(yuǎn)程連接終端的地址長(zhǎng)度:0: 未指定,即參數(shù)rem_staddr不相關(guān).4: 參數(shù)rem_staddr中有效的IP地址.
rem_tsap_id_len: BYTE B#16#00 所使用的rem_tsap_id參數(shù)的長(zhǎng)度;
next_staddr_len: BYTE B#16#00 使用了參數(shù)next_staddr的長(zhǎng)度
local_tsap_id: BYTE的ARRAY [1..16] 本地端口號(hào) B#16#7 /B#16#D0 ( 2000=7D0)
rem_subnet_id: BYTE的ARRAY [1..6] B#16#00 ... 該參數(shù)當(dāng)前未使用。
rem_staddr: BYTE的ARRAY [1..6] B#16#00 ... 遠(yuǎn)程連接端點(diǎn)的IP地址,192.168.002.003:
rem_tsap_id: BYTE的ARRAY [1..16] B#16#00 ... 本地端口號(hào)可能的數(shù)
next_staddr: BYTE的ARRAY [1..6] B#16#00 ... 相應(yīng)(本地) CP的機(jī)架和插槽
spare: WORD W#16#0000 保留:分配0給該參數(shù)。
數(shù)據(jù)連接:FB65
兩個(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"
REQ | 上升沿觸發(fā)建立通信連接 |
ID | 連接的ID在UDT里設(shè)置 |
CONNECT | 與變量類(lèi)型為UDT65的變量相連 |
DONE | 為1時(shí),連接正確建立 |
BUSY | 為1時(shí),正在建立連接 |
ERROR | 為1時(shí),有故障發(fā)生 |
STATUS | 故障代碼 |
UDT65的整體結(jié)構(gòu):
發(fā)送數(shù)據(jù):FB63 "TSEND"通過(guò)現(xiàn)有的通信連接發(fā)送數(shù)據(jù)
FB 63 "TSEND"異步工作;換句話說(shuō),它的處理需要多個(gè)FB調(diào)用。要啟動(dòng)發(fā)送數(shù)據(jù),請(qǐng)使用REQ = 1調(diào)用FB 63。
LEN:接收數(shù)據(jù)的長(zhǎng)度
DATA:數(shù)據(jù)發(fā)送的區(qū)域
接收數(shù)據(jù): FB 64 "TRCV"通過(guò)現(xiàn)有通信連接接收數(shù)據(jù)。
它指的是功能塊輸入所接收數(shù)據(jù)的區(qū)域。
接收區(qū)由下列兩個(gè)變量指定:
1.指向區(qū)域起始地址的指針
2.區(qū)域長(zhǎng)度
區(qū)域長(zhǎng)度由LEN參數(shù)使用的協(xié)議類(lèi)型指定(如果LEN <> 0)或DATA參數(shù)長(zhǎng)度信息指定(如果LEN = 0)。
LEN:接收數(shù)據(jù)的長(zhǎng)度
DATA:數(shù)據(jù)接收的區(qū)域
斷開(kāi)網(wǎng)絡(luò)連接FB66
FB 66 "TDISCON"是一種以異步方式工作的FB,這意味著它的作業(yè)處理要覆蓋若干個(gè)FB調(diào)用。為了開(kāi)始終止連接作業(yè),用REQ = 1調(diào)用FB 66。
在成功調(diào)用FB 66 "TDISCON"之后,為FB 65"TCON"指定的ID不再有效,從而不能將其用于發(fā)送或接收。
------------------------END-------------------
審核編輯 :李倩
-
plc
+關(guān)注
關(guān)注
5016文章
13388瀏覽量
465451 -
接口
+關(guān)注
關(guān)注
33文章
8695瀏覽量
151934 -
Profinet
+關(guān)注
關(guān)注
6文章
1217瀏覽量
23583
原文標(biāo)題:Siemens PLC TCP連接控制
文章出處:【微信號(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)推薦
Profinet IO通信故障原因及解決辦法
profinet轉(zhuǎn)profinet
通過(guò)DSP的mcbsp和i2c接口實(shí)現(xiàn)對(duì)AIC34芯片的操作,如何編程?
想使用typec接口實(shí)現(xiàn)數(shù)據(jù)與音頻一體的功能,有推薦的芯片嗎?
PROFINET通信協(xié)議是什么
通訊協(xié)議轉(zhuǎn)換Modbus轉(zhuǎn)Profinet網(wǎng)關(guān)
![通訊協(xié)議轉(zhuǎn)換Modbus轉(zhuǎn)<b class='flag-5'>Profinet</b>網(wǎng)關(guān)](https://file1.elecfans.com/web2/M00/ED/9D/wKgaomZoP4qAEPktAAXAr4armbY705.png)
PROFINET實(shí)時(shí)性分析-RT與IRT區(qū)別
![<b class='flag-5'>PROFINET</b>實(shí)時(shí)性分析-RT與IRT區(qū)別](https://file1.elecfans.com/web2/M00/EC/E8/wKgZomZpM6CAR9mlAADJforyJvs495.png)
智能儀表通過(guò)Modbus轉(zhuǎn)Profinet網(wǎng)關(guān)與PLC通訊方案
![智能儀表通過(guò)Modbus轉(zhuǎn)<b class='flag-5'>Profinet</b>網(wǎng)關(guān)與PLC通訊方案](https://file1.elecfans.com/web2/M00/EC/3F/wKgZomZhn5SAXgxQAAN1hfIyopE193.png)
Modbus轉(zhuǎn)Profinet網(wǎng)關(guān)替代伺服ethercat通訊現(xiàn)場(chǎng)調(diào)試案例
![Modbus轉(zhuǎn)<b class='flag-5'>Profinet</b>網(wǎng)關(guān)替代伺服ethercat通訊現(xiàn)場(chǎng)調(diào)試案例](https://file1.elecfans.com/web2/M00/EB/FA/wKgZomZgYVSAQpEsABj2THsOvbQ834.png)
三相智能電表通過(guò)Modbus轉(zhuǎn)Profinet網(wǎng)關(guān)與PLC通訊案例
![三相智能電表通過(guò)Modbus轉(zhuǎn)<b class='flag-5'>Profinet</b>網(wǎng)關(guān)與PLC通訊案例](https://file1.elecfans.com/web2/M00/EB/96/wKgaomZZp5eAbm9RAAybFVCVIcY322.png)
請(qǐng)問(wèn)可以用FX3作為SPI的Master,通過(guò)GPIF II接口實(shí)現(xiàn)SPI通信嗎?
Modbus轉(zhuǎn)Profinet網(wǎng)關(guān)連接打印設(shè)備與PLC通訊
![Modbus轉(zhuǎn)<b class='flag-5'>Profinet</b>網(wǎng)關(guān)連接打印設(shè)備與PLC通訊](https://file1.elecfans.com/web2/M00/DF/23/wKgaomYuZ3iAAgEXAAlgdyMdwr0994.png)
如何解決Modbus轉(zhuǎn)Profinet網(wǎng)關(guān)通信不穩(wěn)定或數(shù)據(jù)丟失問(wèn)題
![如何解決Modbus轉(zhuǎn)<b class='flag-5'>Profinet</b>網(wǎng)關(guān)<b class='flag-5'>通信</b>不穩(wěn)定或數(shù)據(jù)丟失問(wèn)題](https://file1.elecfans.com/web2/M00/C6/A2/wKgaomYBimmAQtYfABqsn8v7qoc999.png)
評(píng)論