PLC 程序設計采用模塊化編程結構,包括: 主程序、定時中斷程序、自動運行子程序和調試子程序。主程序的功能包括: 設置 100 ms 的定時中斷、開/關定時中斷、PI 參數設置( 通過觸摸屏設置) 、集水池液位和排污總管流量的采集并轉化為實際的液位和流量( 顯示在觸摸屏上) 、自動運行子程序和調試子程序的調用以及液位報警等; 定時中斷程序主要實現了對標準化后集水池液位進行 PI 運算,輸出運算結果; 自動運行子程序實現了根據 PI 運算的輸出結果進行反標準化及數據處理,根據預先設計好的分程區間控制污水泵 M1 ~ M3 實現變頻運行等功能; 在調試子程序運行模式下,可以通過控制柜或觸摸屏滑塊分別對污水泵M1 ~ M3 的啟停、調速以及 M4 的工頻啟停控制,PLC程序運行流程圖如圖 4 所示。
根據工藝要求,集水池液位變化范圍為 0 ~ 10 m,要求液位低于 1. 4 m 進行下限報警,液位高于 8. 5 m進行上限報警。將
超聲波液位變送器量程調整為 0 ~ 10 m 對應輸出 4 ~ 20 mA,并線性對應 AIW16 存儲單元中數值 5 530 ~ 27 648。 S7-200 SMART PLC 的 PID 指令要求指定 PID 回路表的回路號和首地址,回路表的首地址一旦確定,則以首地址為起始的連續 80 個字節,以每四個字節作為一個單元就有了固定含義[7]。在本設計中,回路表首地址為 VB100,則 VD100 存放測量值、VD104 存放設定值、VD108 存放 PI 運算結果等,同時在編程中還要注意各個存儲單元的數據格式以及數據范圍。在 PI控制回路中,設置液位設定值為 2 m,對應標準化數值為 0. 2。
將 PLC 的 PI 運算結果反標準化為 0 ~ 27 648后進 行 分 程: 0 ~ 9 216 變 換 為 0 ~ 27 648 傳 送 給AQW16,使該通道輸出0 ~ 10 V DC,對應污水泵 M1 頻率在 0 ~ 50 Hz 變化; 9 216 ~ 18 432 變換為 0 ~ 27 648傳送給 AQW32,使該通道輸出 0 ~ 10 V DC,對應污水泵 M2 頻率在 0 ~ 50 Hz 變化; 18 432 ~ 27 648 變換為0 ~ 27 648 傳送給 AQW34,使該通道輸出 0 ~ 10 V DC,對應污水泵 M3 頻率在 0 ~ 50 Hz 變化,實現了將 PLC的控制作用進行分程,對 3 個污水泵實現分程控制。污水泵分程動作圖如圖 5 所示。 從 VD108 讀取 PI 運算結果后進行數據處理與分程控制程序如圖 6 所示,該程序在自動運行子程序中編寫。在 PLC 程序編寫過程中,有以下幾點需要說明:
( 1) VD112 單元存放比例系數。該值為正,則控制器為反作用; 該值為負,則控制器為正作用。由圖 2可知,當控制器的輸出作用增強時,污水泵的排污量應增加,執行器為正作用; 當操縱變量排污量增加時,被控變量集水池液位降低,被控對象集水池為副作用。根據控制器、執行器、被控對象的正反作用符號相乘為負的判斷規則,控制器應選正作用,比例系數 Kc 設置 為負數。
( 2) AIW16 和 AIW18 通道配置輸入信號為 0 ~ 20 mA,這與讀取
液位變送器和流量變送器的 4 ~ 20 mA模擬量信號不匹配,需通過數據處理,使模擬量輸入通道的 4 mA 與測量下限對應,20 mA 與測量上限對應。
( 3) 手動調試模式可以通過控制柜的旋轉電位器對污水泵進行調速,該功能通過旋轉電位器改變模擬量輸入通道的電壓值在 0 ~ 10 V DC 變化,從而改變通道對應模擬量輸入寄存器中的數值,該數據可以直接傳送到對應模擬量輸出通道實現污水泵的調速。 ( 4) 在 PLC 程序設計中,還要考慮與觸摸屏的通信問題,通過觸摸屏的通道與 PLC 實現交互。