工控網(wǎng)首頁
>

應(yīng)用設(shè)計(jì)

>

采用串口通信的溫度測(cè)控系統(tǒng)設(shè)計(jì)

采用串口通信的溫度測(cè)控系統(tǒng)設(shè)計(jì)

2004/6/28 11:33:00
前言:在集散控制系統(tǒng)中,實(shí)現(xiàn)被測(cè)控對(duì)象到計(jì)算機(jī)之間的通信是很關(guān)鍵的部分。計(jì)算機(jī)與外部設(shè)備進(jìn)行通信可以用不同接口來實(shí)現(xiàn),常用的是串行接口,網(wǎng)絡(luò)適配器和并行接口。其中串行接口通信技術(shù)已經(jīng)很成熟,該溫度測(cè)控系統(tǒng)的設(shè)計(jì)在考慮實(shí)用,便利和成本的基礎(chǔ)上也選擇了串口來實(shí)現(xiàn)現(xiàn)場(chǎng)溫度數(shù)據(jù)到上位計(jì)算機(jī)的傳送,并通過串行接口實(shí)現(xiàn)對(duì)智能儀表的參數(shù)設(shè)置。在系統(tǒng)設(shè)計(jì)中我們還用到了7520智能通信模塊,并對(duì)其進(jìn)行了簡要技術(shù)說明。本文將從總體上介紹溫度測(cè)控系統(tǒng)的設(shè)計(jì),重點(diǎn)研究討論了串口通信的原理,使用過程中如何用C++ builder編程語言實(shí)現(xiàn)對(duì)LU-902M位式調(diào)節(jié)儀表數(shù)據(jù)的讀寫。 一、系統(tǒng)需求分析、概述、構(gòu)架及模塊要求 1.系統(tǒng)需求分析   溫度測(cè)控系統(tǒng)的設(shè)計(jì)是在以前一小型集散控制系統(tǒng)的基礎(chǔ)上新增的一個(gè)獨(dú)立的溫度測(cè)控系統(tǒng),整個(gè)系統(tǒng)應(yīng)用于微生物反應(yīng)的智能控制中,系統(tǒng)上層由通用計(jì)算機(jī)作集中管理,下層為現(xiàn)場(chǎng)測(cè)控系統(tǒng),由各專用計(jì)算機(jī)(指pH儀、DO儀、變頻器、溫控儀等)及相應(yīng)傳感器和執(zhí)行部件等組成,下層對(duì)單個(gè)微生物反應(yīng)器進(jìn)行全功能控制,上層計(jì)算機(jī)對(duì)多個(gè)微生物反應(yīng)器進(jìn)行監(jiān)控。當(dāng)下層正常運(yùn)行時(shí),對(duì)其控量進(jìn)行相關(guān)修正。當(dāng)下層某專用計(jì)算機(jī)或傳感器出故障時(shí),上層根據(jù)室溫及其他正常參數(shù),直接控制相應(yīng)執(zhí)行部件工作并做出語音提示及燈光報(bào)警。上層計(jì)算機(jī)系統(tǒng)要對(duì)溶氧、pH值、溫度進(jìn)行監(jiān)控并分析做出相應(yīng)的輸出反應(yīng),各種儀器可能存在長期使用而損壞原因,所以采用冗余技術(shù)來提高系統(tǒng)運(yùn)行的可靠性,從而安全可靠的提供微生物良好的生長環(huán)境。上層軟件系統(tǒng)還應(yīng)對(duì)各種采樣的參數(shù)進(jìn)行實(shí)顯示、儲(chǔ)存并打印種各數(shù)據(jù)、圖形和曲線以便管理者進(jìn)行參考改善生產(chǎn)水平。   由于實(shí)際生產(chǎn)需要,在原集散控制系統(tǒng)上新增四個(gè)水箱和四個(gè)罐(水箱通過水流量控制進(jìn)行溫度調(diào)節(jié)、4M^3罐是也是實(shí)際生產(chǎn)需要),溫度測(cè)控系統(tǒng)要能對(duì)連接于這四個(gè)水箱和四個(gè)罐的八個(gè)溫度儀表進(jìn)行數(shù)據(jù)采樣,以及對(duì)儀表參數(shù)進(jìn)行設(shè)置,它是小型集散系統(tǒng)的一部分。分別進(jìn)行溫度的測(cè)控。具體來講,溫度測(cè)控系統(tǒng)應(yīng)完成以下功能: (1)智能儀表的各種參數(shù)。 (2)置智能儀表的各種參數(shù)。 (3)智能儀表的測(cè)量數(shù)據(jù)進(jìn)行采集,并能實(shí)時(shí)、直觀的顯示。 (4)據(jù)用戶報(bào)警參數(shù)的設(shè)置,能分析數(shù)據(jù)并提供相應(yīng)的越上下限報(bào)警和進(jìn)行相應(yīng)的輸出控制。 (5)置數(shù)據(jù)的采樣周期和報(bào)警周期。 2、系統(tǒng)結(jié)構(gòu)分析   在實(shí)際使用中,我們采用pt100溫度傳感器,安東LU-902M智能儀表,和7520專用通信模塊共同構(gòu)建硬件系統(tǒng)。安東儀表是一種智能儀表,能夠通過對(duì)表參數(shù)設(shè)置連接pt100,儀表自帶RS-485接口上接計(jì)算機(jī),由于計(jì)算機(jī)沒有RS-485通信口,所以中間通過7520,7520是一種RS-232與RS-485的智能轉(zhuǎn)換模塊,這樣即可以滿足儀表數(shù)據(jù)到計(jì)算機(jī)的通信,又可以進(jìn)行遠(yuǎn)距離的傳輸。在了解了系統(tǒng)功能規(guī)范和確定了系統(tǒng)與外界的“接口”關(guān)系及形式后和系統(tǒng)硬件的功能,我們可以得到以下系統(tǒng)結(jié)構(gòu)圖-(1):
3、模塊要求及性能分析 3.1安東LU-902M智能儀表簡介:   LU-902M位式調(diào)節(jié)儀通過采用模塊化結(jié)構(gòu)、EMI抑制等多種技術(shù)進(jìn)一步提高儀表的抗干擾能力及整體性能。   LU-902M位式調(diào)節(jié)儀同時(shí)適配各種熱電偶、熱電阻、標(biāo)準(zhǔn)電流及標(biāo)準(zhǔn)電壓輸入信號(hào)。儀表具有光電隔離的主繼電器輸出及報(bào)警繼電器輸出,具有二位式、三位式控制方式。報(bào)警可任意設(shè)定為上限報(bào)警、下限報(bào)警、正偏差報(bào)警或無報(bào)警,在溫度控制場(chǎng)合,報(bào)警輸出常用來作為輔助致冷輸出。   LU-902M位式調(diào)節(jié)儀采用WATCHDOG電路,軟件采用了冗余、陷阱、數(shù)字濾波等技術(shù)。整機(jī)具有很高的可靠性,可工作于惡劣的環(huán)境。 3.2 模塊7520功能簡介: 7520模塊主要是完成RS-232信號(hào)轉(zhuǎn)485信號(hào),技術(shù)參數(shù)表-1:
4、開發(fā)工具選擇及目標(biāo):   本系統(tǒng)軟件基于Mricrosoft windows 2000中文操作平臺(tái),采用集成開發(fā)工具C++builder 6.0開發(fā)。系統(tǒng)軟件開發(fā)致達(dá)到以下目標(biāo): (1)運(yùn)行高效,能很好的滿足用戶所需要的服務(wù)。 (2)界面友好,便于用戶操作。 (3)軟件容易維護(hù),修改。 二、基本通信原理及功能的實(shí)現(xiàn)   計(jì)算機(jī)和外部設(shè)備進(jìn)行通信常通過串口和并口兩種方式,串行通信是在一根傳輸線上一位一位的傳送信息,所用的傳輸線少,并且可以借助現(xiàn)成的電話網(wǎng)進(jìn)行信息傳送,因此,特別適合于遠(yuǎn)距離傳輸。對(duì)于那些與計(jì)算機(jī)相距不遠(yuǎn)的人-機(jī)交換設(shè)備和串行存儲(chǔ)的外部設(shè)備如終端、打印機(jī)、邏輯分析儀、磁盤等,采用串行方式交換數(shù)據(jù)也很普遍。在實(shí)時(shí)控制和管理方面,采用多臺(tái)微機(jī)處理機(jī)組成分級(jí)分布控制系統(tǒng)中,各CPU之間的通信一般都是串行方式。所以串行接口是微機(jī)應(yīng)用系統(tǒng)常用的接口。許多外設(shè)和計(jì)算機(jī)按串行方式進(jìn)行通信,這里所說的串行方式,是指外設(shè)與接口電路之間的信息傳送方式,實(shí)際上,CPU與接口之間仍按并行方式工作。   由于計(jì)算機(jī)是通過串口(9針串口,RS-232協(xié)議)接7520模塊與安東LU-902M位式調(diào)節(jié)儀進(jìn)行連接,而7520無需編程實(shí)現(xiàn),是智能轉(zhuǎn)換模塊,可以實(shí)現(xiàn)雙向傳輸自動(dòng)轉(zhuǎn)換。故此,我們只需要知道計(jì)算機(jī)串口工作原理和LU-902M的通信協(xié)議問題就解決了。在實(shí)現(xiàn)系統(tǒng)軟件時(shí),只要遵守LU-902M調(diào)節(jié)儀的通訊協(xié)議,然后對(duì)串口(RS-232協(xié)議)進(jìn)行相應(yīng)的數(shù)據(jù)格式,握手信號(hào)等串口設(shè)置以滿足通信雙方要求來實(shí)現(xiàn)數(shù)據(jù)的通信功能,同時(shí)也可對(duì)LU-902M進(jìn)行設(shè)置,原則就是雙方協(xié)議一致。 2.1、串行通信的概念   所謂“串行通信”是指外設(shè)和計(jì)算機(jī)間使用一根數(shù)據(jù)信號(hào)線(另外需要地線,可能還需要控制線),數(shù)據(jù)在一根數(shù)據(jù)信號(hào)線上一位一位地進(jìn)行傳輸,每一位數(shù)據(jù)都占據(jù)一個(gè)固定的時(shí)間長度。如圖1-1所示。這種通信方式使用的數(shù)據(jù)線少,在遠(yuǎn)距離通信中可以節(jié)約通信成本,當(dāng)然,其傳輸速度比并行傳輸慢。
  由于CPU與接口之間按并行方式傳輸,接口與外設(shè)之間按串行方式傳輸,因此,在串行接口中,必須要有“接收移位寄存器”(串→并)和“發(fā)送移位寄存器”(并→串)。典型的串行接口的結(jié)構(gòu)如1-2所示。圖1-(3)
  在數(shù)據(jù)輸入過程中,數(shù)據(jù)1位1位地從外設(shè)進(jìn)入接口的“接收移位寄存器”,當(dāng)“接收移位寄存器”中已接收完1個(gè)字符的各位后,數(shù)據(jù)就從“接收移位寄存器”進(jìn)入“數(shù)據(jù)輸入寄存器”。CPU從“數(shù)據(jù)輸入寄存器”中讀取接收到的字符。(并行讀取,即D7~D0同時(shí)被讀至累加器中)?!敖邮找莆患拇嫫鳌钡囊莆凰俣扔伞敖邮諘r(shí)鐘”確定。   在數(shù)據(jù)輸出過程中,CPU把要輸出的字符(并行地)送入“數(shù)據(jù)輸出寄存器”,“數(shù)據(jù)輸出寄存器”的內(nèi)容傳輸?shù)健鞍l(fā)送移位寄存器”,然后由“發(fā)送移位寄存器”移位,把數(shù)據(jù)1位1位地送到外設(shè)?!鞍l(fā)送移位寄存器”的移位速度由“發(fā)送時(shí)鐘”確定。   接口中的“控制寄存器”用來容納CPU送給此接口的各種控制信息,這些控制信息決定接口的工作方式。   “狀態(tài)寄存器”的各位稱為“狀態(tài)位”,每一個(gè)狀態(tài)位都可以用來指示數(shù)據(jù)傳輸過程中的狀態(tài)或某種錯(cuò)誤。例如,用狀態(tài)寄存器的D5位為“1”表示“數(shù)據(jù)輸出寄存器”空,用D0位表示“數(shù)據(jù)輸入寄存器滿”,用D2位表示“奇偶檢驗(yàn)錯(cuò)”等。   串口可以設(shè)置為異步方式通信,也可設(shè)置為同步方式通信。異步通信時(shí),發(fā)送者和接收者之間不需要合作。也就是說發(fā)送者可以在任何時(shí)候發(fā)送數(shù)據(jù),只要被發(fā)送的數(shù)據(jù)已經(jīng)是可以發(fā)送的狀態(tài)的話。接收者只要數(shù)據(jù)到達(dá),就可以接受數(shù)據(jù)。通信雙方以起始位開始。 同步通信則要求通信雙方按照一定的速度進(jìn)行,通信雙方按統(tǒng)一時(shí)間頻率進(jìn)行工作,通信以同步字符開始。   異步通信比較適合不經(jīng)常有大量數(shù)據(jù)據(jù)傳送的設(shè)備。RS-232口就是采用異步通信方式。對(duì)于一次串口通信,一般要設(shè)置波特率,數(shù)據(jù)位(5-8位),停止位(1、1.5、2位)。 2.2 LU-902M位式調(diào)節(jié)儀通訊協(xié)議: (1)通訊規(guī)程   LU-902M采用串行異步通訊,有RS-232C、422A或485通訊接口,本次采用的是RS-232C接口。波特率為1200、2400、4800和9600四檔任選。1個(gè)起始位(第0位),8個(gè)數(shù)據(jù)位(1-8位),1個(gè)尋址/數(shù)據(jù)判別位(第9位),1個(gè)停止位,共11位,數(shù)據(jù)采用16進(jìn)制。 (2)數(shù)據(jù)形式   數(shù)據(jù)采用兩字節(jié)的補(bǔ)碼表示。參數(shù)中有的帶小數(shù)點(diǎn)一位,有點(diǎn)則不帶,在交與用戶使用時(shí),數(shù)據(jù)需要通過編程方法實(shí)現(xiàn)轉(zhuǎn)換。 (3)命令格式 在每一次通訊指令中,儀表最后會(huì)返回信息 4FH 4BH(OK) 表示通訊成功 3FH 3FH(??) 表示通訊失敗 (4)通訊指令   當(dāng)上位機(jī)要對(duì)LU-902M儀表進(jìn)行通訊操作時(shí),應(yīng)先對(duì)儀表發(fā)尋址指令,尋址成功,再發(fā)讀或?qū)懼噶?,尋址指令為單字?jié)指令。第1-8位為地址,第9位為“1”(用檢驗(yàn)位實(shí)現(xiàn))。儀表對(duì)尋址指令與本機(jī)進(jìn)行比較,若是本機(jī)尋址則開啟通訊功能,對(duì)于處于通訊中的儀表,若收到非本機(jī)地址的尋址地址,則關(guān)閉通訊功能。處在通訊功能中的儀表,若收到非尋址指令,則接受命令反回相應(yīng)的數(shù)據(jù),并在最后返回OK字符,若失敗則僅返回??字符。 三、軟件系統(tǒng)設(shè)計(jì) 3.1功能模塊的劃分
3.2實(shí)現(xiàn)關(guān)鍵部分:   用C++builder具體實(shí)現(xiàn)串口的通信,必須掌握C++builder中對(duì)串口操作的方法,每種語言都提供了對(duì)串口讀寫操作,方法一般各有不同,在C++builder中有以下幾種方法可選擇: 3.2.1 以文件方式打開串口:   這里使用的是Win32 API 函數(shù),(在VC下也有這種實(shí)現(xiàn)方式). 具體的函數(shù)的意義可以參考Win32 API 的幫助.這里有一個(gè)易于
投訴建議

提交

查看更多評(píng)論
其他資訊

查看更多

PLC一體機(jī)之EK溫度修正使用技巧

S7-300CPU存儲(chǔ)器介紹及存儲(chǔ)卡使用

0.05級(jí)超高精度互感器

DC-DC轉(zhuǎn)換器(電源模塊)應(yīng)用指南——外接濾波電容選配

施羅德最小流量閥的應(yīng)用范圍及優(yōu)點(diǎn)