无码中文字幕色专区_91av俱乐部_无码人妻h动漫_26uuu成人_91九色丨porny丨国产jk_青青视频在线播放_国内自拍第二页_国产又粗又长又爽又黄的视频_色哟哟免费网站_久久出品必属精品_a级黄色一级片_99日在线视频

首頁(yè) 新聞 工控搜 論壇 廠商論壇 產(chǎn)品 方案 廠商 人才 文摘 下載 展覽
中華工控網(wǎng)首頁(yè)
  P L C | 變頻器與傳動(dòng) | 傳感器 | 現(xiàn)場(chǎng)檢測(cè)儀表 | 工控軟件 | 人機(jī)界面 | 運(yùn)動(dòng)控制
  D C S | 工業(yè)以太網(wǎng) | 現(xiàn)場(chǎng)總線 | 顯示調(diào)節(jié)儀表 | 數(shù)據(jù)采集 | 數(shù)傳測(cè)控 | 工業(yè)安全
  電 源 | 嵌入式系統(tǒng) | PC based | 機(jī)柜箱體殼體 | 低壓電器 | 機(jī)器視覺(jué)
Delphi中串行通信的實(shí)現(xiàn)
中華工控網(wǎng)
收藏本文     查看收藏
Delphi 中 串 行 通 信 的 實(shí) 現(xiàn) <BR> 王 琛 </P><P> --------------------------------------------------------------------------------</P><P> ---- 隨 著 現(xiàn) 代 信 息 技 術(shù) 的 發(fā) 展 以 及 計(jì) 算 機(jī) 網(wǎng) 絡(luò) 的 廣 泛 使 用, 計(jì) 算 機(jī) 通 信 技 術(shù) 已 經(jīng) 日 臻 成 熟, 但 串 行 通 信 作 為 一 種 靈 活 方 便 可 靠 的 通 信 方 式, 仍 不 失 為 有 效 的 通 信 手 段, 被 廣 泛 應(yīng) 用 于 工 業(yè) 控 制 中。 在 工 業(yè) 生 產(chǎn) 實(shí) 踐 中, 用PC 機(jī) 對(duì) 工 程 實(shí) 現(xiàn) 實(shí) 時(shí) 監(jiān) 控, 通 常 要 求PC 機(jī) 能 在 用 戶 界 面 上 具 有 數(shù) 據(jù) 采 集、 數(shù) 據(jù) 處 理 以 及 控 制 信 號(hào) 的 產(chǎn) 生 與 傳 輸 等 功 能。 在 這 種 特 定 的 環(huán) 境 下,PC 機(jī) 要 與 過(guò) 程 控 制 的 實(shí) 時(shí) 信 號(hào) 相 聯(lián) 系, 就 要 求 能 實(shí) 現(xiàn) 對(duì)PC 機(jī) 的 串 行 端 口 直 接 操 作。Borland 公 司 推 出 的Delphi 是 一 種 功 能 強(qiáng) 大 的 高 級(jí) 編 程 語(yǔ) 言, 其 具 有 的 可 視 化 面 向 對(duì) 象 的 特 性, 特 別 適 于 在Windows 環(huán) 境 下 圖 形 界 面 和 用 戶 程 序 的 編 制。 本 文 就 是 介 紹 基 于Windows95/NT 操 作 系 統(tǒng) 用Delphi 來(lái) 實(shí) 現(xiàn)PC 機(jī) 與 下 層PLC 控 制 器 之 間 的 串 口 通 信 方 法。 </P><P> 基 于WIN95/NT 的 串 行 通 信 機(jī) 制<BR> ---- Windows 操 作 系 統(tǒng) 的 機(jī) 制 禁 止 應(yīng) 用 程 序 直 接 訪 問(wèn) 計(jì) 算 機(jī) 硬 件, 但 它 為 程 序 員 提 供 了 一 系 列 的 標(biāo) 準(zhǔn)API 函 數(shù), 使 得 應(yīng) 用 程 序 的 編 制 更 加 方 便 并 且 免 除 了 對(duì) 有 關(guān) 硬 件 的 調(diào) 試 麻 煩。 在Windows95/NT 中, 原 來(lái)Windows3.X 的WM_COMMNOTIFY 消 息 已 被 取 消, 操 作 系 統(tǒng) 為 每 個(gè) 通 信 設(shè) 備 開(kāi) 辟 了 用 戶 可 定 義 大 小 的 讀/ 寫(xiě) 緩 沖 區(qū), 數(shù) 據(jù) 進(jìn) 出 通 信 口 均 由 操 作 系 統(tǒng) 后 臺(tái) 完 成, 應(yīng) 用 程 序 只 需 對(duì) 讀/ 寫(xiě) 緩 沖 區(qū) 操 作 即 可。WIN95/NT 中 幾 個(gè) 常 用 的 串 行 通 信 操 作 函 數(shù) 如 下: </P><P> CreatFile 打 開(kāi) 串 行 口 <BR> CloseHandle 關(guān) 閉 串 行 口 <BR> SetupComm 設(shè) 置 通 信 緩 沖 區(qū) 的 大 小 <BR> ReadFile 讀 串 口 操 作 <BR> WriteFile 寫(xiě) 串 口 操 作 <BR> SetCommState 設(shè) 置 通 信 參 數(shù) <BR> GetCommState 獲 取 默 認(rèn) 通 信 參 數(shù) <BR> ClearCommError 清 除 串 口 錯(cuò) 誤 并 獲 取 當(dāng) 前 狀 態(tài) </P><P> ---- 除 上 述 幾 個(gè) 函 數(shù) 外, 還 要 經(jīng) 常 用 到 一 個(gè) 重 要 的 記 錄DCB( 設(shè) 備 控 制 塊)。DCB 中 記 錄 有 可 定 義 的 串 行 口 參 數(shù), 設(shè) 置 串 行 口 參 數(shù) 時(shí) 必 須 先 用GetCommState 函 數(shù) 將 系 統(tǒng) 默 認(rèn) 值 填 入DCB 控 制 塊, 然 后 才 可 把 用 戶 想 改 變 的 自 定 義 值 設(shè) 定。 </P><P> ---- 在WIN95/NT 中 進(jìn) 行 串 行 通 信 除 了 解 基 本 的 通 信 操 作 函 數(shù) 外, 還 要 掌 握 多 線 程 編 程。 線 程 是 進(jìn) 程 內(nèi) 部 執(zhí) 行 的 路 徑, 是 操 作 系 統(tǒng) 分 配CPU 時(shí) 間 的 基 本 實(shí) 體。 每 個(gè) 進(jìn) 程 都 由 單 線 程 開(kāi) 始 完 成 應(yīng) 用 程 序 的 執(zhí) 行。 串 行 通 信 需 要 利 用 多 線 程 技 術(shù) 實(shí) 現(xiàn), 其 主 要 的 處 理 邏 輯 可 以 表 述 如 下: 進(jìn) 程 一 開(kāi) 始 先 由 主 線 程 做 一 些 必 要 的 初 始 化 工 作, 然 后 主 線 程 根 據(jù) 需 要 在 適 當(dāng) 時(shí) 候 建 立 通 信 監(jiān) 視 線 程 監(jiān) 視 通 信 口, 當(dāng) 指 定 的 串 行 口 事 件 發(fā) 生 時(shí), 向 主 線 程 發(fā) 送WM_COMMNOTIFY 消 息( 由 于WIN95 取 消 了WM_COMMNOTIFY 消 息, 因 此 必 須 自 己 創(chuàng) 建), 主 線 程 對(duì) 其 進(jìn) 行 處 理。 若 不 需 要WM_COMMNOTIFY 消 息, 則 主 線 程 終 止 通 信 監(jiān) 視 線 程。 </P><P> ---- 多 線 程 同 時(shí) 執(zhí) 行, 將 會(huì) 引 起 對(duì) 共 享 資 源 的 沖 突。 為 避 免 沖 突, 就 要 用 同 步 多 線 程 對(duì) 共 享 資 源 進(jìn) 行 訪 問(wèn)。WIN95 提 供 了 許 多 保 持 線 程 同 步 的 方 法, 筆 者 采 用 創(chuàng) 建 事 件 對(duì) 象 來(lái) 保 持 線 程 同 步。 通 過(guò)CraeteEvent() 創(chuàng) 建 事 件 對(duì) 象, 使 用SetEvent() 或PulseEvent() 函 數(shù) 將 事 件 對(duì) 象 設(shè) 置 成 信 號(hào) 同 步。 在 應(yīng) 用 程 序 中, 利 用WaitSingleObject() 函 數(shù) 等 待 同 步 的 觸 發(fā), 等 到 指 定 的 事 件 被 其 它 線 程 設(shè) 置 為 有 信 號(hào) 時(shí), 才 繼 續(xù) 向 下 執(zhí) 行 程 序。 </P><P> Delphi 下 的 具 體 實(shí) 現(xiàn) 方 法<BR> ---- Delphi 的 強(qiáng) 大 功 能 和 支 持 多 線 程 的 面 向 對(duì) 象 編 程 技 術(shù), 使 得 實(shí) 現(xiàn) 串 行 通 信 非 常 簡(jiǎn) 單 方 便。 它 通 過(guò) 調(diào) 用 外 部 的API 函 數(shù) 來(lái) 實(shí) 現(xiàn), 主 要 步 驟 如 下: 首 先, 利 用CreateFile 函 數(shù) 打 開(kāi) 串 行 口, 以 確 定 本 應(yīng) 用 程 序 對(duì) 此 串 行 口 的 占 有 權(quán), 并 封 鎖 其 它 應(yīng) 用 程 序 對(duì) 此 串 口 的 操 作; 其 次, 通 過(guò)GetCommState 函 數(shù) 填 充 設(shè) 備 控 制 塊DCB, 再 通 過(guò) 調(diào) 用SetCommState 函 數(shù) 配 置 串 行 口 的 波 特 率、 數(shù) 據(jù) 位、 校 驗(yàn) 位 和 停 止 位。 然 后, 創(chuàng) 建 串 行 口 監(jiān) 視 線 程 監(jiān) 視 串 行 口 事 件。 在 此 基 礎(chǔ) 上 就 可 以 在 相 應(yīng) 的 串 口 上 操 作 數(shù) 據(jù) 的 傳 輸; 最 后, 用CloseHandle 函 數(shù) 關(guān) 閉 串 行 口。 具 體 的 程 序 如 下, 本 程 序 用Delphi3.0 編 制 在Win95 環(huán)t 境 下 調(diào) 試 通 過(guò), 已 投 入 實(shí) 際 應(yīng) 用 中, 供 廣 大 讀 者 參 考。 <BR> ---- 程 序: </P><P> unit comdemou;<BR> interface<BR> uses<BR> Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;</P><P> const<BR> Wm_commNotify=Wm_User+12;<BR> type<BR> TForm1 = class(TForm)<BR> procedure FormCreate(Sender: TObject);<BR> private<BR> Procedure comminitialize;<BR> Procedure MsgcommProcess(Var Message:Tmessage); Message Wm_commnotify;<BR> { Private declarations }<BR> public<BR> { Public declarations }<BR> end;</P><P> // 線 程 聲 明<BR> TComm=Class(TThread)<BR> protected<BR> procedure Execute;override;<BR> end;</P><P> var<BR> Form1: TForm1;<BR> hcom,Post_Event:Thandle;<BR> lpol:Poverlapped;<BR> implementation</P><P> {$R *.DFM}</P><P> Procedure TComm.Execute; // 線 程 執(zhí) 行 過(guò) 程<BR> var<BR> dwEvtMask:Dword;<BR> Wait:Boolean;<BR> Begin<BR> fillchar(lpol,sizeof(toverlapped),0);<BR> While True do Begin<BR> dwEvtMask:=0;<BR> Wait:=WaitCommEvent(hcom,dwevtmask,lpol); // 等 待 串 行 口 事 件;<BR> if Wait Then Begin<BR> waitforsingleobject(post_event,infinite); // 等 待 同 步 事 件 置 位;<BR> resetevent(post_event); // 同 步 事 件 復(fù) 位;<BR> PostMessage(Form1.Handle,WM_COMMNOTIFY,0,0);// 發(fā) 送 消 息;<BR> end;<BR> end;<BR> end;</P><P> procedure Tform1.comminitialize; // 串 行 口 初 始 化<BR> var<BR> lpdcb:Tdcb;<BR> Begin<BR> hcom:=createfile('com2',generic_read or generic_write,0,nil,open_existing,<BR> file_attribute_normal or file_flag_overlapped,0);// 打 開(kāi) 串 行 口<BR> if hcom=invalid_handle_value then<BR> else<BR> setupcomm(hcom,4096,4096); // 設(shè) 置 輸 入, 輸 出 緩 沖 區(qū) 皆 為4096 字 節(jié)<BR> getcommstate(hcom,lpdcb); // 獲 取 串 行 口 當(dāng) 前 默 認(rèn) 設(shè) 置<BR> lpdcb.baudrate:=2400;<BR> lpdcb.StopBits:=1;<BR> lpdcb.ByteSize:=8;<BR> lpdcb.Parity:=EvenParity; // 偶 校 驗(yàn)<BR> Setcommstate(hcom,lpdcb);<BR> setcommMask(hcom,ev_rxchar); <BR> // 指 定 串 行 口 事 件 為 接 收 到 字 符;<BR> end;</P><P> Procedure TForm1.MsgcommProcess(Var Message:Tmessage);<BR> var<BR> Clear:Boolean;<BR> Coms:Tcomstat;<BR> cbNum,ReadNumber,lpErrors:Integer;<BR> Read_Buffer:array[1..100]of char;<BR> Begin<BR> Clear:=Clearcommerror(hcom,lpErrors,@Coms);<BR> if Clear Then Begin<BR> cbNum:=Coms.cbInQue;<BR> ReadFile(hCom,Read_Buffer,cbNum,ReadNumber,lpol);<BR> // 處 理 接 收 數(shù) 據(jù)<BR> SetEvent(Post_Event); // 同 步 事 件 置 位<BR> end;<BR> end;</P><P> procedure TForm1.FormCreate(Sender: TObject);<BR> begin<BR> comminitialize;<BR> post_event:=CreateEvent(nil,true,true,nil); // 創(chuàng) 建 同 步 事 件;<BR> Tcomm.Create(False); // 創(chuàng) 建 串 行 口 監(jiān) 視 線 程;<BR> end;</P><P> end.</P><P> ---- 南 京 理 工 大 學(xué) 經(jīng) 濟(jì) 管 理 學(xué) 院96 研 究 生 210094 王 琛 <BR> ---- 聯(lián) 系 電 話:025-4315011-405 或025-8760087 CALL 39787( 中 文)<BR>
 

狀 態(tài): 離線

公司簡(jiǎn)介
產(chǎn)品目錄

公司名稱: 中華工控網(wǎng)
聯(lián) 系 人: 客服中心
電  話: 0755-26546361
傳  真: 0755-26585268
地  址: 深圳市南山區(qū)創(chuàng)業(yè)路現(xiàn)代城華庭1棟6A
郵  編: 518054
主  頁(yè):
 
該廠商相關(guān)技術(shù)文摘:
智能儀器儀表的發(fā)展特點(diǎn)與前景分析
電動(dòng)機(jī)性能虛擬儀器測(cè)試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
視頻監(jiān)控護(hù)航高鐵安全運(yùn)營(yíng)
基于PLC,觸摸屏及變頻器對(duì)吹膜機(jī)的改造
永宏P(guān)LC應(yīng)用于自助圖書(shū)借還終端機(jī)
基于永宏P(guān)LC的GSM通訊原理及其應(yīng)用
改善汽車生態(tài)學(xué)、安全性和舒適性,四大測(cè)試分析是關(guān)鍵
改善汽車生態(tài)學(xué)、安全性和舒適性,四大測(cè)試分析是關(guān)鍵
數(shù)控技術(shù)的發(fā)展趨勢(shì)及產(chǎn)業(yè)化
數(shù)控技術(shù)發(fā)展戰(zhàn)略與發(fā)展途徑的思考
用Energid 的軟件進(jìn)行機(jī)器人的抓取和操作
如何借助RFID技術(shù)升級(jí)企業(yè)信息管理水平
更多文摘...
立即發(fā)送詢問(wèn)信息在線聯(lián)系該技術(shù)文摘廠商:
用戶名: 密碼: 免費(fèi)注冊(cè)為中華工控網(wǎng)會(huì)員
請(qǐng)留下您的有效聯(lián)系方式,以方便我們及時(shí)與您聯(lián)絡(luò)

關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 本站動(dòng)態(tài) | 友情鏈接 | 法律聲明 | 不良信息舉報(bào)
工控網(wǎng)客服熱線:0755-86369299
版權(quán)所有 中華工控網(wǎng) Copyright©2022 Gkong.com, All Rights Reserved

无码中文字幕色专区_91av俱乐部_无码人妻h动漫_26uuu成人_91九色丨porny丨国产jk_青青视频在线播放_国内自拍第二页_国产又粗又长又爽又黄的视频_色哟哟免费网站_久久出品必属精品_a级黄色一级片_99日在线视频
97视频热人人精品免费| 欧美日本久久| 在线午夜精品| 精品午夜av| 99pao成人国产永久免费视频| 日本久久一区| 亚洲一区区二区| 日韩深夜视频| 精品一区二区三区中文字幕在线| 首页亚洲欧美制服丝腿| 精品美女在线视频| 国产私拍福利精品视频二区| 日韩精品一卡二卡三卡四卡无卡| 国产aⅴ精品一区二区三区久久| 日韩精品久久理论片| 亚洲视频www| 日韩精品中文字幕第1页| 国产精品任我爽爆在线播放| 蜜桃一区二区三区在线观看| 亚洲精品1区2区| 国产综合婷婷| 激情综合亚洲| 欧美成a人免费观看久久| 欧美国产先锋| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 精品久久免费| 国产精品大片免费观看| 日日夜夜免费精品视频| 一区二区91| 亚洲制服一区| 亚洲久久视频| 日韩精选在线| 欧美有码在线| 国产精品欧美大片| 美女国产一区二区三区| 欧美激情精品| 久久麻豆视频| 日韩国产激情| 久久中文字幕二区| 在线午夜精品| 视频精品一区| 欧美日韩伊人| 精品视频国产| 五月激情久久| 一区视频在线| 日本一区二区三区中文字幕| 精品日本视频| 国产成人精品999在线观看| 国产福利电影在线播放| 亚洲性色av| 免费精品国产的网站免费观看| 欧美午夜精彩| 日本亚洲不卡| 精品一区二区三区在线观看视频| 久久精品免费看| 国产高清久久| 日韩中出av| 国产日产高清欧美一区二区三区 | 国产精品av久久久久久麻豆网| 欧美中文字幕一区二区| 国产综合精品| 日本伊人久久| av高清不卡| 亚洲欧美日韩视频二区| 国产欧美亚洲一区| 亚洲va在线| 日本精品一区二区三区在线观看视频 | 欧美一区自拍| 日本高清不卡一区二区三区视频| 免费观看久久av| 国产欧美日韩影院| 亚洲激情中文| 欧美国产亚洲精品| 亚洲一级在线| 日韩大片在线| 国产日韩三级| 久久大逼视频| 精品亚洲美女网站| 国产精品网址| 亚洲欧洲日韩| 999国产精品视频| 国产精品色在线网站| 激情综合自拍| 日韩精品永久网址| 久久精品72免费观看| 黄色国产精品| 色婷婷狠狠五月综合天色拍| 日韩精品亚洲专区在线观看| 久久九九精品| 97精品国产| 久久亚洲国产精品尤物| 日韩中文字幕视频网| 激情久久五月| 中文av在线全新| 欧美精品国产白浆久久久久| 三级欧美韩日大片在线看| 久久中文字幕av| 丝袜美腿诱惑一区二区三区| 精品国产91| 青青国产精品| 蜜臀av亚洲一区中文字幕| 国产精品av久久久久久麻豆网| 精品国产乱码| 成人午夜亚洲| 精品深夜福利视频| 久久只有精品| 美女视频黄免费的久久| 青青草91视频| 国产精品日本一区二区三区在线| 日韩高清电影免费| 日韩中文字幕麻豆| 亚洲男女av一区二区| 久久免费高清| 久久免费黄色| 亚洲成人精品| 丝袜诱惑一区二区| 日韩在线高清| 香蕉人人精品| 欧美69视频| 久久高清国产| 日韩二区三区在线观看| 青青国产精品| 激情久久99| 亚洲黄色免费看| 欧美亚洲在线日韩| 欧美日韩国产精品一区二区亚洲| 99香蕉国产精品偷在线观看 | 亚洲涩涩在线| 久久免费黄色| 国产美女精品| 91精品日本| 国产一区日韩| 一区二区小说| 影音先锋久久精品| 国产精品主播| 国产精品极品在线观看| 精品欧美日韩精品| 欧美aa国产视频| 另类av一区二区| 日本中文字幕一区二区视频| 久久免费精品| 免费毛片在线不卡| 欧美日韩亚洲一区| 久久久久久一区二区| 99热精品久久| 日韩激情综合| 国产成人久久| 制服诱惑一区二区| 国产精品欧美一区二区三区不卡| 日产精品一区| 91av一区| 国产一区二区三区自拍| 久久国产免费看| 久久精品观看| 日韩免费精品| 视频福利一区| 青草国产精品久久久久久| 日韩免费福利视频| 麻豆亚洲精品| 电影91久久久| 欧美中文字幕| av免费不卡国产观看| 亚洲欧美日韩专区| 国产一区二区三区视频在线| 丝袜亚洲精品中文字幕一区| 精品高清久久| 香蕉久久久久久| 在线精品小视频| 国产精品二区不卡| 婷婷久久免费视频| 好吊视频一区二区三区四区| 国产 日韩 欧美 综合 一区| 免费在线看一区| 日韩精品首页| 国产一区丝袜| 国产日本精品| 一本一道久久a久久| 蜜桃成人精品| 精品美女视频| 欧美色综合网| 亚洲精品大片| 欧美日韩国产精品一区二区亚洲| 精品久久不卡| 国产精品久久久久久久久久齐齐| 久久都是精品| 99国产精品私拍| 国产中文一区| 日韩欧美自拍| 精品三级在线观看视频| 亚洲精品国模| 五月天激情综合网| 久久美女性网| 色婷婷久久久| 天堂√中文最新版在线| 国产极品嫩模在线观看91精品| 久久亚洲风情| 国产国产精品| 欧美午夜精彩| 红桃视频国产精品| 狠狠爱成人网|