怎麼程式設計比較好的PLC程式?

2022-09-14 04:42:10 字數 2248 閱讀 8628

「沒有最好,只有更好」,什麼樣的plc程式才是好的?乙個賺錢的節目就是好節目,一句話,高能量低消耗!

主要有以下幾個方面:

1.正確性(低除錯成本)

首先,可程式設計控制器程式必須正確工作,以滿足實際控制過程的要求。這是plc程式的基礎。如果做不到這一點,其他一切都將毫無意義。

2.可靠性(低維護成本)

有些plc程式在正常工作條件下或合法執行時可以正常工作,但在非正常工作條件下(如臨時斷電、即將通電)或非法執行(如按下某些按鈕出現故障,或同時按下幾個按鈕或連續按幾次)後,程式就不能正常工作。這種程式不太可靠,或者說不穩定,那就是乙個壞程式。

好的plc程式可以識別異常工況,並將其與正常工況聯絡起來,使程式適應各種情況。好的plc程式可以拒絕非法操作,不會留下任何「痕跡」。只接受合法操作,即預防性穩健規劃。

聯鎖是拒絕非法操作的常用手段。這種方法常用於繼電器電路,plc也可以繼承這種方法。

3.可讀性(低學習成本)

要求設計的程式可讀、易懂、易於除錯、易於他人閱讀和使用您的程式、易於維護;必要時,程式還可以作為標準模板,便於推廣。要使程式可讀:

1)方案的設計脈絡要盡可能清晰,結構要分層;

2)功能層模組化或採用物件導向的方法設計;

3)使用一些標準設計和通用設計;

4)變數層盡可能用符號名程式設計;

5)引數在使用前立即設定引數值(即準備使用);

6)i/o位址分配要有規律,便於記憶和理解;

7)內部裝置的使用也要有規律,同一功能的位址分配要保持一定的不連續的「故障餘量」(如果x功能的位址分配使用到k,那麼下乙個功能的位址分配就不要從k+1開始,而是從k+n開始),防止功能發生變化;

8)必要時做一些標註工作;

程式設計之初要注意可讀性。這並不容易做到。因為在程式除錯過程中,指令的增減和內部裝置的使用變化可能會讓原本比較清晰的程式變得有些凌亂。所以在設計的時候,有除錯的餘地,除錯完再整理,這樣設計出來的程式質量更高。

4.簡單性(低儲存成本)

使plc程式盡可能短也是應該追求的目標。

短程式可以節省使用者儲存面積;在大多數情況下,它還可以節省執行時間,提高對輸入的響應速度,提高程式的可讀性。

程式是否短,一般可以用程式中使用的指令數量來衡量。如果使用的指令數量少,程式自然會短。

一般來說,要注意程式結構,提取實現相同功能的**段的共性,使用子程式、中斷等方法減少**量。

用過程控制指令簡化程式,減少某個時間點的工作量,不做不需要做的事,盡量少做;

從小的方面來看,需要用多處理能力的強指令代替單一處理能力的弱指令(用大級別資料代替小級別資料或資料結構,如用位元組、字、雙字運算元代替位運算元的指令、故障字、狀態字、控制字、通訊字等。);

使用間接定址代替連續定址儲存單元的相同操作;用塊轉移指令代替多位元組、字、雙字轉移指令,可概括為「批量操作」)並注意指令的排列順序等。,並注意程式的可讀性。

5.節省時間(運營成本低)

程式的簡短可能會節省程式的執行時間,但簡潔和節省時間不是一回事。因為程式的執行時間與程式擁有的指令數量有關,也與使用了什麼指令有關,即與程式演算法有關。不同的plc演算法執行時間不同。此外,一些指令在邏輯條件為開和邏輯條件為關的不同時間執行。此外,由於使用了過程控制指令,程式中的指令並非都必須執行。因此,程式執行時間的計算更加複雜。但需要平均時間少,最長時間不要太長。這樣可以提高plc的響應速度。

節約時間的關鍵是利用好過程控制指令。根據情況,確定一些必須作為必要部分執行的指令,剩下的可以按照程式進行,有選擇地執行,或者設計一些分時工作避免過長的最大時間等。

6.易於修改(可變成本低)

使程式易於更改,即易於修改。

plc的特點之一就是方便,可以靈活應用於各種場合。解決辦法是修改或重新設計程式。

重新設計的程式用於改變可程式設計控制器的工藝要求。不僅程式被重新程式設計,而且輸入輸出也被重新分配。在大多數情況下,沒有必要重新程式設計程式,只需做一些修改。這要求程式易於修改,易於修改。

容易改變的是靈活性,只需要很少的改變就可以達到改變引數或動作的目的。

1)引數設定應盡量採用間接賦值法,常量引數值應盡量使用符號名,以名識義;

2)控制盡可能使用中間儲存器(如m、w)作為介質和中間層,隔離邏輯上i/o的直接耦合,換邏輯更方便;

3)盡量實現功能的外掛程式模組塊,讓使用者可以「自由配置」,從而實現按需、隨用隨用。

在設計plc程式的過程中,應同時考慮和平衡上述要求,得不償失。

網路程式設計比較好的資源

大家有什麼好的資源,電子書,可以貼上來。有關網路程式設計的學習經驗,心得,技巧等等,和大家一起分享。tcp ip詳解,卷2 實現 tcp ip詳解,卷3 tcp事務協議等 wireshark 開源的經典的協議分析工具wireshark,winpcap linux version libpcap an...

web前端開發怎麼學習比較好

隨著網際網路的高速發展,越來越多的企業和網際網路接軌,這也讓web前端開發工程師成為近些年來較為火熱的崗位之一,越來越多的人對web前端感興趣。web前端可以從事什麼工作呢,怎麼學習呢 所以,現在想要學習web前端的人越來越多了,實際上,在 網際網路 時代發展的今天,各行各業對web前端開發人才的需...

AsyncTask 比較好的解釋

package com.example.asynctask import android.os.asynctask import android.widget.progressbar import android.widget.textview 生成該類的物件,並呼叫execute方法之後 首先執行...