CNC On-machine Measurement Quality Service Provider
完美的PLC程序需滿足的設計要求

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