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