一. PLC的定義
PLC問世以來,盡管時間不長,但發(fā)展迅速。為了使其生產(chǎn)和發(fā)展標準化,美國電氣制造商協(xié)會NEMA經(jīng)過四年的調(diào)查工作,于1984年首先將其正式命名為PC,并給PC作了如下定義:
“PC是一個數(shù)字式的電子裝置,它使用了可編程序的記憶體儲存指令。用來執(zhí)行諸如邏輯,順序,計時,計數(shù)與演算等功能,并通過數(shù)字或類似的輸入/輸出模塊,以控制各種機械或工作程序。一部數(shù)字電子計算機若是從事執(zhí)行PC之功能著,亦被視為PC,但不包括鼓式或類似的機械式順序控制器。”
以后國際電工委員會(IEC)又先后頒布了PLC標準的草案稿,第二稿,并在1987年2月通過了對它的定義:
“可編程控制器是一種數(shù)字運算操作的電子系統(tǒng),專為在工業(yè)環(huán)境應用而設計的。它采用一類可編程的存儲器,用于其內(nèi)部存儲程序,執(zhí)行邏輯運算,順序控制,定時,計數(shù)與算術操作等面向用戶的指令,并通過數(shù)字或模擬式輸入/輸出控制各種類型的機械或生產(chǎn)過程??删幊炭刂破骷捌溆嘘P外部設備,都按易于與工業(yè)控制系統(tǒng)聯(lián)成一個整體,易于擴充其功能的原則設計。”
總之,可編程控制器是一臺計算機,它是專為工業(yè)環(huán)境應用而設計制造的計算機。它具有豐富的輸入/輸出接口,并且具有較強的驅動能力。但可編程控制器產(chǎn)品并不針對某一具體工業(yè)應用,在實際應用時,其硬件需根據(jù)實際需要進行選用配置,其軟件需根據(jù)控制要求進行設計編制。
二. PLC的特點
PLC的主要特點: 1、高可靠性;2、豐富的I/O接口模塊;3、采用模塊化結構;4、編程簡單易學;5、安裝簡單,維修方便
PLC的功能:1、邏輯控制;2、定時控制;3、計數(shù)控制;4、步進(順序)控制;5、PID控制;6、數(shù)據(jù)控制:PLC具有數(shù)據(jù)處理能力。7、通信和聯(lián)網(wǎng);8、其它:PLC還有許多特殊功能模塊,適用于各種特殊控制的要求
三、PLC的分類
1、小型PLC
小型PLC的I/O點數(shù)一般在128點以下,其特點是體積小、結構緊湊,整個硬件融為一體,除了開關量I/O以外,還可以連接模擬量I/O以及其他各種特殊功能模塊。它能執(zhí)行包括邏輯運算、計時、計數(shù)、算術運算、數(shù)據(jù)處理和傳送、通訊聯(lián)網(wǎng)以及各種應用指令。
2、中型PLC
中型PLC采用模塊化結構,其I/O點數(shù)一般在256~1024點之間。I/O的處理方式除了采用一般PLC通用的掃描處理方式外,還能采用直接處理方式,即在掃描用戶程序的過程中,直接讀輸入,刷新輸出。它能聯(lián)接各種特殊功能模塊,
通訊聯(lián)網(wǎng)功能更強,指令系統(tǒng)更豐富,內(nèi)存容量更大,掃描速度更快。
3、大型PLC
一般I/O點數(shù)在1024點以上的稱為大型PLC。大型PLC的軟、硬件功能極強。具有極強的自診斷功能。通訊聯(lián)網(wǎng)功能強,有各種通訊聯(lián)網(wǎng)的模塊,可以構成三級通訊網(wǎng),實現(xiàn)工廠生產(chǎn)管理自動化。大型PLC還可以采用三CPU構成表決式系統(tǒng),使機器的可靠性更高。
四. PLC的基本結構
PLC實質(zhì)是一種專用于工業(yè)控制的計算機,其硬件結構基本上與微型計算機相同,
1、中央處理單元(CPU)
中央處理單元(CPU)是PLC的控制中樞。它按照PLC系統(tǒng)程序賦予的功能接收并存儲從編程器鍵入的用戶程序和數(shù)據(jù);檢查電源、存儲器、I/O以及警戒定時器的狀態(tài),并能診斷用戶程序中的語法錯誤。為了進一步提高PLC的可靠性,近年來對大型PLC還采用雙CPU構成冗余系統(tǒng),或采用三CPU的表決式系統(tǒng)。這樣,即使某個CPU出現(xiàn)故障,整個系統(tǒng)仍能正常運行。
2、存儲器
存放系統(tǒng)軟件的存儲器稱為系統(tǒng)程序存儲器。存放應用軟件的存儲器稱為用戶程序存儲器。
PLC存儲空間的分配
雖然各種PLC的CPU的大尋址空間各不相同,但是根據(jù)PLC的工作原理,其存儲空間一般包括以下三個區(qū)域:
(1)系統(tǒng)程序存儲區(qū)
(2)系統(tǒng)RAM存儲區(qū)(包括I/O映象區(qū)和系統(tǒng)軟設備等)
(3)用戶程序存儲區(qū)
系統(tǒng)程序存儲區(qū):在系統(tǒng)程序存儲區(qū)中存放著相當于計算機操作系統(tǒng)的系統(tǒng)程序。包括監(jiān)控程序、管理程序、命令解釋程序、功能子程序、系統(tǒng)診斷子程序等。系統(tǒng)RAM存儲區(qū):系統(tǒng)RAM存儲區(qū)包括I/O映象區(qū)以及各類軟設備。
(1)I/O映象區(qū):由于PLC投入運行后,只是在輸入采樣階段才依次讀入各輸入狀態(tài)和數(shù)據(jù),在輸出刷新階段才將輸出的狀態(tài)和數(shù)據(jù)送至相應的外設。因此,它需要一定數(shù)量的存儲單元(RAM)以存放I/O的狀態(tài)和數(shù)據(jù),這些單元稱作I/O映象區(qū)。一個開關量I/O占用存儲單元中的一個位(bit),一個模擬量I/O占用存儲單元中的一個字(16個bit)。因此整個I/O映象區(qū)可看作兩個部分組成:開關量I/O映象區(qū);模擬量I/O映象區(qū)。
(2)系統(tǒng)軟設備存儲區(qū) :除了I/O映象區(qū)區(qū)以外,系統(tǒng)RAM存儲區(qū)還包括PLC內(nèi)部各類軟設備(邏輯線圈、計時器、計數(shù)器、數(shù)據(jù)寄存器和累加器等)的存儲區(qū)。該存儲區(qū)又分為具有失電保持的存儲區(qū)域和無失電保持的存儲區(qū)域,前者在PLC斷電時,由內(nèi)部的鋰電池供電,數(shù)據(jù)不會遺失;后者當PLC斷電時,數(shù)據(jù)被清零。
1)邏輯線圈
與開關輸出一樣,每個邏輯線圈占用系統(tǒng)RAM存儲區(qū)中的一個位,但不能直接驅動外設,只供用戶在編程中使用,其作用類似于電器控制線路中的繼電器。 另外,不同的PLC還提供數(shù)量不等的特殊邏輯線圈,具有不同的功能。
2)數(shù)據(jù)寄存器
與模擬量I/O一樣,每個數(shù)據(jù)寄存器占用系統(tǒng)RAM存儲區(qū)中的一個字(16 bits)。 另外,PLC還提供數(shù)量不等的特殊數(shù)據(jù)寄存器,具有不同的功能。
3)計時器
4)計數(shù)器
用戶程序存儲區(qū)
用戶程序存儲區(qū)存放用戶編制的用戶程序。不同類型的PLC,其存儲容量各不相同。
3、電源
PLC的電源在整個系統(tǒng)中起著十分重要得作用。如果沒有一個良好的、可靠得電源系統(tǒng)是無法正常工作的,因此PLC的制造商對電源的設計和制造也十分重視。一般交流電壓波動在+10%(+15%)范圍內(nèi),可以不采取其它措施而將PLC直接連接到交流電網(wǎng)上去。
從上述概念可知,假如我們在線修改程序,被修改的塊存放在工作存儲器中,當把程序上載到編程器時,就從工作存儲器傳到編程器。由于斷電會導致RAM數(shù)據(jù)的丟失,所以假如要安全保存被修改的程序,就必須保存在FEPROM或硬盤上。
硬件組態(tài)和參數(shù)分配
一些概念:組態(tài)就是指在硬件組態(tài)的站窗口中分配機架、塊可分布式I/O,可從硬件目錄中選擇部件;參數(shù)分配就是建立可分配參數(shù)模塊的特性,例如啟動特性、保持區(qū)等;設定組態(tài)就是設定好的硬件組態(tài)和參數(shù)分配;實際組態(tài)指已存在的實際組態(tài)和參數(shù)分配,一般是在已裝配的系統(tǒng)中,從PLC的CPU中讀出來的。
組態(tài)過程:
啟動硬件組態(tài):新建一個項目(PROJECT),選擇該項目,并插入(INSERT)一個站(STATION),在SIMATIC管理器中選擇硬件站(HARDWARE)雙擊OPEN即可,我們同時可以打開硬件目錄——VIEW-CATALOG,如果選擇標準硬件目錄庫,它會提供所有的機架、模塊和接口模塊。
產(chǎn)生硬件組態(tài):主要選擇機架,指定模塊如何在機架擺放。具體是:
1、 在硬件目錄中打開一個SIMATIC300站的RACK-300(例如是300),雙擊或拖到左邊窗口。這樣在左邊的窗口中就出現(xiàn)兩個機架表:上面的部分顯示一個簡表,下面的部分顯示帶有定貨號、MPI地址和I/O地址的詳細信息。
2、 電源:雙擊或拖拉目錄中的“PS-300”模塊,放到表中的一號槽位上。
3、 CPU:從CPU-300的目錄中選擇你所配置的CPU,列入2號槽位。
4、 3號槽—一般接口模塊保留(用于多層組態(tài)),在實際配置中,如果這個位置要保留以后安裝接口模塊,在安裝時就必須插入一個占位模塊。
5、 信號模塊:從4號槽位開始多可以插入八塊信號模塊(SM卡),包括通訊處理器(CP)和功能模塊(FM)。
CPU——屬性包括通用屬性General(主要提供模塊的類型,位置和MPI地址—如果要把幾個PLC通過MPI接口組成網(wǎng)絡,每個CPU分配不同的MPI地址);啟動項目START.UP(主要選擇三種啟動方式,HOT—從斷電時的語句,也就是程序斷電處開始,WARM—從頭,也就是程序步開始,COLD—冷啟動;監(jiān)視時間包括從模塊讀準備的信息時間和傳遞參數(shù)到模塊的時間;可保存數(shù)量Retentive Memory:用來指定當出現(xiàn)斷電或從STOP到RUN切換時需要保持的存儲器區(qū)域;循環(huán)/時鐘存儲器;保護功能(設定鑰匙權限和各種級別及口令);診斷/時鐘。
保存下載及上傳:經(jīng)過上述設置以后,我們就可以保存、編譯、一致性檢查后,把設定組態(tài)下載到PLC中。當然,對實際運行的PLC,我們也可以通過上傳(Upload Station)把實際組態(tài)讀到編程器。
硬件診斷及組態(tài)中可能出現(xiàn)的問題:在SIMATIC管理器中可以用PLC-Diagnose Hardware來獲得PLC的診斷狀態(tài)。在實際組態(tài)過程中可能出現(xiàn)的問題是以下幾點:
1、 在S7-300中,組態(tài)中有空位置,此時組態(tài)不能編譯通過;
2、 不正確的CPU(例如:是CPU 315-2DP,不是CPU 314)此時組態(tài)不能下載;
3、 模擬量模塊分配到不正確的槽位置,此時CPU會因為參數(shù)分配錯誤進入STOP模式;
4、模擬量模塊不正確的測量范圍,導致模擬量模塊組態(tài)錯誤。
塊的編輯
STEP 7編程語言:LAD 梯形圖/FBD功能塊圖/STL語句表,更加豐富,更加靈活,但對初學者比較難以理解,當然某些語言不能用LAD表達。
塊編輯的啟動:選擇所需編程語言,雙擊打開需編輯的塊,如OB1或FC1等。當采用LAD或FBD編程語言時,可用工具條來插入簡單的程序文件,當采用STL,則可用在線幫助得到有關語言的語法和功能——HELP-Help on STL。
編程器組成:聲明表:屬于塊,為塊聲明變量和參數(shù);代碼區(qū):包含程序本身;編程元件:可選打開或關閉,內(nèi)容依賴于所選擇的編程語言,雙擊插入或拖拉插入。
VIEW菜單:可切換到另一種語言,并可實現(xiàn)LAD/FBD/STL之間的轉換,要知道,LAD/FBD轉換成STL的,在語句表中可能不是有效程序。而STL轉換成其他則不一定行,轉換不了的仍用語句表示,轉換過程絕不會丟失程序。
其他菜單由于篇幅較大,請好結合教材及軟件自己熟悉。
在討論調(diào)用塊前先介紹一下OB1塊——主循環(huán)塊,不能改名或刪除,它是由操作系統(tǒng)循環(huán)調(diào)用,可以訪問其他的S7程序塊,它包括自身程序和其他塊的調(diào)用。所以,當我們編輯好一個塊以后,如FC1,為了讓新塊集成在CPU中的循環(huán)程序中,必須在OB1中調(diào)用。即在OB1中CALL F1。 子程序(新塊FC 1)執(zhí)行的條件有以下三個:已經(jīng)下載到PLC中,必須在OB1調(diào)用,PLC處于運行狀態(tài)。 下載到實際的PLC時,我們可以選擇所有塊或其中的一個或幾個,再Download到PLC中。
程序的執(zhí)行過程:當PLC得電或從STOP切換到RUN模式,CPU會執(zhí)行一次全啟動(使用OB100)在全啟動期間,操作系統(tǒng)清除非保持位存儲器、定時器和計數(shù)器,刪除中斷堆箋和塊堆箋,復位所有保存的硬件中斷,并啟動掃描循環(huán)監(jiān)視時間。
CPU的循環(huán)操作包括三個主要部分:CPU檢查輸入信號的狀態(tài)并刷新過程影象輸入表(PII..);執(zhí)行用戶程序,也就是OB1中的程序及一些事件(中斷等);把過程輸出影象輸出表(PIQ)寫到輸出模塊。上面所提到的PII/PIQ是CPU中特定的存儲器,用來保存輸入模塊/輸出模塊的信號,在用戶程序中檢查時,可以保證在一個掃描周期內(nèi)為同樣的信號狀態(tài)。
程序結構:上面曾經(jīng)提到過,一個比較簡單的程序,我們可以不用各種子程序塊(如FC.FB),而是直接把整個程序直接寫在一個塊上(通常是OB1主塊上),CPU逐條的處理指令,我們稱這種叫線形編程;而對稍微有點復雜的程序,我們可以把它分成幾個塊,每塊包含處理一部分任務的程序,在每一個塊中可以進一步分解、成幾個段,可以為相同類型的段生成段模塊,組織塊OB1包含按順序調(diào)用其他塊的指令,我們把這種方法叫分塊編程;另外,對可重復使用的功能裝入單個塊中,OB1(或其他塊)調(diào)用這些塊并傳遞相關參數(shù),這種方法叫結構化編程。用戶塊(程序塊)包括程序代碼和用戶數(shù)據(jù),在結構化程序中,一些塊循環(huán)調(diào)用處理,一些塊需要時才調(diào)用。程序塊共有組織塊(OB)、功能塊(FB)、功能(FC)、系統(tǒng)功能塊(SFB)和系統(tǒng)功能(FC)5種,其中系統(tǒng)塊是在CPU操作系統(tǒng)中預先定義好的功能和功能塊,這些塊不占用用戶程序空間。