工業(yè)控制技術(shù) 課件 0502-S7 1200之間的TCP通信_(tái)第1頁(yè)
工業(yè)控制技術(shù) 課件 0502-S7 1200之間的TCP通信_(tái)第2頁(yè)
工業(yè)控制技術(shù) 課件 0502-S7 1200之間的TCP通信_(tái)第3頁(yè)
工業(yè)控制技術(shù) 課件 0502-S7 1200之間的TCP通信_(tái)第4頁(yè)
工業(yè)控制技術(shù) 課件 0502-S7 1200之間的TCP通信_(tái)第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

S7-1200之間的TCP通信重慶電子工程職業(yè)學(xué)院S7-1200之間的TCP通信智能裝配生產(chǎn)線-S7-1200通信實(shí)現(xiàn)任務(wù)201開放的以太網(wǎng)通信協(xié)議02TCP通信指令04ISO-on-TCP通信程序設(shè)計(jì)05任務(wù)練習(xí)03TCP通信程序設(shè)計(jì)一開放的以太網(wǎng)通信協(xié)議S7-1200支持開放的以太網(wǎng)通信協(xié)議,即TCP協(xié)議、ISO-ON-TCP協(xié)議和UDP協(xié)議。一、開放的以太網(wǎng)通信協(xié)議(一)ISO傳輸協(xié)議ISO傳輸(ISOtransport)協(xié)議是西門子早期的以太網(wǎng)通信協(xié)議,基于ISO8073TP0(TransportProtocolClass0),位于ISO-OSI參考模式的第4層,即傳輸層。一開放的以太網(wǎng)通信協(xié)議TIA博途軟件用TSEND_C(以太網(wǎng)發(fā)送數(shù)據(jù))和TRCV_C(以太網(wǎng)接收送數(shù)據(jù))指令來實(shí)現(xiàn)TCP通信和ISOonTCP通信。一、開放的以太網(wǎng)通信協(xié)議(一)ISO傳輸協(xié)議“TSEND_C”指令設(shè)置并建立TCP或ISO-on-TCP通信連接。設(shè)置并建立連接后,CPU會(huì)自動(dòng)保持和監(jiān)視該連接。參數(shù)CONNECT中指定的連接描述用于設(shè)置通信連接。一、開放的以太網(wǎng)通信協(xié)議(二)ISO-on-TCP協(xié)議西門子在ISO傳輸協(xié)議的基礎(chǔ)上增加了TCP/IP協(xié)議的功能,新的協(xié)議稱為ISO-on-TCP協(xié)議。ISO-on-TCP協(xié)議將端口102定義為數(shù)據(jù)傳輸?shù)哪J(rèn)端口。該協(xié)議可用于SIMATICS7、SIMATICPC的當(dāng)前模塊,也可以在SIMATICS5中插入通信模塊CP1430TCP來使用。與硬件關(guān)系緊密的高效通信協(xié)議。適合用于中等大小或較大的數(shù)據(jù)量(最多8KB)。提供了數(shù)據(jù)結(jié)束標(biāo)識(shí)符并且它是面向消息的。具有路由功能,可用于WAN。可用于實(shí)現(xiàn)動(dòng)態(tài)長(zhǎng)度數(shù)據(jù)傳輸一、開放的以太網(wǎng)通信協(xié)議(三)TCP協(xié)議TCP協(xié)議是由RFC793描述的一種標(biāo)準(zhǔn)協(xié)議,傳輸控制協(xié)議。與硬件緊密相關(guān),是一種高效的通信協(xié)議。適用于中等或較大的數(shù)據(jù)量(最多8KB)。為應(yīng)用帶來了更多的便利,如錯(cuò)誤恢復(fù)、流控制、可靠性,這些是由傳輸?shù)膱?bào)文頭進(jìn)行確定的。是一種面向連接的協(xié)議。非常靈活地用于只支持TCP協(xié)議的第三方系統(tǒng)。有路由功能,應(yīng)用于固定長(zhǎng)度數(shù)據(jù)的傳輸,發(fā)送的數(shù)據(jù)報(bào)文會(huì)被確認(rèn)。使用端口號(hào)對(duì)應(yīng)用程序?qū)ぶ贰?/p>

大多數(shù)用戶應(yīng)用協(xié)議(如TELNET和FTP)都使用TCP協(xié)議。一、開放的以太網(wǎng)通信協(xié)議(四)UDP協(xié)議UDP協(xié)議能夠快速、簡(jiǎn)單地在傳輸層傳輸數(shù)據(jù)。UDP協(xié)議無連接的,發(fā)送數(shù)據(jù)前無需建立連接。UDP協(xié)議沒有可靠性保證、順序保證和流量控制字段等,不能保證可靠交付,其可靠性由應(yīng)用層負(fù)責(zé)。UDP協(xié)議控制選項(xiàng)較少,在數(shù)據(jù)傳輸過程中延遲小、數(shù)據(jù)傳輸效率高。UDP協(xié)議面向報(bào)文,對(duì)應(yīng)用層交下來的報(bào)文,不合并,不拆分,保留原報(bào)文的邊界。UDP協(xié)議支持一對(duì)一、一對(duì)多、多對(duì)一和多對(duì)多的交互通信。

UDP協(xié)議的首部開銷為8個(gè)字節(jié),比TCP的20個(gè)字節(jié)要小。二TCP通信指令TIA博途軟件用TSEND_C(以太網(wǎng)發(fā)送數(shù)據(jù))和TRCV_C(以太網(wǎng)接收送數(shù)據(jù))指令來實(shí)現(xiàn)TCP通信和ISOonTCP通信。二、TCP通信指令(一)TSEND_C“TSEND_C”指令設(shè)置并建立TCP或ISO-on-TCP通信連接。設(shè)置并建立連接后,CPU會(huì)自動(dòng)保持和監(jiān)視該連接。參數(shù)CONNECT中指定的連接描述用于設(shè)置通信連接。二、TCP通信指令(一)TSEND_C該指令異步執(zhí)行且具有以下功能:設(shè)置并建立通信連接:通過CONT=1設(shè)置并建立通信連接。連接成功建立后,參數(shù)DONE將置位為“1”并持續(xù)一個(gè)周期。通過現(xiàn)有通信連接發(fā)送數(shù)據(jù):通過參數(shù)DATA可指定發(fā)送區(qū),包括要發(fā)送數(shù)據(jù)的地址和長(zhǎng)度。請(qǐng)勿在DATA參數(shù)中使用數(shù)據(jù)類型為BOOL或ArrayofBOOL的數(shù)據(jù)區(qū)。在參數(shù)REQ中檢測(cè)到上升沿時(shí)執(zhí)行發(fā)送作業(yè):使用參數(shù)LEN可指定通過一個(gè)發(fā)送作業(yè)發(fā)送的最大字節(jié)數(shù)。發(fā)送數(shù)據(jù)(在參數(shù)REQ的上升沿)時(shí),參數(shù)CONT的值必須為“1”才能建立或保持連接。終止通信連接:參數(shù)CONT置位為“0”時(shí),即使當(dāng)前進(jìn)行的數(shù)據(jù)傳送尚未完成,也將終止通信連接。但如果對(duì)“TSEND_C”使用了已組態(tài)連接,將不會(huì)終止連接。二、TCP通信指令(二)TRCV_C“TRCV_C”將設(shè)置并建立一個(gè)TCP或ISO-on-TCP通信連接。設(shè)置并建立連接后,CPU會(huì)自動(dòng)保持和監(jiān)視該連接。二、TCP通信指令(二)TRCV_C該指令異步執(zhí)行且具有以下功能:設(shè)置并建立通信連接:參數(shù)CONNECT中指定的連接描述用于設(shè)置通信連接。要建立連接,參數(shù)CONT的值必須設(shè)置為值“1”。成功建立連接后,參數(shù)DONE將被設(shè)置為“1”。通過現(xiàn)有通信連接發(fā)送數(shù)據(jù):如果參數(shù)EN_R的值設(shè)置為“1”,則啟用數(shù)據(jù)接收。接收數(shù)據(jù)(在參數(shù)EN_R的上升沿)時(shí),參數(shù)CONT的值必須為TRUE才能建立或保持連接。接收到的數(shù)據(jù)將輸入到接收區(qū)中。根據(jù)所用的協(xié)議選項(xiàng),接收區(qū)長(zhǎng)度通過參數(shù)LEN指定(如果LEN<>0),或者通過參數(shù)DATA的長(zhǎng)度信息來指定(如果LEN=0)。如果在參數(shù)DATA中使用純符號(hào)值,則LEN參數(shù)的值必須為“0”。終止通信連接:參數(shù)CONT設(shè)置為“0”時(shí),將立即終止通信連接。三TCP通信程序設(shè)計(jì)

在博途V16中創(chuàng)建新項(xiàng)目,輸入項(xiàng)目名稱“S7-1200之間TCP通信”。CPU默認(rèn)選擇CPU1214CDC/DC/DC,訂貨號(hào)默認(rèn)選擇6ES7214-1AG40-0XB0。三、TCP通信程序設(shè)計(jì)(一)硬件組態(tài)為了編程方便在設(shè)備視同中使用CPU屬性中定義的時(shí)鐘位,選中PLC_1,右鍵點(diǎn)擊“屬性”,在彈出的“屬性”-“常規(guī)”-“系統(tǒng)和時(shí)鐘存儲(chǔ)器”中,選中“啟用時(shí)鐘存儲(chǔ)器字節(jié)”。三、TCP通信程序設(shè)計(jì)(一)硬件組態(tài)在設(shè)備視圖中,單擊CPU接口將IP地址改為。按此操作,添加第2個(gè)S7-1200,“PLC_2”用于接收數(shù)據(jù),IP地址為。三、TCP通信程序設(shè)計(jì)(一)硬件組態(tài)單擊網(wǎng)絡(luò)視圖,建立PLC_1與PLC_2之間的TCP連接,名稱為PN/IE_1。三、TCP通信程序設(shè)計(jì)(一)硬件組態(tài)(二)編寫PLC程序-發(fā)送端設(shè)計(jì)在PLC_1文件夾下打開“程序塊”文件夾選擇“Main”程序塊,然后打開右側(cè)的指令?yuàn)A→“通信模塊”→“開放式用戶通信”→“TSEND_C”,雙擊或鼠標(biāo)拖動(dòng)指令塊“TSEND_C”添加到程序塊“Main”的中。三、TCP通信程序設(shè)計(jì)指令塊添加完成后雙擊TSEND_C圖標(biāo)或者“屬性-組態(tài)”對(duì)發(fā)送指令塊進(jìn)行配置,右側(cè)伙伴選擇PLC_2[CPU1214CDC/DC/DC],左側(cè)連接數(shù)據(jù)選擇PLC_1_Send_DB,連接類型選TCP,連接ID改為1,左側(cè)選中“主動(dòng)建立連接”,伙伴端口設(shè)置為2000。三、TCP通信程序設(shè)計(jì)在PLC_1的PLC變量中新建“TSENDC變量表”,并添加TSENDC_Done、TSENDC_Busy、TSENDC_Error、TSENDC_Status變量,具體見下圖。三、TCP通信程序設(shè)計(jì)在PLC_1的程序塊中添加發(fā)送區(qū)數(shù)據(jù)DB塊,名稱為TSENDC_data。創(chuàng)建好DB塊后,右鍵點(diǎn)擊“屬性”,對(duì)話框中“常規(guī)”關(guān)閉優(yōu)化快的訪問。添加發(fā)送變量send_data,具體見下圖。三、TCP通信程序設(shè)計(jì)先將創(chuàng)建的數(shù)據(jù)塊和數(shù)據(jù)表編譯,然后配置TSEND_C的參數(shù)。輸入?yún)?shù)1啟動(dòng)請(qǐng)求REQ使用2Hz的時(shí)鐘脈沖(M0.3),上升沿激活發(fā)送任務(wù);連接狀態(tài)CONT設(shè)置為TRUE表示建立連接并一直保持連接;發(fā)送長(zhǎng)度LEN設(shè)置為100字節(jié);指向連接描述結(jié)構(gòu)的指針CONNECT設(shè)置為組態(tài)中的連接數(shù)據(jù)PLC_1_Send_DB;指向發(fā)送區(qū)的指針DATA設(shè)置為P#DB5.DBX0.0BYTE100,其含義為發(fā)送數(shù)據(jù)塊DB5中從0.0位開始的100個(gè)字節(jié)的數(shù)據(jù)。輸出參數(shù)2設(shè)置相應(yīng)的變量監(jiān)控指令執(zhí)行情況。三、TCP通信程序設(shè)計(jì)(二)在PLC_2文件夾下打開“程序塊”文件夾選擇“Main”程序塊,然后打開右側(cè)的指令?yuàn)A→“通信模塊”→“開放式用戶通信”→“TRCV_C”,雙擊或鼠標(biāo)拖動(dòng)指令塊“TSEND_C”添加到程序塊“Main”中。三、TCP通信程序設(shè)計(jì)(二)編寫PLC程序-接收端設(shè)計(jì)指令塊添加完成后雙擊TRCV_C圖標(biāo)或者“屬性-組態(tài)”對(duì)接收指令塊進(jìn)行配置,右側(cè)伙伴選擇PLC_1,左側(cè)連接數(shù)據(jù)選擇PLC_2_Receive_DB,連接類型選TCP,連接ID改為1,右側(cè)伙伴為“主動(dòng)建立連接”,伙伴端口設(shè)置為2000。三、TCP通信程序設(shè)計(jì)在PLC_2的PLC變量中新建“TRCVC變量表”,并添加TRCVC_Done、TRCVC_Busy、TRCVC_Busy、TRCVC_Error、TRCVC_Status、TRCVC_RCVLEN變量,具體見下圖。三、TCP通信程序設(shè)計(jì)在PLC_2的程序塊中添加接收區(qū)數(shù)據(jù)DB塊,名稱為TRCV_data。創(chuàng)建好DB塊后,右鍵點(diǎn)擊“屬性”,對(duì)話框中“常規(guī)”關(guān)閉優(yōu)化快的訪問。添加發(fā)送變量send_data,具體見下圖。三、TCP通信程序設(shè)計(jì)先將創(chuàng)建的數(shù)據(jù)塊和數(shù)據(jù)表編譯,然后配置TRCV_C的參數(shù)。輸入?yún)?shù)1啟用接收功能EN_R設(shè)置為1,表示啟用接收;控制通信連接CONT設(shè)置為TRUE,表示建立通信連接并在接收數(shù)據(jù)后保持該連接;接收長(zhǎng)度LEN設(shè)置為100字節(jié);指向連接描述結(jié)構(gòu)的指針CONNECT設(shè)置為組態(tài)中的連接數(shù)據(jù)PLC_2_Receive_DB;指向接收區(qū)的指針DATA設(shè)置為P#DB3.DBX0.0BYTE100,其含義為接收數(shù)據(jù)塊DB3中從0.0位開始的100個(gè)字節(jié)的數(shù)據(jù)。輸出參數(shù)2設(shè)置相應(yīng)的變量監(jiān)控指令執(zhí)行情況。三、TCP通信程序設(shè)計(jì)(二)編寫PLC程序-建立監(jiān)控表在PLC_1中創(chuàng)建新的監(jiān)控表“發(fā)送監(jiān)控表”,添加5個(gè)監(jiān)控變量,具體見下圖。三、TCP通信程序設(shè)計(jì)(二)程序設(shè)計(jì)-建立監(jiān)控表在PLC_2中創(chuàng)建新的監(jiān)控表“接收監(jiān)控表”,添加5個(gè)監(jiān)控變量,具體見下圖。三、TCP通信程序設(shè)計(jì)首先編譯PLC_1和PLC_2的軟件和硬件。選中PLC_1,啟動(dòng)仿真1,把程序下載到仿真1中。下載完畢后,點(diǎn)擊仿真1中的“RUN”,使仿真PLC運(yùn)行。三、TCP通信程序設(shè)計(jì)(三)程序調(diào)試點(diǎn)擊工具欄“轉(zhuǎn)至在線”,并打開發(fā)送監(jiān)控表,點(diǎn)擊全部監(jiān)視。PLC_2同樣操作,仿真2啟動(dòng),下載程序,轉(zhuǎn)至在線,監(jiān)視接收監(jiān)控表。注意:PLC_2下載時(shí),可能需要搜索PLC,接口子網(wǎng)的連接按圖選擇,可搜索到對(duì)應(yīng)的S7-1200仿真器。三、TCP通信程序設(shè)計(jì)在PLC_1的發(fā)送監(jiān)控表中,輸入變量修訂值,并點(diǎn)擊右鍵,選中“修改-立即修改”,強(qiáng)制給發(fā)送變量賦值。查看PLC_2的接收變量表,已經(jīng)接收到數(shù)據(jù)。三、TCP通信程序設(shè)計(jì)四ISO-on-TCP通信程序設(shè)計(jì)

ISO-on-TCP通信與TCP通信相比,除了TSEND_C指令塊和TRCV_C指令塊的組態(tài)連接參數(shù)有差異,其余采用的通信指令塊、硬件組態(tài)、程序設(shè)計(jì)一樣

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論