如何規範編寫一個西門子PLC程序
程序結構統一
OB1:主程序;
OB100:初始化程序(無需主程序調用);
OB35:100ms(可修改)中斷(無需主程序調用),可以調用PID模塊;
OB80、OB82、OB85、OB86、OB87、OB121、OB122:故障診斷模塊(無需主程序調用、無需編程);
FC1:係統模式;
FC2:輸入處理;
FC3:輸出處理;
FC4:運行處理;
FC5:停止處理;
FC6:手自動切換;
FC100:之後用來建立一些可以循環調用的子程序;
FC105:係統自帶,模擬量輸入子程序(可以循環調用);
FC106:係統自帶,模擬量輸出子程序(可以循環調用);
modbus通訊(CP341):FB7:P_RCV_RK,FB8:P_SND_RK;
通訊CP340:FB
一般PID:用FB41
溫、濕度PID:用FB58;
如果程序塊與係統塊重復,請避讓。
2、 數據塊
DB1:AI數據,類型:REAL,與上位機接口;
DB2:AO數據,類型:REAL,與上位機接口;
DB3:DI數據,類型:BOOL,與上位機接口;
DB4:DO數據,類型:BOOL,與上位機接口;
DB5:設備運行時間及流量累計,類型:REAL,與上位機接口;
DB6:報好消息,類型:BOOL,與上位機接口;
DB7:類型:REAL,中間寄存器;
DB8:類型:INT,中間寄存器;
DB9:類型:WORD,中間寄存器;
DB10:類型:BOOL,中間寄存器;
DB11:之後用作與設備通訊用,例如:MODBUS通訊等;
DB100:之後用作調用FB塊時的背景數據塊;
M區:也作為中間變量。
3、 DP從站故障診斷
DP從站做故障診斷,故障報好,用FB125即可。
控制模式
1、 係統設置遠程/本地/手動按鈕
1.1、 遠程:只能通過上位機對係統進行自動啟/停控制,單臺設備就地控制優先,在程控時,可以通過上位機對設備進行軟手操/自動切換,軟手操啟/停;
1.2、 本地:只能通過觸摸屏對係統進行自動啟/停控制,單臺設備就地控制優先,在程控時,可以通過觸摸屏對設備進行軟手操/自動切換,軟手操啟/停;
1.3、 手動:手動控制時,上位機/觸摸屏失效,只能通過手動控制設備的啟/停。
2、 單臺設備控制
單臺設備有軟手操/自動切換以及軟手操時可以啟/停功能,由自動切換到軟手操時,設備不能停機;由軟手操切換到自動時,設備啟/停取決於自動程序。
3、 單臺設備
(泵、風機及其它大型設備)運行滿24小時進行輪換,且有運行時間累計,如果由上位機設定啟/停順序除外,操作人員自行設定;
編程技巧
1、 程序塊盡量細化,方便閱讀,將同一類型的設備控制放在一個程序塊中;
2、 如遇特殊情況下採用語言編程,多數情況下請使用梯形圖編程,方便別人閱讀;
3、 對於經常調用的子程序,可以做成子模塊,頻繁調用,例如:求幾個數平均值或求幾個數的大值;
4、 程序要有注釋,變量及中間變量有描述,方便別人閱讀或以後查閱;
5、 定期做程序備份,好以工程名稱+係統名稱+當天日期;
6、 程序加密,防止別人竊取。
西門子PLC按照控制規模來分類
可以分為大型機、中型機和小型機。
西門子PLCS7-3係列
西門子PLCS7-300係列
小型機:小型機的控制點一般在256點之內,適合於單機控制或小型係統的控制。
西門子小型機有S7-200:處理速度0.8~1.2ms ;存貯器2k ;數字量248點;模擬量35路 。
中型機:中型機的控制點一般不大於2048點,可用於對設備進行直接控制,還可以對多個下一級的可編程序控制器進行監控,它適合中型或大型控制係統。
西門子中型機有S7-300:處理速度0.8~1.2ms ;存貯器2k ;數字量1024點;模擬量128路 ;網絡PROFIBUS;工業以太網;MPI
大型機:大型機的控制點一般大於2048點,不僅能完成較復雜的算術運
西門子PLCS7-400係列
算還能進行復雜的矩陣運算。它不僅可用於對設備進行直接控制,還可以對多個下一級的可編程序控制器進行監控。
西門子大型機有S7-400 :處理速度0.3ms / 1k字;
存貯器512k ;I/O點12672;