首頁>Club>
1
回覆列表
  • 1 # 滬A林工

    質量較高的程式我認為需要幾要素:1.整體框架結構清晰。2.註釋標註詳細。3.有很好的擴充套件性和移植性。(為了適應客戶的需求)

    根據題主提問的問題來看,想必題主也有一些PLC基礎和除錯經驗了。那麼關於如何學習基礎性的東西我就不在贅述。我們進入正題。

    程式設計思路的養成是我們每個工控從業者的必經之路。思路的適應性強弱直接的反應從業者的技術水平。 我們在成長過程中都是從接線,輔助除錯,獨立除錯,獨立程式設計這麼幾個步驟走過來的。至於除錯又分為能夠小改和大改。而在初期階段,我們都是跟著老師傅一起除錯的。所以在此期間,我們已經有了接觸程式的機會,那我們只能去看老師傅的程式,看的越透越好,要知道整個裝置的工藝流程以及他的編寫思路,也可說是程式設計風格。當然如果我們跟對了人,那麼很有利於我們的成長。 如果我們能看懂老師傅或者其他人的程式,那麼距離自己程式設計就成功一半了

    接下來就是重點總結。比如我們要將一套程式分成幾個部分。比如:

    1:手動,自動控制一些標準的東西(氣缸,伺服等)2:整個工藝流程(也就是自動步)3:報警資訊 4:啟動停止等跟執行相關的控制程式。5:IO地址對映的處理。 其實一臺裝置無非就包括,氣缸、伺服、通訊、以及自動步流程。那麼氣缸,伺服,通訊都會分成手動模式控制和自動模式控制(可以整合到一個功能塊裡)。而在自動步中我們就是觸發自動模式控制那一路。再加上我們裝置的啟動停止以及一個執行標誌位的處理。

    上面所介紹的東西,如果你看的程式能夠明顯的看出以上幾個部分,那證明這個程式的框架還是不錯的。

    至於程式設計思路那就需要題主多看其他人的程式,風格好的程式,多進行總結。取其精華,去其糟粕。把他們的模板拿過來改成自己的風格。(也基本不會有人從0開始寫一個程式) 當然還不能只看一種型別裝置,要有針對性看程式。比如普通單機裝置邏輯、轉盤工位裝置邏輯、線體裝置的邏輯等。其實每種裝置型別只要掌握一種程式設計思路,那就是舉一反三,一通百通了。

    最後祝題主早日成功,編寫出質量較高的程式!

  • 2 # 深圳啟程自動化培訓

    要編寫出質量較高的PLC程式,這是很多人頭疼的問題。想要質量高就要有一定的程式設計規範,遵循這些規範,PLC程式的高低一眼便知。建議以下方面入手:

    第一:完美的PLC程式需滿足的設計要求一套完整的PLC程式,並不僅僅是使系統能夠執行起來這麼簡單,它也需要完整的註釋、精良的架構、良好的可擴充套件性、完備的報警保護系統、執行前的模擬系統。

    簡單性:使PLC程式儘可能簡單。簡單的含義就是儘可能的使用標準化的程式框架,儘可能使用簡單的指令。

    可讀性:要求所設計的程式可讀性要好。這不僅便於程式設計者加深對程式的理解,便於除錯,而且,還要便於別人讀懂你的程式,便於使用者維護。必要時,也可使程式推廣。

    正確性:PLC的程式一定要正確,並要經過實際工作驗證,證明其能夠正確工作。這是對PLC程式的最根本的要求,若這一點做不到,其它的再好也沒有用。

    可靠性:程式不僅要正確,還要可靠。可靠反映著PLC程式的穩定性,這也是對PLC程式的基本要求。

    易改性:要使程式易改,也就是要便於修改。

    擴充套件性:許多程式可能在進現場之前都已經編好,但是到了現場,可能還需要新增另外的程式,為了避免打亂整套系統的結構,需要在每個功能區預留一定的空間作為備用

    完備報警系統:PLC系統往往用於工業環境中,每一次的事故都會造成或大或小的損失,為了做到事故預處理或者在事故中將損失降到最小,必須重視PLC的報警和保護,在此將其摘出來作為系統的一個重要組成部分。

    程式模擬:為了保證現場的除錯進度或者給客戶展示,往往在進現場之前,要對自己的程式進行全自動的模擬。為此需要在程式中加入模擬程式部分,模擬程式部分在正常現場執行之後斷開

    在設計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、關於程式加密:對於加密程式的密碼必須有專門的檔案予以儲存,並註明相應的使用者名稱+密碼+許可權,分發給至少兩個人以上了解密碼,防止密碼丟失帶來無法開啟程式的情況。

  • 3 # 工控人

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

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

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

  • 4 # 唯仰天一笑

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

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

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

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

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

  • 中秋節和大豐收的關聯?
  • 你們遇到過的最艱難時期?