《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于USB與RS485總線的監(jiān)控系統(tǒng)設計
基于USB與RS485總線的監(jiān)控系統(tǒng)設計
摘要: 為了有效地實現(xiàn)對生產(chǎn)線上各個分區(qū)儀表數(shù)據(jù)的實時監(jiān)測及遠程控制,,采用BorlandC++Builder6,通過USB轉(zhuǎn)RS485協(xié)議轉(zhuǎn)換器,,設計了PID調(diào)節(jié)儀表在線集中監(jiān)控系統(tǒng)。主要包括:鋼制品生產(chǎn)線上罩式爐設備的溫度監(jiān)測系統(tǒng),,數(shù)據(jù)庫系統(tǒng),以及PID調(diào)節(jié)儀表的讀寫數(shù)據(jù)系統(tǒng)。
Abstract:
Key words :
  1引言

  為了有效地實現(xiàn)對生產(chǎn)線上各個分區(qū)儀表數(shù)據(jù)的實時監(jiān)測及遠程控制,,采用BorlandC++Builder6,通過USB轉(zhuǎn)RS485協(xié)議轉(zhuǎn)換器,,設計了PID調(diào)節(jié)儀表在線集中監(jiān)控系統(tǒng)。主要包括:鋼制品生產(chǎn)線上罩式爐設備的溫度監(jiān)測系統(tǒng),,數(shù)據(jù)庫系統(tǒng),,以及PID調(diào)節(jié)儀表的讀寫數(shù)據(jù)系統(tǒng)。

  2監(jiān)控系統(tǒng)總體結(jié)構(gòu)

  監(jiān)控系統(tǒng)采用RS485總線結(jié)構(gòu),,通過USB轉(zhuǎn)RS485協(xié)議轉(zhuǎn)換器實現(xiàn)上位機與PID調(diào)節(jié)儀表的網(wǎng)絡通信,。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)

圖1監(jiān)控系統(tǒng)總體結(jié)構(gòu)

  3監(jiān)控系統(tǒng)硬件設計

  3.1自整定專家PID調(diào)節(jié)儀表

  自整定專家PID調(diào)節(jié)儀表具備100~240VAC寬范圍輸入的開關電源,,輸入采用數(shù)字校正及自校準技術,,測量精確穩(wěn)定,消除溫漂和時漂引起的測量誤差,。儀表全面采用表面貼裝工藝,,并采用多重保護和隔離設計,抗干擾能力強,、可靠性好,。

  儀表采用先進的專家PID智能調(diào)節(jié)算法,控制精確穩(wěn)定,,無超調(diào),,具備高精度的自整定(AT)功能。

  儀表輸出采用模塊化硬件結(jié)構(gòu)設計,,可通過更換不同的功能模塊實現(xiàn)多種控制方式,。PID控制輸出可選擇4mA~20mA電流、(1V~5V電壓),、SSR驅(qū)動,、單相/三相SCR過零觸發(fā)和單相SCR移相觸發(fā)等多種方式,另有兩路報警輸出功能,,還可選配變送輸出,,或標準通訊接口(RS485或RS232)。

  儀表具有多類型輸入功能,,一臺儀表可以配接不同的輸入信號(熱電偶/熱電阻/線性電壓/線性電流/線性電阻),,大大減少了備表的數(shù)量。其適用范圍非常廣泛,,可與各類傳感器,、變送器配合使用,實現(xiàn)對溫度,、壓力,、液位、容量,、力等物理量的測量和顯示,,并配合各種執(zhí)行器對電加熱設備和電磁、電動閥門進行PID調(diào)節(jié)和控制,、報警控制,、數(shù)據(jù)采集和記錄。

  3.2USB轉(zhuǎn)RS485協(xié)議轉(zhuǎn)換器

  USB轉(zhuǎn)RS485協(xié)議轉(zhuǎn)換器是一款即插即用型的協(xié)議轉(zhuǎn)換器,,完全兼容USB(UniversalSerialBus)Rev:2.0;支持任何波特率,、數(shù)據(jù)位、停止位,、數(shù)據(jù)收發(fā)時間間隔等參數(shù),,是一款自適應的協(xié)議轉(zhuǎn)換器。

  支持RS-232/485界面,,2Mbps以上數(shù)據(jù)傳輸速率,。

  支持自動握手協(xié)議;支持遠程喚醒和電源管理;支持USB總線直接取電,無需外接電源(DC5V);驅(qū)動程序分二次確認,,第一次為芯片驅(qū)動,,第二次為I/O端口驅(qū)動,為同一目錄下的驅(qū)動程序即可完成,。

  4監(jiān)控系統(tǒng)的軟件設計

  監(jiān)控系統(tǒng)的軟件系統(tǒng)采用BorlandC++Builder6設計開發(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)線上罩式爐設備的溫度監(jiān)測系統(tǒng),,數(shù)據(jù)庫系統(tǒng),,以及PID調(diào)節(jié)儀表的讀寫數(shù)據(jù)系統(tǒng)。

  4.1Modbus通信

  標準的Modbus口是使用與RS-232C兼容的串行接口,,它定義了連接口的針腳,、電纜、信號位,、傳輸波特率,、奇偶校驗,。控制器能直接或經(jīng)由Modem組網(wǎng),。

  控制器通信使用主-從技術,,即主設備能初始化傳輸(查詢)。從設備根據(jù)主設備查詢提供的數(shù)據(jù)作出相應反應,。無論主設備查詢還是從設備響應,,每個Modbus幀都包括地址域、功能域,、數(shù)據(jù)域,、錯誤檢測域。Modbus通信有兩種模式:ASCII模式和RTU模式,。相對于ASCII模式,,RTU模式在同樣的波特率下,可比ASCII模式傳送更多的數(shù)據(jù),。

  使用RTU模式,,消息發(fā)送至少要以3.5個字符時間的停頓間隔開始。整個消息幀必須作為連續(xù)的流傳輸,。如果在幀完成之前有超過1.5個字符的停頓時間,,接收設備將刷新不完整的消息并假定下一個字節(jié)是一個新消息的地址域。同樣的,,如果一個新消息在小于3.5個字符時間內(nèi)接著前個消息開始,,接收的設備將認為它是前一個消息的延續(xù)。這將導致一個錯誤,,因為在最后的CRC域的值不可能是正確的,。一個典型的消息幀如表1所示。

  表1RTU消息幀

表1 RTU消息幀

  PID調(diào)節(jié)儀表采用Modbus-RTU模式進行上位機通訊,,協(xié)議格式為:8個數(shù)據(jù)位,、1個停止位、無校驗位,,發(fā)送接收數(shù)據(jù)都是以十六進制格式進行,。

  發(fā)送數(shù)據(jù)格式如表2所示。

  表2發(fā)送數(shù)據(jù)格式

表2 發(fā)送數(shù)據(jù)格式

  其中,,參數(shù)的通訊地址用一個字節(jié)表示時,,對應A2位置,A1默認為00H;03,、04指令均為讀命令,,其中04對應讀取的數(shù)據(jù)不可寫入,03與06指令對應參數(shù)地址,,一個讀取,、一個寫入;A1,、A2與A3、A4組成兩個雙字節(jié)的數(shù)據(jù),,CRC校驗碼是一個雙字節(jié)數(shù)據(jù),,所有的數(shù)據(jù)都是高位在前,低位在后;03,、04指令讀取數(shù)據(jù)時,,A1,、A2為開始讀取的地址,,A3、A4為連續(xù)讀取數(shù)據(jù)的個數(shù);06指令中,,A1,、A2需要寫入數(shù)據(jù)的地址,A3,、A4表示要寫入的數(shù)據(jù),。

  返回數(shù)據(jù)格式,06指令寫入數(shù)據(jù)時,,發(fā)送與返回的數(shù)據(jù)一致;03,、04指令返回數(shù)據(jù)格式如表3所示,其中返回數(shù)據(jù)字節(jié)數(shù)為:N×2,。

  表3返回數(shù)據(jù)格式

表3 返回數(shù)據(jù)格式

  4.2溫度監(jiān)測系統(tǒng)

  溫度監(jiān)測系統(tǒng)采用BorlandC++Builder6設計開發(fā),,主要涉及Chart、Timer,、SPComm,、MainMenu等控件的使用。系統(tǒng)程序設計主要包括:采樣程序,,數(shù)據(jù)保存程序,,備份歷史數(shù)據(jù)程序等。溫度監(jiān)測系統(tǒng)主要流程如圖2所示,。

圖2 監(jiān)測系統(tǒng)主要流程圖

圖2監(jiān)測系統(tǒng)主要流程圖

  4.3數(shù)據(jù)庫系統(tǒng)

  啟動數(shù)據(jù)庫系統(tǒng)程序,,首先選擇相應的數(shù)據(jù)庫文件,將會顯示對應的數(shù)據(jù)庫信息,,如圖3所示,。數(shù)據(jù)庫系統(tǒng)主要包括兩種數(shù)據(jù)檢索方式:方式1,通過選定檢索日期進行檢索;方式2,設置卷號,按卷號檢索,。通過數(shù)據(jù)庫系統(tǒng),,可以很方便地實現(xiàn)對歷史數(shù)據(jù)的瀏覽與查詢。

圖3 數(shù)據(jù)庫系統(tǒng)

圖3數(shù)據(jù)庫系統(tǒng)

  4.4PID調(diào)節(jié)儀表的讀寫數(shù)據(jù)系統(tǒng)

  PID調(diào)節(jié)儀表的讀寫數(shù)據(jù)系統(tǒng)主要包括三部分功能:寫入儀表前的數(shù)據(jù)設置功能,,數(shù)據(jù)寫入儀表功能和讀取儀表數(shù)據(jù)功能,。

  圖4為數(shù)據(jù)寫入儀表程序主流程圖,。其中數(shù)據(jù)設置功能主要通過兩個途徑實現(xiàn):途徑1,添加系統(tǒng)的配置設置文件“MControlini”,通過對配置設置文件中溫度和時間參數(shù)的設置與修改,,實現(xiàn)數(shù)據(jù)寫入儀表前的設置操作;途徑2,啟動讀寫數(shù)據(jù)系統(tǒng)程序,,選擇相應的數(shù)據(jù)庫文件,系統(tǒng)程序會自動關聯(lián)數(shù)據(jù)庫文件中設置的分區(qū)儀表總數(shù),,通過對每個分區(qū)各個曲線段溫度與時間參數(shù)的修改與設置,,實現(xiàn)數(shù)據(jù)寫入儀表前的設置操作。其中,,途徑2在設置數(shù)據(jù)時,,可以對輸入數(shù)據(jù)的格式及大小進行判斷,而且重新設置的數(shù)據(jù)狀態(tài)變化將會實時對應地顯示在界面對應的曲線段中,。

圖4 數(shù)據(jù)寫入儀表程序主流程圖

圖4數(shù)據(jù)寫入儀表程序主流程圖

  圖5為讀取儀表數(shù)據(jù)程序主流程圖,。通過對系統(tǒng)讀取的儀表數(shù)據(jù)與系統(tǒng)配置文件中的參數(shù)作對比分析,判斷儀表數(shù)據(jù)與系統(tǒng)配置文件數(shù)據(jù)是否一致,。

圖5 讀取儀表數(shù)據(jù)程序主流程圖

圖5讀取儀表數(shù)據(jù)程序主流程圖

  若“是”,,表明系統(tǒng)設置的參數(shù)與儀表數(shù)據(jù)具有很好的一致性,終止讀取程序;若“否”,,則執(zhí)行程序的下一步操作:“配置文件數(shù)據(jù)寫入儀表”,,或者“配置文件數(shù)據(jù)更新為儀表數(shù)據(jù)”。通過讀取儀表數(shù)據(jù)程序,,系統(tǒng)很好地實現(xiàn)了配置文件數(shù)據(jù)與儀表數(shù)據(jù)的一致性,。

  5結(jié)束語

  基于RS485總線結(jié)構(gòu),通過Modbus協(xié)議,,采用BorlandC++Builder6設計的監(jiān)控系統(tǒng),,很好地實現(xiàn)了對生產(chǎn)線上各個分區(qū)儀表的實時監(jiān)測和遠程控制。



 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉(zhuǎn)載,。