1、PLC的基本邏輯指令及舉例 2、程序控制指令 3、PLC編程指導(dǎo) 4、典型的簡單電路編程 5、PLC程序簡單設(shè)計法及應(yīng)用舉例 梯形圖語言編程主要特點及格式有以下幾點:(1)梯形圖按行從上至下編寫,每一行從左至右順序編寫,即PLC程序執(zhí)行順序與梯形圖的編寫順序一致。 (2)梯形圖左、右邊垂直線分別稱為起始母線和終止母線。每一邏輯行必須從起始母線開始畫起。(終止母線??梢允÷裕?/p> (3)梯形圖中的觸點有兩種,即常開觸點和常閉觸點,這些觸點可以是PLC的輸入觸點或輸出繼電器觸點,也可以是內(nèi)部繼電器、定時器/計數(shù)器的狀態(tài)。與傳統(tǒng)的繼電器控制圖一樣,每一觸點都有自己的特殊標(biāo)記(編號),以示區(qū)別。同一標(biāo)記的觸點可以反復(fù)使用,次數(shù)不限。這是因為每一觸點的狀態(tài)存入PLC內(nèi)的存儲單元中,可以反復(fù)讀寫。傳統(tǒng)繼電器控制中的每個開關(guān)均對應(yīng)一個物理實體,故使用次數(shù)有限。這是PLC優(yōu)于傳統(tǒng)控制其中的一點。 (4)梯形圖最右側(cè)必須接輸出元素,PLC的輸出元素用括號表示,并標(biāo)出輸出變量的代號。同一標(biāo)號輸出變量只能使用一次。 (5)梯形圖中的觸點可以任意串、并聯(lián),而輸出線圈只能并聯(lián),不能串聯(lián)。每行最多觸點數(shù)由PLC型號不同而不同。 (6)內(nèi)部繼電器、計數(shù)器、移位寄存器等均不能直接控制外部負載,只能作中間結(jié)果供PLC內(nèi)部使用。 總之,梯形圖結(jié)構(gòu)沿用繼電器控制原理圖的形式,采用了常開觸點、常閉觸點、線圈等圖形語言,對于同一控制電路,繼電控制原理與梯形圖輸入、輸出信號基本相同,控制過程等效。 (1)LD、LDN指令不僅用于網(wǎng)絡(luò)塊邏輯計算開始時與母線相連的常開和常閉觸點,在分支電路塊的開始也要使用LD、LDN指令; (2)并聯(lián)的=指令可連續(xù)使用任意次; (3)在同一程序中不能使用雙線圈輸出,即同一元器件在同一程序中只使用一次=指令; (4)LD、LDN、=指令的操作數(shù)為:I、Q、M、SM、T、C、V、S和L。T、C也作為輸出線圈,但在S7-200PLC中輸出時不是以使用=指令形式出現(xiàn)。 置位和復(fù)位指令S(Set):置位指令 、R(Reset):復(fù)位指令。 置位即置1,復(fù)位即置0。置位和復(fù)位指令可以將位存儲區(qū)的某一位開始的一個或多個(最多可達255個)同類存儲器位置1或置0。 這兩條指令在使用時需指明三點:操作性質(zhì)、開始位和位的數(shù)量。 (1)S,置位指令 將位存儲區(qū)的指定位(位bit)開始的N個同類存儲器位置位。 用法:S bit, N 例: S Q0.0, 1 (2)R,復(fù)位指令 將位存儲區(qū)的指定位(位bit)開始的N個同類存儲器位復(fù)位。當(dāng)用復(fù)位指令時,如果是對定時器T位或計數(shù)器C位進行復(fù)位,則定時器位或計數(shù)器位被復(fù)位,同時,定時器或計數(shù)器的當(dāng)前值被清零。 用法: R bit, N 例: R Q0.2, 3 立即指令是為了提高PLC對輸入/輸出的響應(yīng)速度而設(shè)置的,它不受PLC循環(huán)掃描工作方式的影響,允許對輸入輸出點進行快速直接存取。 立即指令的名稱和類型如下: (1)立即觸點指令 (立即取、取反、或、或反、與、與反) (2)=I,立即輸出指令 (3)SI,立即置位指令 (4)RI,立即復(fù)位指令 上圖5-10中,t為執(zhí)行到輸出點處程序所用的時間,Q0.0、Q0.1、Q0.2的輸入邏輯是I0.0的普通常開觸點。 Q0.0為普通輸出,在程序執(zhí)行到它時,它的映像寄存器的狀態(tài)會隨著本掃描周期采集到的I0.0狀態(tài)的改變而改變,而它的物理觸點要等到本掃描周期的輸出刷新階段才改變; Q0.1、Q0.2為立即輸出,在程序執(zhí)行到它們時,它們的物理觸點和輸出映像寄存器同時改變;而對Q0.3來說,它的輸入邏輯是I0.0的立即觸點,所以在程序執(zhí)行到它時,Q0.3的映像寄存器的狀態(tài)會隨著I0.0即時狀態(tài)的改變而立即改變,而它的物理觸點要等到本掃描周期的輸出刷新階段才改變。 邏輯堆棧操作指令S7-200系列PLC使用一個9層堆棧來處理所有邏輯操作。堆棧是一組能夠存儲和取出數(shù)據(jù)的暫存單元,其特點是“先進后出”。每一次進行入棧操作,新值放入棧頂,棧底值丟失;每一次進行出棧操作,棧頂值彈出,棧底值補進隨機數(shù)。邏輯堆棧指令主要用來完成對觸點進行的復(fù)雜連接。 S7-200中把ALD、OLD、LPS、LRD、LPP指令都歸納為棧操作指令。 定時器的刷新方式和正確使用(1)定時器的刷新方式 1、1ms定時器:由系統(tǒng)每隔1ms刷新一次,與掃描周期及程序處理無關(guān)。它采用中斷刷新方式。 2、10ms定時器:由系統(tǒng)在每個掃描周期開始時自動刷新。在一個掃描周期內(nèi)定時器位和定時器的當(dāng)前值保持不變。 3、100ms定時器:在定時器指令執(zhí)行時被刷新。它僅用在定時器指令在每個掃描周期執(zhí)行一次的程序中。 (2)定時器的正確使用 圖5-22為正確使用定時器的一個例子。它用來在定時器計時時間到時產(chǎn)生一個寬度為一個掃描周期的脈沖。 計數(shù)器指令計數(shù)器用來累計輸入脈沖的次數(shù),在實際應(yīng)用中用來對產(chǎn)品進行計數(shù)或完成復(fù)雜的邏輯控制任務(wù)。 1.幾個基本概念 (1)種類:計數(shù)器指令有3種:增計數(shù)CTU、增減計數(shù)CTUD和減計數(shù)CTD。 (2)編號:計數(shù)器的編號用計數(shù)器名稱和數(shù)字(最大255)組成。 計數(shù)器的編號包含兩方面信息:計數(shù)器的位和計數(shù)器當(dāng)前值。 計數(shù)器位:計數(shù)器位和繼電器一樣是個開關(guān)量,表示計數(shù)器是否發(fā)生動作的狀態(tài),當(dāng)計數(shù)器的當(dāng)前值達到設(shè)定值時,該位被置位為ON。 計數(shù)器當(dāng)前值:其值是個存儲單元,用來存儲計數(shù)器當(dāng)前所累計的脈沖個數(shù),用16位符號整數(shù)表示,最大數(shù)值為32767。 (3)減計數(shù)器CTD脈沖輸入端CD用于遞減計數(shù)。首次掃描,計數(shù)器位OFF,當(dāng)前值為等于預(yù)設(shè)值PV。計數(shù)器檢測到CD輸入的每個上升沿時,計數(shù)器當(dāng)前值減小1個單位,當(dāng)前值減到0時,計數(shù)器位ON。 復(fù)位輸入有效或執(zhí)行復(fù)位指令,計數(shù)器自動復(fù)位,即計數(shù)器位OFF,當(dāng)前值復(fù)位為預(yù)設(shè)值,而不是0。 指令格式:CTD Cxxx,PV 例:CTD C40,4 程序?qū)嵗?/strong>:圖5-26為減計數(shù)器的程序片斷和時序圖。 3. 應(yīng)用舉例1)循環(huán)計數(shù) 以上三種類型的計數(shù)器如果在使用時,將計數(shù)器位的常開觸點作為復(fù)位輸入信號,則可以實現(xiàn)循環(huán)計數(shù)。 2)用計數(shù)器和定時器配合增加延時時間,如圖5-27所示。試分析以下程序中實際延時為多長時間。 程序控制類指令使程序結(jié)構(gòu)靈活,合理使用該類指令可以優(yōu)化程序結(jié)構(gòu),增強程序功能。這類指令主要包括:結(jié)束、暫停、看門狗、跳轉(zhuǎn)、子程序、循環(huán)和順序控制等指令。 5.2.1 結(jié)束指令結(jié)束指令分為有條件結(jié)束指令END和無條件結(jié)束指令MEND。兩條指令在梯形圖中以線圈形式編程。指令不含操作數(shù)。執(zhí)行完結(jié)束指令后,系統(tǒng)結(jié)束主程序,返回到主程序起點。 使用說明: (1)結(jié)束指令只能用在主程序中,不能在子程序和中斷程序中使用。 (2)在調(diào)試程序時,在程序的適當(dāng)位置插入無條件結(jié)束指令可實現(xiàn)程序的分段調(diào)試。 (3)可以利用程序執(zhí)行的結(jié)果狀態(tài)、系統(tǒng)狀態(tài)或外部設(shè)置切換條件來調(diào)用有條件結(jié)束指令,使程序結(jié)束。 (4)使用Micro/Win32編程時,不需手工輸入無條件結(jié)束指令,該軟件自動在內(nèi)部加上一條無條件結(jié)束指令到主程序的結(jié)尾。 所屬圈子 (此處已添加圈子卡片,請到今日頭條客戶端查看) |
|