91视频下载I色噜噜av中文无码I91高清免费看I日韩在线99I玖色网I久久精品66I精品99又大又爽又硬少妇毛片I成人黄在线I先锋资源男人网站中文I91久热I99人久久精品视频最新地址Ieeuss久久I成人片在线播放I欧美tk丨vk视频I夜夜久久AVI日韩人妻无码一区二区三区99I一区二区视频免费在线观看I国产第一页精品

行業動態

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

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

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

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

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

 Win16 中,可以利用 OpenCcmmCloseComm WriteComm等函數打開、關閉和讀寫串口。但在 Win32中,串口和其他通信設備均被作為文件處理, 串口的打開、關閉和讀寫等操作所用的API函數與 操作文件的函數相同。可通過CreateFile函數打開 串口,通過CloseFile函數關閉串口,通過Comm- PropDCB 結構、GetCommPropertiesSetCommProp- ertiesGetCommState  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:串口號,如ComlCom2 //參數2:串口設置字符串:"9600n81" 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( hCommPURGE_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&orderlenght&kNULL),第 二個參數為儀

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

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

 

 


a毛片在线 | 国产精品永久在线观看 | 日韩精美视频 | 西西人体做爰大胆gogo直播 | 国产精品自拍偷拍视频 | 亚洲天堂女人 | 一级人爱视频 | 高h捆绑拘束调教小说 | 小日子的在线观看免费第8集 | 污片在线看 | 国产网站久久 | 人妻互换免费中文字幕 | 91桃色视频 | 我的公把我弄高潮了视频 | 熟妇人妻无乱码中文字幕真矢织江 | 911亚洲精品 | 亚洲毛片精品 | 男女性生活视频网站 | 久久久久久久免费 | 色婷婷一区 | 亚洲精品成人区在线观看 | 色综合色综合色综合 | 亚洲琪琪 | 公肉吊粗大爽色翁浪妇视频 | 深夜免费福利 | 成人免费午夜 | 伊人午夜 | 麻豆最新| 91精彩刺激对白 | 日日操日日碰 | 黑森林av| 网友自拍一区 | 欧美bbw视频 | 国产日韩欧美激情 | 人妻少妇偷人精品久久久任期 | 男ji大巴进入女人的视频 | 中文字幕av一区二区三区 | 婷婷午夜影院 | 蜜臀av一区二区三区激情综合 | 亚洲国产精品欧美久久 | 国产第一页在线 | 91九色蝌蚪porny | 欧美精品久久久久久久久老牛影院 | 我要看免费毛片 | 国产精品高清在线 | 加勒比综合在线 | 免费欧美黄色片 | 亚洲熟妇无码av在线播放 | 成人在线观看91 | 日韩综合网 | 美女一区二区三区视频 | 日韩不卡视频一区二区 | 国产黄色片在线 | 奇米影视大全 | 国产精品一区二区免费视频 | 欧美激情一区二区三区免费观看 | 97精品国产97久久久久久春色 | 黄色国产在线 | 精品黄色一级片 | 日批免费观看 | 嫩草视频一区二区三区 | av三级在线播放 | 国产日韩第一页 | 国产任你操 | 日韩视频免费观看高清完整版在线观看 | 亚洲在线一区二区 | 亚洲欧美视频二区 | 麻豆私人影院 | 亚洲免费观看视频 | 欧美 日韩 国产一区 | 久久9精品区-无套内射无码 | 亚洲中文字幕第一区 | 国产毛片毛片 | 亚洲一区网站 | 国产精品久久久无码一区 | 亚洲无码乱码精品国产 | 国产成人91精品 | av片免费| 亚洲AV成人无码精电影在线 | 人妻熟女一区二区aⅴ水野 欧美视频第一区 | 麻豆国产一区二区三区四区 | 三点尽露的大尺度国产 | 太久av| 交专区videossex农村 | 污污免费在线观看 | 黄色片在线观看免费 | aaa久久| 久久精品牌麻豆国产大山 | 国产情侣av在线 | 风韵少妇spa私密视频 | 亚洲综合图色40p | 国产精品无码在线 | 欧美精品免费一区二区三区 | 狠狠插视频 | 久久久久久久久久综合 | 一级黄色片免费播放 | 女人和拘做爰正片视频 | 天天爱夜夜操 | 天天综合天天色 | 久久超碰精品 | 999精彩视频| 亚洲自拍偷拍第一页 | 日本美女动态 | 免费观看av | av啊啊 | 91美女视频网站 | 99久久久无码国产 | 天堂av官网 | 日韩一区二区免费看 | 国产自产在线 | 蜜桃av噜噜一区二区三区 | 色妞欧美 | 潘金莲三级野外 | 午夜精品久久久久久久四虎美女版 | 女同性αv亚洲女同志 | 精品无码人妻少妇久久久久久 | 成人av免费观看 | 天天操天 | 亚洲国产无线乱码在线观看 | 91成年视频 | 久久www视频 | 性xxxxxxxxx| 亚洲一区二区动漫 | a在线免费观看 | 久久乐av | 日韩亚洲一区二区三区 | 亚洲人成电影在线播放 | 女人张开腿让男人桶爽 | 琪琪色av| 麻豆911| 欧美黑人性xxx猛交 成年人在线播放视频 | 99久久精品久久久久久清纯 | 日韩理论在线观看 | 日本第一页 | 91精品视频免费在线观看 | 亚洲一区二区91 | 欧美日韩国产成人在线 | 97成人免费 | 中文字幕第315页 | 毛片网站在线看 | 色狠狠干 | 国产精品理论片在线观看 | 国产精品伦| 亚洲小说图片区 | 黄色中文字幕 | 亚洲视频你懂的 | 欧美无砖区 | 国产午夜三级一区二区三 | 麻豆精品国产传媒av | 在线观看a视频 | 97干视频 | 色葡萄影院 | 日韩欧美在线免费 | 国产寡妇亲子伦一区二区三区四区 | 夜晚福利| 成人黄页网站 | 亚洲一区二区三区日韩 | 国产一区二区激情视频 | 男女拍拍拍网站 | 欧美综合视频 | 高清久久久久久 | 青春草在线视频免费观看 | 91免费播放| 国产高清精品在线观看 | 日本一级大毛片a一 | 色诱视频在线观看 | 日韩精品视频在线观看网站 | 岛国伊人 | 手机看片福利永久 | 色哟哟免费在线观看 | free性丰满69性欧美 | 中文字幕第22页 | av大片在线免费观看 | 日本精品在线观看视频 | 人人搞人人爱 | 精品黄色片 | 久久久精品久久久 | 亚洲色图 一区二区 | 五月天看片 | 夜夜草天天草 | 日韩经典一区二区三区 | 爱爱视频在线播放 | 三级全黄做爰龚玥菲在线 | 两女双腿交缠激烈磨豆腐 | 永久黄网站色视频免费观看w | 91精品网| 好吊色视频一区二区 | 影音先锋中文字幕第一页 | 国产一级二级三级在线观看 | 久久加久久 | 亚洲视频在线视频 | 国产97色在线 | 国产 | 国产高清久久久 | 亚洲无码精品一区二区三区 | 成人影视免费 | 国产精品理论在线观看 | 免费在线看污视频 | 久久av喷吹av高潮av萌白 | 涩涩涩涩涩涩涩涩涩涩 | 亚洲精品二三区 | 在线免费视频一区二区 | 一区二区欧美视频 | 人人干人人澡 | 亚洲国产aⅴ精品一区二区的游戏 | 无码国内精品人妻少妇蜜桃视频 | 91精品国自产在线偷拍蜜桃 | 色射网| yjizz视频网 国产精品国产三级国产三级人妇 | 精人妻一区二区三区 | 亚洲综合激情另类小说区 | 新亚洲天堂| 国产精品免费在线播放 | 人妻 日韩精品 中文字幕 | 伊人影院在线观看视频 | 天堂av在线免费 | 在线免费观看视频网站 | 日本暧暧视频 | 狠狠操网址 | 久草视频在线免费 | 国产 日韩 欧美 制服丝袜 | 亚洲黄色录像片 | 欧美日韩aa| 欧美精品免费播放 | 成人手机在线播放 | 日韩毛片在线看 | 色综合av在线 | 中文字幕欧美人妻精品一区蜜臀 | 91麻豆成人 | 国产精品一区二 | 中文字幕制服丝袜 | 欧美成人一区二免费视频软件 | 日本电影大尺度免费观看 | 亚洲av无码国产精品久久不卡 | 亚洲精选一区二区 | 国产小视频自拍 | 国产毛片一区二区 | 狠狠做深爱婷婷综合一区 | 亚洲三区在线 | 我和公激情中文字幕 | 男女视频在线观看 | 免费成人电影在线观看 | 国产高清视频免费 | 999在线观看视频 | 国产乱妇4p交换乱免费视频 | 成人福利网站在线观看 | 黑人番号 | 国产女在线 | 黄网址在线| 在线 日本 制服 中文 欧美 | 亚洲黄色一级 | 奇米影视777第四色 日本αv | 中文字幕第11页 | 午夜精品一区二区三区三上悠亚 | 色姑娘久| 久久艳片www.17c.com | 91色视频在线| 人人澡人人干 | 青娱乐精品视频 | av福利在线免费观看 | 日韩免费一二三区 | 日本黄页网站 | 欧美偷拍少妇精品一区 | 九一在线观看免费高清视频 | 日韩高清一级 | 呦呦视频在线观看 | 亚洲天堂成人在线 | 成人在线三级 | 国产精品11| 懂色一区二区二区av免费观看 | 伊人国产在线观看 | 男人天堂五月天 | 日本高清视频一区二区 | 欧美一级爆毛片 | 国内精品视频一区二区三区 | 国产黄色大全 | 日韩午夜在线视频 | 天堂网2014av| 伊人久久在线 | 一级在线观看 | 久久精品亚洲一区二区 | 五月婷在线 | 91久久精品一区二区三 | 日本视频h | 黄色片上床 | 国产视频手机在线播放 | 日韩一片 | www男人的天堂 | 国产精品伦理一区二区 | 日韩成人精品一区二区三区 | 午夜精品欧美 | 亚洲无吗一区二区三区 | 国产aaaaaaa| 在线观看日本中文字幕 | 99资源网| 精品国产免费看 | 久久久久无码精品 | 91欧美成人 | 日韩精品一区在线播放 | 亚洲精品伦理 | 让人下面流水的视频 | 日韩在线精品视频一区二区涩爱 | 日韩成人动漫在线观看 | 日本一区二区三区视频免费看 | 久久黄色片 | 亚洲视频在线观看网站 | 欧美在线性视频 | 国产剧情精品 | 日韩精品色呦呦 | 日韩视频专区 | 香蕉av一区 | 青草在线视频 | 国产精久久一区二区三区 | 一直草 | 超碰资源| 国产精品88 | 久久亚洲AV无码专区成人国产 | 神马午夜场 | 国产videos| 久久久久久久久99精品 | 喷水av| 极品人妻一区二区三区 | 国产精品成久久久久三级 | 久久国产经典 | 黄色片在线免费观看视频 | 精品国产区 | 国产福利在线 | 意大利少妇愉情理伦片 | 精产国品一二三产区m553麻豆 | 亚洲性一区 | 亚洲国产欧美在线观看 | 中文无码精品一区二区三区 | 亚洲资源网 | 精品久久久蜜桃 | www.九色| 欧美久久久久久久 | 免费成人深夜小野草 | 人人澡人人澡 | 成人午夜福利视频 | 国产精品午夜无码专区 | 国产自产一区二区 | 91这里只有精品 | 亚洲第一免费网站 | 91老师国产黑色丝袜在线 | 久久国产精品毛片 |