色夜影院Iav高清一区I久草在线观看资源I00av视频I国产在线观看avI九九九在线I国产香蕉97碰碰久久人人I成人在线观看免费视频

行業動態

當前位置:首頁>>新聞中心>>行業動態 發布時間:2017-09-21 07:09:57

淺談多線程串口DLL在汽車衡稱重軟件中的應用

時間:2017-09-21 07:09:57 來源:本站 點擊數:751

介紹了在C++builder環境中編寫DLL,封裝稱重儀表通訊協議。

汽車衡稱重管理軟件中經常要讀寫串口。 由于不同廠家的儀表,通訊協議往往不同,因此在具 體應用時有諸多不便。本文介紹了使用C++builder 編寫DLL,封裝稱重儀表的通訊協議并給出主要代 碼。這種方法符合OIMLD- SW中,將軟件部件之間 隔離的標準。

 Win16 中,可以利用 OpenCcmmCloseComm WriteComm等函數打開、關閉和讀寫串口。但在 Win32中,串口和其他通信設備均被作為文件處理, 串口的打開、關閉和讀寫等操作所用的API函數與 操作文件的函數相同??赏ㄟ^CreateFile函數打開 串口,通過CloseFile函數關閉串口,通過Comm- PropDCB 結構、GetCommProperties、SetCommProp- erties、GetCommState  SetCommState 等函數設置串 口狀態,通過函數ReadFileWritFile讀寫串口。

采用C++builder進行串口編程,可以很方便的 編譯DLL。而且可以利用它提供的線程類,使DLL 使用多線程,減少資源的占用。本文將以D2002C/EXK3190A9表為例,介 紹編寫多線程串口 DLL的過程。

//C++builder工程向導,創建一個DLL工程

//定義相關變量如下

char InBuff[100]; //數據接收緩沖區

HANDLEhComm = NULL; //  口句柄

AnsiStringtemp="0M; //儀表重量臨時值

COMMTIMEOUTS ctmoNew = {0},ctmoOld; //超時

設置

AnsiString ybtype=""; //儀表類型

// 聲明外部調用接口函數

//打開串口

//參數1:串口號,如Coml,Com2 //參數2:串口設置字符串:"9600,n,8,1" extern "C" —declspec ( dllexport) long —stdcall OpenPort char *ComNochar *comset);

//ReadPort函數取重量,參數是儀表類型字符串 "D2002E","XK3190A9"

extern "C" —declspec ( dllexport) char* —stdcall ReadPort char * yibiao);

//關閉串口

extern "C" __declspec ( dllexport) long __stdcall ClosePor(t ) ;

//

為了減少讀串口函數占用系統資源問題,采用 多線程來解決,TformThread為自定義線程類,它繼 承父類TThread

class TFormThread: public TThread{ public: / User declarations __fastcall TFormThread( bool CreateSuspended) ; void __fastcall Execute( void);

};

__fastcall TFormThread: TFormThread ( bool Cre- ateSuspended) :TThread( CreateSuspended) { CreateSuspended=true;

};

在讀串口線程中,分別處理儀表的通訊協議,儀 表類型由ReadPort函數的參數送入。 void __fastcall TFormThread::Execute( void) {/讀線程 DWORD dwBytesRead; while( !Terminated)

{

ReadFile ( hComm, InBuff, 50, &dw- BytesRead, NULL);

if ybtype=="D2002E") // ——儀表 1 {

//此處處理D2002E儀表協議 PurgeCommi hComm, PURGE_RXCLr

EAR);

}

else

InBuff[dwBytesRead]=0; if ybtype=="XK3190A9") //…儀表 2 {

//此處處理XK3190儀表協議 PurgeComm( hComm, PURGE_RX-

CLEAR) ;

}

else//…沒有找到相應的儀表類型 InBuff[dwBytesRead]=0;

Purg eComm ( hComm, PURGE_RX-

CLEAR) ;

}

}

TFormThread*readport; //聲明線程對象指針

// 外部接口函數的定義

打開串口,并設置串口相關參數。

long —stdcall OpenPor( char *ComNo, char *comset)

//打開串口 {

DCB dcbCommPort;

本文采用同步方式打開串口,通過修改參數也可以 用異步方式打開串口。

hComm=CreateFile ComNo, GENERIC_READ|GENER-

IC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);

i(f hComm==INVALID_HANDLE_VALUE) return 0;

設置超時

GetCommTimeout( hComm, &ctmoOld); ctmoNew. ReadTotalTimeoutConstant = 100; ctmoNew. ReadTotalTimeoutMultiplier = 0; ctmoNew.WriteTotalTimeoutMultiplier = 0; ctmoNew.WriteTotalTimeoutConstant = 0; SetCommTimeout( hComm, &ctmoNew); dcbCommPort. DCBlength = sizeof DCB);

GetCommState hComm, &dcbCommPort); BuildCommDCB( comset, &dcbCommPort) ; SetCommState hComm, &dcbCommPort); readport=newTFormThread true) ; // 創建線程實例 readport- >Priority=tpNormal; //線程優先級 readport- >Resume( ) ; //喚醒線程 return 1;

}

讀取重量函數

char * —stdcall ReadPort char * yibiao)

{

ybtype=yibiao; //儀表類型

returntemp.c_str ) ; //將重量作為字符串返回

}

當應用程序中不再使用時,應將串口設備關閉, 時關閉線程,停止取數。

long __stdcall ClosePor(t )

i(f hComm)

{

PurgeComn( hComm,PURGE_RXABORT); //清空節收緩沖區

SetCommTimeout( hComm,&ctmoOld); CloseHandle hComm) ; // 關閉串口 readport- >Terminate( ) ; //結束線程 hComm=0;

}

return 0;

}

將工程名稱命名為D2002E,編譯后將在當前 目錄下生成存D2002E.dll文件。我們在編寫稱重軟 件時,可以調用這個函數庫。

VB中調用如下:

Private Declare Function OpenPort Lib "D2002E.dll" (ByVal a As StringByVal setstr As String) As Long Private Declare Function ReadPort Lib "D2002E.dll" ( ByVal b As String) As String Private Declare Function ClosePort Lib "D2002E.dll" ( ) As Long

在打開串口后,用時鐘循環讀取儀表的當前重量。 Private Sub Timer1_Timer )

DoEvents

zhong = ReadPort Combol .Text) // 取重量,參數 為儀表類型:如"D2002E","XK3190A9" Labell.Caption = zhong

End Sub

運行后情況如下:

云網客1.jpg

云網客2.jpg

在易語言中調用如下:

 上述程序修改后,也可工作在指令模式下,如XK3190A9系列儀表,有兩種數據傳送方式:

種是連續傳送tF=0),一種是指令傳送tF=1)。此 時需要在DLL程序中處理串口寫函數WriteFile (hCom&order,lenght&kNULL),第 二個參數為儀

表指令,第三個參數為指令長度。發送完指令后,立 即讀取結果。

而且,當使用RS485-232轉換器,將電腦和數 字傳感器連接起來時,可以通過擴充上述程序,將標 定、調角差等過程封裝成DLL給客戶調用。其目的 是方便用戶進行軟件功能的二次開發。

 

 


亚洲高清国产视频 | 久久成人国产精品一区二区 | 亚洲国产欧洲综合997久久, | 色综合久久88色综合天天人守婷 | 久久伦理电影网 | 97国产精品 | 这里只有精品视频在线 | 最近日本中文字幕 | 亚洲码国产日韩欧美高潮在线播放 | 亚洲国产精久久久久久久 | 亚洲成人黄色av | 麻豆免费在线视频 | 91在线成人 | 亚洲视频 在线观看 | 天天干天天色2020 | 久久人人爽视频 | 91av在线播放视频 | 97在线观看免费高清 | 欧美一级免费 | 亚洲欧美一区二区三区孕妇写真 | 久久精品aaa | 99免费精品 | 午夜久久美女 | 毛片一级免费一级 | 久久精品亚洲精品国产欧美 | 免费看的黄色小视频 | 国产99久久久久 | 亚洲视频精品在线 | 日韩一区精品 | 五月婷婷毛片 | 国产精品一区二区久久精品爱涩 | 成人网在线免费视频 | 国产成人专区 | 中文在线字幕观看电影 | 狠狠干2018| 青青草久草在线 | 中文字幕美女免费在线 | wwwww.国产 | 国产精品久久久久久久久大全 | 国产精品一区免费看8c0m | 亚洲欧洲一区二区在线观看 | 免费日韩视频 | 日韩字幕| 永久精品视频 | 91精品国产九九九久久久亚洲 | 中文视频在线 | 国产精品99页 | 麻豆高清免费国产一区 | 91成年人视频 | 久久久精品国产一区二区三区 | 黄色亚洲精品 | 青青河边草免费观看 | 久久久国产精品人人片99精片欧美一 | 免费男女羞羞的视频网站中文字幕 | 日本久久成人中文字幕电影 | 麻豆影视网站 | 天天插视频| 97人人看 | 69精品久久 | 91av电影| 2021国产在线视频 | 午夜久久影院 | 国产在线高清精品 | 久久精品人 | 亚洲精品网站在线 | 亚洲色图美腿丝袜 | 日韩精品一区二区免费视频 | 国产91亚洲 | 综合久久一本 | 亚洲一级二级 | 97在线观看免费视频 | 亚洲精品久久久久www | 国产视频精选在线 | 亚洲精品国产精品乱码在线观看 | 操操操av | 18性欧美xxxⅹ性满足 | 精品久久久久久综合 | 2021国产视频| 国产亚洲精品免费 | 国产福利免费看 | 亚洲国产精品久久久 | 黄色成年片 | 国产无套精品久久久久久 | 亚洲日本黄色 | 久久黄色美女 | 国产午夜激情视频 | 一级特黄aaa大片在线观看 | 久久天天拍 | 夜又临在线观看 | 国产精品免费av | 在线一级片 | 中文字幕久久网 | 精品国产伦一区二区三区观看说明 | 9999免费视频 | 97视频久久久 | 欧美日韩一区二区免费在线观看 | 国产一区二区精品 | 国产精华国产精品 | 色综合久久中文字幕综合网 | 99r在线| 国产精品原创在线 | 久草9视频 | 5月丁香婷婷综合 | 免费日韩视 | 在线观看的av | 99国产成+人+综合+亚洲 欧美 | 日韩在线电影一区二区 | 蜜桃视频成人在线观看 | 中文字幕在线观看不卡 | 日本中文字幕在线观看 | av天天色 | 国产视频99 | 中文字幕文字幕一区二区 | 亚洲精品乱码久久久久久按摩 | av中文字幕网站 | 久久精品91视频 | 久久97久久97精品免视看 | 日韩在线视频免费播放 | 精品91久久久久 | 婷婷六月久久 | 麻豆影视网站 | 欧美日韩成人 | 国产精品视频最多的网站 | 999成人 | 亚洲美女视频在线观看 | 亚洲精品网页 | 亚洲精品久久久久久中文传媒 | 天天爱天天操天天爽 | 丁香国产视频 | 国产在线免费观看 | 国产精品久久久久久久久婷婷 | 国产无套视频 | 色视频在线观看免费 | 精品国产一区二区三区久久影院 | 中文国产字幕 | 四虎最新域名 | 久久精品欧美一区二区三区麻豆 | 国产录像在线观看 | 中文字幕国语官网在线视频 | 天天操天 | 激情五月看片 | 91九色网站 | 久久福利在线 | 中文字幕av一区二区三区四区 | 欧美在线视频一区二区 | 91成人精品在线 | 久久精品专区 | 一级电影免费在线观看 | 欧美一级片免费在线观看 | 久久天堂亚洲 | 五月婷婷在线观看 | 中文字幕有码在线观看 | 99久久久国产精品免费99 | 在线观看中文字幕一区二区 | 欧洲激情综合 | 一区二区av | 黄色成年 | 91视频免费看片 | 黄色大片视频网站 | 国产精品久久久久久久久毛片 | 久久伊人爱 | 久久草网站 | 伊人超碰在线 | av在线播放快速免费阴 | 丁香婷婷成人 | 免费日韩视 | 黄色www| 亚洲资源在线观看 | 日日草视频 | 久草爱视频 | 国产日韩欧美在线观看视频 | 91在线中文字幕 | 日韩av电影免费在线观看 | 中文字幕在线观看网 | 国产精品一区二区久久 | 久久久99精品免费观看app | 日韩电影在线观看中文字幕 | 在线视频免费观看 | 中文字幕一二三区 | 国内精品久久久久影院优 | 中文字幕高清在线 | 婷婷av网| 国产三级午夜理伦三级 | 免费在线成人 | 91精品国产99久久久久 | 欧美地下肉体性派对 | 亚洲乱码在线 | 国产美女免费看 | 国产精品国产精品 | 日韩一区二区三 | a在线观看视频 | 一区二区三区视频 | 欧美日韩不卡在线视频 | 久久久免费看视频 | 日本三级在线观看中文字 | 国产精品2020 | 久操视频在线观看 | 不卡电影一区二区三区 | 日韩高清免费在线观看 | 欧美综合在线视频 | 国产在线观看你懂得 | 欧美日韩高清一区二区 国产亚洲免费看 | 又色又爽的网站 | 在线免费看片 | 深爱激情亚洲 | 九九在线免费视频 | 日韩 在线观看 | 日韩欧美xxxx| 欧美成人h版电影 | 69视频在线| 中文字幕在线播出 | 蜜臀一区二区三区精品免费视频 | 成人网在线免费视频 | 黄色性av| .精品久久久麻豆国产精品 亚洲va欧美 | 国产高清第一页 | 久久免费激情视频 | 久久久九色精品国产一区二区三区 | 亚洲国产免费看 | 免费观看国产视频 | a视频在线| 亚洲欧洲xxxx | 色婷婷色| 国产一区欧美在线 | 国产免费一区二区三区最新 | 97超碰色 | 国产高清不卡 | 99欧美精品 | 久久免费毛片 | 人人狠狠综合久久亚洲婷 | 香蕉在线播放 | 国产尤物在线观看 | 超碰97人人在线 | 国产69精品久久久久久久久久 | 亚洲香蕉在线观看 | 99久久久久 | 久久精品网站免费观看 | 国产精品久久久久久久99 | 亚洲综合精品视频 | 天天摸天天操天天爽 | 久久免费精品视频 | 亚洲三区在线 | 五月婷婷激情网 | 三级小视频在线观看 | 超碰人人91 | 日韩欧美在线高清 | 免费激情在线电影 | 在线有码中文 | 欧美人人爱 | 91视频在线 | 中文字幕第一 | 亚洲国产日韩在线 | 国产成人精品在线播放 | 亚洲精品国产电影 | 欧美国产日韩在线观看 | 亚洲日本激情 | 国产黄色精品在线 | 麻花天美星空视频 | 久久看片网 | 天天干 天天摸 天天操 | 最近最新中文字幕视频 | 久草电影免费在线观看 | 天天干天天在线 | 国产原创av在线 | 国产精品色婷婷视频 | 97在线观看视频免费 | 激情影音| 我爱av激情网 | 中文字幕一区二区三区视频 | 国产乱视频 | 欧美aa一级 | 国产剧情一区在线 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 超碰在线中文字幕 | 美女视频黄网站 | 久久艹99| 日本三级久久久 | 色姑娘综合天天 | 国产福利av在线 | 午夜精品视频一区 | 欧美ⅹxxxxxx| 国产一区黄色 | 亚洲精品玖玖玖av在线看 | 99久久精品网 | 国产在线欧美在线 | 亚洲精品乱码久久久久久9色 | 精品久久久久久亚洲 | 98超碰在线观看 | 激情综合六月 | 男女免费视频观看 | 久久久久久久久电影 | 国产在线精品区 | 国内精品在线一区 | 日韩精品视频在线免费观看 | 中文字幕在线看视频国产中文版 | 99久久精品免费看国产四区 | 欧美性大战 | jizz999| 91视频观看免费 | 九草在线观看 | 日韩精品免费一区二区 | 丁香婷婷综合色啪 | 精品国产免费人成在线观看 | 丁香婷婷深情五月亚洲 | 91九色在线视频 | 精品免费久久久久 | 丁香5月婷婷久久 | 丁香婷婷综合激情五月色 | 久久不射电影院 | 午夜体验区 | 在线观看日本韩国电影 | 97视频精品 | 91麻豆国产福利在线观看 | 在线观看国产麻豆 | 天天射天天射天天 | 日韩av网页 | 精品视频在线视频 | 国产亚洲婷婷免费 | av中文字幕在线免费观看 | 91视频链接 | 免费www视频 | 91精品蜜桃 | 国产一区在线观看免费 | 91看片一区二区三区 | 性色av免费在线观看 | 久久手机免费观看 | 色香天天 | 国产一级视频免费看 | 国产精品久久久av | 天天躁日日躁狠狠躁 | www.色婷婷 | 99精品黄色片免费大全 | 国产精品久久一卡二卡 | 91视频 - 114av | 激情欧美xxxx| 婷婷丁香激情综合 | 国产精品免费在线播放 | 久久成人人人人精品欧 | 日本少妇久久久 | 久久精品韩国 | 91九色国产在线 | 999男人的天堂 | 国产亚洲精品久久久久久 | 国产精品一区二区av |