當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]摘要:串行通訊是測(cè)試儀器必備的工業(yè)口,為了能更好的利用測(cè)試儀器的擴(kuò)展功能,通過使用Delphi的第三方串行通訊組件,來實(shí)現(xiàn)PC機(jī)軟件與測(cè)試儀器的串行通訊,進(jìn)而對(duì)測(cè)試儀器的擴(kuò)展功能得以利用,使測(cè)試人員通過簡(jiǎn)單的

摘要:串行通訊是測(cè)試儀器必備的工業(yè)口,為了能更好的利用測(cè)試儀器的擴(kuò)展功能,通過使用Delphi的第三方串行通訊組件,來實(shí)現(xiàn)PC機(jī)軟件與測(cè)試儀器的串行通訊,進(jìn)而對(duì)測(cè)試儀器的擴(kuò)展功能得以利用,使測(cè)試人員通過簡(jiǎn)單的界面操作和數(shù)據(jù)設(shè)置就能對(duì)測(cè)試儀器進(jìn)行操作,免去了解儀器復(fù)雜操作的環(huán)節(jié),同時(shí)也能實(shí)現(xiàn)對(duì)相關(guān)測(cè)試數(shù)據(jù)的電子處理和保存。
關(guān)鍵詞:Delphi;串行通訊;數(shù)字電橋儀器;CommDriver組件

    在測(cè)試儀器不斷日新月異的當(dāng)今,工業(yè)接口(串行口)卻是測(cè)試儀器必備的,利用工業(yè)接口快速開發(fā)出適合自己的PC上位機(jī)軟件,對(duì)于開發(fā)測(cè)試儀器的擴(kuò)展功能、實(shí)現(xiàn)儀器的智能控制和數(shù)據(jù)電子化有明顯的實(shí)際應(yīng)用意義。

1 數(shù)字電橋儀器與軟件開發(fā)工具
1.1 數(shù)字電橋簡(jiǎn)介
    TH2817數(shù)字電橋儀器介紹是一種高精度、寬測(cè)試范圍的阻抗測(cè)量?jī)x器,可通過RS232C接口為儀器與計(jì)算機(jī)聯(lián)網(wǎng)通訊。
1.2 開發(fā)工具介紹
    DelDhi是Windows平臺(tái)下著名的快速應(yīng)用程序開發(fā)工具(Rapid Application Development,簡(jiǎn)稱RAD)。它的前身,即是DOS時(shí)代盛行一時(shí)的“Borland Turbo Pascal”,最早的版本由美國Borlancl(寶蘭)公司于1995年開發(fā)。主創(chuàng)者為AndersHejlsberg。經(jīng)過數(shù)年的發(fā)展,此產(chǎn)品也轉(zhuǎn)移至Embarcadero公司旗下。Delphi是一個(gè)集成開發(fā)環(huán)境(IDE),使用的核心是由傳統(tǒng)Pascal語言發(fā)展而來的Object Pascal,以圖形用戶界面為開發(fā)環(huán)境,透過IDE、VCL工具與編譯器,配合連結(jié)數(shù)據(jù)庫的功能,構(gòu)成一個(gè)以面向?qū)ο蟪绦蛟O(shè)計(jì)為中心的應(yīng)用程序開發(fā)工具。對(duì)于工業(yè)口的開發(fā)可以利用其封裝好的控制組件來完成,不僅節(jié)省了開發(fā)時(shí)間,也能很好的得到支持服務(wù),而其成熟的IDE對(duì)于界面化的開發(fā)也能起到加速作用。

2 軟件開發(fā)
2.1 軟件實(shí)現(xiàn)功能及數(shù)字電橋儀器串行數(shù)據(jù)格式
    為了簡(jiǎn)化復(fù)雜的儀器操作,實(shí)現(xiàn)儀器測(cè)試信息的集中自動(dòng)化管理,利用PC上位機(jī)通用、高速的軟件編程能力來實(shí)現(xiàn)。通過RS232C可實(shí)現(xiàn)對(duì)儀器的測(cè)試設(shè)置,顯示設(shè)置,打印設(shè)置,并能接收來自儀器的測(cè)試信息,擴(kuò)展儀器功能。
    數(shù)字電橋儀器的串行通訊數(shù)據(jù)格式:發(fā)送數(shù)據(jù)格式包括了43個(gè)字節(jié)的信息,其中1-2字節(jié)為起始識(shí)別信息,中間字節(jié)信息均為儀器的測(cè)量數(shù)據(jù)信息,第43個(gè)字節(jié)為結(jié)束字符,也即在PC端接收數(shù)據(jù)時(shí),每幀數(shù)據(jù)包括43個(gè)字節(jié)。接收數(shù)據(jù)格式包括了2個(gè)起始字符1個(gè)接收字符及2-9個(gè)字符的設(shè)置命令。
2.2 PC軟件設(shè)計(jì)
    PC軟件設(shè)計(jì)的初衷就是為了簡(jiǎn)單快捷的通過PC機(jī)實(shí)現(xiàn)對(duì)數(shù)字電橋儀器的控制,并能實(shí)現(xiàn)其結(jié)果的電子存檔?;诖薖C需要實(shí)現(xiàn)接收數(shù)字電橋的串行口數(shù)據(jù),并能向串行口發(fā)送控制命令(數(shù)據(jù)),并能實(shí)現(xiàn)將數(shù)字電橋儀器的串行數(shù)據(jù)結(jié)果進(jìn)行保存的打印。所以整個(gè)軟件的核心在于其串行數(shù)據(jù)的接收及發(fā)送。
2.2.1 Windows硬件訪問機(jī)制
    Windows操作系統(tǒng)的機(jī)制禁止應(yīng)用程序直接訪問硬件,但它提供了豐富的API函數(shù),可以支持大多數(shù)的硬件和協(xié)議,并隱藏了許多底層的處理,為編程人員編制程序提供了方便,免除了編程人員對(duì)有關(guān)硬件的調(diào)試麻煩。但是利用API進(jìn)行串口通訊編程較為復(fù)雜,需要掌握大量的通訊知識(shí),相比較下利用組件進(jìn)行程序開發(fā)則較為方便。而大多數(shù)開發(fā)語言的編程環(huán)境均支持組件,Delphi亦是如此。
    Delphi的串口通訊需要利用第三方開發(fā)的組件,使用免費(fèi)的組件CommDriver,其包含了串口通訊需求的基本操作。
2.2.2 開發(fā)步驟
    1)需要利用組件對(duì)串行口的基本參數(shù)進(jìn)行設(shè)置,這些參數(shù)的設(shè)置均可以通過組件的屬性進(jìn)行設(shè)置:ComPort為串口號(hào)設(shè)置,此組件僅支持4個(gè)串口號(hào)的設(shè)置,而這在一般的應(yīng)用中足夠了,這一屬性設(shè)置可以通過選擇列表進(jìn)行設(shè)置;ComPortDataBit用于設(shè)置數(shù)據(jù)位數(shù),根據(jù)測(cè)試儀器的通訊設(shè)置進(jìn)行選擇,一般應(yīng)用中使用8 bit;ComPortSpeed用于設(shè)置波特率;ComPortParity用于設(shè)置校驗(yàn)位;ComPortStopBit用于設(shè)置停止位。這些參數(shù)需要根據(jù)測(cè)試儀器情況,設(shè)置成與之相對(duì)應(yīng)的數(shù)據(jù),而其他參數(shù)可以使用默認(rèn)設(shè)置等。由于開發(fā)的針對(duì)性以及儀器本身設(shè)置的固有屬性,所以這些基本參數(shù)無需作為軟件使用用戶的設(shè)置項(xiàng)出現(xiàn),可直接設(shè)定好固化在軟件中。
    2)采用如下步驟進(jìn)行串口數(shù)據(jù)的接收和發(fā)送:
    ①利用組件的Connect事件打開串口通訊;
    ②進(jìn)行數(shù)據(jù)的接收和發(fā)送,CommDriver接收數(shù)據(jù)是通過ReceiveData事件執(zhí)行的,當(dāng)接收到數(shù)據(jù)后需要將其進(jìn)行緩存,通過對(duì)緩存的數(shù)據(jù)進(jìn)行分析處理來實(shí)現(xiàn)對(duì)儀器的數(shù)據(jù)解析,發(fā)送數(shù)據(jù)通過SendData事件來完成;
    ③使用組件的DisConnect事件來關(guān)閉串口。
    然后,再根據(jù)用戶的操作習(xí)慣進(jìn)行相關(guān)的界面的編程即可實(shí)現(xiàn)對(duì)測(cè)試儀器的訪問。
2.3 程序主要源代碼
    接收串行數(shù)據(jù)源碼:利用串行組件的接收事件(Receive Data)來處理串行口的數(shù)據(jù)接收。


    串行口接收數(shù)據(jù)處理源碼(部分):
    為了保證儀器串口發(fā)送的數(shù)據(jù)能及時(shí)得到PC的響應(yīng)處理,將通過組件接收的存放在緩沖區(qū)中的數(shù)據(jù),按照測(cè)試儀器的發(fā)送時(shí)間要求,將其在定時(shí)器事件中進(jìn)行處理。

    儀器參數(shù)設(shè)置源碼(部分):這部分代碼是向儀器寫控制參數(shù),可以通過菜單或者按鈕來實(shí)現(xiàn)。
   
   
2.4 軟件實(shí)現(xiàn)后的界面



3 結(jié)束語
    利用第3方控件進(jìn)行串行通訊的PC軟件開發(fā),不僅縮短了編程人員的開發(fā)時(shí)間,而且也利于軟件的調(diào)試、維護(hù),開發(fā)者僅需了解基本的通訊知識(shí),通過簡(jiǎn)單的代碼編程設(shè)囂即可完成相關(guān)功能。同時(shí),用戶通過軟件操作可以省去復(fù)雜的儀器設(shè)置操作,也為測(cè)試儀器的有效利用以及測(cè)量數(shù)據(jù)的電子化提供了便利。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉