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