可編程序控制器(programmable controller )原本應(yīng)簡稱pc,為了與個人計算機(jī)專稱pc相區(qū)別,所以可編程序控制器簡稱定為plc(programmable logic controller),但并非說plc只能控制邏輯信號。plc是專門針對工業(yè)環(huán)境應(yīng)用設(shè)計的,自帶直觀、簡單并易于掌握編程語言環(huán)境的工業(yè)現(xiàn)場控制裝置。 一、plc基本組成 plc基本組成包括中央處理器(cpu)、存儲器、輸入/輸出接口(縮寫為i/o,包括輸入接口、輸出接口、外部設(shè)備接口、擴(kuò)展接口等)、外部設(shè)備編程器及電源模塊組成,見圖1。plc內(nèi)部各組成單元之間通過電源總線、控制總線、地址總線和數(shù)據(jù)總線連接,外部則根據(jù)實際控制對象配置相應(yīng)設(shè)備與控制裝置構(gòu)成plc控制系統(tǒng)。
圖1 plc的基本組成
1. 中央處理器 中央處理器(cpu)由控制器、運算器和寄存器組成并集成在一個芯片內(nèi)。cpu通過數(shù)據(jù)總線總線、地址總線、控制總線和電源總線與存儲器、輸入輸出接口、編程器和電源相連接。
小型plc的cpu采用8位或16位微處理器或單片機(jī),如8031、m68000等,這類芯片價格很低;中型plc的cpu采用16位或32位微處理器或單片機(jī),如8086、96系列單片機(jī)等,這類芯片主要特點是集成度高、運算速度快且可靠性高;而大型plc則需采用高速位片式微處理器。
cpu按照plc內(nèi)系統(tǒng)程序賦予的功能指揮plc控制系統(tǒng)完成各項工作任務(wù)。
2. 存儲器 plc內(nèi)的存儲器主要用于存放系統(tǒng)程序、用戶程序和數(shù)據(jù)等。
1)系統(tǒng)程序存儲器
plc系統(tǒng)程序決定了plc的基本功能,該部分程序由plc制造廠家編寫并固化在系統(tǒng)程序存儲器中,主要有系統(tǒng)管理程序、用戶指令解釋程序和功能程序與系統(tǒng)程序調(diào)用等部分。
系統(tǒng)管理程序主要控制plc的運行,使plc按正確的次序工作;用戶指令解釋程序?qū)lc的用戶指令轉(zhuǎn)換為機(jī)器語言指令,傳輸?shù)絚pu內(nèi)執(zhí)行;功能程序與系統(tǒng)程序調(diào)用則負(fù)責(zé)調(diào)用不同的功能子程序及其管理程序。
系統(tǒng)程序?qū)儆谛栝L期保存的重要數(shù)據(jù),所以其存儲器采用rom或eprom。rom是只讀存儲器,該存儲器只能讀出內(nèi)容,不能寫入內(nèi)容,rom具有非易失性,即電源斷開后仍能保存已存儲的內(nèi)容。
eperom為可電擦除只讀存儲器,須用紫外線照射芯片上的透鏡窗口才能擦除已寫入內(nèi)容,可電擦除可編程只讀存儲器還有e2prom、flash等。
2)用戶程序存儲器
用戶程序存儲器用于存放用戶載入的plc應(yīng)用程序,載入初期的用戶程序因需修改與調(diào)試,所以稱為用戶調(diào)試程序,存放在可以隨機(jī)讀寫操作的隨機(jī)存取存儲器ram內(nèi)以方便用戶修改與調(diào)試。
通過修改與調(diào)試后的程序稱為用戶執(zhí)行程序,由于不需要再作修改與調(diào)試,所以用戶執(zhí)行程序就被固化到eprom內(nèi)長期使用。
3)數(shù)據(jù)存儲器
plc運行過程中需生成或調(diào)用中間結(jié)果數(shù)據(jù)(如輸入/輸出元件的狀態(tài)數(shù)據(jù)、定時器、計數(shù)器的預(yù)置值和當(dāng)前值等)和組態(tài)數(shù)據(jù)(如輸入輸出組態(tài)、設(shè)置輸入濾波、脈沖捕捉、輸出表配置、定義存儲區(qū)保持范圍、模擬電位器設(shè)置、高速計數(shù)器配置、高速脈沖輸出配置、通信組態(tài)等),這類數(shù)據(jù)存放在工作數(shù)據(jù)存儲器中,由于工作數(shù)據(jù)與組態(tài)數(shù)據(jù)不斷變化,且不需要長期保存,所以采用隨機(jī)存取存儲器ram。
ram是一種高密度、低功耗的半導(dǎo)體存儲器,可用鋰電池作為備用電源,一旦斷電就可通過鋰電池供電,保持ram中的內(nèi)容。
3. 接口 輸入輸出接口是plc與工業(yè)現(xiàn)場控制或檢測元件和執(zhí)行元件連接的接口電路。plc的輸入接口有直流輸入、交流輸入、交直流輸入等類型;輸出接口有晶體管輸出、晶閘管輸出和繼電器輸出等類型。晶體管和晶閘管輸出為無觸點輸出型電路,晶體管輸出型用于高頻小功率負(fù)載、晶閘管輸出型用于高頻大功率負(fù)載;繼電器輸出為有觸點輸出型電路,用于低頻負(fù)載。
現(xiàn)場控制或檢測元件輸入給plc各種控制信號,如限位開關(guān)、操作按鈕、選擇開關(guān)以及其他一些傳感器輸出的開關(guān)量或模擬量等,通過輸入接口電路將這些信號轉(zhuǎn)換成cpu能夠接收和處理的信號。輸出接口電路將cpu送出的弱電控制信號轉(zhuǎn)換成現(xiàn)場需要的強(qiáng)電信號輸出,以驅(qū)動電磁閥、接觸器等被控設(shè)備的執(zhí)行元件。
1)輸入接口
輸入接口用于接收和采集兩種類型的輸入信號,一類是由按鈕、轉(zhuǎn)換開關(guān)、行程開關(guān)、繼電器觸頭等開關(guān)量輸入信號;另一類是由電位器、測速發(fā)電機(jī)和各種變換器提供的連續(xù)變化的模擬量輸入信號。
以圖2所示的直流輸入接口電路為例,r1是限流與分壓電阻,r2與c構(gòu)成濾波電路,濾波后的輸入信號經(jīng)光耦合器t與內(nèi)部電路耦合。當(dāng)輸入端的按鈕sb接通時,光耦合器t導(dǎo)通,直流輸入信號被轉(zhuǎn)換成plc能處理的5v標(biāo)準(zhǔn)信號電平(簡稱ttl),同時led輸入指示燈亮,表示信號接通。微電腦輸入接口電路一般由寄存器、選通電路和中斷請求邏輯電路組成,這些電路集成在一個芯片上。交流輸入與交直流輸入接口電路與直流輸入接口電路類似。
圖2 直流輸入接口電路
濾波電路用以消除輸入觸頭的抖動,光電耦合電路可防止現(xiàn)場的強(qiáng)電干擾進(jìn)入plc。由于輸入電信號與plc內(nèi)部電路之間采用光信號耦合,所以兩者在電氣上*隔離,使輸入接口具有抗*力?,F(xiàn)場的輸入信號通過光電耦合后轉(zhuǎn)換為5v的ttl送入輸入數(shù)據(jù)寄存器,再經(jīng)數(shù)據(jù)總線傳送給cpu。
2)輸出接口
輸出接口電路向被控對象的各種執(zhí)行元件輸出控制信號。常用執(zhí)行元件有接觸器、電磁閥、調(diào)節(jié)閥(模擬量)、調(diào)速裝置(模擬量)、指示燈、數(shù)字顯示裝置和報警裝置等。輸出接口電路一般由微電腦輸出接口電路和功率放大電路組成,與輸入接口電路類似,內(nèi)部電路與輸出接口電路之間采用光電耦合器進(jìn)行抗干擾電隔離。
微電腦輸出接口電路一般由輸出數(shù)據(jù)寄存器、選通電路和中斷請求邏輯電路集成在芯片上,cpu通過數(shù)據(jù)總線將輸出信號送到輸出數(shù)據(jù)寄存器中,功率放大電路是為了適應(yīng)工業(yè)控制要求,將微電腦的輸出信號放大。
3)其它接口
若主機(jī)單元的i/o數(shù)量不夠用,可通過i/o擴(kuò)展接口電纜與i/o擴(kuò)展單元(不帶cpu)相接進(jìn)行擴(kuò)充。plc還常配置連接各種外圍設(shè)備的接口,可通過電纜實現(xiàn)串行通信、eprom寫入等功能。
4. 編程器 編程器作用是將用戶編寫的程序下載至plc的用戶程序存儲器,并利用編程器檢查、修改和調(diào)試用戶程序,監(jiān)視用戶程序的執(zhí)行過程,顯示plc狀態(tài)、內(nèi)部器件及系統(tǒng)的參數(shù)等。
編程器有簡易編程器和圖形編程器兩種。簡易編程器體積小,攜帶方便,但只能用語句形式進(jìn)行聯(lián)機(jī)編程,適合小型plc的編程及現(xiàn)場調(diào)試。圖形編程器既可用語句形式編程,又可用梯形圖編程,同時還能進(jìn)行脫機(jī)編程。
目前plc制造廠家大都開發(fā)了計算機(jī)輔助plc編程支持軟件,當(dāng)個人計算機(jī)安裝了plc編程支持軟件后,可用作圖形編程器,進(jìn)行用戶程序的編輯、修改,并通過個人計算機(jī)和plc之間的通信接口實現(xiàn)用戶程序的雙向傳送、監(jiān)控plc運行狀態(tài)等。
5. 電源 plc的電源將外部供給的交流電轉(zhuǎn)換成供cpu、存儲器等所需的直流電,是整個plc的能源供給中心。plc大都采用高質(zhì)量的工作穩(wěn)定性好、抗*力強(qiáng)的開關(guān)穩(wěn)壓電源,許多plc電源還可向外部提供直流24v穩(wěn)壓電源,用于向輸入接口上的接入電氣元件供電,從而簡化外圍配置。
二、plc工作原理 1. plc內(nèi)外部電路 1)外部電路接線
圖3是電動機(jī)全壓起動控制的接觸器電氣控制線路,控制邏輯由交流接觸器km線圈、指示燈hl1、hl2、熱繼電器常閉觸頭fr、停止按鈕sb2、起動按鈕sb1及接觸器常開輔助觸頭km通過導(dǎo)線連接實現(xiàn)。
合上qs后按下起動按鈕sb1,則線圈km通電并自鎖,接通指示燈hl1所在支路的輔助觸頭km及主電路中的主觸頭, hl1亮、電動機(jī)m起動;按下停止按鈕sb2,則線圈km斷電,指示燈hl1滅,m停轉(zhuǎn)。
圖4是采用siemens的一款s7系列plc實現(xiàn)電動機(jī)全壓起動控制的外部接線圖。主電路保持不變,熱繼電器常閉觸頭fr、停止按鈕sb2、起動按鈕 sb1等作為plc的輸入設(shè)備接在plc的輸入接口上,而交流接觸器km線圈、指示燈hl1、hl2等作為plc的輸出設(shè)備接在plc的輸出接口上。按制邏輯通過執(zhí)行按照電動機(jī)全壓控制要求編寫并存入程序存儲器內(nèi)的用戶程序?qū)崿F(xiàn)。
a)主電路 b)控制線路
圖3 電動機(jī)全壓起動電氣控制線路
a)主電路 b)i/o實際接線圖
圖4 電動機(jī)全壓起動plc控制接線圖
2)建立內(nèi)部i/o映像區(qū)
在plc存儲器內(nèi)開辟了i/o映像存儲區(qū),用于存放i/o信號的狀態(tài),分別稱為輸入映像寄存器和輸出映像寄存器,此外plc其它編程元件也有相對應(yīng)的映像存儲器,稱為元件映像寄存器。
i/o映像區(qū)的大小由plc的系統(tǒng)程序確定,對于系統(tǒng)的每一個輸入點總有一個輸入映像區(qū)的某一位與之相對應(yīng),對于系統(tǒng)的每一個輸出點也都有輸出映像區(qū)的某一位與之相對應(yīng),且系統(tǒng)的輸入輸出點的編址號與i/o映像區(qū)的映像寄存器地址號也對應(yīng)。
plc工作時,將采集到的輸入信號狀態(tài)存放在輸入映像區(qū)對應(yīng)的位上,運算結(jié)果存放到輸出映像區(qū)對應(yīng)的位上,plc在執(zhí)行用戶程序時所需描述輸入繼電器的等效觸頭或輸出繼電器的等效觸頭、等效線圈狀態(tài)的數(shù)據(jù)取用于i/o映像區(qū),而不直接與外部設(shè)備發(fā)生關(guān)系。
i/o映像區(qū)的建立使plc工作時只和內(nèi)存有關(guān)地址單元內(nèi)所存的狀態(tài)數(shù)據(jù)發(fā)生關(guān)系,而系統(tǒng)輸出也只是給內(nèi)存某一地址單元設(shè)定一個狀態(tài)數(shù)據(jù)。這樣不僅加快了程序執(zhí)行速度,而且使控制系統(tǒng)與外界隔開,提高了系統(tǒng)的抗*力。
3)內(nèi)部等效電路
圖5是plc的內(nèi)部等效電路,以其中的起動按鈕sb1為例,其接入接口i0.0與輸入映像區(qū)的一個觸發(fā)器i0.0相連接,當(dāng)sb1接通時,觸發(fā)器 i0.0就被觸發(fā)為“1”狀態(tài),而這個“1”狀態(tài)可被用戶程序直接引用為i0.0觸頭的狀態(tài),此時i0.0觸頭與sb1的通斷狀態(tài)相同,則sb1接通,i0.0觸頭狀態(tài)為“1”,反之sb1斷開,i0.0觸頭狀態(tài)為“0”,由于i0.0觸發(fā)器功能與繼電器線圈相同且不用硬連接線,所以i0.0觸發(fā)器等效為plc內(nèi)部的一個i0.0軟繼電器線圈,直接引用i0.0線圈狀態(tài)的i0.0觸頭就等效為一個受i0.0線圈控制的常開觸頭(或稱為動合觸頭)。
圖5 plc內(nèi)部等效電路
同理,停止按鈕sb2與plc內(nèi)部的一個軟繼電器線圈i0.1相連接,sb2閉合,i0.1線圈的狀態(tài)為“1”,反之為“0”,而繼電器線圈i0.1的狀態(tài)被用戶程序取反后引用為i0.1觸頭的狀態(tài),所以i0.1等效為一個受i0.1線圈控制的常閉觸頭(或稱動斷觸頭)。而輸出觸頭q0.0、q0.1則是plc內(nèi)部繼電器的物理常開觸頭,一旦閉合,外部相應(yīng)的km線圈、指示燈hl1就會接通。plc輸出端有輸出電源用的公共接口com。
2. plc控制系統(tǒng) 用plc實現(xiàn)電動機(jī)全壓起動電氣控制系統(tǒng),其主電路基本保持不變,而用plc替代電氣控制線路。
1)plc控制系統(tǒng)構(gòu)成
圖6是電動機(jī)全壓起動的plc控制系統(tǒng)基本構(gòu)成圖,可將之分成輸入電路、內(nèi)部控制電路和輸出電路三個部分。
輸入電路
圖6 plc控制系統(tǒng)基本構(gòu)成框圖
輸入電路的作用是將輸入控制信號送入plc,輸入設(shè)備為按鈕sb1、sb2及fr常閉觸頭。外部輸入的控制信號經(jīng)plc輸入到對應(yīng)的一個輸入繼電器,輸入繼電器可提供任意多個常開觸頭和常閉觸頭,供plc內(nèi)容控制電路編程使用。
輸出電路
輸出電路的作用是將plc的輸出控制信號轉(zhuǎn)換為能夠驅(qū)動km線圈和hl1指示燈的信號。plc內(nèi)部控制電路中有許多輸出繼電器,每個輸出繼電器除了 plc內(nèi)部控制電路提供編程用的常開觸頭和常閉觸頭外,還為輸出電路提供一個常開觸頭與輸出端口相連,該觸頭稱為內(nèi)部硬觸頭,是一個內(nèi)部物理常開觸頭。通過該觸頭驅(qū)動外部的km線圈和hl1指示燈等負(fù)載,而km線圈再通過主電路中km主觸頭去控制電動機(jī)m的起動與停止。驅(qū)動負(fù)載的電源由外電部電源提供,plc的輸出端口中還有輸出電源用的com公共端。
內(nèi)部控制電路
內(nèi)部控制電路由按照被控電動機(jī)實際控制要求編寫的用戶程序形成,其作用是按照用戶程序規(guī)定的邏輯關(guān)系,對輸入、輸出信號的狀態(tài)進(jìn)行計算、處理和判斷,然后得到相應(yīng)的輸出控制信號,通過控制信號驅(qū)動輸出設(shè)備:電動機(jī)m、指示燈hl1等。
用戶程序通過個人計算機(jī)通信或編程器輸入等方式,把程序語句全部寫到plc的用戶程序存儲器中。用戶程序的修改只需通過編程器等設(shè)備改變存儲器中的某些語句,不會改變控制器內(nèi)部接線,實現(xiàn)了控制的靈活性。
2)plc控制梯形圖
梯形圖是一種將plc內(nèi)部等效成由許多內(nèi)部繼電器的線圈、常開觸頭、常閉觸頭或功能程序塊等組成的等效控制線路。圖7是plc梯形圖常用的等效控制元件符號。
a)線圈 b)常開觸頭 c)常閉觸頭
圖7 梯形圖常用等效控制元件符號
圖8是電動機(jī)全壓起動的plc控制梯形圖,由fr常閉觸頭、sb2常閉按鈕、km常開輔助觸頭與sb1常開按鈕的并聯(lián)單元、km線圈等零件對應(yīng)的等效控制元件符號串聯(lián)而成。電動機(jī)全壓起動控制梯形在形式上類似于接觸器電氣控制線路圖,但也與電氣控制線路圖存在許多差異。
圖8 電動機(jī)全壓起動控制梯形圖
梯形圖中繼電器元件物理結(jié)構(gòu)不同于電氣元件
plc梯形圖中的線圈、觸頭只是功能上與電氣元件的線圈、觸頭等效。梯形圖中的線圈、觸頭在物理意義上只是輸入、輸出存儲器中的一個存儲位,與電氣元件的物理結(jié)構(gòu)不同。
梯形圖中繼電器元件的通斷狀態(tài)不同于電氣元件
梯形圖中繼電器元件的通斷狀態(tài)與相應(yīng)存儲位上的保存的數(shù)據(jù)相關(guān),如果該存儲位的數(shù)據(jù)為“1”,則該元件處于“通”狀態(tài),如果該位數(shù)據(jù)為“0”,則表示處于“斷”狀態(tài)。與電氣元件實際的通斷狀態(tài)不同。
梯形圖中繼電器元件狀態(tài)切換過程不同于電氣元件
梯形圖中繼電器元件的狀態(tài)切換只是plc對存儲位的狀態(tài)數(shù)據(jù)的操作,如果plc對常開觸頭等效的存儲位數(shù)據(jù)賦值為“1”,就完成動合操作過程,同樣如對常閉觸頭等效的存儲位數(shù)據(jù)賦值為“0”,就可完成動斷操作過程,切換操作過程沒有時間延時。而電氣元件線圈、觸頭進(jìn)行動合或動斷切換時,必定有時間延時,且一般要經(jīng)過先斷開后閉合的操作過程。
梯形圖中繼電器所屬觸頭數(shù)量與電氣元件不同
如果plc 從輸入繼電器i0.0相應(yīng)的存儲位中取出了位數(shù)據(jù)“0”,將之存入另一個存儲器中的一個存儲位,被存入的存儲位就成了受i0.0繼電器控制的一個常開觸頭,被存入的數(shù)據(jù)為“0”;如在取出位數(shù)據(jù)“0”之后*行取反操作,再存入一個存儲器的一個存儲位,則該位存入的數(shù)據(jù)為“1”,該存儲位就成了受繼電器 i0.0控制的一個常閉觸頭。
只要plc內(nèi)部存儲器足夠多,這種位數(shù)據(jù)轉(zhuǎn)移操作就可無限次進(jìn)行,而每進(jìn)行一次操作,就可產(chǎn)生一個梯形圖中的繼電器觸頭,由此可見,梯形圖中繼電器觸頭原則上可以無限次反復(fù)使用。
但是plc內(nèi)部的線圈通常只能引用一次,如需重復(fù)使用同一地址編號的線圈應(yīng)慎之又慎。與plc不同的是電氣元件中觸頭數(shù)量是有限的。
梯形圖每一行畫法規(guī)則為從左母線開始,經(jīng)過觸頭和線圈(或功能方框),終止于右母線。一般并聯(lián)單元畫在每行的左側(cè)、輸出線圈則畫在右側(cè),其余串聯(lián)元件畫在中間。
3. plc工作過程 plc上電后,在系統(tǒng)程序的監(jiān)控下周而復(fù)始地按一定的順序?qū)ο到y(tǒng)內(nèi)部的各種任務(wù)進(jìn)行查詢、判斷和執(zhí)行等,見圖9所示。
圖9 plc順序循環(huán)過程
1)上電初始化
plc上電后,首先對系統(tǒng)進(jìn)行初始化,包括硬件初始化,i/o模塊配置檢查、停電保持范圍設(shè)定及清除內(nèi)部繼電器、復(fù)位定時器等。
2)cpu自診斷
在每個掃描周期須進(jìn)行自診斷,通過自診斷對電源、plc內(nèi)部電路、用戶程序的語法等進(jìn)行檢查,一旦發(fā)現(xiàn)異常,cpu使異常繼電器接通,plc面板上的異常指示燈led亮,內(nèi)部特殊寄存器中存入出錯代碼并給出故障顯示標(biāo)志。如果不是致命錯誤則進(jìn)入plc的停止(stop)狀態(tài);如果是現(xiàn)致命錯誤時,則 cpu被強(qiáng)制停止,等待錯誤排除后才轉(zhuǎn)入stop狀態(tài)。
3)與外部設(shè)備通信
與外部設(shè)備通信階段,plc與其他智能裝置、編程器、終端設(shè)備、彩色圖形顯示器、其他plc等進(jìn)行信息交換,然后進(jìn)行plc工作狀態(tài)的判斷。
plc有stop和run兩種工作狀態(tài),如果plc處于stop狀態(tài),則不執(zhí)行用戶程序,將通過與編程器等設(shè)備交換信息,完成用戶程序的編輯、修改及調(diào)試任務(wù);如果plc處于run狀態(tài),則將進(jìn)入掃描過程,執(zhí)行用戶程序。
4)掃描過程
以掃描方式把外部輸入信號的狀態(tài)存入輸入映像區(qū),再執(zhí)行用戶程序,并將執(zhí)行結(jié)果輸出存入輸出映像區(qū),直到傳送到外部設(shè)備。
plc上電后周而復(fù)始地執(zhí)行上述工作過程,直至斷電停機(jī)。
4. 用戶程序循環(huán)掃描 plc對用戶程序進(jìn)行循環(huán)掃描分為輸入采樣、程序執(zhí)行和輸出刷新三個階段,見圖10。
圖10 plc用戶程序掃描過程
1)輸入采樣階段
cpu將全部現(xiàn)場輸入信號,如按鈕、限位開關(guān)、速度繼電器的通斷狀態(tài)經(jīng)plc的輸入接口讀入映像寄存器,這一過程稱為輸入采樣。輸入采樣結(jié)束后進(jìn)入程序執(zhí)行階段后,期間即使輸入信號發(fā)生變化,輸入映像寄存器內(nèi)數(shù)據(jù)不再隨之變化,直至一個掃描循環(huán)結(jié)束,下一次輸入采樣時才會更新。這種輸入工作方式稱為集中輸入方式。
2)程序執(zhí)行階段
plc在程序執(zhí)行階段,若不出現(xiàn)中斷或跳轉(zhuǎn)指令,就根據(jù)梯形圖程序從首地址開始按自上而下、從左往右的順序進(jìn)行逐條掃描執(zhí)行,掃描過程中分別從輸入映像寄存器、輸出映像寄存器以及輔助繼電器中將有關(guān)編程元件的狀態(tài)數(shù)據(jù)“0”或“1”讀出,并根據(jù)梯形圖規(guī)定的邏輯關(guān)系執(zhí)行相應(yīng)的運算,運算結(jié)果寫入對應(yīng)的元件映像寄存器中保存。而需向外輸出的信號則存入輸出映像寄存器,并由輸出鎖存器保存。
3)輸出處理階段
cpu將輸出映像寄存器的狀態(tài)經(jīng)輸出鎖存器和plc的輸出接口傳送到外部去驅(qū)動接觸器和指示燈等負(fù)載。這時輸出鎖存器保存的內(nèi)容要等到下一個掃描周期的輸出階段才會被再次刷新。這種輸出工作方式稱為集中輸出方式。
4)plc掃描過程示例
梯形圖將以指令語句表的形式存儲在plc的用戶程序存儲器中。指令語句表是plc的另一種編程語言,由一系列操作指令組成的表描述plc的控制流程,不同的plc指令語句表使用的助記符并不相同。采用siemens s7-300系列plc指令語句表編寫的電動機(jī)全壓起動梯形圖的功能程序如下:
a(
o i0.0 //取i0.0,存入運算堆棧;
o q0.0 //q0.0和堆棧內(nèi)數(shù)據(jù)進(jìn)行或運算,結(jié)果存入堆棧;
?。?br> an i0.1 //i0.1取非后和堆棧內(nèi)數(shù)據(jù)進(jìn)行與運算,結(jié)果存入堆棧;
an i0.2 //i0.2取非后和堆棧內(nèi)數(shù)據(jù)進(jìn)行與運算,結(jié)果存入堆棧;
= q0.0 //將堆棧內(nèi)數(shù)據(jù)送到輸出映像寄存器q0.0;
a q0.0 //取出q0.0數(shù)據(jù)存入堆棧;
= q0.1 //將堆棧內(nèi)數(shù)據(jù)送到輸出映像寄存器q0.1;
mend //主程序結(jié)束。
指令語句表是由若干條語句組成的程序,語句是程序的zui小獨立單元。每個操作功能由一條或幾條語句執(zhí)行。plc語句由操作碼和操作數(shù)兩部分組成。操作碼用助記符表示(如a表示“取”、o表示“或”等),用于說明要執(zhí)行的功能,即告之cpu應(yīng)執(zhí)行何種操作。操作碼主要的功能有邏輯運算中的與、或、非,算術(shù)運算中的加、減、乘、除,時間或條件控制中的計時、計數(shù)、移位等功能。
操作數(shù)一般由標(biāo)識符和參數(shù)組成。標(biāo)識符表示操作數(shù)的類別,例如輸入繼電器、輸出繼電器、定時器、計數(shù)器、數(shù)據(jù)寄存器等;而參數(shù)表示操作數(shù)的地址或一個預(yù)先設(shè)定值。
以電動機(jī)全壓起動plc控制系統(tǒng)為例,在輸入采樣階段,cpu將sb1、sb2和fr的觸頭狀態(tài)讀入相應(yīng)的輸入映像寄存器,外部觸頭閉合時存入寄存器的是二進(jìn)制數(shù)“1”,反之存入“0”。輸入采樣結(jié)束進(jìn)入程序執(zhí)行階段,見圖11。
執(zhí)行第1、2條指令時,從i0.0對應(yīng)的輸入映像寄存器中取出信息“1”或“0”,并存入稱為“堆棧”的操作器中。
執(zhí)行第3條指令時,取出q0.0對應(yīng)的輸出映像寄存器中的信息“1”或“0”,并與堆棧中的內(nèi)容相“或”,結(jié)果再存入堆棧中(電路的并聯(lián)對應(yīng)“或”運算)。
執(zhí)行第4條、第5條指令時,先取出i0.1的狀態(tài)數(shù)據(jù)進(jìn)行非運算,再和堆棧中的數(shù)據(jù)相“與”后存入堆棧,然后取出i0.2的狀態(tài)數(shù)據(jù)進(jìn)行取非運算,再和堆棧中的數(shù)據(jù)相“與”后再次存入堆棧(電路中的串聯(lián)對應(yīng)“與”運算)。
執(zhí)行第6條時,將堆棧中的二進(jìn)制數(shù)據(jù)送入q0.0對應(yīng)的輸出映像寄存器中。
執(zhí)行第7條指令時,取出q0.0輸出映像寄存器中的二進(jìn)制數(shù)據(jù)存入堆棧。
執(zhí)行第8條指令時,取出堆棧中的二進(jìn)制數(shù)據(jù)送入q2.0對應(yīng)的映像寄存器中。
執(zhí)行第9條指令,結(jié)束用戶程序的一次循環(huán)掃描過程,開始下一次掃描過程。
在輸出處理階段,cpu將各輸出映像寄存器中的二進(jìn)制數(shù)傳送給輸出鎖存器。如果q0.0、q0.1對應(yīng)的輸出映像寄存器存放的二進(jìn)制數(shù)為“1”,則外接的km線圈、指示燈hl1通電,反之,將斷電。
圖11 電動機(jī)全壓起動plc控制掃描過程
5)繼電器控制與plc控制的差異
plc程序的工作原理可簡述為由上至下、由左至右、循環(huán)往復(fù)、順序執(zhí)行。與繼電器控制線路的并行控制方式存在差別,見圖12。
圖12a)控制圖中,如果為繼電器控制線路,由于是并行控制方式,首先是線圈q0.0與線圈 q0.1均通電,然后因為常閉觸頭q0.1的斷開,導(dǎo)致線圈q0.0斷電。
如果為梯形圖控制線路,當(dāng)i0.0接通后,線圈q0.0通電,然后是q0.1通電,完成第1次掃描;進(jìn)入第2次掃描后,線圈q0.0因常閉觸頭q0.1斷開而斷電,而q0.1通電。
圖12b)控制圖中,如果為繼電器控制線路,線圈q0.0與線圈q0.1首先均通電,然后q0.1斷電。
如果為梯形圖控制線路,則觸頭i0.0接通,所以線圈q0.1通電,然后進(jìn)行第2行掃描,結(jié)果因為常閉觸頭q0.1斷開,所以線圈q0.0始終不能通電。
圖12 梯形圖與繼電器圖控制觸頭通斷狀態(tài)分析
三、工作任務(wù)
敘述plc各組成部分作用;識讀plc外圍接線圖;掌握plc梯形圖基本繪制規(guī)則。
資訊:整理歸納聽課筆記
決策:確定電氣控制基本環(huán)節(jié)線路作為改換為plc控制后外圍接線的練習(xí)圖
計劃:以電動機(jī)全壓起動為例,制定外圍接線、繪制相應(yīng)plc梯形圖的計劃
實施:課余完成plc外圍接線圖及plc控制梯形圖的繪制
檢查:小組互查 評估:小組評估
a)觸頭通斷無差異 b)觸頭通斷有差異