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

首頁 新聞 工控搜 論壇 廠商論壇 產品 方案 廠商 人才 文摘 下載 展覽
中華工控網首頁
  P L C | 變頻器與傳動 | 傳感器 | 現場檢測儀表 | 工控軟件 | 人機界面 | 運動控制
  D C S | 工業以太網 | 現場總線 | 顯示調節儀表 | 數據采集 | 數傳測控 | 工業安全
  電 源 | 嵌入式系統 | PC based | 機柜箱體殼體 | 低壓電器 | 機器視覺
ARM9工控板在遠程監控中的應用
英創信息技術有限公司
收藏本文     查看收藏

      英創公司的ARM9工控主板產品均預裝了Windows CE5.0操作系統,支持包括EVC、C#、VB、LabView等多種開發工具。作為工業控制領域的嵌入模塊,客戶的應用程序往往對系統的底層調用較多,相對于其它語言,C++具有強大的硬件控制能力和很高執行效率,因此我們提供的示例程序和軟件方面的技術支持均集中在C++方面。而C#、.net VB等在圖型界面開發、數據庫方面的應用和易用性方面更具優勢,我們很多客戶也選用他們作為開發工具。為了結合各語言的優勢,為了對客戶提供更好的支持,我們將與主板密切相關的一些底層功能模塊封裝成COM組件,用戶可以使用自己喜歡的語言來調用COM組件,不必關心低層調用的細節,而COM組件本身則采用C++來編寫。本文將介紹基于英創工控主板串口應用的COM組件和組件調用方法。

一、創建串口應用COM組件

      串口通訊在工業控制場合應用十分廣泛,當串口作為RS485通信應用時,很多場合下,需要通過硬件RTS信號來控制數據收發的方向,以提高抗干擾能力。在C#這一類的高級語言中,盡管也包括了串口控件,但缺乏對RTS硬件的操作,因此在RS485應用中受到一定的限制。為了彌補這一缺陷,在我們所設計的串口應用COM組件中,通過對串口DCB結構參數的設置,并結合英創ARM9主板低層的串口驅動程序,實現對RTS信號的完整控制。本串口組件采用C++編寫,在組件內部對RTS進行設置,而上層的開發工具,如C#等,可通過向組件接口函數傳遞參數來控制RTS信號,從而最終實現RS485的半雙工通訊。

      本串口COM組件提供四個接口方法函數:打開串口,關閉串口,向串口寫數據,讀串口數據。客戶方調用COM組件打開串口后,COM組件服務器便在組件內部創建一數據接收線程,接收線程里通過WaitCommEvent來等待串口事件發生,當串口收到數據后,將數據放入指定的接收數據緩存中,客戶方可調用讀串口數據方法函數將緩存中的數據讀出。在實際應用中,客戶可在接收線程中加入自己特定的協議轉換代碼,使得通過組件讀取的數據為一個完整應用報文。

      為了跨語言調用組件,接口方法函數參數數據均采用VARIANT數據類型,這樣ASP、vbscript等可方便的進行組件調用,從而輕松實現通過網頁對串口進行操作。

      COM組件的創建過程請參考本網站相關文章或參考相應書籍。這里不再贅述。

二、串口應用組件接口方法函數

      為了跨語言調用組件,組件接口方法函數參數數據均采用VARIANT數據類型。

(1)OpenPort( VARIANT portNo, VARIANT baud, VARIANT parity, VARIANT dataBits, 
                         VARIANT stopBits, VARIANT rtsCtrl, VARIANT* pbool)

      功能描述:打開指定串口。
      輸入參數:
            VARIANT portNo  要打開的串口號
            VARIANT baud 設置波特率
            VARIANT parity 設置奇偶較驗
            VARIANT dataBits 設置數據位
            VARIANT stopBits 設置停止位
            VARIANT rtsCtrl  RTS設置
      輸出參數:
            VARIANT* pbool 串口打開成功失敗標志

(2)WritePort(VARIANT *var_inp, VARIANT *retLen)

      功能描述:向串口寫數據
      輸入參數:
            VARIANT *var_inp 發送數據緩存
      輸出參數:
            VARIANT *retLen 發送數據個數

(3)ReadPort(VARIANT *rxData)

      功能描述:讀取串口數據
      輸出參數:
            VARIANT *rxData 接收數據緩存

(4)ClosePort( )

      功能描述:關閉串口

三、串口組件調用

      下面是在EVC中調用串口組件接口函數的一些程序片段,主要說明在調用接口方法時,VARIANT參數的用法。

      //從Program ID得到Class ID 
      hr = CLSIDFromProgID( OLESTR( 'ComSerial.CoSerial' ), &clsid );
      if( FAILED( hr ) )
      {
            return -1;
      }
      //從Class ID得到ICoSerial接口指針
      hr = CoCreateInstance( clsid, NULL, CLSCTX_INPROC_SERVER, __uuidof( ICoSerial ),
                                            ( void** )&pICoSerial );
      if( FAILED( hr ))
      {
            return -1;
      }

      //打開串口  
      CComVariant portNo( 3 );                  //打開串口3
      CComVariant baud( 9600 );                 //波特率:9600
      CComVariant parity( 'n' );                //無校驗位
      CComVariant dataBits( 8 );                //8位數據
      CComVariant stopBits( 1 );                //1位停止位
      CComVariant rtsCtrl(RTS_CONTROL_TOGGLE);  //RTS設置
      CComVariant pbool( FALSE );               //串口打開成功標志
      pbool = pICoSerial->OpenPort( portNo, baud, parity, dataBits, stopBits, rtsCtrl );

      //向串口發送數據
      char strBuf[100];
      strcpy( strBuf, '1234567890!' );
      long i=0, m=0;
      m = strlen( strBuf );
      SAFEARRAY FAR* pSafeArray;
      SAFEARRAYBOUND rgsabound[1];
      rgsabound[0].lLbound = 0;
      rgsabound[0].cElements = m;
      pSafeArray = SafeArrayCreate( VT_VARIANT, 1, rgsabound );
      VARIANT var;
      for( i; i < m; i++)
   
{

            var.vt = VT_UI1;
            var.bVal = strBuf[i];
            SafeArrayPutElement( pSafeArray, &i, &var );
      }
      VARIANT tarray,retLen;
      tarray.parray = pSafeArray;
      retLen = pICoSerial->WritePort( &tarray );

      //接收數據
      VARIANT vinput, var;
      BYTE rxBuf[1500];
      vinput = pICoSerial->ReadPort(  );
      SafeArrayGetUBound( vinput.parray, 1, &lUbound );
      SafeArrayGetLBound( vinput.parray, 1, &lLbound );
      //m:串口接收到的數據個數
      m = lUbound - lLbound+1;
      // m=0表示串口沒有收到數據
      if( 0 == m )
            return;
      for( i=0; i < m; i++)
    
{
            Safe=ArrayGetElement( vinput.parray, &i, &var );
            rxBuf[i] = (BYTE)var.bVal;
      }

      在實際的應用中,通訊各方必須遵循統一的通訊規約。在發送數據前通常需要將數據按相應的協議打包,添加較驗信息等,收到數據后,要進行幀完整性判斷、數據解包、數據較驗、協議轉換等工作。現在可以將這些與協議密切相關的處理放在COM組件內部,客戶方在使用串口時僅需要對客戶感興趣的數據進行處理,而協議轉換等工作交由COM組件完成。這樣程序具有更好結構,維護也更加方便。


 

狀 態: 離線

公司簡介
產品目錄

公司名稱: 英創信息技術有限公司
聯 系 人: 李林
電  話: 028-86180660
傳  真: 028-85141028
地  址: 成都市高新區高朋大道5號博士創業園
郵  編: 610041
主  頁:
 
該廠商相關技術文摘:
GPRS集抄單元整機方案
DOS工控主板的TCP/IP應用
低成本LCD的選型與使用
ARM9工控主板支持斷點續傳的FTP文件傳送
嵌入式數據庫SQLCE的開發與應用
C#使用COM組件接口操作精簡ISA總線
基于精簡ISA總線的CE設備驅動程序
工控主板EM9360的GPIO的各種使用方法
工控主板EM9000數字IO的增強擴展
英創工控主板同時驅動RS232和RS485的方法
主板EM9161實現音頻輸出的方法
更多文摘...
立即發送詢問信息在線聯系該技術文摘廠商:
用戶名: 密碼: 免費注冊為中華工控網會員
請留下您的有效聯系方式,以方便我們及時與您聯絡

關于我們 | 聯系我們 | 廣告服務 | 本站動態 | 友情鏈接 | 法律聲明 | 不良信息舉報
工控網客服熱線:0755-86369299
版權所有 中華工控網 Copyright©2022 Gkong.com, All Rights Reserved

无码中文字幕色专区_91av俱乐部_无码人妻h动漫_26uuu成人_91九色丨porny丨国产jk_青青视频在线播放_国内自拍第二页_国产又粗又长又爽又黄的视频_色哟哟免费网站_久久出品必属精品_a级黄色一级片_99日在线视频
欧美激情福利| 99久久久久| 国产高清不卡| 国产一区二区亚洲| 国产福利亚洲| 麻豆精品在线播放| 爽好久久久欧美精品| 国产99久久| 午夜国产精品视频| 在线午夜精品| 一区二区三区国产在线| 四虎成人精品一区二区免费网站| 视频一区中文字幕国产| 蜜桃视频第一区免费观看| 亚洲天堂日韩在线| 国产精品xxx| 天堂中文av在线资源库| 久久九九国产| 在线精品视频一区| 国产探花在线精品一区二区| 国产精品xxx| 欧美韩日一区| 国产一区成人| 久久狠狠久久| 日韩综合精品| 国产精品毛片在线| 日韩1区2区日韩1区2区| 美腿丝袜亚洲三区| 欧美不卡视频| 欧美日本不卡| 激情久久中文字幕| 日韩高清在线不卡| 日韩欧美不卡| 日韩一区精品视频| 美女在线视频一区| 日本精品在线中文字幕| 欧美.日韩.国产.一区.二区| 久久亚洲影院| 国产成人a视频高清在线观看| 亚洲高清成人| 国产日韩欧美三级| 精品一区欧美| 久久的色偷偷| 麻豆久久精品| 精品国产精品国产偷麻豆| 亚洲大全视频| 精品日本视频| 中文字幕亚洲影视| 国产麻豆久久| 91精品国产自产精品男人的天堂| 日韩深夜视频| 视频一区视频二区中文| 国产一区二区三区成人欧美日韩在线观看| 午夜久久黄色| 97精品一区二区| 清纯唯美亚洲综合一区| 亚洲视频www| 久久久久久自在自线| 亚洲伊人精品酒店| 欧美天堂视频| 久久中文欧美| 欧美一级久久| 日韩在线播放一区二区| 99精品在线观看| 精品国产乱码| 国产日本精品| 美女网站久久| 日韩一区三区| 91麻豆精品激情在线观看最新| 久久免费高清| 精品午夜av| 日韩精品一区二区三区av| 五月精品视频| 波多野结衣久久精品| 91亚洲精品在看在线观看高清| 亚洲精品99| 久久高清免费| 91亚洲国产| 国产一区二区三区成人欧美日韩在线观看| 蜜臀久久久99精品久久久久久| 日韩欧美少妇| 中文字幕人成乱码在线观看| 国产精品1区| 精品网站aaa| 国产欧洲在线| 精品国产第一福利网站| 国产精品中文字幕制服诱惑| 中文无码久久精品| 精品日韩视频| 美女精品久久| av资源新版天堂在线| 日本免费久久| 91精品国产自产在线观看永久∴| 日韩欧美三级| 99国产精品免费视频观看| 日韩天堂在线| 久久久久久久久丰满| 亚洲韩日在线| 韩日一区二区三区| 亚洲免费中文| 日本精品在线播放| 精品高清久久| 久久视频一区| 视频在线观看国产精品| 亚洲另类av| 国产伦一区二区三区| 视频在线不卡免费观看| 麻豆理论在线观看| 日韩视频二区| 午夜日韩影院| 成午夜精品一区二区三区软件| 福利一区二区三区视频在线观看| 高清在线一区| 伊人精品视频| 国产三级精品三级在线观看国产 | 日韩制服丝袜av| 日韩在线麻豆| 高清一区二区三区av| 一区二区小说| 欧美日韩视频免费看| 日韩综合在线| 亚洲激情社区| 久久av影院| 激情久久中文字幕| 欧美日韩一区二区高清| 日韩欧美少妇| 日韩精品一级| 日韩精品麻豆| 国产欧美丝祙| 最新亚洲激情| 国产精品.xx视频.xxtv| 午夜国产精品视频免费体验区| 91精品国产自产在线丝袜啪| 深夜福利视频一区二区| 四虎在线精品| 免费欧美一区| 97欧美在线视频| 人人精品久久| 蜜臀91精品国产高清在线观看| 国产精品三级| 综合激情视频| 久久网站免费观看| 麻豆视频观看网址久久| 亚洲一区区二区| 日韩综合精品| 麻豆91在线播放| 亚洲啊v在线免费视频| 色婷婷精品视频| 美女视频一区在线观看| 亚洲综合不卡| 91精品二区| 99久久亚洲精品| 欧美aⅴ一区二区三区视频| 久久国产精品毛片| 亚洲成人av观看| 精品一区视频| 国产亚洲精品美女久久久久久久久久| 免费视频一区三区| 久久久五月天| 日韩精品91| 精品久久在线| 国产欧美大片| 日韩精品久久理论片| 久久99伊人| 久久福利毛片| 一区免费在线| 中文精品在线| 国产精品嫩草99av在线| 久久三级福利| 国产在线|日韩| 日韩不卡免费高清视频| 国产96在线亚洲| 日韩1区在线| zzzwww在线看片免费| 大香伊人久久精品一区二区| 欧美国产先锋| 国产精品探花在线观看| 日韩不卡在线观看日韩不卡视频| 中文字幕亚洲影视| 日韩精品福利一区二区三区| 视频一区视频二区中文| 日韩中文欧美在线| 日韩区欧美区| 国产欧美日韩一区二区三区在线| 97成人超碰| 精品视频在线你懂得| 麻豆成人av在线| а√天堂8资源在线| 一区二区精品伦理...| 亚洲成人av观看 | 快she精品国产999| 中文在线日韩| 综合国产视频| 国产精品视频一区二区三区综合| 国产精品视频一区视频二区| 国产精品99久久久久久董美香 | 日韩国产在线观看一区| 欧美日韩xxxx| 九九99久久精品在免费线bt| 亚洲一区资源|