首頁>Club>
10
回覆列表
  • 1 # 郭如彬

    完美的PLC程式需滿足的設計要求一套完整的PLC程式,並不僅僅是使系統能夠執行起來這麼簡單,它也需要完整的註釋、精良的架構、良好的可擴充套件性、完備的報警保護系統、執行前的模擬系統。 簡單性 使PLC程式儘可能簡單。簡單的含義就是儘可能的使用標準化的程式框架,儘可能使用簡單的指令。 要想程式簡單,從大的方面講,要最佳化程式結構,用流程控制指令簡化程式,從小的方面講還要用功能強的指令取代功能單一的指令,以及注意指令的安排順序等。 可讀性 要求所設計的程式可讀性要好。這不僅便於程式設計者加深對程式的理解,便於除錯,而且,還要便於別人讀懂你的程式,便於使用者維護。必要時,也可使程式推廣。 要使程式可讀性好,所設計的程式就要儘可能清晰。要注意層次,實現模組化,以至於用面向物件的方法進行設計。要多用一些標準的設計。 如遇特殊情況下采用語言程式設計,多數情況下請使用梯形圖程式設計,方便閱讀。 再就是I/O分配要有規律性,便於記憶與理解。必要時,還要做一些註釋工作。內部器件的使用也要講規律性,不要隨便地拿來就用。 可讀性在程式設計開始時就要注意。這不易完全做到。因為在程式除錯的過程中,指令的增減,內部器件的使用變化,可能使原較清晰的程式,變的有些亂。所以在設計時就對除錯增減留有一定的餘地,然後除錯完畢後再做一下整理,這樣所設計的程式具有更高的質量。 程式的註釋,起碼應該有以下幾個方面: A、系統註釋:整套程式的版權公司和此套程式用途 B、程式塊註釋:此程式塊的主要用途和作者 C、段註釋:此段程式碼的用途 D、變數註釋:重要性無需多言,包含I/O註釋、中間變數註釋 而至於保密性的考慮,我覺得應該在程式的加密演算法或者塊的加密上考慮,而不應該用減少註釋這種小聰明來實現。 正確性 PLC的程式一定要正確,並要經過實際工作驗證,證明其能夠正確工作。這是對PLC程式的最根本的要求,若這一點做不到,其它的再好也沒有用。 要使程式正確,一定要準確的使用指令,正確的使用內部器件。準確的使用指令與準確理解指令相聯絡,為此對指令含義和使用條件一定要弄清楚。必要時,可編些小程式對一些不清楚的指令作些測試。 同一指令,由於PLC的出廠批次不同或是PLC的系列型號的不同,一些指令細節有可能不一樣,應仔細查閱程式設計手冊。 內部器件正確使用也是重要的。如有的PLC有掉電保護,有的PLC沒有。一定要做到該掉電保護的一定要用掉電保護的器件,反之則不能用。 總之,要準確的使用指令,正確使用內部器件,使所編的程式能正確要作,這是對PLC程式最根本的要求。 可靠性 程式不僅要正確,還要可靠。可靠反映著PLC程式的穩定性,這也是對PLC程式的基本要求。 有的PLC程式,在正常的工作條件下或合法操作時能正確工作,而出現非正常工作條件(如臨時停電,又很快再通電)或進行非法操作(如一些按鈕不按順序按,或同時按若干按鈕)後,程式就不能正常工作了。這種程式,就不大可靠,或說不穩定,就是不好的程式。 好的PLC程式對非正常工作條件出現,能予以識別,並能使其與正常條件銜接,可使程式適應於多種情況。好的PLC程式對非法操作能予以拒絕,且不留下“痕跡”。只接受合法操作。 聯鎖是拒絕非法操作常用的手段,繼電電路常用這個方法,PLC也可繼承這個方法。 易改性 要使程式易改,也就是要便於修改。 PLC的特點之一就是方便,可靈活地適用於各種情況。其辦法就是靠修改或重新設計程式。 重新設計程式用於改變PLC工藝的用途要求的情況,不僅程式重編,而且I/O也要重新分配。多數情況下不需要重程式設計序,作一些修改就可以了。這就要求程式具有易性,便於修改。 易改也就是彈性,要求只要作很少的改動,即可達到改變引數或理改動作的目的。 擴充套件性 許多程式可能在進現場之前都已經編好,但是到了現場,可能還需要新增另外的程式,為了避免打亂整套系統的結構,需要在每個功能區預留一定的空間作為備用。 硬體上留出足夠的餘量,軟體在編寫的時候把手動,自動,半自動考慮好,位置留出來。 完備報警系統 PLC系統往往用於工業環境中,每一次的事故都會造成或大或小的損失,為了做到事故預處理或者在事故中將損失降到最小,必須重視PLC的報警和保護,在此將其摘出來作為系統的一個重要組成部分。 程式模擬 為了保證現場的除錯進度或者給客戶展示,往往在進現場之前,要對自己的程式進行全自動的模擬。為此需要在程式中加入模擬程式部分,模擬程式部分在正常現場執行之後斷開。為了使程式具備模擬功能,需要做以下工作: (1)將實際的PLC的I/O點轉換為PLC的中間變數或者資料塊變數; (2)根據工藝要求編寫各個裝置的模擬程式。 在設計PLC程式的過程中,能夠滿足以上幾個方面的要求的就能稱的上是一個好程式了。 PLC程式設計規範 1、選擇合適的PLC型號及I/O點數,有特殊功能需求時選擇特殊功能模組。 2、熟悉所選擇的PLC程式設計指令及編譯軟體。 3、進行軟元件規劃,包括內部繼電器、保持繼電器、資料暫存器、定時器、計數器等。 4、進行程式規劃,一般以故障提取、故障處理、手動處理、自動處理、輸出處理這樣的順序進行程式設計。比較大型的工程或裝置按功能單元分段、分塊進行處理,如一條自動化生產線中有提升機、移行、頂起旋轉裝置等,則應按上述單元分段分塊程式設計。 5、在分段分塊編寫的程式前應加上簡短的段註釋,說明此段程式的功能,如有必要可以註明相應的工藝流程。分塊或分段的程式再總體程式的位置順序應基本上按工藝流程順序排列,便於程式的可讀性。 6、在程式設計之前,應對裝置進行抽象,對如停止、急停、過載、超限、超時、安全光幕、碰停、門開關等共用因子進行提取,放在啟動迴路或啟動主控、連鎖迴路,作為整個程式結構的大前提,在此基礎下,再將程式分為自動、手動兩大功能區。 7、將程式結構手動功能區共用因子,如手動、危及裝置人身安全等因數因子進行提取,放在手動主控、連鎖迴路,對手動控制進行保護、遮蔽、報警。 8、將程式結構自動功能區共用因子,如自動、超限、超時等因數因子進行提取,放在自動主控、連鎖迴路,對自動控制下裝置進行保護、遮蔽、報警。一個總的原則就是,在確保安全的前提下,嚴格限制裝置的進,寬鬆限制裝置的出。 9、程式設計時應設計程式總復位功能,便於使用者在裝置出現故障情況下,可以方便儘快恢復裝置正常工作。總復位應充分考慮在復位過程中裝置和人員的安全。 10、自動模式切換到手動模式時,程式應清除自動模式下的輸出和中間狀態。特別是在自動模式使用SET指令時,必須在手動模式用RESET指令予以清除。 11、嚴禁在編制程式中使用雙輸出,即同一條輸出語句或同一個輸出線圈在程式中出現2次及以上。在不同模式條件下的對同一輸出點的輸出使用中間繼電器進行中轉,最後集中到一起並列到輸出點。 12、使用觸控式螢幕時,對觸控式螢幕和PLC公用的控制區和狀態區,不得做其他功能方面的程式設計使用。 13、對PLC的特殊模組,在使用之前,應先查明其控制區和狀態區是否佔用工作字,若佔用,不得將這些工作字做其他方面的程式設計。 14、PLC的輸入、輸出、中間繼電器、定時器、計數器、資料暫存器等都要加中文註釋。輸入、輸出還要有元器件名稱位號。對應的輸入點,一般情況下預設為外圍開關連線的是NO觸點,對於需要接NC觸點的須在註釋中標明。所有註釋應當清晰明瞭,不易產生誤解,儘量少使用泛指。 15、工程除錯完成後,系統必須保留最終軟體程式,儲存的檔名應包含專案編號/作者/日期資訊/版本號等。 16、關於程式加密:對於加密程式的密碼必須有專門的檔案予以儲存,並註明相應的使用者名稱+密碼+許可權,分發給至少兩個人以上了解密碼,防止密碼丟失帶來無法開啟程式的情況。 程式設計建議 1、PLC和上位機(或觸控式螢幕)組成監控系統時,在畫面上很多時候需要有“手動”、“自動”等控制模式(一般都是多個只能一個時)。在程式裡面可以用“MOV”指令。如:當選擇“手動”就將常數1 MOV到一個暫存器VB10裡面,當選擇“自動”就將2 MOV到同一暫存器VB10。只要判斷暫存器的資料是多少,就知道系統是那種控制方式。這樣的思路好處是容易理解,不需要互鎖之類的麻煩程式。 2、程式有模擬量控制時,如果讀取的模擬量基本上沒誤差,可以採取時間濾波的方式,延時一段時間。如果讀取的資料誤差很大,就需要採取其它的濾波方式,如算平均值等。可以查閱相關的資料。 3、在程式除錯過程中(特別是裝置改造時,你的程式是加入到原來裝置的程式中時),當程式語句中出現條件滿足,而輸出線圈不接通時,可以檢查你的這段程式是否是在這樣的語句之間,如JUMPgo to等語句。還有一種可能就是在中斷程式之後,條件滿足而沒輸出不接通,一般都是這段的程式不被掃描。 4、在順序控制程式時,即一個動作完成後,進入到下一個動作,等類似的順序控制,採用+10+10控制模式,本人覺得很方便。其思路是:預置一個暫存器,在初始化時值為0,當系統啟動後,對它+10,此時暫存器為10,暫存器等於10時可以做第一個動作;第一個動作完成後,再對暫存器+10,此時暫存器等於20,可以做第二個動作,第二個動作完成後又+10,此時暫存器等於30,這樣只要判斷暫存器裡面資料為多少,就知道要完成那個動作。當需要跳躍動作時,可以不再+10,可以加+20+30....,看實際的需要而定。 為什麼加10而不是加1,因為加10之後,如果插入一段,只要在這10個空餘的地方隨便選擇一個位置就可以了。 5、在設計程式的時候,當出現工藝上的故障(非控制系統控制),最好將故障現象保持,並有燈光聲音報警。直到操作工復位,以讓其知道系統出現了故障。不然停機了,別人還認為你的程式問題。一般都是在設計一個新系統時,要注意到這些。 6、對於經常呼叫的子程式,可以做成子模組,頻繁呼叫。 7、由於生產機械在工作迴圈中的各工步運動在執行時需要一定的時間,且這些時間都有一定的限度,因此可以以這些時間為參考,在要檢測的工步動作開始的同時,起動一個定時器,定時器的時間設定值比正常情況下該動作要持續的時間長20%~30%,而定時器的輸出訊號可以用於報警或自動停機裝置。當生產機械某工步動作的時間超過規定時間,達到對應的定時器預置時間,還未轉入下一工步動作時定時器發出故障訊號,該訊號停止正常工作迴圈程式,起動報警或停機程式,這就是我們常說的超節拍保護。 8、一些安全用檢測開關(如急停按鈕、安全光幕、極限開關等)實用常閉(NC)輸入。 9、為安全、節能考慮,儘量將輸出設計成需要動作時才動作,一旦到位就停止輸出,而不要設計成平時一直輸出,需要停止時才讓輸出斷開。 10、執行元件的動作原則應當是寧可不動,也不要亂動! 11、單臺裝置控制:單臺裝置必須有軟手操/自動切換以及軟手操時可以啟/停功能,由自動切換到軟手操時,裝置不能停機;由軟手操切換到自動時,裝置啟/停取決於自動程式。 12、單臺裝置(泵、風機及其它大型裝置)執行滿24小時必須進行輪換,且必須有執行時間累計,如果由上位機設定啟/停順序除外,操作人員自行設定。

  • 中秋節和大豐收的關聯?
  • 羊肉湯應該怎樣做?