第三講的常用指令及程序編程設計_第1頁
第三講的常用指令及程序編程設計_第2頁
第三講的常用指令及程序編程設計_第3頁
第三講的常用指令及程序編程設計_第4頁
第三講的常用指令及程序編程設計_第5頁
已閱讀5頁,還剩60頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第三講的常用指令及程序編程設計2007.2V1.01第1頁,課件共65頁,創作于2023年2月2010.9邏輯取及線圈驅動指令指令LD(Load):取指令。用于網絡塊邏輯運算開始的常開觸點與母線的連接。

LDN(LoadNot):取反指令。用于網絡塊邏輯運算開始的常閉觸點與母線的連接。=(Out):線圈驅動指令。用法

第2頁,課件共65頁,創作于2023年2月2010.9邏輯取及線圈驅動指令使用說明LD、LDN指令不只是用于網絡塊邏輯計算開始時與母線相連的常開和常閉觸點,在分支電路塊的開始也要使用LD、LDN指令,與后面要講的ALD、OLD指令配合完成塊電路的編程。并聯的=指令可連續使用任意次。什么是并聯輸出?在同一程序中不要使用雙線圈輸出,即同一個元器件在同一程序中只使用一次=指令。什么是雙線圈輸出?LD、LDN、=指令的操作數為:I、Q、M、SM、T、C、V、S和L。T和C也作為輸出線圈,但在S7-200PLC中輸出時不以使用=指令形式出現(見定時器和計數器指令)。

第3頁,課件共65頁,創作于2023年2月2010.9觸點串聯指令指令A(And):與指令。用于單個常開觸點的串聯連接。AN(AndNot):與反指令。用于單個常閉觸點的串聯連接。用法

第4頁,課件共65頁,創作于2023年2月2010.9觸點串聯指令使用說明

A、AN是單個觸點串聯連接指令,可連續使用。但在用梯形圖編程時會受到打印寬度和屏幕顯示的限制,S7-200PLC的編程軟件中規定的串聯觸點使用上限為11個。對連續輸出電路,可以反復使用=指令,但次序必須正確,不然就不能連續使用=指令編程了。什么是連續輸出電路?下圖所示的電路就不屬于連續輸出電路A、AN指令的操作數為:I、Q、M、SM、T、C、V、S和L。第5頁,課件共65頁,創作于2023年2月2010.9觸點并聯指令指令O(OR):或指令。用于單個常開觸點的并聯連接。ON(OrNot):或反指令。用于單個常閉觸點的并聯連接。用法使用說明單個觸點的O、ON指令可連續使用。O、ON指令的操作數為:I、Q、M、SM、T、C、V、S和L。第6頁,課件共65頁,創作于2023年2月2010.9串聯電路塊的并聯連接指令什么是串聯電路塊?兩個以上觸點串聯形成的支路叫串聯電路塊。指令OLD(OrLoad):或塊指令。用于串聯電路塊的并聯連接。用法使用說明除在網絡塊邏輯運算的開始使用LD或LDN指令外,在塊電路的開始也要使用LD和LDN指令。每完成一次塊電路的并聯時要寫上OLD指令。OLD指令無操作數。第7頁,課件共65頁,創作于2023年2月2010.9并聯電路塊的串聯連接指令什么是并聯電路塊?兩條以上支路并聯形成的電路叫并聯電路塊。指令ALD(AndLoad):與塊指令。用于并聯電路塊的串聯連接。用法使用說明在塊電路開始時要使用LD和LDN指令。在每完成一次塊電路的串聯連接后要寫上ALD指令。ALD指令無操作數。第8頁,課件共65頁,創作于2023年2月2010.9置位/復位指令指令用法第9頁,課件共65頁,創作于2023年2月2010.9置位/復位指令使用說明對位元件來說一旦被置位,就保持在通電狀態,除非對它復位;而一旦被復位就保持在斷電狀態,除非再對它置位。S/R指令可以互換次序使用,但由于PLC采用掃描工作方式,所以寫在后面的指令具有優先權。如在上圖中,若I0.0和I0.1同時為1,則Q0.0、Q0.1肯定處于復位狀態而為0。如果對計數器和定時器復位,則計數器和定時器的當前值被清零。定時器和計數器的復位有其特殊性,具體情況大家可參考計數器和定時器的有關部分。N的范圍為1~255,N可為:VB、IB、QB、MB、SMB、SB、LB、AC、常數、*VD、*AC和*LD。一般情況下使用常數。S/R指令的操作數為:I、Q、M、SM、T、C、V、S和L。第10頁,課件共65頁,創作于2023年2月2010.9RS觸發器指令指令SR(SetDominantBistable):置位優先觸發器指令。當置位信號(S1)和復位信號(R)都為真時,輸出為真。RS(ResetDominantBistable):復位優先觸發器指令。當置位信號(S)和復位信號(R1)都為真時,輸出為假。用法沒有STL形式第11頁,課件共65頁,創作于2023年2月2010.9立即指令什么是立即指令?有何用途?對輸入對輸出指令第12頁,課件共65頁,創作于2023年2月2010.9立即指令舉例第13頁,課件共65頁,創作于2023年2月2010.9邊沿脈沖指令指令舉例第14頁,課件共65頁,創作于2023年2月2010.9邏輯堆棧操作指令堆棧什么是堆棧?其特點是什么?S7-200PLC的邏輯堆棧結構指令1LPS(LogicPush):邏輯入棧指令(分支電路開始指令)。LRD(LogicRead):邏輯讀棧指令。LPP(LogicPop):邏輯出棧指令(分支電路結束指令)。舉例第15頁,課件共65頁,創作于2023年2月2010.9邏輯堆棧操作指令舉例例1第16頁,課件共65頁,創作于2023年2月2010.9邏輯堆棧操作指令舉例例2第17頁,課件共65頁,創作于2023年2月2010.9邏輯堆棧操作指令舉例例3第18頁,課件共65頁,創作于2023年2月2010.9邏輯堆棧操作指令使用說明由于受堆棧空間的限制(9層堆棧),LPS、LPP指令連續使用時應少于9次。LPS和LPP指令必須成對使用,它們之間可以使用LRD指令。LPS、LRD、LPP指令無操作數。第19頁,課件共65頁,創作于2023年2月2010.9邏輯堆棧操作指令指令2裝入堆棧指令LDS(LoadStack)用法

LDSn(n為0~8的整數)舉例LDS3

結果如右表所列第20頁,課件共65頁,創作于2023年2月2010.9定時器及其使用最常用的器件幾個基本概念種類:TON,TONR,TOF分辯率與定時時間的計算單位時間的時間增量稱為定時器的分辨率,即精度。S7-200PLC定時器有3個精度等級:1ms、10ms和100ms。定時器定時時間T的計算:T=PT×S。式中:T為實際定時時間,PT為設定值,S為分辨率。例如:TON指令使用T97(為10ms的定時器),設定值為100,則實際定時時間為:

T=100×10=1000ms定時器的設定值PT:數據類型為INT型。操作數可為:VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、*VD、*AC、*LD和常數,其中常數最為常用。第21頁,課件共65頁,創作于2023年2月2010.9定時器及其使用定時器的編號定時器的編號用定時器的名稱和它的常數編號(最大為255)來表示,即T***。如:T40。定時器的編號包含兩方面的變量信息:定時器位和定時器當前值。定時器位:與其他繼電器的輸出相似。當定時器的當前值達到設定值PT時,定時器的觸點動作。定時器當前值:存儲定時器當前所累計的時間,它用16位符號整數來表示,最大計數值為32767。第22頁,課件共65頁,創作于2023年2月2010.9定時器及其使用定時器的編號編號表TON和TOF使用相同范圍的定時器編號,所以在同一個PLC程序中決不能把同一個定時器號同時用作TON和TOF。例如在程序中,不能既有接通延時(TON)定時器T32,又有斷開延時(TOF)定時器T32。第23頁,課件共65頁,創作于2023年2月2010.9定時器及其使用定時器的指令及使用指令第24頁,課件共65頁,創作于2023年2月2010.9定時器及其使用定時器的指令及使用接通延時定時器TON(On-DelayTimer)接通延時定時器用于單一時間間隔的定時。上電周期或首次掃描時,定時器位為OFF,當前值為0。輸入端接通時,定時器位為OFF,當前值從0開始計時,當前值達到設定值時,定時器位為ON,當前值仍連續計數到32767。輸入端斷開,定時器自動復位,即定時器位為OFF,當前值為0。記憶接通延時定時器TONR(RetentiveOn-DelayTimer)記憶接通延時定時器具有記憶功能,它用于對許多間隔的累計定時。上電周期或首次掃描時,定時器位為OFF,當前值保持在掉電前的值。當輸入端接通時,當前值從上次的保持值繼續計時,當累計當前值達到設定值時,定時器位ON,當前值可繼續計數到32767。TONR定時器只能用復位指令R對其進行復位操作。TONR復位后,定時器位為OFF,當前值為0。掌握好對TONR的復位及啟動是使用好TONR指令的關鍵。第25頁,課件共65頁,創作于2023年2月2010.9定時器及其使用定時器的指令及使用斷開延時定時器TOF(Off-DelayTimer)斷開延時定時器用于斷電后的單一間隔時間計時。上電周期或首次掃描,定時器位為OFF,當前值為0。輸入端接通時,定時器位為ON,當前值為0。當輸入端由接通到斷開時,定時器開始計時。當達到設定值時定時器位為OFF,當前值等于設定值,停止計時。輸入端再次由OFF→ON時,TOF復位,這時TOF的位為ON,當前值為0。如果輸入端再從ON→OFF,則TOF可實現再次啟動。第26頁,課件共65頁,創作于2023年2月2010.9定時器及其使用定時器的指令及使用舉例第27頁,課件共65頁,創作于2023年2月2010.9定時器及其使用定時器的刷新方式和正確使用1ms、10ms、100ms定時器的刷新方式是不同的,從而在使用方法上也有很大的不同。這和其他PLC是有很大區別的。1ms定時器

1ms定時器由系統每隔1ms刷新一次,與掃描周期及程序處理無關。它采用的是中斷刷新方式。因此,當掃描周期大于1ms時,在一個周期中可能被多次刷新。其當前值在一個掃描周期內不一定保持一致。10ms定時器

10ms定時器由系統在每個掃描周期開始時自動刷新,由于是每個掃描周期只刷新一次,故在一個掃描周期內定時器位和定時器的當前值保持不變。100ms定時器

100ms定時器在定時器指令執行時被刷新,因此,如果100ms定時器被激活后,如果不是每個掃描周期都執行定時器指令或在一個掃描周期內多次執行定時器指令,都會造成計時失準,所以在后面講到的跳轉指令和循環指令段中使用定時器時,要格外小心。100ms定時器僅用在定時器指令在每個掃描周期執行一次的程序中。第28頁,課件共65頁,創作于2023年2月2010.9定時器及其使用定時器的刷新方式和正確使用舉例第29頁,課件共65頁,創作于2023年2月2010.9計數器及其使用應用幾個基本概念種類:CTD,CTUD,CTD編號計數器的編號用計數器名稱和數字(0~255)組成,即C***,如C6。計數器的編號包含兩方面的信息:計數器的位和計數器當前值。計數器位:計數器位和繼電器一樣是一個開關量,表示計數器是否發生動作的狀態。當計數器的當前值達到設定值時,該位被置位為ON。計數器當前值:其值是一個存儲單元,它用來存儲計數器當前所累計的脈沖個數,用16位符號整數來表示,最大數值為32767。計數器輸入端和操作數設定值輸入:數據類型為INT型。尋址范圍:VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、*VD、*AC、*LD和常數。一般情況下使用常數作為計數器的設定值。第30頁,課件共65頁,創作于2023年2月2010.9計數器及其使用指令及其使用指令第31頁,課件共65頁,創作于2023年2月2010.9計數器及其使用指令及其使用CTU首次掃描時,計數器位為OFF,當前值為0。在計數脈沖輸入端CU的每個上升沿,計數器計數1次,當前值增加一個單位。當前值達到設定值時,計數器位為ON,當前值可繼續計數到32767后停止計數。復位輸入端有效或對計數器執行復位指令,計數器自動復位,即計數器位為OFF,當前值為0。注意:在語句表中,CU、R的編程順序不能錯誤。第32頁,課件共65頁,創作于2023年2月2010.9計數器及其使用指令及其使用CTU第33頁,課件共65頁,創作于2023年2月2010.9計數器及其使用指令及其使用CTUD增減計數器有兩個計數脈沖輸入端:CU輸入端用于遞增計數,CD輸入端用于遞減計數。首次掃描時,計數器位為OFF,當前值為0。CU輸入的每個上升沿,計數器當前值增加1個單位;CD輸入的每個上升沿,都使計數器當前值減小1個單位,當前值達到設定值時,計數器位置位為ON。增減計數器當前值計數到32767(最大值)后,下一個CU輸入的上升沿將使當前值跳變為最小值(-32768);當前值達到最小值-32768后,下一個CD輸入的上升沿將使當前值跳變為最大值32767。復位輸入端有效或使用復位指令對計數器執行復位操作后,計數器自動復位,即計數器位OFF,當前值為0。注意:在語句表中,CU、CD、R的順序不能錯誤。第34頁,課件共65頁,創作于2023年2月2010.9計數器及其使用指令及其使用CTUD第35頁,課件共65頁,創作于2023年2月2010.9計數器及其使用指令及其使用CTD首次掃描時,計數器位為ON,當前值為預設定值PV。對CD輸入端的每個上升沿計數器計數1次,當前值減少一個單位,當前值減小到0時,計數器位置位為ON。復位輸入端有效或對計數器執行復位指令,計數器自動復位,即計數器位OFF,當前值復位為設定值。注意:減計數器的復位端是LD,而不是R。在語句表中,CD、LD的順序不能錯誤。第36頁,課件共65頁,創作于2023年2月2010.9計數器及其使用指令及其使用CTD第37頁,課件共65頁,創作于2023年2月2010.9比較指令作用:比較指令是將兩個數值或字符串按指定條件進行比較,條件成立時,觸點就閉合。所以比較指令實際上也是一種位指令。在實際應用中,比較指令為上下限控制以及數值條件判斷提供了方便。類型:字節比較、整數比較、雙字整數比較、實數比較和字符串比較。數值比較指令的運算符有:=、>=、<、<=、>和<>等6種。字符串比較指令有=和<>兩種。對比較指令可進行LD、A和O編程。比較指令屬于“位指令”具體指令(細節見P127表5-9)第38頁,課件共65頁,創作于2023年2月2010.9比較指令使用舉例第39頁,課件共65頁,創作于2023年2月2010.9NOT和NOP指令取反指令NOT將復雜邏輯結果取反,為用戶使用反邏輯提供方便。該指令無操作數,其LAD和STL形式如下:STL形式:NOTLAD形式:—┤NOT├—NOP第40頁,課件共65頁,創作于2023年2月2010.9什么是程序控制指令?結束及暫停指令END和MEND結束指令分為有條件結束指令(END)和無條件結束指令(MEND)。使用說明:結束指令只能用在主程序中,不能在子程序和中斷程序中使用。而有條件結束指令可用在無條件結束指令前結束主程序。在調試程序時,在程序的適當位置插入無條件結束指令可實現程序的分段調試。可以利用程序執行的結果狀態、系統狀態或外部設置切換條件來調用有條件結束指令,使程序結束。使用方法:軟件自動處理。第41頁,課件共65頁,創作于2023年2月2010.9結束及暫停指令停止指令STOPSTOP指令有效時,可以使主機CPU的工作方式由RUN切換到STOP,從而立即中止用戶程序的執行。STOP指令在梯形圖中以線圈形式編程。指令不含操作數。STOP指令可以用在主程序、子程序和中斷程序中。如果在中斷程序中執行STOP指令,則中斷處理立即中止,并忽略所有掛起的中斷。繼續掃描程序的剩余部分,在本次掃描周期結束后,完成將主機從RUN到STOP的切換。STOP和END指令通常在程序中用來對突發緊急事件進行處理,以避免實際生產中的重大損失。第42頁,課件共65頁,創作于2023年2月2010.9看門狗指令WDT(WatchdogReset)稱為看門狗復位指令,也稱為警戒時鐘刷新指令。它可以把警戒時鐘刷新,即延長掃描周期,從而有效地避免看門狗超時錯誤。WDR指令在梯形圖中以線圈形式編程,無操作數。舉例第43頁,課件共65頁,創作于2023年2月2010.9跳轉及標號指令作用指令跳轉指令JMP(JumptoLabel):當輸入端有效時,使程序跳轉到標號處執行。標號指令LBL(Label):指令跳轉的目標標號。操作數n為0~255。使用說明:跳轉指令和標號指令必須配合使用,而且只能使用在同一程序塊中,如主程序、同一個子程序或同一個中斷程序。不能在不同的程序塊中互相跳轉。執行跳轉后,被跳過程序段中的各元器件的狀態:Q、M、S、C等元器件的位保持跳轉前的狀態;計數器C停止計數,當前值存儲器保持跳轉前的計數值;對定時器來說,因刷新方式不同而工作狀態不同。在跳轉期間,分辨率為1ms和10ms的定時器會一直保持跳轉前的工作狀態,原來工作的繼續工作,到設定值后,其位的狀態也會改變,輸出觸點動作,其當前值存儲器一直累計到最大值32767才停止。對分辨率為100ms的定時器來說,跳轉期間停止工作,但不會復位,存儲器里的值為跳轉時的值,跳轉結束后,若輸入條件允許,可繼續計時,但已失去了準確計時的意義。所以在跳轉段里的定時器要慎用。第44頁,課件共65頁,創作于2023年2月2010.9跳轉及標號指令使用舉例第45頁,課件共65頁,創作于2023年2月2010.9循環指令作用指令循環開始指令FOR:用來標記循環體的開始。循環結束指令NEXT:用來標記循環體的結束。無操作數。FOR和NEXT之間的程序段稱為循環體,每執行一次循環體,當前計數值增1,并且將其結果同終值作比較,如果大于終值,則終止循環。第46頁,課件共65頁,創作于2023年2月2010.9循環指令參數使用說明循環指令盒中有三個數據輸入端:當前循環計數INDX(indexvalueorcurrentloopcount)、循環初值INIT(startingvalue)和循環終值FINAL(endingvalue)。在使用時必須給FOR指令指定當前循環計數(INDX)、初值(INIT)和終值(FINAL)。INDX操作數:VW、IW、QW、MW、SW、SMW、LW、T、C、AC、*VD、*AC和*CD;屬INT型。INIT和FINAL操作數:VW、IW、QW、MW、SW、SMW、LW、T、C、AC、常數、*VD、*AC和*CD;屬INT型。指令使用說明FOR、NEXT指令必須成對使用。FOR和NEXT可以循環嵌套,嵌套最多為8層,但各個嵌套之間不可有交叉現象。每次使能輸入(EN)重新有效時,指令將自動復位各參數。初值大于終值時,循環體不被執行。在使用循環指令時,要注意在循環體中對INDX的控制,這一點非常重要。第47頁,課件共65頁,創作于2023年2月2010.9循環指令使用舉例第48頁,課件共65頁,創作于2023年2月2010.9子程序為什么要使用子程序?建立一個子程序子程序的調用子程序調用指令(CALL)在使能輸入有效時,主程序把程序控制權交給子程序。子程序的調用可以帶參數,可以不帶參數。子程序條件返回指令(CRET)在使能輸入有效時,結束子程序的執行,返回主程序中(此子程序調用的下一條指令)。梯形圖中以線圈的形式編程,指令不帶參數。第49頁,課件共65頁,創作于2023年2月2010.9子程序使用說明CRET多用于子程序的內部,由判斷條件決定是否結束子程序調用,RET用于子程序的結束。軟件自動處理RET指令。如果在子程序的內部又對另一子程序執行調用指令,則這種調用稱為子程序的嵌套。子程序的嵌套深度最多為8級。當一個子程序被調用時,系統自動保存當前的堆棧數據,并把棧頂置1,堆棧中的其他值為0,子程序占有控制權。子程序執行結束,通過返回指令自動恢復原來的邏輯堆棧值,調用程序又重新取得控制權。舉例第50頁,課件共65頁,創作于2023年2月2010.9子程序帶參數的子程序的調用用途局部變量表的使用舉例第51頁,課件共65頁,創作于2023年2月2010.9與ENO指令作用舉例第52頁,課件共65頁,創作于2023年2月2010.9延時脈沖產生電路

題目程序

第53頁,課件共65頁,創作于2023年2月2010.9瞬時接通/延時斷開電路

題目程序

第54頁,課件共65頁,創作于2023年2月2010.9延時接通/延時斷開電路

題目程序

第55頁,課件共65頁,創作于2023年2月2010.9脈沖寬度可控制電路

題目程序

第56頁,課件共65頁,創作于2023年2月

溫馨提示

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

評論

0/150

提交評論