基于PLC的水位測控裝置開發(fā)與應(yīng)用
3.2 編碼器
根據(jù)現(xiàn)場實際需求,編碼器選用現(xiàn)場總線型輸出的多圈絕對值編碼器。
絕對值編碼器由機(jī)械位置確定編碼,每個編碼唯一不重復(fù),它不受停電、干擾的影響,無需記憶,無需找參考點,而且不用一直計數(shù),什么時候需要知道位置,什么時候就去讀取,這樣,編碼器的抗干擾特性、數(shù)據(jù)的可靠性大大提高了。多圈絕對值編碼器另一個優(yōu)點是由于測量范圍大,實際使用往往富余較多,這樣在安裝調(diào)試時不必費勁找零點,將在測量范圍內(nèi)的某一中間位置作為起始點就可以了,從而大大簡化了安裝調(diào)試難度。
編碼器信號輸出主要有并行格雷碼輸出、串行ssi輸出、總線型輸出、模擬量4~20ma輸出。并行格雷碼和模擬量輸出信號讀取簡單但不適合長距離傳輸,串行ssi輸出大部分是與西門子plc的ssi模塊配套成本較高。現(xiàn)場總線型編碼器用通訊方式傳輸信號,信號遵循rs485的物理格式,連接線少,傳輸距離遠(yuǎn),對于編碼器的保護(hù)和可靠性就提高了。信號的接收設(shè)備只需一個接口,就可以讀多個編碼器信號,多個編碼器集中控制的情況下可以大大節(jié)省成本。
3.3 水位測控裝置plc
plc選用m340模塊化plc,它是施耐德公司生產(chǎn)的性能價格比很高的可編程控制器,已廣泛應(yīng)用于工業(yè)控制的各個領(lǐng)域。cpu模塊選用高性能、大內(nèi)存的bmxp34 2020,帶一個100m以太網(wǎng)、一個485串行口;輸入、輸出模塊可根據(jù)現(xiàn)場實際需求靈活配置。
4 軟件設(shè)計
4.1 編程步驟
plc的硬件配置、控制程序采用施奈德的編程軟件包unity pro完成,pc通過網(wǎng)絡(luò)或usb與m340plc進(jìn)行程序傳送。首先進(jìn)行plc硬件組態(tài),含底版、電源、cpu、輸入輸出模塊等。通過電源模塊屬性可查看電源使用情況,應(yīng)保留一定余量,否則需更換容量更大的電源模塊;在cpu模塊的serialport口配置串行鏈路參數(shù)如:485modbus主站、波特率9600、幀延時4ms、數(shù)據(jù)位8位、停止位1位、偶校驗;創(chuàng)建網(wǎng)絡(luò)鏈路ethernet1并配置ip地址等網(wǎng)絡(luò)通信參數(shù),將cpu模塊的ethernet口鏈接到網(wǎng)絡(luò)鏈路ethernet1;根據(jù)現(xiàn)場模擬量信號要求配置模擬量輸出模塊參數(shù);定義相關(guān)變量等。
4.2 plc程序設(shè)計
(1)程序結(jié)構(gòu)。程序采用模塊化設(shè)計,具有較高可讀性、可維護(hù)性其程序結(jié)構(gòu)如圖3所示。
(2)程序注釋。plc上電首次掃描執(zhí)行初始化init()子程序,初始化通信參數(shù),上、下游海拔預(yù)置值,各個傳感器調(diào)零值,攔污柵壓差整定值等。
傳感器通信comm()子程序,分時讀取傳感器水位值,通信故障時水位保持原值。
計算calc()子程序,計算出上、下游,攔污柵后的實際海拔值,攔污柵壓差、各機(jī)組有效水頭等。
信號輸出out()子程序,攔污柵壓差過大報警、通信故障報警、裝置故障報警、4~20ma模擬量輸出等。
數(shù)據(jù)上送sent()子程序,根據(jù)監(jiān)控上位機(jī)通信規(guī)約,組織上送數(shù)據(jù)信文,含各實際海拔值、有效水頭、詳細(xì)故障信息、攔污柵壓差報警定值等。










