如何編寫一個高質(zhì)量的plc程序,首先要創(chuàng)建自己的編程框架或者程序分段,把整個程序分成幾個部分。比如我給一個設(shè)備寫PLC程序的時候,我會把它分為五個部分:手動部分、自動部分、數(shù)據(jù)處理部分、通信部分和模/數(shù)轉(zhuǎn)換。我嘗試用結(jié)構(gòu)化編程的方法進(jìn)行編程,這樣程序可以分段,簡單的工程和結(jié)構(gòu)化的功能都可以使用。
手動部分的作用是機(jī)械設(shè)備單個動作的控制一般用于測試和維護(hù),而自動部分是編譯整個動作的完整過程;數(shù)據(jù)處理是對人工和自動使用的數(shù)據(jù)進(jìn)行傳輸、選擇和計算;通信部分是使用Modbus等通信控制組件編寫的通信程序,如變頻器、伺服等設(shè)備;并且模擬/數(shù)字量是使用模擬控制組件的數(shù)模轉(zhuǎn)換程序或收集模擬數(shù)據(jù)的模數(shù)轉(zhuǎn)換程序。
一個高質(zhì)量的PLC程序應(yīng)該基本滿足簡單易讀、穩(wěn)定易維護(hù)易擴(kuò)展的要求。為了控制動作流程,應(yīng)盡量使用梯形圖編程。即使是非程序員也能清楚地看到動作順序,大多采用結(jié)構(gòu)化編程。集中編程就是寫哪個部分屬于上面提到的部分。盡量不要亂加亂改,讓人很容易查出來。實(shí)在不明白的朋友可以去看一套plc視頻教程,PLC的運(yùn)行也需要穩(wěn)定性,即調(diào)試時某些地方的bug可能會比較準(zhǔn)確。
在實(shí)踐中,參數(shù)和誤操作設(shè)置錯誤,但沒有停止、報警或正常工作,能夠運(yùn)行一次。第二次和第三次不能成功進(jìn)行,只能在運(yùn)行前重啟。這些都屬于程序的穩(wěn)定性和可靠性。調(diào)試機(jī)器時盡量找出這些漏洞。第一個是程序的可維護(hù)性和可擴(kuò)展性,可以使標(biāo)注準(zhǔn)確,優(yōu)化程序結(jié)構(gòu),使維護(hù)人員能夠快速找到修改的地方,留有擴(kuò)展的余地,在整體框架中對一些動作進(jìn)行修改和升級而不被破壞。
編程前,軟元件的選擇要準(zhǔn)確,斷電后保存,斷電后不保存,與輸入?yún)^(qū)分。高速計數(shù)的普通輸入應(yīng)盡量不占用高速輸入端子,高速輸出端子也是如此。定時器的選擇,如0.01毫秒、0.1毫秒、1毫秒、累計類型等。,可以明確使用16位計數(shù)器、32位計數(shù)器、保持計數(shù)器和高速計數(shù)計數(shù)器的選擇,數(shù)據(jù)寄存器的選擇也可以分為16位寄存器、32位計數(shù)器和掉電保持計數(shù)器。
此外,指令的選擇應(yīng)根據(jù)數(shù)據(jù)類型分為16位和32位,以免數(shù)據(jù)計算出錯。這樣,PLC編寫的程序可以減少bug,質(zhì)量會更高。
審核編輯:符乾江
評論
查看更多