gyfeigyfei
技術(shù)交流、分享、進(jìn)步。
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 225 個
工控威望: 1088 點(diǎn)
下載積分: 666 分
在線時間: 116(小時)
注冊時間: 2015-02-05
最后登錄: 2016-12-26
查看gyfeigyfei的 主題 / 回貼
樓主  發(fā)表于: 2015-07-21 08:55
S7-300/400 PLC編程習(xí)慣 (轉(zhuǎn)摘)

所屬類別: SIEMENS  
更新日期: 08-12-30
發(fā)表來源: PLANT
詳情內(nèi)容: 關(guān)于統(tǒng)一PLC編程標(biāo)準(zhǔn)幾點(diǎn)說明
為了PLC程序可讀性強(qiáng),短期內(nèi)可以讀懂并且能夠修改,在PLC工作組內(nèi)部需要統(tǒng)一我們的編程標(biāo)準(zhǔn),以便適應(yīng)將來工程人員調(diào)動后,原來的程序能夠被后來的人在短期內(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:手自動切換;
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ù),請避讓。

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)行時間及流量累計,類型:REAL,與上位機(jī)接口;
DB6:報警消息,類型:BOOL,與上位機(jī)接口;
DB7:類型:REAL,中間寄存器;
DB8:類型:INT,中間寄存器;
DB9:類型:WORD,中間寄存器;
DB10:類型:BOOL,中間寄存器;
DB11:之后用作與設(shè)備通訊用,例如:MODBUS通訊等;
DB100:之后用作調(diào)用FB塊時的背景數(shù)據(jù)塊;
M區(qū):也作為中間變量。

3、  DP從站故障診斷
DP從站必須做故障診斷,故障報警,用FB125即可。

二、控制模式
1、  系統(tǒng)設(shè)置遠(yuǎn)程/本地/手動按鈕
1.1、        遠(yuǎn)程:只能通過上位機(jī)對系統(tǒng)進(jìn)行自動啟/?刂疲瑔闻_設(shè)備就地控制優(yōu)先,在程控時,可以通過上位機(jī)對設(shè)備進(jìn)行軟手操/自動切換,軟手操啟/停;
1.2、        本地:只能通過觸摸屏對系統(tǒng)進(jìn)行自動啟/?刂,單臺設(shè)備就地控制優(yōu)先,在程控時,可以通過觸摸屏對設(shè)備進(jìn)行軟手操/自動切換,軟手操啟/停;
1.3、        手動:手動控制時,上位機(jī)/觸摸屏失效,只能通過手動控制設(shè)備的啟/停。
2、  單臺設(shè)備控制
單臺設(shè)備必須有軟手操/自動切換以及軟手操時可以啟/停功能,由自動切換到軟手操時,設(shè)備不能停機(jī);由軟手操切換到自動時,設(shè)備啟/停取決于自動程序。
3、  單臺設(shè)備(泵、風(fēng)機(jī)及其它大型設(shè)備)運(yùn)行滿24小時必須進(jìn)行輪換,且必須有運(yùn)行時間累計,如果由上位機(jī)設(shè)定啟/停順序除外,操作人員自行設(shè)定;

三、編程技巧
1、  程序塊盡量細(xì)化,方便閱讀,將同一類型的設(shè)備控制放在一個程序塊中;
2、  如遇特殊情況下采用語言編程,多數(shù)情況下請使用梯形圖編程,方便別人閱讀;
3、  對于經(jīng)常調(diào)用的子程序,可以做成子模塊,頻繁調(diào)用,例如:求幾個數(shù)平均值或求幾個數(shù)的最大值;
4、  程序要有注釋,變量及中間變量必須有描述,方便別人閱讀或以后查閱;
5、  定期做程序備份,最好以工程名稱+系統(tǒng)名稱+當(dāng)天日期;
6、  程序加密,防止別人竊取。
本帖最近評分記錄:
  • 下載積分:+1(my9933) 感謝分享!
  • 下載積分:+1(joexzj) 熱心助人!
  • 下載積分:+1(penn_yuan)
  • 下載積分:+1(cs75688) 很不錯的東西
  • 下載積分:+5(忍緣善) 真誠感謝!
  • 下載積分:+5(weisongyuan) 論壇就缺少這樣真心幫助 ..
  • 下載積分:+3(zhtokokk) 好!
    huangliangl
    天道~酬勤
    級別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 220 個
    工控威望: 387 點(diǎn)
    下載積分: 364 分
    在線時間: 60(小時)
    注冊時間: 2010-11-12
    最后登錄: 2024-08-11
    查看huangliangl的 主題 / 回貼
    1樓  發(fā)表于: 2015-07-21 17:35
    搞工控,規(guī)范的編程還是要有的,工控的西門子陣容確實少了點(diǎn),但現(xiàn)在是市場的西門子陣容大,本人是學(xué)三菱的,本來想全方位的學(xué)習(xí)三菱的CC-link、以太網(wǎng)、Melsecnet,及GT軟件,因公司現(xiàn)在技術(shù)改造用的是西門子,沒辦法,順勢了,現(xiàn)在也開始學(xué)西門子了。
    樓主留言:
    我也是從三菱轉(zhuǎn)的西門子,反而是西門子實踐的機(jī)會很少