2 監(jiān)控系統(tǒng)總體結(jié)構(gòu)
監(jiān)控系統(tǒng)采用RS485總線結(jié)構(gòu), 通過U SB 轉(zhuǎn)RS485協(xié)議轉(zhuǎn)換器實現(xiàn)上位機與PID 調(diào)節(jié)儀表的網(wǎng)絡(luò)通信。RS485總線的特點是實施簡單方便, 通過RS- 485可以聯(lián)網(wǎng)構(gòu)成分布式系統(tǒng), 其允許最多并聯(lián)32臺驅(qū)動器和32臺接收器, 完全可以滿足生產(chǎn)現(xiàn)場配備多個PID調(diào)節(jié)儀表的組網(wǎng)需要。
圖1 監(jiān)控系統(tǒng)總體結(jié)構(gòu)
3 監(jiān)控系統(tǒng)硬件設(shè)計
3. 1 自整定專家PID調(diào)節(jié)儀表
自整定專家PID 調(diào)節(jié)儀表具備100 ~ 240VAC寬范圍輸入的開關(guān)電源, 輸入采用數(shù)字校正及自校準(zhǔn)技術(shù), 測量精確穩(wěn)定, 消除溫漂和時漂引起的測量誤差。儀表全面采用表面貼裝工藝, 并采用多重保護和隔離設(shè)計, 抗干擾能力強、可靠性好。
儀表采用先進的專家PID 智能調(diào)節(jié)算法, 控制精確穩(wěn)定, 無超調(diào), 具備高精度的自整定( AT )功能。
儀表輸出采用模塊化硬件結(jié)構(gòu)設(shè)計, 可通過更換不同的功能模塊實現(xiàn)多種控制方式。PID控制輸出可選擇4mA ~ 20mA電流、( 1V ~ 5V電壓)、SSR驅(qū)動、單相/三相SCR過零觸發(fā)和單相SCR移相觸發(fā)等多種方式, 另有兩路報警輸出功能, 還可選配變送輸出, 或標(biāo)準(zhǔn)通訊接口( RS485或RS232)。
儀表具有多類型輸入功能, 一臺儀表可以配接不同的輸入信號(熱電偶/熱電阻/線性電壓/線性電流/線性電阻), 大大減少了備表的數(shù)量。其適用范圍非常廣泛, 可與各類傳感器、變送器配合使用, 實現(xiàn)對溫度、壓力、液位、容量、力等物理量的測量和顯示,并配合各種執(zhí)行器對電加熱設(shè)備和電磁、電動閥門進行PID 調(diào)節(jié)和控制、報警控制、數(shù)據(jù)采集和記錄。
3. 2 USB轉(zhuǎn)RS485協(xié)議轉(zhuǎn)換器
USB 轉(zhuǎn)RS485 協(xié)議轉(zhuǎn)換器是一款即插即用型的協(xié)議轉(zhuǎn)換器, 完全兼容U SB ( Universal Seria l Bus)Rev: 2. 0; 支持任何波特率、數(shù)據(jù)位、停止位、數(shù)據(jù)收發(fā)時間間隔等參數(shù), 是一款自適應(yīng)的協(xié)議轉(zhuǎn)換器。
支持RS- 232 /485界面, 2Mbps以上數(shù)據(jù)傳輸速率。
支持自動握手協(xié)議; 支持遠程喚醒和電源管理; 支持USB總線直接取電, 無需外接電源( DC 5V) ; 驅(qū)動程序分二次確認(rèn), 第一次為芯片驅(qū)動, 第二次為I /O 端口驅(qū)動, 為同一目錄下的驅(qū)動程序即可完成。
4 監(jiān)控系統(tǒng)的軟件設(shè)計
監(jiān)控系統(tǒng)的軟件系統(tǒng)采用Borland C++ Builder 6設(shè)計開發(fā), 通過其功能強大的圖形化控制界面, 及SPComm控件在串行口下編程, 采用Modbus協(xié)議,通過USB 轉(zhuǎn)RS485協(xié)議轉(zhuǎn)換器, 很好地實現(xiàn)了上位機與PID調(diào)節(jié)儀表的通訊功能, 從而可以方便的通過對上位機監(jiān)控系統(tǒng)界面的操作, 實現(xiàn)對生產(chǎn)線上各個分區(qū)儀表的參數(shù)監(jiān)測與遠程操作控制。
該軟件系統(tǒng)主要包括三部分: 鋼制品生產(chǎn)線上罩式爐設(shè)備的溫度監(jiān)測系統(tǒng), 數(shù)據(jù)庫系統(tǒng), 以及PID調(diào)節(jié)儀表的讀寫數(shù)據(jù)系統(tǒng)。
4. 1 Modbus通信
標(biāo)準(zhǔn)的Modbus口是使用與RS - 232C 兼容的串行接口, 它定義了連接口的針腳、電纜、信號位、傳輸波特率、奇偶校驗??刂破髂苤苯踊蚪?jīng)由Modem組網(wǎng)。
控制器通信使用主- 從技術(shù), 即主設(shè)備能初始化傳輸(查詢)。從設(shè)備根據(jù)主設(shè)備查詢提供的數(shù)據(jù)作出相應(yīng)反應(yīng)。無論主設(shè)備查詢還是從設(shè)備響應(yīng), 每個Modbus幀都包括地址域、功能域、數(shù)據(jù)域、錯誤檢測域。Modbus通信有兩種模式: ASC II模式和RTU 模式。相對于ASC II模式, RTU 模式在同樣的波特率下, 可比ASCII模式傳送更多的數(shù)據(jù)。
使用RTU模式, 消息發(fā)送至少要以3. 5個字符時間的停頓間隔開始。整個消息幀必須作為連續(xù)的流傳輸。如果在幀完成之前有超過1. 5個字符的停頓時間, 接收設(shè)備將刷新不完整的消息并假定下一個字節(jié)是一個新消息的地址域。同樣的, 如果一個新消息在小于3. 5個字符時間內(nèi)接著前個消息開始, 接收的設(shè)備將認(rèn)為它是前一個消息的延續(xù)。這將導(dǎo)致一個錯誤, 因為在最后的CRC 域的值不可能是正確的。一個典型的消息幀如表1所示。
表1 RTU消息幀
PID 調(diào)節(jié)儀表采用Modbus- RTU 模式進行上位機通訊, 協(xié)議格式為: 8個數(shù)據(jù)位、1個停止位、無校驗位, 發(fā)送接收數(shù)據(jù)都是以十六進制格式進行。
發(fā)送數(shù)據(jù)格式如表2所示。
表2 發(fā)送數(shù)據(jù)格式
其中, 參數(shù)的通訊地址用一個字節(jié)表示時, 對應(yīng)A2位置, A1默認(rèn)為00H; 03、04指令均為讀命令, 其中04對應(yīng)讀取的數(shù)據(jù)不可寫入, 03與06 指令對應(yīng)參數(shù)地址, 一個讀取、一個寫入; A1、A2與A3、A4組成兩個雙字節(jié)的數(shù)據(jù), CRC 校驗碼是一個雙字節(jié)數(shù)據(jù), 所有的數(shù)據(jù)都是高位在前, 低位在后; 03、04指令讀取數(shù)據(jù)時, A 1、A2 為開始讀取的地址, A3、A4為連續(xù)讀取數(shù)據(jù)的個數(shù); 06指令中, A1、A2需要寫入數(shù)據(jù)的地址, A3、A 4表示要寫入的數(shù)據(jù)。
返回數(shù)據(jù)格式, 06 指令寫入數(shù)據(jù)時, 發(fā)送與返回的數(shù)據(jù)一致; 03、04指令返回數(shù)據(jù)格式如表3 所示, 其中返回數(shù)據(jù)字節(jié)數(shù)為: N × 2。
表3 返回數(shù)據(jù)格式
4. 2 溫度監(jiān)測系統(tǒng)
溫度監(jiān)測系統(tǒng)采用Borland C ++ Builder 6設(shè)計開發(fā), 主要涉及Chart、T imer、SPComm、Ma inM enu等控件的使用。系統(tǒng)程序設(shè)計主要包括: 采樣程序, 數(shù)據(jù)保存程序, 備份歷史數(shù)據(jù)程序等。溫度監(jiān)測系統(tǒng)主要流程如圖2所示。
圖2 監(jiān)測系統(tǒng)主要流程圖
4. 3 數(shù)據(jù)庫系統(tǒng)
啟動數(shù)據(jù)庫系統(tǒng)程序, 首先選擇相應(yīng)的數(shù)據(jù)庫文件, 將會顯示對應(yīng)的數(shù)據(jù)庫信息, 如圖3所示。數(shù)據(jù)庫系統(tǒng)主要包括兩種數(shù)據(jù)檢索方式: 方式1, 通過選定檢索日期進行檢索; 方式2, 設(shè)置卷號, 按卷號檢索。通過數(shù)據(jù)庫系統(tǒng), 可以很方便地實現(xiàn)對歷史數(shù)據(jù)的瀏覽與查詢。
圖3 數(shù)據(jù)庫系統(tǒng)
關(guān)鍵字:RS485總線 監(jiān)控系統(tǒng)
4. 4 PID調(diào)節(jié)儀表的讀寫數(shù)據(jù)系統(tǒng)
PID調(diào)節(jié)儀表的讀寫數(shù)據(jù)系統(tǒng)主要包括三部分功能: 寫入儀表前的數(shù)據(jù)設(shè)置功能, 數(shù)據(jù)寫入儀表功能和讀取儀表數(shù)據(jù)功能。
圖4為數(shù)據(jù)寫入儀表程序主流程圖。其中數(shù)據(jù)設(shè)置功能主要通過兩個途徑實現(xiàn): 途徑1, 添加系統(tǒng)的配置設(shè)置文件“MControlini”, 通過對配置設(shè)置文件中溫度和時間參數(shù)的設(shè)置與修改, 實現(xiàn)數(shù)據(jù)寫入儀表前的設(shè)置操作; 途徑2, 啟動讀寫數(shù)據(jù)系統(tǒng)程序, 選擇相應(yīng)的數(shù)據(jù)庫文件, 系統(tǒng)程序會自動關(guān)聯(lián)數(shù)據(jù)庫文件中設(shè)置的分區(qū)儀表總數(shù), 通過對每個分區(qū)各個曲線段溫度與時間參數(shù)的修改與設(shè)置, 實現(xiàn)數(shù)據(jù)寫入儀表前的設(shè)置操作。其中, 途徑2在設(shè)置數(shù)據(jù)時, 可以對輸入數(shù)據(jù)的格式及大小進行判斷, 而且重新設(shè)置的數(shù)據(jù)狀態(tài)變化將會實時對應(yīng)地顯示在界面對應(yīng)的曲線段中。
圖4 數(shù)據(jù)寫入儀表程序主流程圖
圖5為讀取儀表數(shù)據(jù)程序主流程圖。通過對系統(tǒng)讀取的儀表數(shù)據(jù)與系統(tǒng)配置文件中的參數(shù)作對比分析, 判斷儀表數(shù)據(jù)與系統(tǒng)配置文件數(shù)據(jù)是否一致。
圖5 讀取儀表數(shù)據(jù)程序主流程圖
若“是”, 表明系統(tǒng)設(shè)置的參數(shù)與儀表數(shù)據(jù)具有很好的一致性, 終止讀取程序; 若“否”, 則執(zhí)行程序的下一步操作:“配置文件數(shù)據(jù)寫入儀表”, 或者“配置文件數(shù)據(jù)更新為儀表數(shù)據(jù)”。通過讀取儀表數(shù)據(jù)程序, 系統(tǒng)很好地實現(xiàn)了配置文件數(shù)據(jù)與儀表數(shù)據(jù)的一致性。
5 結(jié)束語
通過RS485總線構(gòu)成的分布式系統(tǒng), 可以滿足多個PID調(diào)節(jié)儀表的組網(wǎng)需求?;赗S485 總線結(jié)構(gòu), 通過Modbus協(xié)議, 采用Borland C + + Bu ilder6設(shè)計的監(jiān)控系統(tǒng), 很好地實現(xiàn)了對生產(chǎn)線上各個分區(qū)儀表的實時監(jiān)測和遠程控制, 為相關(guān)企業(yè)生產(chǎn)帶來了很好的實際效益, 節(jié)省了一定的人力資源和生產(chǎn)成本, 具有一定的現(xiàn)實意義。