色夜影院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給客戶調用。其目的 是方便用戶進行軟件功能的二次開發。

 

 


美女精品久久久 | 天堂av在线中文在线 | 97视频人人| 久久a v视频 | 西西大胆免费视频 | 四虎成人免费观看 | 免费网站污| 米奇狠狠狠888 | 国产男女免费完整视频 | 在线国产能看的 | 久久国产精品第一页 | 国产美女网站视频 | 97超碰中文字幕 | 久久黄色影院 | 中文字幕中文字幕在线中文字幕三区 | 91精彩在线视频 | 91探花系列在线播放 | 99久久99久久精品 | 久久久久免费 | 国产成人一区二区三区 | 日韩va在线观看 | 99视频偷窥在线精品国自产拍 | 日韩午夜三级 | 成人午夜剧场在线观看 | 美女视频免费一区二区 | 欧美日韩一区二区在线观看 | 综合婷婷| 日批视频在线观看免费 | 亚洲精区二区三区四区麻豆 | 网址你懂的在线观看 | 国产91aaa| 天天操天天操天天操天天操 | 欧美狠狠色| 欧美精品中文字幕亚洲专区 | 国产毛片aaa| 天天av天天 | 免费观看第二部31集 | 中文字幕最新精品 | 久久麻豆视频 | 国产精品欧美久久久久三级 | 久久在线免费观看视频 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 日本在线观看黄色 | 91大神一区二区三区 | 国产福利在线 | 色综合久久88色综合天天 | 一区 二区电影免费在线观看 | 在线国产黄色 | 日本三级香港三级人妇99 | 91精品麻豆 | 国产免费一区二区三区最新 | 婷婷在线五月 | 91网免费看| 天堂在线一区二区三区 | 国产原创在线观看 | 天天干视频在线 | 九九热免费在线视频 | 色干综合| 国产一级片在线播放 | 久久理论电影 | av福利电影 | 在线观看视频一区二区三区 | 中文字幕电影在线 | 69av视频在线| 欧美精品在线观看一区 | 日本中文字幕视频 | 狠狠色噜噜狠狠狠合久 | 国产又粗又猛又爽 | 日韩三区在线 | 久免费| 成人啪啪18免费游戏链接 | 亚洲精品久久久蜜臀下载官网 | 国产国产人免费人成免费视频 | 三上悠亚在线免费 | 伊人日日干 | 色婷婷综合久久久久中文字幕1 | av电影在线观看 | 97色资源| 色噜噜狠狠狠狠色综合久不 | 免费人做人爱www的视 | 99热免费在线 | 日韩欧美视频在线观看免费 | 国产日韩三级 | 狠狠色伊人亚洲综合网站野外 | 午夜精品久久久久久久久久久久久久 | 人人爽人人爽人人爽学生一级 | 国产在线高清视频 | 91精品无人成人www | 亚洲欧洲精品一区二区精品久久久 | 天天操狠狠操 | 日韩有码中文字幕在线 | 日韩色视频在线观看 | 日韩xxxx视频 | 亚洲免费成人av电影 | 99热在线国产 | 日韩亚洲在线视频 | 欧美日韩一区二区视频在线观看 | 欧美日韩激情视频8区 | 婷婷色在线视频 | 日韩亚洲在线观看 | 亚洲精品综合欧美二区变态 | 国产精品久久久久久久久免费 | 亚洲伊人色 | 亚洲va综合va国产va中文 | 天天干天天天天 | av电影中文字幕在线观看 | 国产精品视频专区 | 夜夜爽天天爽 | 国产尤物在线 | 91久久爱热色涩涩 | 国产精品免费视频一区二区 | 日韩精品视频在线免费观看 | 色婷婷福利 | 久操视频在线 | 四虎影视成人精品国库在线观看 | 天天在线视频色 | 国产精品一区在线观看你懂的 | 九九久久精品 | 视频在线日韩 | 中文在线 | 久久久久久久综合色一本 | 国产又粗又硬又长又爽的视频 | 亚洲小视频在线观看 | 久久激情电影 | 天天在线视频色 | 色小说av| 精品在线99 | 9999激情 | 色香蕉在线 | 69久久99精品久久久久婷婷 | 精品国产91亚洲一区二区三区www | 国产精品中文字幕在线观看 | 五月天婷婷在线播放 | 国产视频日韩视频欧美视频 | 婷婷久久综合九色综合 | 91麻豆精品国产91久久久更新时间 | 99热精品久久 | 免费色视频 | www天天干| 少妇视频在线播放 | 日韩欧美高清在线观看 | 色婷婷一区 | 黄色av电影免费观看 | 天天综合日 | 亚洲伊人av | 国产午夜精品理论片在线 | 国产色网| 91高清完整版在线观看 | 亚洲无线视频 | 日本视频不卡 | 日本99干网| 日韩精品一区二区三区不卡 | 中文永久字幕 | 精品一区二区免费视频 | 99热超碰在线 | 五月婷婷影院 | 丝袜制服综合网 | 久久久久久毛片 | 日韩精品字幕 | 99草视频| 搡bbbb搡bbb视频 | 麻豆视频免费在线播放 | 色资源网在线观看 | 成人免费在线视频观看 | 久久精品99国产精品 | 永久av免费在线观看 | 精品国产伦一区二区三区 | 欧美 亚洲 另类 激情 另类 | 丝袜美女视频网站 | 久久久久久久久久网 | 一区二区三区手机在线观看 | 日日精品 | 91精品色 | 日日干,天天干 | 99麻豆久久久国产精品免费 | 午夜精品视频免费在线观看 | 开心激情婷婷 | 亚洲精品高清在线观看 | 丁香 婷婷 激情 | 成年人在线免费看视频 | 91视频久久久| 久av电影| 丁香婷婷久久 | 成人资源在线播放 | 久久久久久免费网 | 欧美一级黄色网 | 亚洲黄色成人网 | 久久国产精品视频免费看 | 久草在线在线视频 | 欧美日韩亚洲第一页 | 久久a热6| 国产精品视频专区 | 黄色成人毛片 | 98久9在线 | 免费 | av在线播放观看 | 日韩免费播放 | 久久久精品久久日韩一区综合 | 人人澡人摸人人添学生av | 久久与婷婷 | 激情狠狠干 | 国产日产高清dvd碟片 | 欧美日韩激情网 | 91在线日本| 色婷婷久久 | 免费观看午夜视频 | 二区三区精品 | 丁香婷婷久久 | 欧美日韩国产精品一区二区 | av中文字幕在线免费观看 | 久久tv视频 | 天天操天天色天天射 | 国产成人精品久久二区二区 | 欧美福利视频一区 | www蜜桃视频 | 婷婷av网站| 99精品国产aⅴ | 精品国产不卡 | 福利一区二区 | 日韩av免费观看网站 | 国产在线观看污片 | 一区二区三区在线播放 | 五月激情综合婷婷 | 日本护士撒尿xxxx18 | 91男人影院 | 亚洲精品资源 | 国产精品一二三 | 久久久人人人 | 中文字幕网址 | 色视频网站在线观看一=区 a视频免费在线观看 | 麻豆传媒视频在线 | 在线观看中文字幕网站 | 96在线| 成年一级片 | 91精品亚洲影视在线观看 | 91精品国产欧美一区二区成人 | 国产视频久久久久 | 美女黄视频免费 | 狠狠插狠狠干 | www.夜夜爽 | 国产精品 日韩 | 精品国产亚洲一区二区麻豆 | 亚洲精品视频中文字幕 | 蜜桃视频成人在线观看 | 婷婷伊人综合亚洲综合网 | 福利网址在线观看 | av软件在线观看 | 香蕉视频在线免费看 | 国产精品自产拍在线观看中文 | 日韩在线电影一区二区 | 国内精品久久久久影院一蜜桃 | 亚洲视频综合在线 | 久久久国内精品 | 欧美最爽乱淫视频播放 | 黄色在线观看污 | 精品99999 | 国产高清视频色在线www | 亚洲粉嫩av | 国产视频在线观看一区二区 | 日本在线观看中文字幕无线观看 | 99久久er热在这里只有精品15 | 亚洲天堂网在线播放 | 免费在线观看91 | 日韩理论影院 | 四虎精品成人免费网站 | 国产精品久久久久一区 | 五月婷婷另类国产 | 九九色网| 精品美女在线视频 | 丁香花在线观看免费完整版视频 | 最新一区二区三区 | 91视频免费看 | 久草网在线观看 | 亚洲丝袜一区 | 日韩欧美精品在线视频 | 国产福利网站 | 日韩色视频在线观看 | 国产精品综合在线观看 | 狠狠操夜夜操 | 久久精品看片 | av高清网站在线观看 | av免费电影网站 | 久久久久久久久久久久电影 | 日韩成人免费电影 | 99一级片 | 91精品国产成 | 亚洲免费一级 | 夜添久久精品亚洲国产精品 | 日韩中文字幕电影 | 国产精品久久久99 | 国产精品福利在线观看 | 综合色婷婷 | 99久久99久久精品国产片果冰 | 国产午夜麻豆影院在线观看 | 日本免费久久高清视频 | www.伊人网 | 亚洲日韩中文字幕在线播放 | 超碰人人超 | 天天干夜夜 | 日韩欧美在线中文字幕 | 91精品久久久久久久久久入口 | 黄色av一级 | 日韩精品久久一区二区 | 天天干天天操天天干 | 伊人伊成久久人综合网站 | 亚洲欧洲精品一区二区精品久久久 | 国产成人av一区二区三区在线观看 | 人人看人人艹 | 操操操日日日 | 夜夜澡人模人人添人人看 | 97成人在线观看 | 视频一区视频二区在线观看 | 亚洲一一在线 | 亚洲一级电影 | 国产精品第7页 | 欧美一区中文字幕 | 免费麻豆网站 | 亚洲一级免费观看 | 日韩三区在线观看 | 国产手机在线播放 | 天天干天天操天天操 | 欧美日一级片 | 96精品高清视频在线观看软件特色 | 亚洲永久精品视频 | 国产午夜精品久久久久久久久久 | 国产高清在线观看 | 成人av电影免费在线播放 | 波多野结衣理论片 | 日本一区二区免费在线观看 | 日b视频国产 | 超碰在线91 | 很黄很黄的网站免费的 | 天天操狠狠操网站 | av免费观看网站 | 91在线porny国产在线看 | 美女网站黄免费 | 色婷婷免费视频 | 日韩理论电影在线 | 成人久久免费 | 国产精品完整版 | 婷婷九月丁香 | 欧美在线视频精品 | 四虎影视久久久 | 天天射天天干天天操 | 久久午夜国产 |