国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

利用PowerBuilder實現(xiàn)LIS系統(tǒng)中的串口通訊

2011-10-16 01:51南曉北
赤峰學院學報·自然科學版 2011年11期
關(guān)鍵詞:控件串口端口

南曉北,書 恒

(赤峰學院 醫(yī)學院,內(nèi)蒙古 赤峰 024000)

利用PowerBuilder實現(xiàn)LIS系統(tǒng)中的串口通訊

南曉北,書 恒

(赤峰學院 醫(yī)學院,內(nèi)蒙古 赤峰 024000)

本文介紹了如何使用PowerBuilder中的MSComm控件來實現(xiàn)檢驗儀器與計算機之間的串口通訊.

LIS;MSComm 控件;串口通訊

隨著醫(yī)院信息系統(tǒng)技術(shù)日趨成熟,如今醫(yī)院信息系統(tǒng)在醫(yī)院得到廣泛應用.檢驗信息系統(tǒng)(LIS:Laboratory Information System)是醫(yī)院信息系統(tǒng)中一個較大組成部分.利用計算機對檢驗儀器進行數(shù)據(jù)的自動采集是醫(yī)院檢驗科室信息化建設(shè)中的重要內(nèi)容.串口因其速度快所以是目前檢驗儀器大量采用的一種數(shù)據(jù)傳輸端口.PB(PowerBuilder)工具軟件是Sybase公司開發(fā)的分布式數(shù)據(jù)庫應用程序的前端開發(fā)工具,它以功能強大、使用靈活的數(shù)據(jù)窗口,面向?qū)ο蟮?、具有可視圖形界面的開發(fā)能力等優(yōu)勢,因此深受廣大數(shù)據(jù)庫開發(fā)人員的青睞.目前使用PB作為大型醫(yī)院信息系統(tǒng)前端開發(fā)工具占據(jù)了很大比例,使用PB進行LIS系統(tǒng)串口通訊程序的開發(fā)也是被廣泛應用的一種方式.

1 MSComm控件常用的屬性及通訊方法

在使用PB開發(fā)LIS系統(tǒng)串口通訊程序應首先來了解一下微軟的Microsoft Communications Control(簡稱 MSComm)控件,MSComm 屬于 Windows下串行通訊編程的ActiveX控件,它為應用程序提供了通過串行端口傳輸和接收數(shù)據(jù),為應用程序提供串行通訊功能.

1.1 MSComm控件的常用屬性

CommPort:設(shè)置用戶所選用的通訊端口號.

Settings:以字符串的形式設(shè)置并返回波特率、奇偶校驗、數(shù)據(jù)位、停止位.

PortOpen:設(shè)置通訊端口的狀態(tài),可以打開(值為True)或關(guān)閉端口(值為False).

Input:從接收緩沖區(qū)返回和刪除字符.

Output:向傳輸緩沖區(qū)寫一個字符串.

InBufferSize:設(shè)置或返回接收緩沖區(qū)的大小,缺省為1024字節(jié).

InBufferCount:返回接收緩沖區(qū)內(nèi)的等代讀取的字節(jié)個數(shù),設(shè)屬性為0清除接收緩沖區(qū).

OutBufferSize:設(shè)置或返回發(fā)送緩沖區(qū),缺省為512字節(jié).

OutBufferCounter:返回發(fā)送緩沖區(qū)內(nèi)等待發(fā)送的字符數(shù),可用0來清空緩沖區(qū).

RThreshold:該屬性確定當接收緩沖區(qū)內(nèi)字節(jié)個數(shù)達或超過該值后就產(chǎn)生代碼為ComEventReceive的OnComm事件,設(shè)置位0,則不產(chǎn)生On-Comm事件.

CommEvent:有通訊錯誤或事件發(fā)生時產(chǎn)生OnComm事件,CommEvent事件的值可以用來確定引發(fā)OnComm事件的具體的錯誤或事件常用的有以下幾種

☆ ComEventbreak:接受到中斷信號.

☆ ComEventRxOver:接收緩沖區(qū)溢出.

☆ ComEventTxFull:發(fā)送緩沖區(qū)溢出.

☆ ComEventReceive:接受到規(guī)定的字符數(shù).

☆ InputLen:設(shè)置或返回接收緩沖區(qū)內(nèi)用Input讀入的個數(shù).若取0,則讀取整個緩沖區(qū)的內(nèi)容.

1.2 MSComm控件的通訊方法

MSComm控件在處理串口通訊上有兩種方法:一是事件驅(qū)動法;二是查詢法.這兩種方法各自的特點如下:

(1)事件驅(qū)動法是利用MSComm控件的On-Comm事件捕獲并處理通訊錯誤或事件,是處理串行端口交互作用的一種非常有效的方法.當串口接收到或發(fā)送完指定數(shù)量的數(shù)據(jù)時,或當狀態(tài)發(fā)生改變時,MSComm控件都將觸發(fā)OnComm事件,該事件也可以捕獲通訊中的錯誤.當應用程序捕獲到這些事件后,可通過檢查MSComm控件的CommEvent屬性的值來獲知所發(fā)生的事件或錯誤,從而執(zhí)行相應的處理.這種方法具有相應及時,可靠性高等優(yōu)點.

(2)查詢法是在每個重要的程序之后查詢MSComm控件的某些屬性(比如CommEvent屬性和InBufferCount屬性)的值來檢測事件和通訊錯誤.

2 程序?qū)嵗枋?/h2>

在前面我們對MSComm控件有所了解之后,我們就可以將MSComm控件引入到程序中.整個LIS系統(tǒng)的數(shù)據(jù)流程包括HIS開出檢驗申請信息,LIS主程序讀取數(shù)據(jù),儀器檢驗結(jié)果數(shù)據(jù)通過通訊程序?qū)懭隠IS結(jié)果數(shù)據(jù)表等.本文所要研究的就是儀器檢驗結(jié)果通過通訊程序?qū)懭隠IS結(jié)果數(shù)據(jù)表這一程序?qū)嵗?

第一步:選擇適合的數(shù)據(jù)庫設(shè)計相關(guān)數(shù)據(jù)表(這個主要是根據(jù)使用需要和編程人員的使用習慣)就我看來使用中型數(shù)據(jù)庫如:SQL Server就可以.

第二步:設(shè)計應用程序界面.在這里主要說一下如何插入MSComm控件,在設(shè)計窗口插入MSComm控件的步驟:選中Create OLE Control在Insert Object會話框中選中Insert Control頁卡中的Microsoft Communications Control項,這便完成了添加MSComm控件.如下圖.

第三步:這一步是編寫程序的重點與難點,在完成上面的界面設(shè)計之后我們就要為界面里的控件編寫代碼.在界面設(shè)計時除MSComm控件外還有兩項是必需要設(shè)計的.一個是通訊端口選擇,因為一臺計算機有多個串口(com1,com2,……)如果一臺計算機連接兩臺或更多的儀器時就要憑借通訊端口來區(qū)分數(shù)據(jù)和接收數(shù)據(jù).另一個是通訊參數(shù)配置,檢驗儀器進行數(shù)據(jù)傳輸時會根據(jù)儀器自身的參數(shù)來進行通訊,這些參數(shù)包括:波特率,數(shù)據(jù)位,停止位,校驗位.

接下來我們來重點看一下對MSComm控件相關(guān)事件及相關(guān)函數(shù)的編寫.

2.1 為MSComm控件編寫Oncomm事件

注:代碼中ole_comm_one為MSComm控件的名稱

2.2 f_comm_char_monitor函數(shù)

它的功能是當有字符觸發(fā)則進行接受,代碼如下:

2.3 f_analyse_data函數(shù)

它的功能是分析結(jié)果數(shù)據(jù),分離出工作單號及結(jié)果(在下面代碼中有被注釋的定義參數(shù),把它寫進來是來講述如何使用MSComm控件相關(guān)參數(shù)).

上面描述的是在程序中最為重要的事件及兩個函數(shù),還有其它的細節(jié)(如:建立數(shù)據(jù)窗口向數(shù)據(jù)庫插入檢驗結(jié)果數(shù)據(jù)等等)因其不是實現(xiàn)檢驗儀器與計算機通訊的重點所以在這里不作過多累述.

3 結(jié)論

在編寫LIS通訊程序時除對編程方法熟練外還要對檢驗儀器有基本的認識,最好是能夠掌握其使用方法及檢驗項目的相關(guān)知識.通過上述對MSComm控件使用方法及實例完全可以實現(xiàn)醫(yī)院檢驗科檢驗數(shù)據(jù)的自動采集,也能夠?qū)︶t(yī)院檢驗方面的信息系統(tǒng)建設(shè)起到一定的幫助作用.

〔1〕劉恩博.組態(tài)軟件數(shù)據(jù)采集與串口通信測控應用實戰(zhàn)[M].北京:人民郵電出版社,2010.

〔2〕李朝青.PC機及單片機數(shù)據(jù)通信技術(shù)[M].北京:國防工業(yè)出版社,2002.

〔3〕范逸之.Visual Basic與RS232串行通信控制[M].北京:中國青年出版社,2000.

TP274

A

1673-260X(2011)11-0049-03

猜你喜歡
控件串口端口
一種端口故障的解決方案
淺談AB PLC串口跟RFID傳感器的通訊應用
關(guān)于.net控件數(shù)組的探討
端口阻塞與優(yōu)先級
數(shù)字電源內(nèi)部數(shù)據(jù)傳輸?shù)拇谕ㄐ欧椒▽崿F(xiàn)
USB接口的多串口數(shù)據(jù)并行接收方法探索
基于藍牙串口適配器的GPS接收機與AutoCAD的實時無線通信
8端口IO-Link參考設(shè)計套件加快開發(fā)速度
ASP.NET服務器端驗證控件的使用
衛(wèi)星三端口DC-DC變換器技術(shù)綜述