西門子808系統(tǒng)按鍵不動維修
西門子PLC的編程語言與一般計(jì)算機(jī)語言相比,具有明顯的特點(diǎn),它既不同于高級語言,也不同于一般的匯編語言,它既要滿足易于編寫,又要滿足易于調(diào)試的要求。目前,還沒有一種對各廠家產(chǎn)品都能兼容的編程語言。如三菱公司的產(chǎn)品有它自己的編程語言,歐姆龍公司的產(chǎn)品也有它自己的語言。但不管什么型號的PLC,其編程語言都具有以下特點(diǎn):
(1)圖形式指令結(jié)構(gòu)
程序由圖形方式表達(dá),指令由不同的圖形符號組成,易于理解和記憶。系統(tǒng)的軟件*已把工業(yè)控制中所需的獨(dú)立運(yùn)算功能編制成象征性圖形,用戶根據(jù)自己的需要把這些圖形進(jìn)行組合,并填入適當(dāng)?shù)膮?shù)。在邏輯運(yùn)算部分,幾乎所有的廠家都采用類似于繼電器控制電路的梯形圖,很容易接受。如西門子公司還采用控制系統(tǒng)流程圖來表示,它沿用二進(jìn)制邏輯元件圖形符號來表達(dá)控制關(guān)系,很直觀易懂。較復(fù)雜的算術(shù)運(yùn)算、定時計(jì)數(shù)等,一般也參照梯形圖或邏輯元件圖給予表示,雖然象征性不如邏輯運(yùn)算部分,也很受用戶歡迎。
(2)明確的變量常數(shù)
圖形符相當(dāng)于操作碼,規(guī)定了運(yùn)算功能,操作數(shù)由用戶填入,如K400、T120等。PLC中的變量和常數(shù)以及其取值范圍有明確規(guī)定,由產(chǎn)品型號決定,可查閱產(chǎn)品目錄手冊。
(3)簡化的程序結(jié)構(gòu)
PLC的程序結(jié)構(gòu)通常很簡單,典型的為塊式結(jié)構(gòu),不同塊完成不同的功能,使程序的調(diào)試者對整個程序的控制功能和控制順序有清晰的概念。
(4)簡化應(yīng)用軟件生成過程
使用匯編語言和高級語言編寫程序,完成編輯、編譯和鏈接三個過程,而使用編程語言,只需要編輯一個過程,其余由系統(tǒng)軟件自動完成,整個編輯過程都在人機(jī)對話下進(jìn)行,不要求用戶有高深的軟件設(shè)計(jì)能力。
(5)強(qiáng)化調(diào)試手段
無論是匯編程序,還是高級語言程序調(diào)試,都是令編輯人員頭疼的事,而PLC的程序調(diào)試提供了完備的條件,使用編程器,利用PLC和編程器上的按鍵、顯示和內(nèi)部編輯、調(diào)試、監(jiān)控等,并在軟件支持下,診斷和調(diào)試操作都很簡單。
總之,PLC的編程語言是面向用戶的,對使用者不要求具備高深的知識、不需要長時間的專門訓(xùn)練。

在編制梯形圖程序時,必須注意遵守以下基本原則,從而保證梯形圖程序編寫得簡潔、合理。
·PLC編程元件觸點(diǎn)的使用次數(shù)無限制,只要不超出PLC的存儲容量,可用于串聯(lián)或并聯(lián)的條件數(shù)量是沒有限制的。因此,在表達(dá)清楚梯形圖的關(guān)系時盡可能多使用條件。
·PLC梯形圖的每一邏輯行都是從左母線開始,終止于線圈。線圈右邊不能有觸點(diǎn),線圈也不能直接聯(lián)在左母線上。
·在一個程序中,不允許同一編號的線圈使用兩次,以免引起誤操作。不同編號的線圈可并聯(lián)輸出,不能串聯(lián)輸出;同一段程序內(nèi),同一TR編號、定時器編號和計(jì)數(shù)器編號不能重復(fù)使用。
·編制梯形圖時,應(yīng)盡量做到“左重右輕、上重下輕”,使其符合“從左到右,自上到下”的執(zhí)行程序的順序,并易于編寫助記符程序表。
·OUT與OUT NOT指令不能驅(qū)動輸入繼電器線圈;OR LD指令、AND LD指令無操作數(shù);串聯(lián)兩個并聯(lián)觸點(diǎn)組時,支路起點(diǎn)用LD、LD NOT指令,而支路終點(diǎn)用AND LD指令。
·當(dāng)計(jì)數(shù)器的計(jì)數(shù)輸入(CP)信號與復(fù)位輸入(R)信號同時來到時,復(fù)位輸入優(yōu)先。
·外部輸入設(shè)備作為常閉觸點(diǎn)處理。
·每個程序后一條指令必須是END指令,否則程序不能執(zhí)行。
在編制程序時,用組合條件直接產(chǎn)生一個執(zhí)行條件是比較困難的。這時可以通過使用某些位間接觸發(fā)指令來解決,即通過使用內(nèi)部繼電器(工作位)來實(shí)現(xiàn)。工作位不能從PLC傳送,也不能傳送到PLC,但可以通過選擇這些工作位并對其編程來實(shí)現(xiàn)。除了作為I/O位分配了的和一些位不能做工作位外,IR區(qū)不作為I/O位分配的所有位以及AR區(qū)某些未用過的位都可以用做工作位。編寫程序時應(yīng)記錄下使用了的工作位的情況,這不但有助于程序的編寫,并且對調(diào)試操作數(shù)也是非常有用的。
工作位常和OUT PUT、OUTPUT NOT、DIFU、DIFD和KEEP指令一起使用,并作為其中一個指令的操作數(shù),然后作用在某一指令行上,作為其他指令執(zhí)行的一個執(zhí)行條件。工作位也能和其他指令一起使用,例如和移位寄存器指令( SFT (10))。工作位的使用數(shù)量不受限制,在編制任何一個控制動作時,都可以考慮使用工作位來簡化程序。下面的兩個例子將給出工作位兩種較常見的使用方法。

【例1】 如圖6-34a所示的梯形圖,試?yán)霉ぷ魑粊砗喕鋱?zhí)行條件。
分析:當(dāng)一定條件的組合邏輯塊重復(fù)應(yīng)用在其他條件的組合中時,可使用工作位來簡化編程。在本梯形圖中,IR 00000、IR 00001、IR 00002和IR 00003組合在一個邏輯塊中,這個邏輯塊能將產(chǎn)生的執(zhí)行條件作為IR 21600的狀態(tài)保存起來。IR 21600接著結(jié)合了其他不同的條件來決定IR 20000、IR 20001和IR 20002的輸出條件,也就是說利用工作位IR 21600簡化了IR 20000、IR 20001和IR 20002的執(zhí)行條件,其對應(yīng)指令助記符程序如圖6-34b所示。
【例2】 如圖6-35a所示梯形圖,試?yán)梦⒎謼l件指令簡化執(zhí)行條件。
分析:如果執(zhí)行一條指令所需要的某些條件必須要作微分處理的話,就可使用工作位。在本例所示的梯形圖中,要求只要IR 00001為“ON”且IR 00002和IR 00003都為“OFF”,或者只要IR 00004為“ON”且IR 00005為“OFF”時,IR 20000必須持續(xù)置“ON”,并且在每次IR 00000置“ON”時,僅在一個周期內(nèi)置“ON”。要實(shí)現(xiàn)上述控制目的,利用工作位作為上升沿微分指令( DIFU(13))的操作碼,通過對工作位IR 22500簡單編程就可以實(shí)現(xiàn)。當(dāng)IR 00000置“ON”時,IR 22500將在一周期內(nèi)變?yōu)?ldquo;ON”,接著在下一周期內(nèi)就通過DIFU( 13)置為“OFF”。假定控制IR 20000的其他條件沒有使IR 20000保持“ON”,則工作位IR 22500僅在一個周期內(nèi)使IR 20000置“ON”。
盡管保持功能可用來產(chǎn)生自保持位,但為了能在程序的互鎖部分里使操作位變?yōu)?ldquo;OFF”,必須用另外的方式產(chǎn)生一個自保持位。
為了達(dá)到自鎖的目的,輸出指令的操作數(shù)位應(yīng)同時作為該輸出指令的一個或運(yùn)算條件,這樣輸出指令的操作數(shù)位可持續(xù)為“ON”或“OFF”,直到其他條件發(fā)生變化為止。應(yīng)該保證至少有一個其他條件在輸出指令前起到復(fù)位功能,否則就無法控制輸出指令的操作數(shù)位。
圖6-32a的梯形圖改成圖6-33a所示形式。當(dāng)互鎖指令的執(zhí)行條件為“ON”時,這兩種梯形圖的不同之處在于它們的互鎖程序部分的操作數(shù)。這里,正如使用保持指令的梯形圖一樣,使用了2個復(fù)位,也就是說,當(dāng)IR 00004和IR 00005中任何一個為“ON”時,HR 0000將被置“OFF”,對應(yīng)指令助記符程序。
保持指令( KEEP)用來保持基于兩個執(zhí)行條件的操作位的狀態(tài)。將保持指令( KEEP)連接到兩條指令線上,當(dāng)*個指令行末端的執(zhí)行條件為“ON”時,保持指令的操作位置“ON”;當(dāng)?shù)诙€指令行末端的執(zhí)行條件為“ON”時,保持指令的操作位置“OFF”。即使操作位在程序的內(nèi)部連鎖部分,保持指令的操作位也將保存它的“ON”或“OFF”狀態(tài)。
在圖6-32a所示梯形圖中,當(dāng)IR 00002為“ON”且IR 00003為“OFF”時,HR 0000將會置“ON”,并一直保持到IR 00004或者IR 00005置“ON”而使HR 0000復(fù)位為“OFF”為止。而在此期間,無論IR 00002和IR 00003如何變化,HR 0000始終置“ON”。
上升沿微分( DIFU)和下降沿微分(DIFD)指令用來讓操作位在一個周期時間內(nèi)置“ON”。在執(zhí)行條件由“OFF”變?yōu)?ldquo;ON”之后,上升沿微分指令(DIFU)使一個周期的操作位置“ON”;在執(zhí)行條件由“ON”變?yōu)?ldquo;OFF”之后,下降沿微分指令(DIFD)使一個周期的操作位置“ON”。這兩種指令都只需要一行助記符,如圖6-31a、圖6-31b所示。

圖6-31 上升沿微分和下降沿微分指令
圖6-31所示的梯形圖,在IR 00000變?yōu)?ldquo;ON”后,IR 20001在一個周期內(nèi)將置“ON”。當(dāng)再次執(zhí)行DIFU (13)20001時,不管IR 00000的狀態(tài)如何,IR 20001將為“OFF”。用下降沿微分指令,在IR 0001變?yōu)?ldquo;OFF”后(IR 20002保持“OFF”直至此時),IR 20002將在一個周期內(nèi)置“ON”,并且將在下一次執(zhí)DIFD(14) 20002后置“OFF”。

西門子808系統(tǒng)按鍵不動維修