首先說一下,昨天上傳了一個視頻,感覺效果不怎么好,可能是我的錄制有問題,所以我們來調(diào)整下,從今天開始我們先上傳理論文章,然后第二天發(fā)布文章的實踐部分,這樣的話基本上是理論跟實踐結(jié)合了。 一、基本編程方法介紹 目前常見的編程方法有5種,我們簡單介紹一下: 1、梯形圖 (LD) 梯形圖語言是PLC程序設(shè)計中最常用的編程語言。它是與繼電器線路類似的一種編程語言。由于電氣設(shè)計人員對繼電器控制較為熟悉,因此,梯形圖編程語言得到了廣泛的歡迎和應(yīng)用。也是我們本次自學(xué)主要的編程方法。 圖1 普通電氣原理圖與對應(yīng)梯形圖的比較 2、指令表 (LD) 指令表編程語言是與匯編語言類似的一種助記符編程語言,和匯編語言一樣由操作碼和操作數(shù)組成。在無計算機的情況下,適合采用PLC手持編程器對用戶程序進行編制。同時,指令表編程語言與梯形圖編程語言圖一一對應(yīng),在PLC編程軟件下可以相互轉(zhuǎn)換。 圖2 與圖1對應(yīng)的指令表編程 3、功能塊圖 FBD 功能模塊圖語言是與數(shù)字邏輯電路類似的一種PLC編程語言。采用功能模塊圖的形式來表示模塊所具有的功能,不同的功能模塊有不同的功能。 4、順序功能圖圖 SFC 順序功能流程圖語言是為了滿足順序邏輯控制而設(shè)計的編程語言。編程時將順序流程動作的過程分成步和轉(zhuǎn)換條件,根據(jù)轉(zhuǎn)移條件對控制系統(tǒng)的功能流程順序進行分配,一步一步的按照順序動作。每一步代表一個控制功能任務(wù),用方框表示。在方框內(nèi)含有用于完成相應(yīng)控制功能任務(wù)的梯形圖邏輯。這種編程語言使程序結(jié)構(gòu)清晰,易于閱讀及維護,大大減輕編程的工作量,縮短編程和調(diào)試時間。用于系統(tǒng)的規(guī)模校大,程序關(guān)系較復(fù)雜的場合。 圖3 順序功能圖一般形式 5、結(jié)構(gòu)化文本語言 ST 結(jié)構(gòu)化文本語言是用結(jié)構(gòu)化的描述文本來描述程序的一種編程語言。它是類似于高級語言的一種編程語言。在大中型的PLC系統(tǒng)中,常采用結(jié)構(gòu)化文本來描述控制系統(tǒng)中各個變量的關(guān)系。主要用于其他編程語言較難實現(xiàn)的用戶程序編制。 二、常見軟元件介紹 1、軟元件分類及編號 字母:功能的簡稱,比如X、Y、C 數(shù)字:代表某一類型軟元件的序號 2、軟元件基本特征 ①與普通繼電器相似,都具有常開常閉觸點 ②當(dāng)軟元件選中時(通電),常開變常閉,常閉變常開,失電相反 ③軟元件常開、常閉觸點可以無限次使用 3、軟元件功能 ①數(shù)值處理 十進制數(shù)(DEC: Decimal) 主要用于定時器和計數(shù)器的設(shè)定值(數(shù)字前加K),輔助繼電器M、定時器T、計數(shù)器C、狀態(tài)S等的編號,執(zhí)行應(yīng)用指令操作數(shù)中的數(shù)值與指令動作(數(shù)字前加K)。 十六進制數(shù)(HEX:Hexadecimal) 用途與十進制數(shù)一樣,用于指定應(yīng)用指令中的操作數(shù)與指定動作(數(shù)字前加H)。 二進制數(shù)(BIN:Binary) 在PLC內(nèi)部所有數(shù)值都以二進制的形式進行處理。對于負數(shù)而言,PLC內(nèi)部以補碼來表現(xiàn)。 八進制數(shù)(OCT:Octal) PLC的輸入、輸出繼電器軟元件編號以八進制數(shù)值進行分配。 BCD碼(BCD:Binary Code Decimal) BCD碼就是將構(gòu)成十進制數(shù)每位上0~9的數(shù)值以四位二進制表示的形式。 實數(shù)(浮點數(shù)) 通過浮點數(shù)運算可以提高運算結(jié)果的精度。PLC內(nèi)部以二進制浮點數(shù)進行浮點運算,但可以采用10進制浮點數(shù)進行監(jiān)控。 二進制浮點數(shù)使用編號連續(xù)的一堆數(shù)據(jù)寄存器進行存儲,占用32位,最高位為符號位。 ②輸入輸出繼電器 輸入繼電器(X):從外部接受信號的窗口 輸出繼電器(Y):向外部負載發(fā)送信號的窗口 輸入繼電器[X]、輸出繼電器[Y]的編號是由基本單元持有的固定編號,和針對擴展設(shè)備連接順序分配的編號組成的。這些編號采用8進制數(shù),所以不存在“8”、“9”的數(shù)值。 輸入繼電器即為我們常說的“輸入點”,它與PLC的輸入端子相對應(yīng);輸出繼電器即為我們常說的“輸出點”,它與PLC的輸出端子相對應(yīng)。一般PLC上都設(shè)有與輸入輸出繼電器相對應(yīng)的指示燈用來顯示其ON/OFF狀態(tài)。輸入輸出繼電器是唯一能夠在PLC上直接觀測狀態(tài)的內(nèi)部軟元件,它是PLC控制外圍電氣元件的橋梁。 PLC工作時,首先將所有輸入端子的ON/OFF狀態(tài)讀入到輸入映像區(qū),然后進行程序掃描執(zhí)行用戶程序,通過內(nèi)部邏輯計算得到各種軟元件的最新狀態(tài)或內(nèi)容,執(zhí)行完畢后將輸出映像區(qū)中輸入繼電器的狀態(tài)輸出到鎖存內(nèi)存中,最終映射到輸出端子,從而完成了由輸入到輸出的執(zhí)行過程。中間的用戶程序環(huán)節(jié)是實現(xiàn)“控制”的關(guān)鍵。 ③輔助繼電器(M) 輔助繼電器的線圈與輸出繼電器一樣,是通過PLC中的軟元件觸點來驅(qū)動的。輔助繼電器的常開觸點和常閉觸點無數(shù)量限制,在程序中可隨意使用,但是不能通過輔助繼電器觸點直接驅(qū)動外部負載,PLC的外部負載全部通過輸出繼電器進行驅(qū)動。輔助繼電器采用10進制分配編號。 一般用的輔助繼電器不具備斷電保持功能,PLC斷電后其狀態(tài)全部復(fù)位為OFF;而停電保持用的輔助繼電器可以記憶斷電前的狀態(tài)并保持住,通過程序條件才能確定其狀態(tài)的改變。 根據(jù)功能不同分為:一般用( M0-M499 ) 停電保持用(M500-M3071) 特殊用(M8000-M8255) 觸點利用型特殊輔助繼電器: M8000 運行監(jiān)視(PLC運行時常ON) M8002 初始脈沖(PLC運行時第一掃描周期ON) M8013 1秒時鐘脈沖 M8200 32位計數(shù)器C200增計數(shù)/減計數(shù)模式的切換 線圈驅(qū)動型特殊輔助繼電器: M8034 輸出全部禁止 M8039 恒定掃描周期 M8122 RS指令串行數(shù)據(jù)發(fā)送請求 ④狀態(tài)器(S) 狀態(tài)S是對工序步進形式的控制進行簡易編程所需的重要軟元件,需要與步進梯形圖指令STL或順序功能圖SFC組合使用。 狀態(tài)器與輔助繼電器相同,有無數(shù)個常開觸點和常閉觸點,可以在順控程序中隨意使用。當(dāng)狀態(tài)不用于步進梯形圖指令的時候,可以在一般的順控程序中把它當(dāng)做輔助繼電器M來使用。 ⑤定時器(T) 定時器的原理是用加法計算PLC中的1ms、10ms、100ms等的時鐘脈沖,當(dāng)加法計算的結(jié)果達到所指定的設(shè)定值時輸出觸點就動作的軟元件。與我們普通的時間繼電器功能一樣 圖4 普通時間繼電器 根據(jù)PLC型號的不同,其定時器編號范圍以及代表的功能也不相同。定時器編號不用于定時器功能時可以當(dāng)做數(shù)據(jù)寄存器用來保存數(shù)據(jù)(16位)。定時器可以分為一般用、累積型、電位器型等。 100ms定時器:T0-T199 定時范圍0.1-3276.7s 10ms定時器:T200-T245 定時范圍0.01-327.67s 1ms累積性定時器:T246-T249 定時范圍0.001-32.767s 100ms累積性定時器:T250-T255 定時范圍0.1-3276.7s T后面的數(shù)值可以是常數(shù)K,也可以由數(shù)據(jù)寄存器中的D值來指定,此時選用的時候一般選用掉電保持型數(shù)據(jù)寄存器。 圖5 累積型定時器//非累積型定時器比較 ⑥計數(shù)器和高速計數(shù)器(C) 計數(shù)器可以分為16位計數(shù)器和32位計數(shù)器。兩種計數(shù)器都有一般用和停電保持用兩種類型。計數(shù)器編號不用于計數(shù)器功能時可以當(dāng)做數(shù)據(jù)寄存器用來保存數(shù)據(jù)。 16位計數(shù)器只能增計數(shù),設(shè)定值范圍為1~32767;32位計數(shù)器可以切換為增計數(shù)或減計數(shù),設(shè)定值范圍為-214783648~214783647。 計數(shù)器對PLC的內(nèi)部信號X、Y、M、S、C等觸點的動作進行循環(huán)掃描并計數(shù),其響應(yīng)速度根據(jù)PLC的掃描時間可推算通常在10Hz以下。但很多情況下輸入信號的頻率都會大于這個數(shù)值,這時就要用到高速計數(shù)器,高速計數(shù)器的計數(shù)采用中斷處理,與PLC掃描時間無關(guān),可以達到數(shù)KHz的計數(shù)。 高速計數(shù)器必須與外部端子X0~X7配合使用,并且根據(jù)高速計數(shù)器編號占用輸入點的情況,一旦X點被占用后該點不能再用于其它用途。 ⑦數(shù)據(jù)寄存器(D) 數(shù)據(jù)寄存器是存儲數(shù)值數(shù)據(jù)的軟元件,這些寄存器都是16位的,最高位為符號位,其余15位代表數(shù)值大小。兩個連續(xù)的數(shù)據(jù)寄存器組合后可存儲32位數(shù)據(jù),在32位指令中只需指定低16位的數(shù)據(jù)寄存器,其緊接著的數(shù)據(jù)寄存器就會被自動占為高16位。在編程時需注意這點,以免重復(fù)使用數(shù)據(jù)寄存器造成邏輯混亂。 16位數(shù)據(jù)寄存器可以處理的數(shù)據(jù)范圍為-32768~+32767,32位數(shù)據(jù)寄存器可以處理的數(shù)據(jù)范圍為-2147483648~+2147483647。 數(shù)據(jù)寄存器也可以分為一般用、停電保持用和特殊用三種類型。 一般用:D0-D199 特殊用:D8000D8255 停電保持:D200-D511 變址寄存器:V0-V7 Z0-Z7 停電保持專用:D512-D7999 三、部分基本順控指令介紹 ①LD、LDI、OUT LD:取指令。表示一個與母線相連的常開觸點指令。 圖6 梯形圖表示與可用軟元件 LDI:取反指令。表示一個與母線相連的常閉觸點指令。 圖7 梯形圖表示與可用軟元件 OUT:輸出指令。 圖8 梯形圖表示與可用軟元件 應(yīng)用: 圖9 LD、LDI、OUT梯形圖編程示例 ② AND、ANI AND:與指令。單個常開觸點串聯(lián) 圖10 梯形圖表示與可用軟元件 ANI:與非指令。單個常閉觸點串聯(lián) 圖11 梯形圖表示與可用軟元件 應(yīng)用: 圖12 AND、ANI梯形圖編程示例 ③OR、ORI OR:或指令。單個常開觸點并聯(lián) 圖13 梯形圖表示與可用軟元件 ORI:或非指令。單個常閉觸點并聯(lián) 圖14 梯形圖表示與可用軟元件 應(yīng)用: 圖15 OR、ORI梯形圖編程示例 ④LDP、LDF、ANDP、ANDF、ORP、ORF LDP、ANDP、ORP:分別是取、與、或上升沿檢出指令 圖16 取上升沿檢出指令以及可用軟元件 圖17 與上升沿檢出指令以及可用軟元件 圖18 或上升沿檢出指令以及可用軟元件 LDF、ANDF、ORF:分別是取、與、或下降沿檢出指令 圖19 取下降沿檢出指令以及可用軟元件 圖20 與下降沿檢出指令以及可用軟元件 圖21 或下降沿檢出指令以及可用軟元件 應(yīng)用: 圖22 LDP、LDF、ANDP、ANDF、ORP、ORF梯形圖編程應(yīng)用 ⑤SET、RST SET:置位指令。使動作保持 圖23 梯形圖表示與可用軟元件 RST:復(fù)位指令。使動作復(fù)位 圖24 梯形圖表示與可用軟元件 應(yīng)用: 圖25 SET、RST梯形圖編程應(yīng)用 ⑥INV INV:取反指令。用于運算結(jié)果取反,不需要制定軟元件編號。比如當(dāng)使用該指令時,其指令前的LD指令,運算結(jié)果為LDI 圖26 梯形圖表示與可用軟元件 應(yīng)用: 圖27 INV梯形圖編程應(yīng)用 ⑦END END:結(jié)束指令。該指令是一條無目標(biāo)元件不占用程序步的指令,當(dāng)出現(xiàn)該指令時,此命令后的指令不在執(zhí)行。 以上是本次課程的所有內(nèi)容,是常見基礎(chǔ)知識,希望大家牢記,當(dāng)然不用死記硬背,只要多加練習(xí)就能牢記于心。 思考??? 如上圖,按一下按鈕X20,Y0輸出,機械手抓取一個工件放在輸送帶上,延時3秒鐘,輸送帶Y1正轉(zhuǎn),當(dāng)工件到達傳感器X0時,輸送帶停止,同時推出機構(gòu)Y2動作,將工件推進工件箱。再按一次按鈕X20,重復(fù)以上步驟一次。 擴展:使用本節(jié)學(xué)習(xí)的命令,如何用旋鈕X24增加自動、手動功能呢? 歡迎大家訂閱本頭條號,我們將在下節(jié)課程中對以上內(nèi)容進行模擬。 |
|