完美的PLC程序需滿足的設計(jì)要求

一套完整(zhěng)的PLC程序,並不(bú)僅僅是使係統能(néng)夠運行起來這麽簡單,它也需要完整的注釋、精(jīng)良的架構、良好的可擴展性(xìng)、完備的報警保護係統、運行前的模擬係統。
1. 簡單性
2. 可讀性
3. 正確(què)性
4. 可靠(kào)性
5. 易改性
6. 擴展性
7. 完備報警係統(tǒng)
8. 程序模擬
PLC程序設計規範
1、選擇合適的PLC型號及I/O點數,有特(tè)殊功能需求時選擇特殊功能模塊。
2、熟悉所選擇的PLC編程指令及編譯軟件。
3、進行軟元件規(guī)劃,包括內部繼電器、保持繼電器、數(shù)據寄存器、定時器、計數(shù)器等。
4、進行程序規劃,一般以故障提取、故(gù)障處理、手動處理、自動處理(lǐ)、輸出處理這樣的順(shùn)序進行編程。比較大型的工程或設備按功能(néng)單元分段、分塊進行處(chù)理,如一條自動化生產線中有提升機、移行、頂起旋(xuán)轉裝置等,則應按上述單元(yuán)分段(duàn)分塊編程。
5、在分段分塊編寫的程序(xù)前應加上簡短的段注釋,說明此段程序的(de)功能,如有(yǒu)必要可(kě)以注明相應的工藝流(liú)程。分塊或分段(duàn)的程序再總體(tǐ)程序的位置順(shùn)序應基本上按工藝流程順序排列,便於程序的可(kě)讀性。6、在程序設計之前,應對(duì)設備進行(háng)抽象,對(duì)如停止、急停、過載、超限、超時、安全(quán)光幕、碰停、門開關(guān)等共用因子進行(háng)提(tí)取,放在啟動回路(lù)或啟動主(zhǔ)控、連鎖回路,作為整個程序結構的大前提,在此基礎(chǔ)下,再將程序分為自(zì)動、手動兩(liǎng)大功能區。
7、將程(chéng)序結構手動功能區共用因子,如(rú)手動、危及設備人身安全等因數因子進行提取,放在手動主控、連鎖回路,對手動控製(zhì)進行保護(hù)、屏蔽、報警。
8、將程序結構(gòu)自動功能區共用因子,如自動、超限、超(chāo)時等因數因子進行提取,放在自動主(zhǔ)控、連鎖回路,對自(zì)動控製下設(shè)備進行保護、屏(píng)蔽、報警。一個(gè)總的原則就(jiù)是,在確保安全的(de)前提下,嚴格限製設備的進,寬鬆限製設備(bèi)的出。
9、程序設計時(shí)應設計程(chéng)序總複位功能,便(biàn)於使用者在設備出現故障情況下,可以方(fāng)便盡快恢複設備正常工作。總複位應充分考慮在複位過程中設備和人員的安全。
10、自動模式切換到手動模式時(shí),程序應清除自動模式下的輸出和中間狀態。特別是在自動模式使用(yòng)SET指令時,必須(xū)在(zài)手動(dòng)模式用RESET指令予以清除。
11、嚴禁在編製程序中使(shǐ)用雙輸出,即同一條(tiáo)輸出語句或同一個輸出線圈在程序中(zhōng)出現2次及以上。在不同模(mó)式條件下的對同(tóng)一輸出點的輸出使用(yòng)中間繼電器進行(háng)中轉,最後集中到一起並列到輸出(chū)點。
12、使用觸摸屏時,對觸摸屏和PLC公用的控製區和狀態區,不得做其他功能方麵的編程使用。
13、對PLC的特殊模塊,在使用之前,應先查(chá)明其控製區和狀(zhuàng)態區是否占用工作(zuò)字,若占用,不得將這些工作(zuò)字做其他(tā)方麵的編程。
14、PLC的輸入、輸出、中間繼(jì)電器、定時器、計數器(qì)、數據寄(jì)存器等都要(yào)加中文注釋。輸入、輸出(chū)還要有元器件名稱位號。對應的輸入點,一(yī)般情況下(xià)默認為外(wài)圍開關連接的是NO觸點,對於需要接NC觸點的須在注釋中標明。所有注釋應當清晰明了,不易產生(shēng)誤(wù)解,盡量少使用泛指。
15、工程調試完成後,係統必須保留最(zuì)終軟件程序,保存的文件(jiàn)名應包含項目編號(hào)/作者/日期信息/版本號(hào)等。
16、關於程序加密:對於加密程序的密碼必須有專(zhuān)門的文件予以保存,並注明相應的用戶名+密(mì)碼+權(quán)限,分發給至少兩個人(rén)以(yǐ)上了解密碼,防止密碼丟失帶來無法打開(kāi)程序的情況。編程建議
1、PLC和上位機(或(huò)觸摸屏)組成監控係統時,在畫麵上很多時候需要有“手(shǒu)動”、“自動”等控製模式(shì)(一般都是多個隻能一個(gè)時)。在程序裏麵可以用“MOV”指令。如:當(dāng)選擇“手動”就(jiù)將常數1 MOV到一個寄存器VB10裏麵,當(dāng)選擇“自動(dòng)”就將2 MOV到同一寄存器VB10。隻要(yào)判斷寄(jì)存器的(de)數據是多(duō)少,就(jiù)知道係統是那種(zhǒng)控製(zhì)方式。這樣的思(sī)路(lù)好(hǎo)處是容易理解,不需要互鎖之類的麻煩程序。
2、程序有模擬量控製時(shí),如果讀取的模擬量基本上沒誤差,可以(yǐ)采取時間(jiān)濾(lǜ)波的方式,延(yán)時一段時間。如果讀(dú)取的數據誤差很(hěn)大(dà),就需要采取其它(tā)的濾波方式,如(rú)算(suàn)平均值等。可以查閱相關的資料。
3、在程序調試過程中(特別是設備改造時,你(nǐ)的程(chéng)序是加入到原來設備的程序中時),當程序語句中出現條件滿足,而輸出線圈不接通時,可以檢查你的這段程序是否(fǒu)是在這樣的語句之間,如JUMP\go to\等語句。還有(yǒu)一種(zhǒng)可能就是在(zài)中斷程(chéng)序之後,條件滿足而沒輸出不接通,一般都是這段的程序不被掃描。
4、在順序控製程序時,即一個動作完成後,進入到下一個動作,等類似(sì)的順(shùn)序控製,采用+10+10控製模式,本人覺得很方(fāng)便。其思路(lù)是:預置一(yī)個寄存器,在初始化(huà)時值為0,當係統啟動後,對(duì)它+10,此時寄(jì)存器為10,寄存器等於10時可以做第一個動作;第一個動作完成後(hòu),再對寄存器(qì)+10,此時寄存器等於20,可以做(zuò)第二個動作,第二個動作完成後又+10,此時寄存器(qì)等於30,這(zhè)樣隻要判斷寄(jì)存器裏麵數據為多少,就(jiù)知道要完成(chéng)那個動作。當需要跳躍動作時,可以不再+10,可以加+20\+30....,看實際的需要而定。為什麽加10而不是加1,因為加10之後,如果插(chā)入一段(duàn),隻要在這10個空餘的地方隨便選擇(zé)一個位置就可以了。
5、在設計程序(xù)的時候,當出現工藝上的故障(非控製係統控製),最(zuì)好將故障現象保持,並有燈光聲音報警。直到操(cāo)作工複(fù)位(wèi),以讓其知道係統出現了故障。不然停(tíng)機了,別人還認為你的程序問題。一般都是在設計一個新係統(tǒng)時,要注意到這些。
6、對於經常調用的(de)子(zǐ)程序,可以做(zuò)成子模塊,頻(pín)繁調用。
7、由於生產機械在工作循環中的各工步運動在執行時需要一定的時間,且這些時間都有一定的限度,因此可以以這些時(shí)間為參考(kǎo),在要檢測的工步動作開始的同時,起動一個定時器,定時器的時間設定值比正(zhèng)常情況下該動作要持續的時間長20%~30%,而定時器的輸(shū)出信號可以用於報警或(huò)自動停(tíng)機裝置。當生產機械某工步動作的(de)時間超(chāo)過規定(dìng)時間,達到對(duì)應的定時器預置時間,還未轉入下一工步動作時定時器發出故障信號,該信號停止正常工作循環程(chéng)序,起動報警或停機程序(xù),這就是我們常說的超節拍保護。
8、一些安全用檢測開關(如急停按鈕、安全光幕、極限開(kāi)關等)實用常閉(bì)(NC)輸入。
9、為安全、節能考慮,盡量將輸出設計成需要動作(zuò)時才動(dòng)作,一旦到位就停止輸出,而不要設計成平時一直輸出,需要停止時才讓輸出斷開。
10、執行元件的動作原則應當(dāng)是寧可不動,也不要亂動!
11、單台設備控製:單台設備必須(xū)有軟手操/自動切換以及軟手操時可以啟/停功能,由自動切換到軟手操時,設(shè)備不能停機;由軟手操切換到自動時,設備啟/停取決於自動程序。
12、單台設備(泵、風機(jī)及其它大型設備)運行滿24小時