版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第6章S7-1200PLC的編程指令6.1位邏輯指令6.2定時器與計數(shù)器指令6.3比較指令6.4程序控制指令6.5數(shù)據(jù)處理指令6.6算術運算指令與邏輯運算指令6.7移位和循環(huán)移位指令6.1
位邏輯指令6.1.1觸點和線圈等基本指令7常開觸點的激活取決于相關操作數(shù)的信號狀態(tài)。當操作數(shù)的信號狀態(tài)為“1”時,常開觸點將關閉,同時輸出的信號狀態(tài)置位為輸入的信號狀態(tài)。當操作數(shù)的信號狀態(tài)為“0”時,不會激活常開觸點,同時該指令輸出的信號狀態(tài)復位為“0”。兩個或多個常開觸點串聯(lián)時,將逐位進行“與”運算。串聯(lián)時,所有觸點都閉合后才產(chǎn)生信號流。常開觸點并聯(lián)時,將逐位進行“或”運算。并聯(lián)時,有一個觸點閉合就會產(chǎn)生信號流。--||--:常開觸點常閉觸點的激活取決于相關操作數(shù)的信號狀態(tài)。當操作數(shù)的信號狀態(tài)為“1”時,常閉觸點將打開,同時該指令輸出的信號狀態(tài)復位為“0”。當操作數(shù)的信號狀態(tài)為“0”時,不會啟用常閉觸點,同時將該輸入的信號狀態(tài)傳輸?shù)捷敵觥蓚€或多個常閉觸點串聯(lián)時,將逐位進行“與”運算。串聯(lián)時,所有觸點都閉合后才產(chǎn)生信號流。常閉觸點并聯(lián)時,將進行“或”運算。并聯(lián)時,有一個觸點閉合就會產(chǎn)生信號流。--|/|--:常閉觸點使用“取反RLO”指令,可對邏輯運算結果(RLO)的信號狀態(tài)進行取反。如果該指令輸入的信號狀態(tài)為“1”,則指令輸出的信號狀態(tài)為“0”。如果該指令輸入的信號狀態(tài)為“0”,則輸出的信號狀態(tài)為“1”。可以使用“賦值”指令來置位指定操作數(shù)的位。如果線圈輸入的邏輯運算結果(RLO)的信號狀態(tài)為“1”,則將指定操作數(shù)的信號狀態(tài)置位為“1”。如果線圈輸入的信號狀態(tài)為“0”,則指定操作數(shù)的位將復位為“0”。該指令不會影響RLO。線圈輸入的RLO將直接發(fā)送到輸出。--|NOT|--:取反RLO--()--:線圈啟保停控制程序使用“置位輸出”指令,可將指定操作數(shù)的信號狀態(tài)置位為“1”。僅當線圈輸入的邏輯運算結果(RLO)為“1”時,才執(zhí)行該指令。如果信號流通過線圈(RLO=“1”),則指定的操作數(shù)置位為“1”。如果線圈輸入的RLO為“0”(沒有信號流過線圈),則指定操作數(shù)的信號狀態(tài)將保持不變。6.1.2置位和復位指令---(S)--:置位輸出--(R)--:復位輸出定義可以使用“復位輸出”指令將指定操作數(shù)的信號狀態(tài)復位為“0”。僅當線圈輸入的邏輯運算結果(RLO)為“1”時,才執(zhí)行該指令。如果信號流通過線圈(RLO=“1”),則指定的操作數(shù)復位為“0”。如果線圈輸入的RLO為“0”(沒有信號流過線圈),則指定操作數(shù)的信號狀態(tài)將保持不變。
2.置位/復位位域指令SET_BF/RESET_BF置位位域指令用于對某個特定地址開始的多個連續(xù)位進行置位;復位位域指令用于對某個特定地址開始的多個連續(xù)位進行復位。置位/復位位域指令有兩個操作數(shù),指令上方的操作數(shù)用于指定待置位/復位位域的首地址,指令下方的操作數(shù)用于指定待置位/復位的位數(shù)。3.RS/SR觸發(fā)器
SR指令RS指令SR1QS1RQ00保持前一狀態(tài)00保持前一狀態(tài)010010101101110111RS/SR觸發(fā)器指令邏輯狀態(tài)表6.1.3上升沿和下降沿指令--|P|--:掃描操作數(shù)的信號上升沿使用“掃描操作數(shù)的信號上升沿”指令,可以確定所指定操作數(shù)(<操作數(shù)1>)的信號狀態(tài)是否從“0”變?yōu)椤?”。該指令將比較<操作數(shù)1>的當前信號狀態(tài)與上一次掃描的信號狀態(tài),上一次掃描的信號狀態(tài)保存在邊沿存儲位(<操作數(shù)2>)中。如果該指令檢測到邏輯運算結果(RLO)從“0”變?yōu)椤?”,則說明出現(xiàn)了一個上升沿。使用“掃描操作數(shù)的信號下降沿”指令,可以確定所指定操作數(shù)(<操作數(shù)1>)的信號狀態(tài)是否從“1”變?yōu)椤?”。該指令將比較<操作數(shù)1>的當前信號狀態(tài)與上一次掃描的信號狀態(tài),上一次掃描的信號狀態(tài)保存在邊沿存儲器位<操作數(shù)2>中。如果該指令檢測到邏輯運算結果(RLO)從“1”變?yōu)椤?”,則說明出現(xiàn)了一個下降沿。--|N|--:掃描操作數(shù)的信號下降沿定時器符號定時器名稱定時器功能TP脈沖定時器生成具有預定寬度時間的脈沖TON接通延時定時器使輸出Q在預設的延時過后設置為ONTOF關斷延時定時器使輸出Q在預設的延時過后置為OFFTONR保持型接通延時定時器使輸出Q在累計時間達到預設的時間后設置為ON,使用R復位S7-1200定時器符號、名稱及功能6.2
定時器與計數(shù)器指令6.2.1定時器指令
S7-1200PLC常用指令使用參數(shù)數(shù)據(jù)類型說明INBool啟用定時器輸入RBool將TONR復位QBool定時器輸出PTTime定時器預設時間ETTime已計時的時間(當前值)定時器數(shù)據(jù)塊DB指定要使用的定時器
S7-1200定時器指令參數(shù)說明PT和ET的值以表示毫秒時間的有符號雙精度整數(shù)形式存儲在存儲器中。Time數(shù)據(jù)使用T#標志符,數(shù)據(jù)長度為32位,可以采用簡單時間單元(如T#10s)或復合時間單元(如T#2h_2s_50m)的形式輸入。1.脈沖定時器(TP)TP指令可用于生成具有預定寬度時間的脈沖。2.接通延時定時器(TON)接通延時定時器的功能是使輸出Q在預設的延時過后設置為ON。示例1:設計一電動機自動停機控制程序。按下啟動按鈕SB1(I0.0),電動機M(Q0.0)立即啟動并連續(xù)運轉,經(jīng)過10分鐘后電動機自動停止;運行過程中,任意時刻按下停止按鈕SB2(I0.1),電動機M立即停止。使用脈沖定時器TP指令編制的控制程序示例如圖。示例2:設計一個周期為3s,脈沖寬度為2s的方波發(fā)生器。使用接通延時定時器TON指令編寫的方波發(fā)生示例程序如圖。6.2.2
計數(shù)器指令計數(shù)器指令類型計數(shù)器指令主要用于對內部程序事件和外部過程事件進行計數(shù)。S7-1200PLC計數(shù)器指令有三種類型,分別是加計數(shù)器(CTU)、減計數(shù)器(CTD)、加/減計數(shù)器(CTUD)。根據(jù)所選擇的計數(shù)器指令的數(shù)據(jù)類型不同,計數(shù)器指令分別占用3個字節(jié)(SInt、USInt)、6個字節(jié)(Int、UInt)或12字節(jié)(DInt、UDInt)的存儲器空間。計數(shù)值的計數(shù)范圍取決于所選的數(shù)據(jù)類型,如果計數(shù)值是無符號整型數(shù),則可以減計數(shù)到零或加計數(shù)到范圍限值。如果計數(shù)值是有符號整數(shù),則可以減計數(shù)到負整數(shù)限值或加計數(shù)到正整數(shù)限值。參數(shù)數(shù)據(jù)類型說明CU、CDBool加、減計數(shù)輸入端R(CTU、CTUD)Bool計數(shù)器復位輸入端LOAD(CTD、CTUD)Bool預置值裝載輸入端Q、QUBoolCV≧PV時為ONQDBoolCV≦0時為ONPVSInt、USInt、Int、UInt、DInt、UDInt預設計數(shù)值CVSInt、USInt、Int、UInt、DInt、UDInt當前計數(shù)值計數(shù)器指令參數(shù)說明2.加計數(shù)器(CTU)3.減計數(shù)器(CTD)6.3
比較指令6.3.1比較運算指令比較運算指令CMP用于比較兩個相同的數(shù)據(jù)類型的數(shù)據(jù)大小。如果比較結果為“真”,則指令的RLO為“1”,否則為“0”。1.比較運算符對于數(shù)值比較,運算符有:等于(==)、大于(>)、小于(<)、不等于(<>)、大于等于(>=)、小于等于(<=)共六種;而字符串的比較指令只有等于(==)和不等于(<>)兩種。2.比較數(shù)據(jù)類型可參與比較的數(shù)據(jù)有12種類型:Int、DInt、Real、USInt、UInt、UDInt、SInt、String、Char、Time、DTL、LReal??梢允褂谩暗扔凇敝噶钆袛嗟谝粋€比較值(<操作數(shù)1>)是否等于第二個比較值(<操作數(shù)2>)。如果滿足比較條件,則指令返回邏輯運算結果(RLO)“1”。如果不滿足比較條件,則指令返回RLO“0”。該指令的RLO通過以下方式與整個程序段中的RLO進行邏輯運算:串聯(lián)比較指令時,將執(zhí)行“與”運算。并聯(lián)比較指令時,將進行“或”運算。在指令上方的操作數(shù)占位符中指定第一個比較值(<操作數(shù)1>)。在指令下方的操作數(shù)占位符中指定第二個比較值(<操作數(shù)2>)。CMP==:等于
定義
可以使用“大于”指令確定第一個比較值(<操作數(shù)1>)是否大于第二個比較值(<操作數(shù)2>)。要比較的兩個值必須為相同的數(shù)據(jù)類型。如果滿足比較條件,則指令返回邏輯運算結果(RLO)“1”。如果不滿足比較條件,則指令返回RLO“0”。CMP>:大于指令名稱功能JMP若RLO=1則跳轉JMPN若RLO=0則跳轉LABEL跳轉標簽JMP_LIST定義跳轉列表SWITCH跳轉分配器RET返回6.4
程序控制指令程序控制指令用于編寫結構化程序、優(yōu)化控制程序結構,以便減少程序執(zhí)行時間,主要包含用于改變程序執(zhí)行順序的跳轉指令和在程序運行過程中用于控制的指令。跳轉與標簽指令使用跳轉指令可以改變程序的執(zhí)行順序。當未執(zhí)行跳轉指令時,各個程序段按從上往下的順序先后執(zhí)行;當跳轉條件滿足時,執(zhí)行跳轉指令,中止程序的順序執(zhí)行,跳轉到標簽指令處程序開始執(zhí)行,跳轉時跳轉指令與標簽指令之間的程序CPU不再掃描執(zhí)行。6.5數(shù)據(jù)處理指令6.5.1移動指令
1.移動值指令MOVE移動值指令MOVE是將IN輸入操作數(shù)的源數(shù)據(jù)傳送給OUT1輸出的目的地址中;初始狀態(tài)中,指令框中只包含一個輸出OUT1,如果要傳送給多個輸出,可單擊指令框中的插入輸出符號擴展輸出數(shù)量??梢允褂谩耙苿又怠敝噶顚N輸入操作數(shù)中的內容傳送給OUT1輸出的操作數(shù)中。始終沿地址升序方向進行傳送。如果滿足下列條件之一,使能輸出ENO將返回信號狀態(tài)“0”:使能輸入EN的信號狀態(tài)為“0”。IN參數(shù)的數(shù)據(jù)類型與OUT1參數(shù)的指定數(shù)據(jù)類型不對應。MOVE:移動值2.塊移動指令MOVE_BLK塊移動指令又稱為存儲區(qū)移動指令,用于將源存儲區(qū)的數(shù)據(jù)移動到目標存儲區(qū),IN和OUT是待復制的源區(qū)域和目標區(qū)域的起始地址,COUNT指定需要復制的元素個數(shù),僅當源區(qū)和目標區(qū)域的數(shù)據(jù)類型相同時,才能執(zhí)行該指令。3.塊填充指令FILL_BLK使用塊填充指令FILL_BLK可以使用指定數(shù)據(jù)元素的副本填充數(shù)組中連續(xù)的元素。指令操作數(shù)IN表示需要填入的數(shù)據(jù),可以為常數(shù);COUNT表示需要填入的數(shù)組元素的個數(shù);OUT指定需要填入的第一個元素地址。。6.5.2
轉換指令1.轉換指令CONVERT轉換指令CONVERT用于將數(shù)據(jù)元素從一種數(shù)據(jù)類型轉換為另一種數(shù)據(jù)類型。轉換指令支持的數(shù)據(jù)類型包括:SInt,Int,DInt,USInt,UInt,UDInt,Byte,Word,DWord,Real,LReal,BCD16,BCD32。6.6數(shù)學運算指令與邏輯運算指令6.6.1
數(shù)學運算指令數(shù)學運算指令主要用于實現(xiàn)數(shù)據(jù)的運算功能,可完成整數(shù)、長整數(shù)及實數(shù)的加、減、乘、除、求余、求絕對值等基本運算,以及浮點數(shù)的平方、平方根、自然對數(shù)、基于e的指數(shù)運算及三角函數(shù)等擴展運算。指令功能ADD加法運算指令:IN1+IN2=OUTSUB減法運算指令:IN1-IN2=OUTMUL乘法運算指令:IN1×IN2=OUTDIV除法運算指令:IN1÷IN2=OUTMOD取余數(shù)指令(返回除法的余數(shù))1.四則運算指令
6.7移位和循環(huán)移位指令6.7.1移位指令移位指令包括右移SHR指令和左移SHL指令。
6.7.2循環(huán)移位指令循環(huán)移位指令包括循環(huán)右移ROR指令和循環(huán)左移ROL指令。循環(huán)移位指令特點在于從目標值一側循環(huán)移出的位數(shù)據(jù)將循環(huán)移位到目標值的另一側,因此原始位的值不會丟失。
第7章S7-1200PLC的編程及應用7.1S7-1200PLC的程序結構7.2梯形圖的編程規(guī)則7.3S7-1200PLC典型控制程序7.4PLC應用程序舉例
7.1S7-1200PLC的程序結構7.1.1塊的概念S7-1200的程序結構7.1S7-1200PLC的程序結構7.1.1塊的概念程序塊功能描述組織塊(OB)由操作系統(tǒng)調用,決定用戶程序的結構函數(shù)(FC)用戶編寫的子程序,不帶背景數(shù)據(jù)塊函數(shù)塊(FB)用戶編寫的子程序,帶有專用的背景數(shù)據(jù)塊數(shù)據(jù)塊(DB)背景DB:用于保存相關FB的輸入、輸出、輸入/輸出和靜態(tài)變量,其數(shù)據(jù)在編譯時自動生成。全局DB:用于存儲程序數(shù)據(jù),其數(shù)據(jù)格式由用戶自行定義。程序塊的類型及功能描述7.1.2組織塊OB1.循環(huán)執(zhí)行組織塊2.啟動組織塊3.中斷組織塊主程序OB1屬于循環(huán)組織塊,CPU在“RUN”模式時循環(huán)執(zhí)行OB1,可以在OB1中調用函數(shù)FC和函數(shù)塊FB。啟動組織塊一般用于初始化程序,如賦初值。在CPU從“STOP”模式切換到“RUN”模式時,執(zhí)行一次啟動組織塊,執(zhí)行完后讀取過程映像輸入?yún)^(qū),開始執(zhí)行OB1。中斷組織塊包括循環(huán)中斷、時間中斷、延時中斷及硬件中斷組織塊等。數(shù)據(jù)塊DB用于存儲程序數(shù)據(jù)。數(shù)據(jù)塊占用CPU的裝載存儲器和工作存儲器。與M存儲區(qū)相比,使用功能類似,都是全局變量。數(shù)據(jù)塊DB可以分為:分為全局數(shù)據(jù)塊、背景數(shù)據(jù)塊和基于數(shù)據(jù)類型的數(shù)據(jù)塊。7.1.3數(shù)據(jù)塊DB全局數(shù)據(jù)塊必須在創(chuàng)建后才能在程序中使用。在TIA博途的項目樹中,點擊已添加的設備“PLC_1”→“程序塊”→“添加新塊”,選擇“數(shù)據(jù)塊”創(chuàng)建全局數(shù)據(jù)塊,DB塊編號范圍1~59999。在數(shù)據(jù)塊的“常規(guī)>屬性”里設置DB塊的訪問方式。1.全局數(shù)據(jù)塊數(shù)據(jù)塊的訪問設置背景數(shù)據(jù)塊與函數(shù)塊相關聯(lián),存儲FB的輸入、輸出、輸入/輸出參數(shù)及靜態(tài)變量,其變量只能在FB中定義,不能在背景數(shù)據(jù)塊中直接創(chuàng)建。程序中調用FB時,可以為其分配一個背景DB,也可以直接定義一個新的DB塊,該DB塊將自動生成并作為這個FB的背景數(shù)據(jù)塊。2.背景數(shù)據(jù)塊7.1.3數(shù)據(jù)塊DB函數(shù)FC是不帶存儲器的代碼塊。其臨時變量存儲在局部數(shù)據(jù)堆棧中,F(xiàn)C執(zhí)行結束后,這些數(shù)據(jù)就丟失??梢怨蚕頂?shù)據(jù)區(qū)來存儲那些在FC執(zhí)行結束后需要保存的數(shù)據(jù),不能為FC的局部數(shù)據(jù)分配初始值。函數(shù)FC相當于子程序,當程序員希望重復執(zhí)行某項功能時,可將其寫成FC,在OB1或其他FC/FB中調用。這樣不僅可以簡化代碼,縮短掃描周期,而且有利于程序調試,增強程序的可讀性和移植性。7.1.4函數(shù)FCFC在使用時可選擇不帶參數(shù)的FC和帶參數(shù)的FC。函數(shù)FC的應用【例7-1】用不帶參數(shù)的函數(shù)FC實現(xiàn)電動機的啟保??刂?。函數(shù)FC1中的程序在OB1中調用函數(shù)FC17.1.4函數(shù)FC【例7-2】用帶參數(shù)的函數(shù)FC實現(xiàn)電動機的啟保??刂啤T贔C1的接口區(qū)新建參數(shù)7.1.4函數(shù)FC【例7-2】用帶參數(shù)的函數(shù)FC實現(xiàn)電動機的啟保??刂?。函數(shù)FC1中的程序在OB1中調用函數(shù)FC17.1.4函數(shù)FC函數(shù)塊FB是用戶編寫的代碼塊,擁有自己的存儲區(qū),即背景數(shù)據(jù)塊。與函數(shù)FC相比,函數(shù)塊FB的輸入?yún)?shù)、輸出參數(shù)、輸入/輸出參數(shù)和靜態(tài)變量都存儲在指定的背景數(shù)據(jù)塊中。函數(shù)塊FB執(zhí)行完后,背景數(shù)據(jù)塊中的數(shù)據(jù)不會丟失。函數(shù)塊FB在使用時可以使用帶參數(shù)的FB和不帶參數(shù)的FB,帶參數(shù)的FB與帶參數(shù)的FC的區(qū)別在于帶參數(shù)的FC調用后需要賦予實參后才可運行,而帶參數(shù)的FB可以不用賦予實參也可運行。函數(shù)塊FB在調用時會提示生成相應的背景數(shù)據(jù)塊,其結構與對應的FB的接口區(qū)相同,選擇背景數(shù)據(jù)塊時有三種選擇,分別為單一的背景數(shù)據(jù)塊,多重背景數(shù)據(jù)塊和參數(shù)實例。7.1.5函數(shù)塊FB7.2梯形圖的編程規(guī)則PLC編程應該遵循以下基本原則:(1)每一邏輯行總是起于左母線,最后終止于線圈或右母線(右母線可以不畫出)(a)錯誤(b)正確7.2梯形圖的編程規(guī)則(2)無論選用哪種機型的PLC,所用元件的編號必須在該機型的有效范圍內。例如CPU1511-1PN最大I/O范圍是32KB。(3)觸點的使用次數(shù)不受限制。例如,輔助繼電器M0.0可以在梯形圖中出現(xiàn)無限制的次數(shù),而實物繼電器的觸點一般少于8對,只能用有限次。7.2梯形圖的編程規(guī)則(4)在梯形圖中同一線圈只能出現(xiàn)一次。如果在程序中,同一線圈使用了兩次或多次,稱為“雙線圈輸出”。對于“雙線圈輸出”,有些PLC將其視為語法錯誤,絕對不允許;有些PLC則將前面的輸出視為無效,只有最后一次輸出有效(如西門子PLC);而有些PLC在含有跳轉指令或步進指令的梯形圖中允許雙線圈輸出。7.2梯形圖的編程規(guī)則(5)對于不可編程的梯形圖必須經(jīng)過等效變換,變成可編程梯形圖。(a)橋式電路(b)等效變換電路7.2梯形圖的編程規(guī)則(a)不合理(b)合理(6)多上串左。7.2梯形圖的編程規(guī)則(a)不合理(b)合理(7)為了安全考慮,PLC輸入端子接入的停止按鈕和急停按鈕應使用常閉觸點,而不應使用常開觸點。(6)多上串左。7.3S7-1200PLC典型控制程序7.3.1自鎖/互鎖控制(1)自鎖控制(2)互鎖控制(連鎖控制)(2)互鎖控制(連鎖控制)7.3.2時間控制1.分頻電路二分頻電路2.閃爍電路(1)使用時鐘存儲器字節(jié)2.閃爍電路(2)使用定時器7.3.3順序控制7.4PLC應用程序舉例7.4.1液體混合攪拌器控制系統(tǒng)的設計與實現(xiàn)
液體混合攪拌器7.4.1液體混合攪拌器控制系統(tǒng)的設計與實現(xiàn)PLC的I/O點地址連接的外部設備在控制系統(tǒng)中的作用I0.0SQ1上液位測量I0.1SQ2中液位測量I0.2SQ3下液位測量I0.3SB1系統(tǒng)啟動命令I0.4SB2系統(tǒng)停止命令Q0.0YV1控制閥AQ0.1YV2控制閥BQ0.2YV3控制閥CQ0.3YV4控制電動機M(1)分配I/O地址(2)PLC外部接線(3)PLC控制程序設計7.4.1液體混合攪拌器控制系統(tǒng)的設計與實現(xiàn)1.設計要求小車自動運料示意圖7.4.2運料小車控制系統(tǒng)的設計與實現(xiàn)2.PLC選型及接線本例采用西門子公司的S7-1200系列CPU1212CAC/DC/Rly型號PLC。該模塊輸入電源為交流85~264V,提供8點數(shù)字量輸入,6點數(shù)字量輸出符號名稱地址
符號名稱地址起動按鈕SB1I0.0
裝料電磁閥YV1Q0.0停止按鈕SB2I0.1
右行線圈KM2Q0.1左側行程開關ST1I0.2
卸料電磁閥YV2Q0.2右側行程開關ST2I0.3
左行線圈KM1Q0.3手動/檢修選擇開關SAI0.4
手動前進I0.5
手動后退I0.6
7.4.2運料小車控制系統(tǒng)的設計與實現(xiàn)2.PLC選型及接線3.PLC控制程序設計7.4.2運料小車控制系統(tǒng)的設計與實現(xiàn)第8章S7-1200PLC的通信及應用8.1西門子通信網(wǎng)絡基礎知識8.2S7-1200PLC的以太網(wǎng)通信8.3S7-1200PLC的S7通信8.4S7-1200PLC與HMI的通信
8.1西門子通信網(wǎng)絡基礎知識8.1.1OSI參考模型PLC的通信包括PLC與PLC之間的通信、PLC與上位計算機之間的通信以及和其他聯(lián)智能設備之間的通信。PLC與PLC之間通信的實質就是計算機的通信,使得眾多外獨立的控制任務構成一個控制工程整體,形成模塊控制體系。PLC與計算機連接組成網(wǎng)絡,將PLC用于控制工業(yè)現(xiàn)場,計算機用于編程、顯示和管理等任務,構成“集中管理、分散控制”的分布式控制系(DCS)。通信網(wǎng)絡的核心是OSI(OpenSystemInterconnection,開放式系統(tǒng)互聯(lián))參考模型。1984年,國際標準化組織(ISO),提出了開放式系統(tǒng)互聯(lián)的7層模型,即OSI的模型。該模型自下而上分為:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡層、傳輸層、會話層、表示層和應用層。OSI的上3層通常稱為應用層,用來處理用戶接口、數(shù)據(jù)格式和應用程序的訪問。下4層負責定義數(shù)據(jù)的物理傳輸介質和網(wǎng)絡設備。(1)物理層(PhysicalLayer):定義了傳輸介質、連接器和信號發(fā)生器的類型,規(guī)定了物理連接的電氣、機械功能特性,如電壓、傳輸速率和傳輸距離等特性。建立、維護和斷開物理連接。典型的物理層設備有集線器(HUB)和中繼器等。(2)數(shù)據(jù)鏈路層(DataLinkLayer):確定傳輸站點物理地址以及將消息傳送到協(xié)議棧,提供順序控制和數(shù)據(jù)流向控制。建立邏輯連接、進行硬件地址尋址和差錯校驗等功能(由底層網(wǎng)絡定義協(xié)議)。典型的數(shù)據(jù)鏈路層的設備有交換機和網(wǎng)橋等。(3)網(wǎng)絡層(NetworkLayer):進行邏輯地址尋址,實現(xiàn)不同網(wǎng)絡之間的路徑選擇。協(xié)議有:ICMP,IGMPIP(IPv4.IPv6)、ARP和RARP。典型的網(wǎng)絡層設備是路由器。(4)傳輸層(TransportLayer):定義傳輸數(shù)據(jù)的協(xié)議端口號,以及流控和差錯校驗。協(xié)議有:TCP、UDP。網(wǎng)關是互聯(lián)網(wǎng)設備中最復雜的,它是傳輸層及以上層的設備。(5)會話層(SessionLayer):建立、管理和終止會話。(6)表示層(PresentationLayer):數(shù)據(jù)的表示、安全和壓縮。(7)應用層(Application):網(wǎng)絡服務與最終用戶的一個接口。協(xié)議有:HTTP、FTP、TFTP、SMTP、SNMP和DNS等。8.1.2S7-1200PLC的以太網(wǎng)通信技術(1)S7-1200PLC系統(tǒng)以太網(wǎng)接口S7-1200PLC的CPU僅集成一個X1接口,S7-1200PLC以太網(wǎng)接口支持的通信方式按照實時性和非實時性進行劃分,支持的通信服務如下表所示。接口類型實時通信非實時通信PROFINETIOI-DeviceOUC通信S7通信Web服務器CPU集成接口X1有有有有有(2)西門子工業(yè)以太網(wǎng)通信方式工業(yè)以太網(wǎng)通信主要利用第2層(ISO)和第4層(TCP)的協(xié)議。S7-1200PLC系統(tǒng)以太網(wǎng)接口支持的非實時性分為兩種OpenUserCommunication(OUC)通信和S7通信,而實時性通信只有PROFINETIO通信。OUC(開放式用戶通信)適用于SIMATICS7-1200/1500/300/400PLC之間的通信、S7PLC與S5PLC之間的通信、PLC與個人計算機或第三方設備之間的通信,OUC通信包含以下通信連接。①ISOTransport(ISO傳輸協(xié)議支持)ISO傳輸協(xié)議支持基于ISO的發(fā)送和接收,使得設備(例如SIMATICS5或PC)在以大網(wǎng)上的通信非常容易,該服務支持大數(shù)據(jù)量的數(shù)據(jù)傳輸(最大64KB)。ISO數(shù)據(jù)接收由通信方確認。通過功能塊可以看到確認信息。用于SIMATICS5和SIMATICS7的工業(yè)以太網(wǎng)連接。
②ISO-on-TCPISO-on-TCP支持第4層TCP/IP協(xié)議的開放數(shù)據(jù)通信。用于支持SIMATICsS7和PC以及非西門子支持的TCP/IP以太網(wǎng)系統(tǒng)。ISO-on-TCP符合TCP/IP.但相對于標準的TCP/IP.還附加了RFC1006協(xié)議,RFC1006是一個標準協(xié)議,該協(xié)議描述了如何將IS0映射到TCP上去。③UDPUDP(UserDatagramProtocol,用戶數(shù)據(jù)報協(xié)議),屬于第4層協(xié)議,提供了S5兼容通信協(xié)議,適用于簡單的交叉網(wǎng)絡數(shù)據(jù)傳輸,沒有數(shù)據(jù)確認報文,不檢測數(shù)據(jù)傳輸?shù)恼_性。UDP支持基于UDP的發(fā)送和接收,使得設備(例如PC或非西門子公司設備)在工業(yè)以太網(wǎng)上的通信非常容易。該協(xié)議支持較大數(shù)據(jù)量的數(shù)據(jù)傳輸(最大1472字節(jié)),數(shù)據(jù)可以通過工業(yè)以太網(wǎng)或TCP/IP網(wǎng)絡(撥號網(wǎng)絡或因特網(wǎng))傳輸。SIMATICS7通過建立UDP連接,提供了發(fā)送/接收通信功能,與TCP不同,UDP實際上并沒有在通信雙方建立一個固定的連接。④TCP/IPTCP/IP中傳輸控制協(xié)議,支持第4層TCP/IP協(xié)議的開放數(shù)據(jù)通信。提供了數(shù)據(jù)流通信,但并不將數(shù)據(jù)封裝成消息塊,因而用戶并不接收到每一個任務的確認信號,TCP支持面向TCP/IP的Socket。S7-1200PLC系統(tǒng)以太網(wǎng)接口支持的通信連接類型如下表所示。接口類型連接類型ISOISO-on-TCPTCP/IPUDPS7-1200CPU集成接口X1無有有有8.1.3S7-1200PLC的S7通信技術S7通信(S7Communication)集成在每一個SIMATICS7/M7和C7的系統(tǒng)中,屬于OSI參考模型第7層應用層的協(xié)議,它獨立于各個網(wǎng)絡,可以應用于多種網(wǎng)絡(MPI、PROFIBUS、工業(yè)以太網(wǎng))。S7通信通過不斷地重復接收數(shù)據(jù)來保證網(wǎng)絡報文的正確。在SIMATICS7中,通過組態(tài)建立S7連接來實現(xiàn)S7通信。8.2S7-1200PLC的以太網(wǎng)通信8.2.1通信指令介紹(1)TSEND_C指令TCP和ISO-on-TCP通信均可調用此指令,TSEND_C指令可與伙伴站建立TCP和ISO-on-TCP通信連接、發(fā)送數(shù)據(jù),并且可以終止該連接。設置并建立連接后,CPU會自動保持和監(jiān)視該連接。LAD輸入/輸出說明
EN使能REQ在上升沿是,啟動相應作業(yè)以建立ID所指定的連接CONT控制通信連接:0:數(shù)據(jù)發(fā)送完成后斷開通信連接1:建立并保持通信連接LEN通過作業(yè)發(fā)送的最大字節(jié)數(shù)CONNECT指向連接描述的指針DATA指向發(fā)送區(qū)的指針BUSY狀態(tài)參數(shù),可具有以下值:0:發(fā)送作業(yè)尚未開始或已完成1:發(fā)送作業(yè)尚未完成,無法啟動新的發(fā)送作業(yè)DONE上一請求已完成且沒有出錯后,DONE位將保持為TURE一個掃描時間STATUS故障代碼ERROR是否出錯:0:無錯誤;1:有錯誤(2)TRCV_C指令TCP和ISO-on-TCP通信均可調用此指令,TRCV_C指令可與伙伴站建立TCP和ISO-on-TCP通信連接,可接收數(shù)據(jù),并且可以終止該連接。設置并建立連接后,CPU會自動保持和監(jiān)視該連接。LAD輸入/輸出說明
EN使能EN_R啟用接收CONT控制通信連接:0:數(shù)據(jù)發(fā)送完成后斷開通信連接1:建立并保持通信連接LEN通過作業(yè)發(fā)送的最大字節(jié)數(shù)CONNECT指向連接描述的指針DATA指向接收區(qū)的指針BUSY狀態(tài)參數(shù),可具有以下值:0:發(fā)送作業(yè)尚未開始或已完成1:發(fā)送作業(yè)尚未完成,無法啟動新的發(fā)送作業(yè)DONE上一請求已完成且沒有出錯后,DONE位將保持為TURE一個掃描時間STATUS故障代碼RCVD_LEN實際接受到的數(shù)據(jù)量(字節(jié))ERROR是否出錯:0:無錯誤;1:有錯誤8.2.2以太網(wǎng)通信應用實例1:利用以太網(wǎng)通信,實現(xiàn)兩臺S7-1200PLC的數(shù)據(jù)傳輸。S7-1200與S7-1200之間的以太網(wǎng)通信可以通過TCP或ISO-on-TCP協(xié)議來實現(xiàn),使用的通信指令是在雙方CPU通用T-block(TSEND_C,TRCV_C,TCON,TDISCON,TSEN,TRCV)指令來實現(xiàn),通信方式為雙邊通信,因此通信指令必須成對出現(xiàn)。本案例采用TCP協(xié)議和TSEND_C和TRCV_C指令來實現(xiàn)通信功能。(1)新建項目打開博途軟件,創(chuàng)建新項目,命名為:2個S7-1200之間通信。(2)硬件配置在TIA博途軟件項目視圖的項目樹中,雙擊“添加新設備”按鈕,添加新設備,命名為PLC1,這里選擇的是CPU1214C,版本V4.1。(3)CPU屬性設置選中CPU模塊的“系統(tǒng)和時鐘存儲器”,啟用系統(tǒng)存儲器字節(jié)和時鐘存儲器字節(jié)。(4)IP地址設置選中CPU模塊的“以太網(wǎng)地址”,設置IP地址設為:。(5)新建數(shù)據(jù)塊新建全局數(shù)據(jù)塊DB1,命名為Data,用來發(fā)送和接收數(shù)據(jù)。(6)新建數(shù)組在數(shù)據(jù)塊DB1中,新建數(shù)組send,用來發(fā)送數(shù)據(jù)到對方通信PLC,數(shù)據(jù)類型為Array[0..9]ofByte,共計10個字節(jié);新建數(shù)組receive,用來接收對方通信PLC發(fā)送過來的數(shù)據(jù),數(shù)據(jù)類型為Array[0..9]ofByte,共計10個字節(jié)。(7)數(shù)據(jù)塊屬性設置在全局數(shù)據(jù)塊DB1點擊右鍵,選擇“屬性”,將“優(yōu)化的塊訪問”復選框的鉤去掉,因為使用絕對尋址,需要禁用這個選項。(8)PLC2硬件配置在PLC1上點擊右鍵,復制并粘貼,命名為PLC2,修改IP地址:。(9)連接PLC1和PLC2點擊項目根目錄下的“設備和網(wǎng)絡”,并用鼠標連線PLC1與PLC2的通信網(wǎng)口。(10)調用TSEND_C和TRCV_C指令在PLC1的Main(OB1)中編程,選擇通信指令中的開放式用戶通信指令:TSEND_C,TRCV_C。(11)TSEND_C指令參數(shù)設置選中TSEND_C指令,右鍵屬性,選擇組態(tài),并設置各項參數(shù)如圖所示。(12)TRCV_C指令指令參數(shù)設置選中TRCV_C指令,右鍵屬性,選擇組態(tài),并設置各項參數(shù)如圖所示。(13)編寫程序在PLC1Main(OB1)中編寫的如下程序。在PLC2Main(OB1)的編程和PLC1類同。8.3S7-1200PLC的S7通信8.3.1通信指令介紹(1)PUT指令PUT指令主要用于發(fā)送數(shù)據(jù),并且可以終止該連接。設置并建立連接后,CPU會自動保持和監(jiān)視該連接。LAD輸入/輸出說明
EN使能REQ啟用發(fā)送,上升沿觸發(fā)ID創(chuàng)建本地連接時的S7連接號ADDR_1發(fā)送到通信伙伴數(shù)據(jù)區(qū)的地址SD_1本地發(fā)送數(shù)據(jù)區(qū)地址DONE為1時,發(fā)送完成ERROR為1時,有故障發(fā)生STATUS故障代碼(2)GET指令GET指令主要用于接收數(shù)據(jù),并且可以終止該連接。設置并建立連接后,CPU會自動保持和監(jiān)視該連接。LAD輸入/輸出說明
EN使能REQ啟動接收,上升沿觸發(fā)ID創(chuàng)建本地連接時的S7連接號ADDR_1待讀取通信伙伴數(shù)據(jù)區(qū)的地址RD_1本地存儲數(shù)據(jù)區(qū)地址DONE為1時,讀取完成ERROR為1時,有故障發(fā)生STATUS故障代碼8.3.2S7通信應用實例1:利用S7通信,實現(xiàn)兩臺S7-1200PLC的數(shù)據(jù)傳輸。S7-1200與S7-1200之間可以通過PROFINET通信口作為S7通信的服務器和客戶端,通信使用PUT和GET指令來實現(xiàn),通信方式為單邊通信。(1)新建項目打開博途軟件,創(chuàng)建新項目,命名為:S7-1200的S7通信,并在“項目樹”里雙擊“添加新設備”,添加兩臺PLC,這里以CPU1214CDC/DC/DC(6ES7214-1AG40-0XB0)為例。其中,PLC_1為客戶端(主站),PLC_2為服務器(從站)。(2)設置IP地址選中PLC_1主站CPU模塊的“以太網(wǎng)地址”,設置IP地址設為:。同理,將PLC_2服務器(從站)的IP地址設為。(3)CPU屬性設置選中PLC_1主站CPU模塊的“系統(tǒng)和時鐘存儲器”,啟用系統(tǒng)存儲器字節(jié)和時鐘存儲器字節(jié)。同理,對將PLC_2服務器進行相同設置。(4)建立S7連接在“設備組態(tài)”中?,選擇“網(wǎng)絡視圖”欄進行配置網(wǎng)絡,點中左上角的“連接”圖標,連接框中選擇“S7連接”,并用鼠標連線PLC_1與PLC_2的通信網(wǎng)口。連線成功后,如圖所示,兩個PLC之間的S7通信連接完成。(5)CPU通信設置回到項目樹,雙擊PLC_2中的“設備組態(tài)”,右擊PLC,點“屬性”,在“常規(guī)-保護與安全-連接機制”中勾選“允許來自遠程對象的PUT/GET通信訪問”。(6)新建數(shù)據(jù)塊在?PLC_1中,分別創(chuàng)建發(fā)送和接收數(shù)據(jù)塊?DB1?和?DB2,定義成?10?個字節(jié)的數(shù)組。同理,在PLC_2中,也分別創(chuàng)建發(fā)送和接收數(shù)據(jù)塊?DB1?和?DB2,定義成?10個字節(jié)的數(shù)組。(7)數(shù)據(jù)塊屬性設置在全局數(shù)據(jù)塊,點擊右鍵,選擇“屬性”,將“優(yōu)化的塊訪問”復選框的鉤去掉,因為使用絕對尋址,需要禁用這個選項。(8)調用PUT和GET指令在PLC_1的Main(OB1)中編程,選擇通信指令中的S7通信指令:PUT,GET。(9)PUT指令參數(shù)設置選中PUT指令,右鍵屬性,選擇組態(tài),并設置各項參數(shù)如圖所示。(10)GET指令指令參數(shù)設置選中GET指令,右鍵屬性,選擇組態(tài),并設置各項參數(shù)如圖所示。(11)編寫程序在PLC_1Main(OB1)中編寫如下程序。在PLC_2Main(OB1)的編程和P
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山西省太原市2024-2025學年高三上學期期末學業(yè)診斷語文試題 含答案
- 2025年中國地鐵輕軌用大型鋁合金型材市場調查研究報告
- 2025年中國井用潛水電泵市場調查研究報告
- 2025至2031年中國車床中心架行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國男寶膠囊行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國雙面絨衫行業(yè)投資前景及策略咨詢研究報告
- 二零二五宅基地使用權轉讓與土地承包合同2篇
- 二零二五年度離婚協(xié)議書范本:專業(yè)律師指導實現(xiàn)和平分手8篇
- 二零二五版學校宿舍樓周邊門面房租賃管理協(xié)議2篇
- 2025版物業(yè)承包服務與社區(qū)文化活動策劃合同3篇
- 垃圾處理廠工程施工組織設計
- 天皰瘡患者護理
- 2023年四川省公務員錄用考試《行測》真題卷及答案解析
- 機電一體化系統(tǒng)設計-第5章-特性分析
- 2025年高考物理復習壓軸題:電磁感應綜合問題(原卷版)
- 雨棚鋼結構施工組織設計正式版
- 2025年蛇年新年金蛇賀歲金蛇狂舞春添彩玉樹臨風福滿門模板
- 《建筑制圖及陰影透視(第2版)》課件 4-直線的投影
- 2024年印度辣椒行業(yè)狀況及未來發(fā)展趨勢報告
- 2024-2030年中國IVD(體外診斷)測試行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 碎紙機設計說明書
評論
0/150
提交評論