• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于VB的短消息實(shí)現(xiàn)及在監(jiān)控系統(tǒng)中的應(yīng)用

      2014-02-10 10:34:59李信洪劉忠華廖錦坤
      機(jī)電工程技術(shù) 2014年3期
      關(guān)鍵詞:短消息數(shù)據(jù)源字符

      李信洪,劉忠華,廖錦坤

      (深圳達(dá)實(shí)智能股份有限公司,廣東深圳 518057)

      基于VB的短消息實(shí)現(xiàn)及在監(jiān)控系統(tǒng)中的應(yīng)用

      李信洪,劉忠華,廖錦坤

      (深圳達(dá)實(shí)智能股份有限公司,廣東深圳 518057)

      介紹了GSM無線模塊短消息發(fā)送的相關(guān)AT命令和模式,利用VB語言實(shí)現(xiàn)短消息發(fā)送的核心程序,以及監(jiān)控系統(tǒng)的報(bào)警配置,實(shí)現(xiàn)了監(jiān)控系統(tǒng)報(bào)警信息的短消息發(fā)送。

      短消息;AT指令;VB語言;監(jiān)控系統(tǒng)

      0 引言

      隨著計(jì)算機(jī)和控制技術(shù)的發(fā)展,過程監(jiān)控系統(tǒng)的可靠性和自動化程度有了大幅的提高,并得到了廣泛的應(yīng)用。同時(shí)隨著移動技術(shù)的發(fā)展和手機(jī)的普及,基于GSM的短信息服務(wù)以其通訊費(fèi)用低廉、雙向傳輸、通訊質(zhì)量可靠、速度快等顯著優(yōu)點(diǎn)已經(jīng)得到了越來越多用戶的認(rèn)可和使用,同時(shí)為監(jiān)控系統(tǒng)的少人或無人值守創(chuàng)造了條件,過程監(jiān)控對象的異常狀態(tài)或運(yùn)行參數(shù)等信息可以通過移動運(yùn)營商提供的SMS短消息服務(wù)及時(shí)發(fā)送到一個(gè)或多個(gè)生產(chǎn)管理人員的手機(jī)上,從而可以對生產(chǎn)過程異常迅速作出判斷和處理。

      1 短消息原理

      1.1 GSM模塊

      本次應(yīng)用中GSM調(diào)制解調(diào)器采用深圳倚天科技開發(fā)有限公司生產(chǎn)的ETPRO-101AI,它由電源管理、接口電路和GSM模塊三部分組成[1],其中GSM模塊采用德國SIEMENS(西門子)公司的一款雙頻900/1 800 MHz高度集成的TC35i。計(jì)算機(jī)與GSM調(diào)制解調(diào)器之間通過RS-232串口連接,并通過AT命令進(jìn)行交互。

      1.2 AT指令

      AT即Attention,AT指令集是從終端設(shè)備(Ter?minal Equipment,TE)或數(shù)據(jù)終端設(shè)備(Data Termi?nal Equipment,DTE)向終端適配器(Terminal Adapter,TA)或數(shù)據(jù)電路終端設(shè)備(Data Circuit Terminal Equipment,DCE)發(fā)送的。通過TA,TE發(fā)送AT指令來控制移動臺(Mobile Station,MS)的功能,與GSM網(wǎng)絡(luò)業(yè)務(wù)進(jìn)行交互,通過AT指令進(jìn)行呼叫、短信、電話本、數(shù)據(jù)業(yè)務(wù)、傳真等方面的控制。發(fā)送短消息常用的AT命令如表1[2]。

      表1 發(fā)送短消息常用的AT命令

      1.3 短消息模式

      接收和發(fā)送短消息的模式有三種:BLOCK模式、TEXT模式和PDU模式。BLOCK模式已基本淡出使用;TEXT模式則只能發(fā)送ASCII碼,國內(nèi)手機(jī)在此模式下基本上不支持收發(fā)中文短消息;而PDU模式被所有手機(jī)支持,可收發(fā)中英文短消息,用PDU模式收發(fā)短消息可采用三種編碼方式: 7-bit編碼、8-bit編碼和UCS2編碼,分別用于發(fā)送普通的ASCII字符、數(shù)據(jù)消息和Unicode字符。

      按照GSM07.05協(xié)議的規(guī)定,短消息中的漢字均采用Unicode碼的形式發(fā)送,因此本應(yīng)用的短消息模式采用PDU模式,并選擇UCS2編碼方式。整個(gè)PDU串除了包含所發(fā)送的消息本身外,還包含服務(wù)中心號碼、目標(biāo)號碼和編碼方式等信息,其結(jié)構(gòu)具體說明見參考文獻(xiàn)[3]。

      圖1 程序流程圖

      2 VB程序?qū)崿F(xiàn)

      通過VB程序?qū)崿F(xiàn)監(jiān)控系統(tǒng)報(bào)警信息發(fā)送的流程如圖1所示。

      2.1 通訊串口設(shè)置

      從VB工程菜單的部件選項(xiàng)中添加Microsoft Comm Control 6.0控件到工具欄,并在程序窗體里添加MSComm控件,在程序中對其作如下初始化:

      MSComm1.CommPort=1'選擇串口COM1

      MSComm1.Settings="9600,n,8,1"'設(shè)置通訊屬性

      MSComm1.RThreshold=1

      MSComm1.SThreshold=0

      MSComm1.InputLen=0'讀入輸入整個(gè)緩沖區(qū)

      MSComm1.RTSEnable=True'設(shè)置RTS有效

      MSComm1.PortOpen=True'打開通訊口。

      2.2 UCS2編碼實(shí)現(xiàn)

      VB中通過AscW函數(shù)()和Hex()函數(shù)可實(shí)現(xiàn)GB2321編碼到UCS2編碼的轉(zhuǎn)換,AscW()函數(shù)用于返回輸入字符的Unicode碼位,如AscW("您")= 24 744,而Hex()函數(shù)用于返回表示十六進(jìn)制數(shù)字值的字符串,如Hex(24744)=60A8,即字符“您”的UCS2編碼為:60A8。

      在VB中實(shí)現(xiàn)發(fā)送短消息內(nèi)容字符的UCS2編碼如下:

      For i=1 To Len(sSendStr)'sSendStr為待發(fā)送的短消息內(nèi)容,string型變量

      sUCS2=sUCS2&Right("0000"&Hex(As?cW(Mid(sSendStr,i,1))),4)'sUCS2為字符編碼,string型變量

      Next

      2.3 短消息發(fā)送程序

      svarūpavirahasthitivyatikaraikarūpās tu na || 1 [47v6-7] (Pthvī)

      MSComm1.Output="AT+CMGF=0"&vbCr'設(shè)置為PDU模式

      fTimeDelay(1000) '自定義延時(shí)函數(shù)

      nStrLength=Len(sUCS2)/2'計(jì)算發(fā)送長度

      MSComm1.Output="AT+CMGS="&Str(15+ nStrLength)&vbCr

      fTimeDelay(1000) '自定義延時(shí)函數(shù)

      sPDU="089168"&sSMSCA&"11000D9168" &sSMID&"0008C2"&nLength&sUCS2'sSMSCA為信息中心地址,sSMID為目標(biāo)手機(jī)地址,均為不足12位號碼補(bǔ)F后的奇偶位對調(diào)結(jié)果,nLength為用16進(jìn)制(兩位數(shù))表示的sUCS2信息長度

      MSComm1.Output=sPDU&Chr$(26)

      sInputStr=""'sInputStr為讀入輸入緩沖區(qū)變量,string型變量

      Do

      DoEvents'轉(zhuǎn)讓控制權(quán),以便讓操作系統(tǒng)處理其它的事件

      sInputStr=sInputStr&MSComm1.Input'讀入輸入緩沖區(qū)內(nèi)容

      Loop Until InStr(sInputStr,"OK")Or InStr(sIn?putStr,"ERROR")Or(timeGetTime>lTimer+3000) '滿足返回發(fā)送成功,或返回發(fā)送失敗,或延時(shí)時(shí)間條件之一時(shí)結(jié)束循環(huán)

      If InStr(sInputStr,"OK")<>0 Then

      PubStatus("發(fā)送成功!") '發(fā)送成功(Pub?Status為自定義的系統(tǒng)消息顯示函數(shù))

      ElseIf InStr(sInputStr,"ERROR")<>0 Then

      PubStatus("發(fā)送失敗!") '發(fā)送失?。≒ub?Status為自定義的系統(tǒng)消息顯示函數(shù))

      Endif

      3 監(jiān)控系統(tǒng)

      伴隨著生產(chǎn)信息化的需求,組態(tài)軟件因其支持各種工控設(shè)備的通信協(xié)議、提供分布式數(shù)據(jù)管理和網(wǎng)絡(luò)功能、使用靈活等特點(diǎn),已作為HMI人機(jī)界面監(jiān)控軟件在各行業(yè)廣泛應(yīng)用于監(jiān)視和控制自動化設(shè)備和生產(chǎn)過程,是過程監(jiān)控系統(tǒng)的重要組成部分[4]。

      目前國內(nèi)外主流的組態(tài)軟件都支持將報(bào)警信息記錄到與ODBC兼容的數(shù)據(jù)庫中,如Microsoft Access。因此可以利用短消息發(fā)送程序定時(shí)查詢數(shù)據(jù)庫中的報(bào)警信息,并將其發(fā)送給指定的目標(biāo)手機(jī)號碼。

      本應(yīng)用采用國內(nèi)知名的監(jiān)控組態(tài)軟件組態(tài)王作為報(bào)警信息源,數(shù)據(jù)庫為Microsoft Access,下面簡要介紹其配置過程。

      3.1 報(bào)警數(shù)據(jù)庫和表字段

      建立一個(gè)Microsoft Access報(bào)警數(shù)據(jù)庫文件(本應(yīng)用數(shù)據(jù)庫文件命名為InDasSms.mdb),在數(shù)據(jù)庫文件中創(chuàng)建一個(gè)名稱為“Alarm”的表(注意表名稱不能更改),并按表2設(shè)置字段(注意字段名要一致)。

      表2 “Alarm”表字段

      在實(shí)際應(yīng)用中可以根據(jù)需要組織表中各字段的內(nèi)容作為短信息發(fā)送內(nèi)容。

      3.2 創(chuàng)建ODBC數(shù)據(jù)源

      在計(jì)算機(jī)的控制面板中的“ODBC數(shù)據(jù)源管理器”中創(chuàng)建基于“Microsoft Access Driver(*. mdb)”驅(qū)動程序的用戶數(shù)據(jù)源(本應(yīng)用數(shù)據(jù)源名設(shè)為InDas SMS),數(shù)據(jù)庫選擇上一步建立的報(bào)警數(shù)據(jù)庫,如圖2所示。

      圖2 ODBC數(shù)據(jù)源創(chuàng)建

      3.3 監(jiān)控系統(tǒng)報(bào)警配置

      在組態(tài)王的開發(fā)環(huán)境下在“報(bào)警配置”中對其屬性進(jìn)行配置,鉤選“記錄報(bào)警事件到數(shù)據(jù)庫”,并選取上一步配置好的數(shù)據(jù)源,如圖3所示,同時(shí)對報(bào)警格式進(jìn)行配置,如圖4所示。

      圖3 報(bào)警配置屬性頁

      圖4的報(bào)警格式是本應(yīng)用中采用的格式,可根據(jù)不同應(yīng)用進(jìn)行調(diào)整。需要注意的是,在報(bào)警格式配置中變量名等長度的設(shè)置一定不能小于實(shí)際的長度,并且每個(gè)中文字符占用2個(gè)長度,否則存入報(bào)警數(shù)據(jù)庫表中的數(shù)據(jù)將按設(shè)置的長度截?cái)唷?/p>

      Implementation of Short Message and Its Application in Control System Based on VB Language

      LI Xin-hong,LIU Zhong-hua,LIAO Jin-kun
      (Shenzhen DAS Intellitech Co.,Ltd,Shenzhen518057,China)

      This paper introduces AT command and patterns of GSM wireless module,the transmit code of Short Message based on VB language,and the alarm configuration of control system,this method has been used to the Short Message transmission of alarm information in control system.

      short message;AT command;VB language;control system

      TP29

      A

      1009-9492(2014)03-0060-03

      10.3969/j.issn.1009-9492.2014.03.018

      2013-09-03

      猜你喜歡
      短消息數(shù)據(jù)源字符
      尋找更強(qiáng)的字符映射管理器
      字符代表幾
      一種USB接口字符液晶控制器設(shè)計(jì)
      電子制作(2019年19期)2019-11-23 08:41:50
      消失的殖民村莊和神秘字符
      試論電視新聞短消息的采寫策略
      新聞傳播(2018年14期)2018-11-13 01:12:58
      淺談廣播短消息的采寫
      新聞傳播(2018年1期)2018-04-19 02:09:00
      Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
      基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評價(jià)研究
      基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評價(jià)算法
      分布式異構(gòu)數(shù)據(jù)源標(biāo)準(zhǔn)化查詢設(shè)計(jì)與實(shí)現(xiàn)
      清水河县| 榆林市| 阜新| 尼玛县| 汤原县| 房山区| 宜城市| 清水河县| 铜川市| 沧州市| 绩溪县| 荆门市| 龙井市| 远安县| 忻州市| 克东县| 介休市| 梅河口市| 无棣县| 郸城县| 广州市| 营山县| 城步| 灵寿县| 武邑县| 晋州市| 伊吾县| 昌都县| 临漳县| 班玛县| 宜宾县| 珠海市| 札达县| 新兴县| 泰安市| 瓦房店市| 中宁县| 伊宁市| 泌阳县| 岳阳县| 昌平区|