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