為了plc程序可讀性強(qiáng),短期內(nèi)可以讀懂并且能夠修改,在PLC工作組內(nèi)部需要統(tǒng)一我們的編程標(biāo)準(zhǔn),以便適應(yīng)將來工程人員調(diào)動(dòng)后,原來的程序能夠被后來的人在短期內(nèi)讀懂,現(xiàn)統(tǒng)一標(biāo)準(zhǔn)如下:
一、程序結(jié)構(gòu)
1、 程序結(jié)構(gòu)統(tǒng)一
OB1:主程序;
OB100:初始化程序(無需主程序調(diào)用);
OB35:100ms(可修改)中斷(無需主程序調(diào)用),可以調(diào)用PID模塊;
OB80、OB82、OB85、OB86、OB87、OB121、OB122:故障診斷模塊(無需主程序調(diào)用、無需編程);
FC1:系統(tǒng)模式;
FC2:輸入處理;
FC3:輸出處理;
FC4:運(yùn)行處理;
FC5:停止處理;
FC6:手自動(dòng)切換;
FC7:
。。。
。。。
FC100:之后用來建立一些可以循環(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)程:只能通過上位機(jī)對(duì)系統(tǒng)進(jìn)行自動(dòng)啟/??刂疲瑔闻_(tái)設(shè)備就地控制優(yōu)先,在程控時(shí),可以通過上位機(jī)對(duì)設(shè)備進(jìn)行軟手操/自動(dòng)切換,軟手操啟/停;
1.2、 本地:只能通過觸摸屏對(duì)系統(tǒng)進(jìn)行自動(dòng)啟/??刂疲瑔闻_(tái)設(shè)備就地控制優(yōu)先,在程控時(shí),可以通過觸摸屏對(duì)設(shè)備進(jìn)行軟手操/自動(dòng)切換,軟手操啟/停;
1.3、 手動(dòng):手動(dòng)控制時(shí),上位機(jī)/觸摸屏失效,只能通過手動(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、 如遇特殊情況下采用語言編程,多數(shù)情況下請(qǐng)使用梯形圖編程,方便別人閱讀;
3、 對(duì)于經(jīng)常調(diào)用的子程序,可以做成子模塊,頻繁調(diào)用,例如:求幾個(gè)數(shù)平均值或求幾個(gè)數(shù)的大值;
4、 程序要有注釋,變量及中間變量必須有描述,方便別人閱讀或以后查閱;
5、 定期做程序備份,以工程名稱+系統(tǒng)名稱+當(dāng)天日期;
6、 程序加密,防止別人竊取。
我想說plc入門容易,深造難啊。對(duì)于一些初學(xué)者,看看書看看視頻沒有專門的去實(shí)踐學(xué)習(xí),大部分了解了plc的原理,設(shè)計(jì)一些簡單的程序可以運(yùn)用自如,但是碰到一些復(fù)雜的要求時(shí),就懵逼了,因?yàn)槲乙郧耙矔r(shí)常懵逼。plc這個(gè)東西就得把指令融匯貫通,運(yùn)用自如,才能編出一些較復(fù)雜的程序。下面簡單介紹一下學(xué)plc的技巧和方法,讓大家更快地去熟悉plc、掌握plc,讓我們口袋里的錢變得鼓鼓的。
.串口通訊方式
硬件連接:此種方式使用S7200 系列PLC 上的PPI 編程口,使用西門子標(biāo)準(zhǔn)編程電纜或標(biāo)準(zhǔn)485電纜鏈接到計(jì)算機(jī)串口上:
當(dāng)使用計(jì)算機(jī)的 RS232 通訊口時(shí):建議使用西門子紫色電纜和網(wǎng)絡(luò)接頭+常規(guī)有源RS485/232 轉(zhuǎn)換模塊(如研華的ADAM4520)進(jìn)行PLC 485 編程口和計(jì)算機(jī)標(biāo)準(zhǔn)232 口的連接;
當(dāng)使用計(jì)算機(jī)擴(kuò)展RS485 口時(shí):建議使用西門子紫色電纜和網(wǎng)絡(luò)接頭直接進(jìn)行PLC RS485 編程口和計(jì)算機(jī)RS485 口的連接。注意:PLC的PPI 口中9 針口:3―DATA+ ;8―DATA-
適用場(chǎng)合:一般適用于一個(gè)PLC 和一臺(tái)PC 進(jìn)行直接串口通訊的場(chǎng)合,PLC和PC機(jī)之間距離較近;
組態(tài)王對(duì)應(yīng)驅(qū)動(dòng)(常用直接驅(qū)動(dòng)有3 個(gè)):
(1)PLC→西門子→S7-200系列→PPI
(2)PLC→西門子→S7-200系列→自由口
(3)PLC→西門子→S7-200系列→Modbus
特殊軟件需求:組態(tài)王所在的計(jì)算機(jī)不需要安裝s7200 編程軟件。各自具體配置按照組態(tài)王對(duì)應(yīng)驅(qū)動(dòng)幫助執(zhí)行即可。
注意:因?yàn)镻PI 協(xié)議的特殊性,讀取一個(gè)數(shù)據(jù)包一般需要400MS 的時(shí)間,當(dāng)用戶反饋PPI 通訊速度慢時(shí),請(qǐng)以此標(biāo)準(zhǔn)分析用戶工程通訊速度慢是否在合理的范圍;如果在該驅(qū)動(dòng)所支持的合理范圍內(nèi),用戶仍然不滿意時(shí),建議更換為自由口或modbus通訊方式。當(dāng)用戶使用自由口或Modbus 通訊驅(qū)動(dòng)時(shí),需要向PLC 中下載對(duì)應(yīng)協(xié)議程序,該程序由亞控提供。用戶必須在此通訊協(xié)議基礎(chǔ)上繼續(xù)編寫用戶自己的邏輯控制程序,該邏輯控制程序中用到的寄存器不能和亞控提供的協(xié)議中所占用的V 區(qū)地典型廠家設(shè)備與通信總線址沖突:PLC 自由口協(xié)議程序默認(rèn)占用了V300 及以前的地址;PLCModbus 協(xié)議程序占用V1000 及以前的地址。
2.MPI 通訊卡方式
硬件連接:此種方式使用S7200PLC 上的編程口,計(jì)算機(jī)上插一塊西門子公司的CP5611(或CP5613 等MPI 通訊卡――具體根據(jù)帶PLC 類型和數(shù)量,由西門子公司確定使用何種通訊卡),通訊卡和PLC 之間建議使用西門子提供的標(biāo)準(zhǔn)轉(zhuǎn)換接頭和通訊電纜實(shí)現(xiàn)硬件連接;此種鏈路常規(guī)通訊距離為50米,超過時(shí)請(qǐng)咨詢西門子購買中繼器擴(kuò)展通訊鏈路長度。
適用場(chǎng)合:一般適用于一臺(tái)PC 和多個(gè)PLC 進(jìn)行通訊的場(chǎng)合;或者多臺(tái)PLC 和多臺(tái)PC 進(jìn)行鏈接(MPI 為多點(diǎn)接口協(xié)議,支持多個(gè)上位PC 進(jìn)行MPI 通訊,具體能夠支持的多上位PC 數(shù)量建議和西門子公司具體確定。);
組態(tài)王對(duì)應(yīng)驅(qū)動(dòng):在組態(tài)王中對(duì)應(yīng)的設(shè)備定義向?qū)椋篜LC→西門子→S7-200系列→S7-200MPI(通訊卡) 。
特殊軟件需求:組態(tài)王所在的計(jì)算機(jī)必須安裝STEP7 編程軟件。具體配置按照組態(tài)王對(duì)應(yīng)驅(qū)動(dòng)幫助執(zhí)行即可(與組態(tài)王版本相關(guān)的注意事項(xiàng)請(qǐng)參考第二節(jié)的S7300/400PLC 對(duì)應(yīng)的MPI 驅(qū)動(dòng)使用說明部分)。
3.以太網(wǎng)通訊方式
硬件連接:此種方式使用西門子S7200 上擴(kuò)展的CP243-1 以太網(wǎng)模塊,PC 上可以使用普通以太網(wǎng)卡或者西門子公司提供的CP1613 等以太網(wǎng)卡方式,PLC 和PC 之間通過以太網(wǎng)線進(jìn)行連接。
適用場(chǎng)合:一般用于對(duì)通訊速度要求較高的場(chǎng)合;通訊距離在局域網(wǎng)允許距離之內(nèi)。
組態(tài)王通訊支持的兩種方式:
(1)組態(tài)王提供直接驅(qū)動(dòng):在組態(tài)王中對(duì)應(yīng)的設(shè)備定義向?qū)椋?/p>
PLC􀃆西門子→S7-200系列→TCP特殊軟件需求:無。即不需要在組態(tài)王所在的計(jì)算機(jī)上安裝STEP7 或Simatic net通訊軟件,該驅(qū)動(dòng)在組態(tài)王6.52 及以前發(fā)布的光盤中還沒有;組態(tài)王6.52 以后的版本中默認(rèn)提供。
(2)使用OPC 進(jìn)行和組態(tài)王通訊:需要本機(jī)安裝西門子公司提供的Simatic net6.0或以上版本基于以太網(wǎng)的*軟件。該軟件提供OPCServer 功能實(shí)現(xiàn)和上位機(jī)組態(tài)王通訊。具體請(qǐng)參考西門子公司或亞控發(fā)布的相關(guān)OPC 配置文檔。
4.Profibus –DP 通訊方式
硬件連接:此種方式使用西門子PLC 上的DP 接口(可以是CPU 上集成的DP 接口或者擴(kuò)展的DP 通訊模塊),計(jì)算機(jī)上擴(kuò)展一塊CP5611 或者CP5613 等通訊卡??ê蚉LC 的DP 接口之間使用西門子標(biāo)準(zhǔn)的網(wǎng)絡(luò)接頭和通訊電纜進(jìn)行連接。一般一塊通訊卡通過DP 總線可以連接多臺(tái)PLC,具體可以連接的數(shù)量根據(jù)設(shè)備型號(hào)向西門子公司確認(rèn)即可。使用該方式通訊時(shí),需要在本機(jī)上安裝STEP7 編程軟件和Simatic net6.0(或以上版本)的通訊配置軟件和*。并通過STEP7 編程軟件為PLC 上的DP 接口配置為DP 協(xié)議(Slave站);通過Set PG/PC interface 接口為CP5611(或者CP5613卡)配置為DP 協(xié)議(做master 站);
適用場(chǎng)合:一般用于數(shù)據(jù)交換量少,速度要求較高的場(chǎng)合;組態(tài)王通訊支持的兩種方式:
(1)組態(tài)王提供直接驅(qū)動(dòng): 在組態(tài)王中對(duì)應(yīng)的設(shè)備定義向?qū)椋?/p>
PLC→西門子→S7-200系列→Profibus->DP 。該驅(qū)動(dòng)只支持DP 通訊卡配置為主站,所有PLC 等必須配置為從站的工作模式,并且只支持一個(gè)上位機(jī)組態(tài)王和所有從站PLC 進(jìn)行通訊。
特殊軟件需求:需要在組態(tài)王所在的計(jì)算機(jī)上安裝Simatic net6.0(或以上版本)的基于DP 的*通訊軟件,具體使用方法請(qǐng)參考組態(tài)王6.52 或以上版本軟件中自帶的驅(qū)動(dòng)幫助文檔。
(2)使用OPC 進(jìn)行和組態(tài)王通訊:需要本機(jī)安裝西門子公司提供的Simatic net6.0或以上版本基于DP 的*軟件。該軟件提供OPCServer 功能實(shí)現(xiàn)和上位機(jī)組態(tài)王通訊。具體請(qǐng)參考西門子公司或亞控發(fā)布的相關(guān)OPC 配置文檔。