PLC在工業控制領域被廣泛應用,他就像是機器的大腦一樣,控制著機器有序的工作。如何使得PLC這個大腦有序的工作,完全取決于PLC編程人員的能力。往往一個好的編程程序習慣可以讓事情事半功倍。用正確的邏輯思維和方法去寫程序,一方面可以減少出錯,另一方面就是方便檢查程序里出現的bug。下面由西安達泰電子的PLC無線通訊專家團隊來為大家盤點一下,西門子PLC的一些編程小竅門和好的習慣:
1、程序結構
一個完整的程序可分為幾個部分:
【初始化程序】:一般是上電時調用一次,用來初始化設備,簡單化的初始化程序需要在初始化的時候復位整個工藝設備到零位。復雜化的初始化程序需要在這里調用設備之前的執行信息,即延續上次停機時的執行過程。我們一般使用SM0.0(上電時保持一個周期的ON)來使能初始化程序。
【主程序】:主程序這里是用來循環執行的,確保設備的正常工作。
【子程序】:子程序一般為設備執行的不同工藝(工序)。供主程序調用。一些重復多次使用的代碼可以編寫為子程來調用。
【內存分配】:內存分配一般是用來規劃PLC的內部寄存器的區域和適用范圍,方便編程和調取,同時方便上位機的通訊使用。
2、關于內存分配技巧:
一般在編程時我們會將內存分配為不同的區域段,例如:
【VW0-VW99】:通訊動態調用區域,寫一些中建變量等。
【VW100-VW199】:采集結果保存區域。溫度、壓力等。
【VW200-VW299】:通訊區域,部分為上位機讀取區域,部分為寫入區域或者可讀寫區域。
……
【VW2000-VW3000】:庫存儲區,用于加載庫文件的存儲區域。
*說明:良好的內存規劃習慣會使得編程特別便捷和明了。同時也提高了程序的可讀性。配合自定義的變量名使用會使得整個程序的二次讀寫性更好。
3、變量名規劃:
良好的變量名規劃可以高效的完成程序的編寫,例如:
VD100:WD1-f(浮點型溫度值1)
VD104:WD2-f(浮點型溫度值2)
VB108:ZT1-b(字節型狀態值1)
VW109:ZS1-w(字型轉速值1)
其他物理量類似。用戶也可使用英文名縮寫等……
在規劃變量時最好的方式是將相同類型的變量連續規劃。再者就是最好是以十為單位進行區域段劃分這樣調用時比較清晰明了。例如:
【VD100-VD120】:WD1-f……WD5-f(多余部分可留作備用,一般都會預留備用點,一備程序后期擴展使用)
【VB130-VB139】:ZT1-b……ZT10-b
4、關于西門子200系列PLC的內存關系圖
位
| 字節
| 字
| 雙字
|
1位
| 8位
| 16位
| 32位
|
VB0.0
| VB0
| VW0
| VD0
|
VB0.1
|
VB0.2
|
VB0.3
|
VB0.4
|
VB0.5
|
VB0.6
|
VB0.7
|
VB1.0
| VB1
|
VB1.1
|
VB1.2
|
VB1.3
|
VB1.4
|
VB1.5
|
VB1.6
|
VB1.7
|
VB2.0
| VB2
| VW2
|
VB2.1
|
VB2.2
|
VB2.3
|
VB2.4
|
VB2.5
|
VB2.6
|
VB2.7
|
VB3.0
| VB3
|
VB3.1
|
VB3.2
|
VB3.3
|
VB3.4
|
VB3.5
|
VB3.6
|
VB3.7
|
更多關于PLC的知識,請持續關注微信公眾號“PLC無線通訊方案”
本文出處 [url]http://www.dataie.com/cases/detail/40/354.html[/url]