為了PLC程序可讀性強(qiáng),短期內(nèi)可以讀懂并且能夠修改,,在PLC工作組內(nèi)部需要統(tǒng)一我們的編程標(biāo)準(zhǔn),,以便適應(yīng)將來(lái)工程人員調(diào)動(dòng)后,原來(lái)的程序能夠被后來(lái)的人在短期內(nèi)讀懂,,現(xiàn)統(tǒng)一標(biāo)準(zhǔn)如下:
一、程序結(jié)構(gòu)
1、程序結(jié)構(gòu)統(tǒng)一
OB1:主程序,;
OB100:初始化程序(無(wú)需主程序調(diào)用);
OB35:100ms(可修改)中斷(無(wú)需主程序調(diào)用),,可以調(diào)用PID模塊,;
OB80、OB82,、OB85,、OB86、OB87,、OB121,、OB122:故障診斷模塊(無(wú)需主程序調(diào)用、無(wú)需編程);
FC1:系統(tǒng)模式,;
FC2:輸入處理,;
FC3:輸出處理;
FC4:運(yùn)行處理,;
FC5:停止處理,;
FC6:手自動(dòng)切換;
FC7:
,。,。。
FC100:之后用來(lái)建立一些可以循環(huán)調(diào)用的子程序,;
FC105:系統(tǒng)自帶,,模擬量輸入子程序(可以循環(huán)調(diào)用);
FC106:系統(tǒng)自帶,,模擬量輸出子程序(可以循環(huán)調(diào)用),;
modbus通訊(CP341):FB7:P_RCV_RK,F(xiàn)B8:P_SND_RK,;
通訊CP340:FB2:P_RCV,,F(xiàn)B3:P_SND;
一般PID:用FB41,;
溫,、濕度PID:用FB58;
如果程序塊與系統(tǒng)塊重復(fù),,請(qǐng)避讓,。
2、數(shù)據(jù)塊
DB1:AI數(shù)據(jù),,類型:REAL,,與上位機(jī)接口;
DB2:AO數(shù)據(jù),,類型:REAL,,與上位機(jī)接口;
DB3:DI數(shù)據(jù),,類型:BOOL,,與上位機(jī)接口;
DB4:DO數(shù)據(jù),,類型:BOOL,,與上位機(jī)接口;
DB5:設(shè)備運(yùn)行時(shí)間及流量累計(jì),,類型:REAL,與上位機(jī)接口;
DB6:報(bào)警消息,,類型:BOOL,,與上位機(jī)接口;
DB7:類型:REAL,,中間寄存器,;
DB8:類型:INT,中間寄存器,;
DB9:類型:WORD,,中間寄存器;
DB10:類型:BOOL,,中間寄存器,;
DB11:之后用作與設(shè)備通訊用,例如:MODBUS通訊等,;
DB100:之后用作調(diào)用FB塊時(shí)的背景數(shù)據(jù)塊,;
M區(qū):也作為中間變量。
3,、DP從站故障診斷
DP從站必須做故障診斷,,故障報(bào)警,用FB125即可,。
二,、控制模式
1、系統(tǒng)設(shè)置遠(yuǎn)程/本地/手動(dòng)按鈕
1.1,、遠(yuǎn)程:只能通過(guò)上位機(jī)對(duì)系統(tǒng)進(jìn)行自動(dòng)啟/??刂疲瑔闻_(tái)設(shè)備就地控制優(yōu)先,,在程控時(shí),,可以通過(guò)上位機(jī)對(duì)設(shè)備進(jìn)行軟手操/自動(dòng)切換,軟手操啟/停,;
1.2,、本地:只能通過(guò)觸摸屏對(duì)系統(tǒng)進(jìn)行自動(dòng)啟/停控制,,單臺(tái)設(shè)備就地控制優(yōu)先,,在程控時(shí),可以通過(guò)觸摸屏對(duì)設(shè)備進(jìn)行軟手操/自動(dòng)切換,,軟手操啟/停,;
1.3、手動(dòng):手動(dòng)控制時(shí),,上位機(jī)/觸摸屏失效,,只能通過(guò)手動(dòng)控制設(shè)備的啟/停。
2、單臺(tái)設(shè)備控制
單臺(tái)設(shè)備必須有軟手操/自動(dòng)切換以及軟手操時(shí)可以啟/停功能,,由自動(dòng)切換到軟手操時(shí),,設(shè)備不能停機(jī);由軟手操切換到自動(dòng)時(shí),,設(shè)備啟/停取決于自動(dòng)程序,。
3、單臺(tái)設(shè)備(泵,、風(fēng)機(jī)及其它大型設(shè)備)運(yùn)行滿24小時(shí)必須進(jìn)行輪換,,且必須有運(yùn)行時(shí)間累計(jì),如果由上位機(jī)設(shè)定啟/停順序除外,,操作人員自行設(shè)定,;
三、編程技巧
1,、程序塊盡量細(xì)化,,方便閱讀,將同一類型的設(shè)備控制放在一個(gè)程序塊中,;
2,、如遇特殊情況下采用語(yǔ)言編程,多數(shù)情況下請(qǐng)使用梯形圖編程,,方便別人閱讀,;
3、對(duì)于經(jīng)常調(diào)用的子程序,,可以做成子模塊,,頻繁調(diào)用,例如:求幾個(gè)數(shù)平均值或求幾個(gè)數(shù)的最大值,;
4,、程序要有注釋,變量及中間變量必須有描述,,方便別人閱讀或以后查閱,;
5、定期做程序備份,,最好以工程名稱+系統(tǒng)名稱+當(dāng)天日期,;
6、程序加密,,防止別人竊取,。