PAC程序?這份作業建議你抄一下

如何編寫優質的PLC/PAC程序?首先來看看我們收集到從業者是怎麼說的:

A:編程這個東西只可意味,不可言傳。總體感覺開始偏向計算機語言編程的風格,有異曲同工之妙。從標準化到模塊化,再到面對對象,編程風格不斷變化。是因為控制複雜程度不斷提前,項目越來越大,越需要清晰的思路。


B:自動化控制要求從業人員,豐富的理論知識和實際維修經驗。編程思維縝密是從日積月累中來,要多學人家的經驗結合自己的實際情況,勤學苦練。要有鍥而不捨的精神!向老師學習,希望多寫更多好文章,讓我們學到更多懂得更多。


C:plc編程不僅僅需要對工藝流程很瞭解,還需要很清晰的邏輯思維和結構思維,我很認同通用程序用標準化的編程語言,核心功能用特殊指令或封裝成功能塊,做到簡潔明瞭又有一定的保密性


D:寫程序就應該有足夠的詞彙積累,能用指令處理就不要用技巧處理


E:我經常就是先把這套設備得控制流程瞭解清楚,再根據客戶需要的功能分步驟編寫,手動,自動分開編寫,自動相同的部分做在子程序裡可以重複調用。調試有問題的時候找到對應動作的區域修改就行,不影響整個程序的其他動作。


F: plc編程不僅要對工藝流程、工藝要求有充份的瞭解,還要進行程序標準化;可編程控制器(PLC)技術廣泛應用於各種工業控制領域,它具有流程控制、數據採集、設備控制與輸出、工程報表、數據與曲線等輸出強大功能.這些標準功能使用能做到標準化程序並封裝成各功能塊,這樣就便於程序調用和調試,程序BUG會更少。


……

針對這個話題,我們邀請大神鄧李老師來給大家談談他的總結。鄧李老師是工業自動化專業,從事專業課教學十二年;後進入羅克韋爾自動化,任培訓師和現場服務工程師十八年。具有豐富教學經驗和現場工作經驗,已出版專業書籍三本(《PAC編程基本教程》、《集成架構中型系統》、《ControlLogix系統實用手冊》),在行業內頗有影響。滿滿都是乾貨,希望對大家有用。

如何編寫優質的PLC/PAC程序?這份作業建議你抄一下

毫無疑問,每一個編程的項目開發人員,都希望自己編出的是好程序,什麼是好的程序?盡情地施展聰明才智,別出心裁,標新立異、奇思妙想、獨樹一幟、與眾不同就是好的程序嗎?我恐怕不能苟同。我認為好的程序應該具備如下幾點:

嚴密性

邏輯嚴謹,執行準確,絕無疏漏,這點應該是共識,這個嚴密不僅有控制進程的嚴密,還有例程調用的嚴密,指令執行的嚴密。嚴密性跟編程之前的規劃也是有關的,緊扣生產過程進程,分析控制對象的動作,仔細地規劃項目的程序結構,安排執行的順序,這都是保證嚴密的基礎。

正確性

勿庸置疑的是控制邏輯處理的正確,針對控制對象的邏輯關係選對指令。正確地使用指令是非常重要的,什麼情況該用什麼指令,正確理解指令執行的過程和正確設置參數,給予輸出指令的梯級條件是否正確,預掃描和後掃描的影響如何,這些都是需要考慮的,儘量避免指令或例程的陷阱。

對稱性

現場很多控制對象的活動具有對稱性,尤其是一些具有互鎖關係的動作,對應編寫的邏輯處理也應具有對稱性,例如幾個互鎖關係的同類控制動作,除了梯級條件和數據狀態不同,梯級的邏輯結構應該是一樣的,尤其是規律性的交替執行。對稱動作採用不對稱的邏輯執行,本身的嚴密性就值得懷疑,對稱也是判斷編程嚴密性的一個準則。

規律性

控制過程的動作大都具有規律,基於分析控制過程的功能方框圖,在編寫的例程中要表現出這種規律,哪些是常規的主流執行動作,哪些是重複執行動作,哪些是條件式的調用動作,哪些是設備之間的約束關係,以及生產進程的顯示,都要有脈絡清晰明瞭的體現。

可讀性

程序是寫給別人看的,別人很容易讀明白,自己以後也能很快讀明白,當時的得意之作,不要過一陣連自己也讀不懂了。思路要清晰,表達要清楚,這點可以參照寫文章的心得,有中心、有層次、有重點、有排比、有修飾,規律和對稱的編程自然是可讀性強的。當然,每個梯級邏輯或操作數的文字說明是必不可少的,這將幫助我們理解過程處理和編程思想,說明有時比梯級邏輯本身更重要。

標準化

對待同一個需求控制的處理,可以用指令功能解決的,不要技巧編程去解決,因為指令功能是共性的,如何設置參數,如何運行指令,都有固定的模式,大傢俱有共識;編程技巧有時是很個性化的,即便構思非常精巧,但別人很難把握思路,特別是後期的維護人員不容易讀懂程序。尤其PAC控制器更是提供了標準化編程的平臺,即使是新手也能編寫出規範的程序來。

以上幾點,最能體現好程序的是標準化,只有標準化的編程最容易達到嚴密、正確、對稱、規律、可讀,標準化往往是長期經驗積累的最終形式,可編程序控制器的發展歷史,就是一個沿標準化方向發展的過程,直接用於編程的指令系統表現則尤為明顯。

在PAC控制器系統中提供各種編程方式,更是多方地提供了標準化的編程平臺,這對當今項目開發所追求的短工期、高效率、低成本的目標,具有十分重大的意義,並在實踐中得到認可。

此外,標準化的編程還在項目開發者和現場維護人員之間達成了某些共識,使後者更容易解讀程序和查找故障,這在生產實際中十分有效,尤其是某些行業,本來就有一些共同遵守的規則,更是要通過標準的程序來體現。

如何編寫優質的PLC/PAC程序?這份作業建議你抄一下

(圖源:RA官網)

面對同一個需求,我們可以看到二種編程處理情況:

技巧處理,可能是非常精妙的技巧,讓人拍案叫絕;也可能讓人百思不得其解,經過解釋才讓人明白;或者廣泛流傳的一種技巧,讓人們達到了共識,如自保持位邏輯的編程方法。不管是什麼情況,技巧是個性化的處理,難以作為標準。

功能處理,根據指令的功能和固有的指令編程模式,讓解讀程序的人很快理解處理的目的和結果。這是通用的,所有的人都容易明白的,指令功能是共性化的處理,標準的做法,但是需要學習指令的運用方法。

編程的一般原則是,能用指令功能處理的,儘可能不要用技巧處理。

道理是顯而易見的,只有共性的東西才是可以共識的,容易共用的。畢竟一個程序項目是大家共有的,具有從開發人員移交到維護人員的延續性,要讓更多的人更容易參與項目。

我們學習編程,一定要研究指令的功能和相應的運用方法,用以編寫標準的、易讀的程序。所以,我們要對控制器指令系統中的每一條指令,給予充分了解,參數的含義、指令的動作、執行的條件,才能準確無誤地使用指令。儘可能使用指令功能處理問題,儘量避免使用技巧編程處理。

此外,養成良好的編程習慣也是至關重要的,記住某些指令的使用慣例和典型處理,這是前輩經驗流傳,良好的編程習慣可以幫助你避免落入一些程序運行的陷阱,以免在調試系統時為某些邏輯處理結果感到困惑。良好的編程習慣可以讓你對自己編寫的程序具有自信,準確堅定地排除不可能情況,不會盲目質疑而耽誤了調試的時間。良好的編程習慣是經歷了考驗的工作方式,保持它可以減少錯誤的產生,加快編程速度,提高工作效率。

如何編寫優質的PLC/PAC程序?這份作業建議你抄一下

圖源:互聯網

編程序就跟寫文章一樣,你既可以寫成一篇隨心所欲的散文,也可以寫成一篇思維慎密的論文。讀散文每個人都可以有不同的理解和感受,甚至得出不同的結論;論文卻可以讓人準確地理解作者所要表達的內容,其論點明確、邏輯清晰、層次分明,結構嚴謹,論述清楚。把程序編得像一篇論文,應該就是編寫好的程序的基本要求吧。

編程序跟寫文章有許多相似之處。

  • 寫文章,有中心思想,段落大意,在闡明一件事情時,你會圍繞這件事情在一個文章段落裡進行描述;編程序,有核心控制,運行進程,面對一個控制對象,在一段梯級邏輯中,編輯相關的邏輯關係和工作狀態處理。
  • 寫文章,你掌握的詞彙越多,遣詞造句的能力就越強,表述事情就越清晰準確;編程序
    ,你對指令的功能理解得越清楚正確,運用指令的能力就越強,在不同情況下能準確地選擇適合指令。
  • 寫文章,描述相似事物類比的排比句,讓人易讀且更容易看清事物之間的聯繫,並有閱讀美感;編程序,工控對象很多情況下也具有對稱性,如果你編寫的程序邏輯關係上是對稱性的,同樣有閱讀美感,並讓人感到邏輯上值得信賴。
  • 寫文章,有開頭和結尾,概述式的開頭和總結式的結尾前後呼應;編程序,有初始化的處理和結束的處理,數據的進入和數據的送出信息流向清楚。
  • 寫文章,時不時的引用成語熟句,言簡意賅,耐人尋味;編程序,按需求引用專門的指令,調用特殊宏彙集,梯級簡單,處理隱藏。

在學習編程時,你不妨想象你在學習寫文章,就像中小學時你的語文老師教給你的那樣,先從造句開始,然後學習寫段落,最後完成一篇文章,並在寫作過程中積累詞彙和學習表述,提高寫作能力。我們的編程訓練也應循序漸進,從基本的指令開始,編寫簡單的梯級邏輯,然後學習圍繞一個控制對象編寫一段梯級邏輯的處理,最後完成一個小的項目,並在編程過程中,熟悉指令和訓練思維,提高編程能力。


分享到:


相關文章: