如何編寫出質量較高的PLC程序?

一人獨守一夢


作為一名自動控制設備維護人員,對這個話題很有發言權。在工作中,需要維護多種自動控制設備,都是由國內多個設備廠提供,當然接觸到PLC程序的質量也就參差不齊,遇到特別差的程序時,揍人的心情都有。

其實,PLC程序高質量主要體現在兩個方面:用戶可讀性、程序可移植性,可能很多人還想到程序的執行效率等,但目前硬件的水平都很高了,這點響應速度影響幾乎可以不考慮了。

首先,用戶可讀性很重要,因為程序始終是要給人看的,程序都需要維護、處理bug、升級擴展等,這就要求PLC程序所有的變量命令要便於理解記憶、程序要有詳細註釋、各功能要分程序段、程序排列要美觀,這樣不僅編寫人員方便調試,後期維護人員也便於消缺。

其次,程序可移植性也很重要,因為生產自動控制設備的廠商都是以營利為目的,一般PLC程序都是可以通用的,比如控制油泵的PLC程序,經過細節修改是可以用於控制水泵、空壓機的,所以對自動設備廠商來說,高質量的PLC程序應該具備可移植性。PLC程序可移植性通常通過模塊化設計來實現,即將各種特定功能做成功能塊,當要實現相應功能時只需調用功能塊即可,大大節約PLC程序開發時間,時間就是金錢啊。

總之,高質量PLC程序主要體現用戶可讀性、程序可移植性,以規範化、模塊化方式來實現。



城南牛小壯


如何編寫出質量較高的PLC程序,首先我們得創建一個屬於自己的編程構架或者是程序分段,把整個程序分成幾部分,比如我自己在寫一個設備的PLC程序時會分成5部分:手動部分、自動部分、數據處理、通信部分、模擬量/數字量轉換,儘量編程採用結構化編程的方法,這樣能對程序進行分段處理,無論是簡單工程還是結構化功能都可以採用。手動部分的作用是機械設備單個動作的控制一般用於測試以及維修方面,自動部分則是整個動作完整的流程編寫,數據處理則是對手動、自動用到的數據進行傳送、選擇、計算等操作,通信部分是用到例如Modbus等通信控制元器件如變頻器、伺服等裝置編寫的通信程序,模擬量/數字量則是採用模擬量控制元器件進行的DA轉換程序或者採集模擬量數據進行的AD轉換程序。

一個質量較高的PLC程序應基本滿足簡單可讀性、穩定性、具有易於維護和擴展的功能,對於控制動作流程的儘量採用梯形圖進行編程,即使是非編程人員也可清晰看清楚其動作順序,多采用結構化編程,程序做到集中化就是上面說的屬於哪部分就寫在哪部分,儘量不要亂地方補充、亂地方修改,讓人便於查看。PLC運行還需要穩定性,就是指的是某些地方的bug,可能在調試的時候都準確無誤,在實際中誤設置了參數、誤動作,它卻沒有停止、報警或者不能正常工作,以及能夠進行一次完成的運行,第二次、第三次就不能順利進行了只能重啟再開始運行,這些都屬於程序的穩定可靠性,儘量把這些漏洞在調試試機時候找出來。在一個就是程序的維護性和擴展性,做到註釋準確、程序結構優化,能夠使維修人員迅速找到修改的地方,留有擴展的空間,對某些動作的修改、升級能夠在整體構架中完成而不破壞。

在編程前對軟元件的選擇要準確,哪些是掉電保存的、掉電不保存的、對輸入有區分,有高速計數的普通輸入儘量不要佔用高速輸入端子、同理高速輸出端子也一樣。對定時器的選擇如0.01ms的、0.1ms、1ms的、累計型的等選擇,計數器的選擇16位的、32位的、保持用的、高速計數用的都得分清楚使用,數據寄存器的選擇也有16、32位、掉電保持的之分。另外指令的選擇要根據數據的類型選擇是16、32位的,避免到時候數據計算出錯。這樣PLC編寫出的程序就能減少bug,質量會高一些。


以上就是如何編寫出質量較高的PLC程序需要注意的幾點要求,希望能幫到你!


工控人


PLC編程有幾個主要的問題,最主要的一個是,上手快,但是精通很難。這是因為,PLC編程,尤其是梯形圖的編程語言,設計初衷就是為了沒有編程基礎的工程師的,思維方式也和電力系統的繼電器迴路很相似,因此上手非常快,簡單的模仿繼電器迴路的話,效率也比較高。

然而,PLC編程很快就遇到第二個問題,就是瓶頸很明顯。一方面,可以得到的資料很有限,無論是教材還是課程,都是淺嘗輒止,講到會用就可以,對一些高級的應用方法,因為涉及保密、或者整個行業水平限制,都缺乏足夠的學習資源。另一方面,梯形圖編程直觀的形式也是其不容易寫出來高水平程序的原因之一。

那麼,如何突破這些瓶頸呢?

有幾個步驟。首先,需要有軟件工程的基礎訓練和高級語言的基本知識,尤其是面向對象、模塊化這些高級語言程序設計的基本素養。因為PLC程序本質上只是編程語言的一個分支,要寫出水平高的程序,必須從理論上有一個高度,學會了面向對象,學會模塊化,學會熟練使用PLC內置的高級模塊,是水平提升的一個基礎。

另一個,在可能的情況下,看到水平高的例程,是快速成長的催化劑。但是這樣的機會可遇不可求,就像觀摩高手過招一樣,認真看高水平的例程可以快速提高。就我個人而言,也是偶然的機會學習了一些國外的很複雜的PLC程序之後,整個理念才有一個提升的。


魏智勇


編程靠的還是自己的一個編程思路,以及你自己的編程方式,不是說你拿到別人的程序,你進行一個解析就能搞定一種編程,不可能的,沒有日積月累的積累,你是達不到一定的編程能力,沒有一定的編程思路,編程,你要有合理的規劃,合理的分配,有些東西你可以用,但是有些東西你可以簡單,同時,我們要具備分析的能力,就是說當我們看到這個程序要求的時候,我們能想到一種很簡單的編程方法,很簡單的編程方式,能讓別人讀懂我們程序,這也是一種能力

編程靠的不是別人,靠的是自己獨有的編程思路


電氣PLC教學


不難,看寫什麼程序,看別人的程序,學習學習。


走進電世界


學好數學,尤其是高數,高手跟會編的人的區別是算法,要充分利用plc資源多快好省的幹事。第二,就是要深刻理解生產流程。

日本人做一個麵包機,在最有名的麵包店做了半年學徒,回來搞出來麵包機。我們國產的麵包機,能烤麵包而已。他們的,普通人都能做出專業的味道。


by8dream


儘量提前分配規劃好PLC數據存儲單元,在編程的時候要依次按著順序使用,切勿跳動太大。

在達到功能的前提下要簡化程序,多用子程序和跳轉,儘量減少程序掃描週期,提高程序反應時間。


下相電工


說大點就是邏輯思維能力。具體操作的話就是要把做的東西用畫流程圖的形式詳細畫出來,那成功就過半,至於具體使用哪家的工具,那就是熟悉軟件特性了。掌握一家你認為好用的軟件,別家的基本上都是一樣的。


分享到:


相關文章: