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