七. PLC的工作原理
最初研制生產(chǎn)的PLC主要用于代替?zhèn)鹘y(tǒng)的由繼電器接觸器構(gòu)成的控制裝置,但這兩者的運行方式是不相同的:
(1)繼電器控制裝置采用硬邏輯并行運行的方式,即如果這個繼電器的線圈通電或斷電,該繼電器所有的觸點(包括其常開或常閉觸點)在繼電器控制線路的哪個位置上都會立即同時動作。
(2)PLC的CPU則采用順序邏輯掃描用戶程序的運行方式,即如果一個輸出線圈或邏輯線圈被接通或斷開,該線圈的所有觸點(包括其常開或常閉觸點)不會立即動作,必須等掃描到該觸點時才會動作。
為了消除二者之間由于運行方式不同而造成的差異,考慮到繼電器控制裝置各類觸點的動作時間一般在100ms以上,而PLC掃描用戶程序的時間一般均小于100ms,因此,PLC采用了一種不同于一般微型計算機的運行方式---掃描技術(shù)。這樣在對于I/O響應(yīng)要求不高的場合,PLC與繼電器控制裝置的處理結(jié)果上就沒有什么區(qū)別了。
1、掃描技術(shù) 當(dāng)PLC投入運行后,其工作過程一般分為三個階段,即輸入采樣、用戶程序執(zhí)行和輸出刷新三個階段。完成上述三個階段稱作一個掃描周期。在整個運行期間,PLC的CPU以一定的掃描速度重復(fù)執(zhí)行上述三個階段。
(1)輸入采樣階段
在輸入采樣階段,PLC以掃描方式依次地讀入所有輸入狀態(tài)和數(shù)據(jù),并將它們存入I/O映象區(qū)中的相應(yīng)得單元內(nèi)。輸入采樣結(jié)束后,轉(zhuǎn)入用戶程序執(zhí)行和輸出刷新階段。在這兩個階段中,即使輸入狀態(tài)和數(shù)據(jù)發(fā)生變化,I/O映象區(qū)中的相應(yīng)單元的狀態(tài)和數(shù)據(jù)也不會改變。因此,如果輸入是脈沖信號,則該脈沖信號的寬度必須大于一個掃描周期,才能保證在任何情況下,該輸入均能被讀入。
(2)用戶程序執(zhí)行階段
在用戶程序執(zhí)行階段,PLC總是按由上而下的順序依次地掃描用戶程序(梯形圖)。在掃描每一條梯形圖時,又總是先掃描梯形圖左邊的由各觸點構(gòu)成的控制線路,并按先左后右、先上后下的順序?qū)τ捎|點構(gòu)成的控制線路進行邏輯運算,然后根據(jù)邏輯運算的結(jié)果,刷新該邏輯線圈在系統(tǒng)RAM存儲區(qū)中對應(yīng)位的狀態(tài);或者刷新該輸出線圈在I/O映象區(qū)中對應(yīng)位的狀態(tài);或者確定是否要執(zhí)行該梯形圖所規(guī)定的特殊功能指令。即,在用戶程序執(zhí)行過程中,只有輸入點在I/O映象區(qū)內(nèi)的狀態(tài)和數(shù)據(jù)不會發(fā)生變化,而其他輸出點和軟設(shè)備在I/O映象區(qū)或系統(tǒng)RAM存儲區(qū)內(nèi)的狀態(tài)和數(shù)據(jù)都有可能發(fā)生變化,而且排在上面的梯形圖,其程序執(zhí)行結(jié)果會對排在下面的凡是用到這些線圈或數(shù)據(jù)的梯形圖起作用;相反,排在下面的梯形圖,其被刷新的邏輯線圈的狀態(tài)或數(shù)據(jù)只能到下一個掃描周期才能對排在其上面的程序起作用。
(1)輸出刷新階段
當(dāng)掃描用戶程序結(jié)束后,PLC就進入輸出刷新階段。在此期間,CPU按照I/O映象區(qū)內(nèi)對應(yīng)的狀態(tài)和數(shù)據(jù)刷新所有的輸出鎖存電路,再經(jīng)輸出電路驅(qū)動相應(yīng)的外設(shè)。這時,才是PLC的真正輸出。
2、PLC的I/O響應(yīng)時間
為了增強PLC的抗干擾能力,提高其可*性,PLC的每個開關(guān)量輸入端都采用光電隔離等技術(shù)。為了能實現(xiàn)繼電器控制線路的硬邏輯并行控制,PLC采用了不同于一般微型計算機的運行方式(掃描技術(shù))。以上兩個主要原因,使得PLC得I/O響應(yīng)比一般微型計算機構(gòu)成的工業(yè)控制系統(tǒng)滿的多,其響應(yīng)時間至少等于一個掃描周期,一般均大于一個掃描周期甚至更長。所謂I/O響應(yīng)時間指從PLC的某一輸入信號變化開始到系統(tǒng)有關(guān)輸出端信號的改變所需的時間
八. PLC的I/O系統(tǒng)
1、I/O尋址方式
PLC的硬件結(jié)構(gòu)主要分單元式和模塊式兩種。前者將PLC的主要部分(包括I/O系統(tǒng)和電源等)全部安裝在一個機箱內(nèi)。后者將PLC的主要硬件部分分別制成模塊,然后由用戶根據(jù)需要將所選用的模塊插入PLC機架上的槽內(nèi),構(gòu)成一個PLC系統(tǒng)。不論采取哪一種硬件結(jié)構(gòu),都必須確立用于連接工業(yè)現(xiàn)場的各個輸入/輸出點與PLC的I/O映象區(qū)之間的對應(yīng)關(guān)系,即給每一個輸入/輸出點以明確的地址確立這種對應(yīng)關(guān)系所采用得方式稱為I/O尋址方式。
I/O尋址方式有以下三種:
(1)固定的I/O尋址方式這種I/O尋址方式是由PLC制造廠家在設(shè)計、生產(chǎn)PLC時確定的,它的每一個輸入/輸出點都有一個明確的固定不變的地址。一般來說,單元式的PLC采用這種I/O尋址方式。
(2)開關(guān)設(shè)定的I/O尋址方式這種I/O尋址方式是由用戶通過對機架和模塊上的開關(guān)位置的設(shè)定來確定的。
(3)用軟件來設(shè)定的I/O尋址方式這種I/O尋址方式是有用戶通過軟件來編制I/O地址分配表來確定的
PLC程序設(shè)計語言介紹
在PLC中有多種程序設(shè)計語言,它們是梯形圖語言、布爾助記符語言、功能表圖語言、功能模塊圖語言及結(jié)構(gòu)化語句描述語言等。梯形圖語言和布爾助記符語言是基本程序設(shè)計語言,它通常由一系列指令組成,用這些指令可以完成大多數(shù)簡單的控制功能,例如,代替繼電器、計數(shù)器、計時器完成順序控制和邏輯控制等,通過擴展或增強指令集,它們也能執(zhí)行其它的基本操作。功能表圖語言和語句描述語言是高級的程序設(shè)計語言,它可根據(jù)需要去執(zhí)行更有效的操作,例如,模擬量的控制,數(shù)據(jù)的操縱,報表的報印和其他基本程序設(shè)計語言無法完成的功能。功能模塊圖語言采用功能模塊圖的形式,通過軟連接的方式完成所要求的控制功能,它不僅在PLC中得到了廣泛的應(yīng)用,在集散控制系統(tǒng)的編程和組態(tài)時也常常被采用,由于它具有連接方便、操作簡單、易于掌握等特點,為廣大工程設(shè)計和應(yīng)用人員所喜愛。
根據(jù)PLC應(yīng)用范圍,程序設(shè)計語言可以組合使用,常用的程序設(shè)計語言是:梯形圖程序設(shè)計語言;布爾助記符程序設(shè)計語言(語句表);功能表圖程序設(shè)計語言;功能模塊圖程序設(shè)計語言;結(jié)構(gòu)化語句描述程序設(shè)計語言;梯形圖與結(jié)構(gòu)化語句描述程序設(shè)計語言;布爾助記符與功能表圖程序設(shè)計語言;布爾助記符與結(jié)構(gòu)化語句描述程序設(shè)計語言。
1、梯形圖(Ladder Diagram)
程序設(shè)計語言梯形圖程序設(shè)計語言是用梯形圖的圖形符號來描述程序的一種程序設(shè)計語言。采用梯形圖程序設(shè)計語言,程序采用梯形圖的形式描述。這種程序設(shè)計語言采用因果關(guān)系來描述事件發(fā)生的條件和結(jié)果。每個梯級是一個因果關(guān)系。在梯級中,描述事件發(fā)生的條件表示在左面,事件發(fā)生的結(jié)果表示在后面。梯形圖程序設(shè)計語言是最常用的一種程序設(shè)計語言。它來源于繼電器邏輯控制系統(tǒng)的描述。
在工業(yè)過程控制領(lǐng)域,電氣技術(shù)人員對繼電器邏輯控制技術(shù)較為熟悉,因此,由這種邏輯控制技術(shù)發(fā)展而來的梯形圖受到了歡迎,并得到了廣泛的應(yīng)用。梯形圖程序設(shè)計語言的特點是:(1)與電氣操作原理圖相對應(yīng),具有直觀性和對應(yīng)性;
(2)與原有繼電器邏輯控制技術(shù)相一致,對電氣技術(shù)人員來說,易于撐握和學(xué)習(xí);
(3)與原有的繼電器邏輯控制技術(shù)的不同點是,梯形圖中的能流(Power FLow)不是實際意義的電流,內(nèi)部的繼電器也不是實際存在的繼電器,因此,應(yīng)用時,需與原有繼電器邏輯控制技術(shù)的有關(guān)概念區(qū)別對待;
(4)與布爾助記符程序設(shè)計語言有一一對應(yīng)關(guān)系,便于相互的轉(zhuǎn)換和程序的檢查。
2、布爾助記符(Boolean Mnemonic)
程序設(shè)計語言布爾助記符程序設(shè)計語言是用布爾助記符來描述程序的一種程序設(shè)計語言。布爾助記符程序設(shè)計語言與計算機中的匯編語言非常相似,采用布爾助記符來表示操作功能。
布爾助記符程序設(shè)計語言具有下列特點:
(1)采用助記符來表示操作功能,具有容易記憶,便于撐握的特點;
(2)在編程器的鍵盤上采用助記符表示,具有便于操作的特點,可在無計算機的場合進行編程設(shè)計;
(3)與梯形圖有一一對應(yīng)關(guān)系。其特點與梯形圖語言基本類同。
3、功能表圖(Sepuential Function Chart)
程序設(shè)計語言功能表圖程序設(shè)計語言是用功能表圖來描述程序的一種程序設(shè)計語言。它是近年來發(fā)展起來的一種程序設(shè)計語言。采用功能表圖的描述,控制系統(tǒng)被分為若干個子系統(tǒng),從功能入手,使系統(tǒng)的操作具有明確的含義,便于設(shè)計人員和操作人員設(shè)計思想的溝通,便于程序的分工設(shè)計和檢查調(diào)試。
功能表圖程序設(shè)計語言的特點是:
(1)以功能為主線,條理清楚,便于對程序操作的理解和溝通;
(2)對大型的程序,可分工設(shè)計,采用較為靈活的程序結(jié)構(gòu),可節(jié)省程序設(shè)計時間和調(diào)試時間;
(3)常用于系統(tǒng)的規(guī)模校大,程序關(guān)系較復(fù)雜的場合;
(4)只有在活動步的命令和操作被執(zhí)行,對活動步后的轉(zhuǎn)換進行掃描,因此,整個程序的掃描時間較其他程序編制的程序掃描時間要大大縮短。功能表圖來源于佩特利(Petri)網(wǎng),由于它具有圖形表達方式,能較簡單和清楚地描述并發(fā)系統(tǒng)和復(fù)雜系統(tǒng)的所有現(xiàn)象,并能對系統(tǒng)中存有的象死鎖、不安全等反常現(xiàn)象進行分析和建模,在模型的基礎(chǔ)上能直接編程,所以,得到了文泛的應(yīng)用。近幾年推出的PLC和小型集散控制系統(tǒng)中也已提供了采用功能表圖描述語言進行編程的軟件。關(guān)于佩特利(Petri)網(wǎng)的一些基本概念,我在以后有機會時再介紹給各位,以有助于對功能表圖的進一步理解。
4、功能模塊圖(Function Block)
程序設(shè)計語言功能模塊圖程序設(shè)計語言是采用功能模塊來表示模塊所具有的功能,不同的功能模塊有不同的功能。它有若干個輸入端和輸出端,通過軟連接的方式,分別連接到所需的其它端子,完成所需的控制運算或控制功能。功能模塊可以分為不同的類型,在同一種類型中,也可能因功能參數(shù)的不同而使功能或應(yīng)用范圍有所差別,例如,輸入端的數(shù)量、輸入信號的類型等的不同使它的使用范圍不同。由于采用軟連接的方式進行功能模塊之間及功能模塊與外部端子的連接,因此控制方案的更改、信號連接的替換等操作可以很方便實現(xiàn)。
功能模塊圖程序設(shè)計語言的特點是:
(1)以功能模塊為單位,從控制功能入手,使控制方案的分析和理解變得容易;
(2)功能模塊是用圖形化的方法描述功能,它的直觀性大大方便了設(shè)計人員的編程和組態(tài),有較好的易操作性;
(3)對控制規(guī)模較大、控制關(guān)系較復(fù)錄的系統(tǒng),由于控制功能的關(guān)系可以較清楚地表達出來,因此,編程和組態(tài)時間可以縮短,調(diào)試時間也能減少;
(4)由于每種功能模塊需要占用一定的程序內(nèi)存,對功能模塊的執(zhí)行需要一定的執(zhí)行時間,因此,這種設(shè)計語言在大中型PLC和集散控制系統(tǒng)的編程和組態(tài)中才被采用。
5、結(jié)構(gòu)化語句(Structured Text)
描述程序設(shè)計語言結(jié)構(gòu)化語句描述程序設(shè)計語言是用結(jié)構(gòu)化的描述語句來描述程序的一種程序設(shè)計語言。它是一種類似于高級語言的程序設(shè)計語言。在大中型的PLC系統(tǒng)中,常采用結(jié)構(gòu)化語句描述程序設(shè)計語言來描述控制系統(tǒng)中各個變量的關(guān)系。它也被用于集散控制系統(tǒng)的編程和組態(tài)。結(jié)構(gòu)化語句描述程序設(shè)計語言采用計算機的描述語句來描述系統(tǒng)中各種變量之間的各種運算關(guān)系,完成所需的功能或操作。大多數(shù)制造廠商采用的語句描述程序設(shè)計語言與BASIC語言、PASCAL語言或C語言等高級語言相類似,但為了應(yīng)用方便,在語句的表達方法及語句的種類等方面都進行了簡化。
結(jié)構(gòu)化程序設(shè)計語言具有下列特點:
(1)采用高級語言進行編程,可以完成較復(fù)雜的控制運算;
(2)需要有一定的計算機高級程序設(shè)計語言的知識和編程技巧,對編程人員的技能要求較高,普通電氣人員無法完成。
(3)直觀性和易操作性等性能較差;
(4)常被用于采用功能模塊等其他語言較難實現(xiàn)的一些控制功能的實施。部分PLC的制造廠商為用戶提供了簡單的結(jié)構(gòu)化程序設(shè)計語言,它與助記符程序設(shè)計語言相似,對程序的步數(shù)有一定的限制,同時,提供了與PLC間的接口或通信連接程序的編制方式,為用戶的應(yīng)用程序提供了擴展余地。