久久亚洲精品天码av,午夜福利屄插穴,午夜福利视频91,亚欧美爽爽爽爽爽,亚洲欧美日韩色色图片,青青操在线观看,精品天堂麻豆av,无码av东京热,婷婷成人亚洲少妇

官方微信|手機版|本站服務(wù)|買家中心|行業(yè)動態(tài)|幫助

產(chǎn)品|公司|采購|招標(biāo)

VBA的妙用:串口通訊程序與EXCEL相結(jié)合

參考價面議
具體成交價以合同協(xié)議為準
  • 公司名稱北京世紀長秋科技有限公司
  • 品       牌
  • 型       號
  • 所  在  地北京市
  • 廠商性質(zhì)其他
  • 更新時間2025/11/12 10:03:43
  • 訪問次數(shù)144
產(chǎn)品標(biāo)簽:

在線詢價 收藏產(chǎn)品 查看電話 同類產(chǎn)品

聯(lián)系我們時請說明是 制藥網(wǎng) 上看到的信息,謝謝!

  北京世紀長秋科技有限公司是從事工業(yè)自動化軟件研發(fā)的,提供軟件開發(fā)、銷售、服務(wù)及工業(yè)自動化系統(tǒng)集成等整套服務(wù),以創(chuàng)新為本的理念,為用戶提供量身定做的解決方案。   我們的團隊由充滿創(chuàng)新活力、綜合素質(zhì)高的業(yè)內(nèi)精英組成,擁有經(jīng)驗豐富的高級編程人員和現(xiàn)場工程技術(shù)人員,公司現(xiàn)分設(shè)工控工程部、軟件工程部、產(chǎn)品研發(fā)部、銷售部和技術(shù)支持部,致力于將整合的服務(wù)帶給用戶。    我們的自主產(chǎn)權(quán)軟件產(chǎn)品《世紀星通用工業(yè)自動化監(jiān)控組態(tài)軟件》為國內(nèi)優(yōu)秀自動化主流品牌軟件之一,本產(chǎn)品自1999年正式進入市場,十年內(nèi)已有四萬多套軟件應(yīng)用于相關(guān)行業(yè),其中包括電力變電配電自動化、電廠監(jiān)控、石油、化工、冶金、礦山、工業(yè)民用水處理、環(huán)保污水處理、儲備糧庫、鐵路隧道信號監(jiān)控、交通信號監(jiān)控、食品及飲料自動化監(jiān)控等。    作為自動化軟件領(lǐng)域的廠商,我們自成立以來專心從事自動化軟件平臺的開發(fā)、銷售及技術(shù)服務(wù),與國內(nèi)外眾多硬件廠商和系統(tǒng)集成商保持長期、穩(wěn)定的合作關(guān)系。我們?yōu)橛脩籼峁┎煌瑢哟巍⒉煌问杰浻布惑w化的解決方案,在前進的同時不斷審視*,整合全線產(chǎn)品,打造優(yōu)質(zhì)、精準的自動化軟件,以滿足日益增長的多樣化用戶需求。   我們始終堅持新理念、新科技,走進用戶,貼近用戶,將用戶最重要的需求植入軟件研發(fā)服務(wù)的每個過程,為國內(nèi)工業(yè)自動化市場提供、、的工業(yè)自動化產(chǎn)品。   “創(chuàng)新科技,服務(wù)至上”是我們的企業(yè)理念,打造自動化軟件領(lǐng)域中真正的民族品牌是我們的目標(biāo),在經(jīng)濟化不可阻擋的發(fā)展趨勢面前,我們會做得更好,成為您信息化道路上值得信賴的伙伴!
本文來源:《世紀星月刊》第2期作者:劉月新1VBA簡介 VisualBasic的應(yīng)用程序版(VBA)是Microsoft公司長期追求的目標(biāo),使可編程應(yīng)用軟件得到的實現(xiàn),它作為一種通用的宏語言可被所有的Microsoft可編程應(yīng)用軟件所共享
VBA的妙用:串口通訊程序與EXCEL相結(jié)合 產(chǎn)品信息

本文來源:《世紀星月刊》第2期 作者:劉月新

1 VBA簡介


  Visual Basic的應(yīng)用程序版(VBA)是Microsoft公司長期追求的目標(biāo),使可編程應(yīng)用軟件得到的實現(xiàn),它作為一種通用的宏語言可被所有的Microsoft 可編程應(yīng)用軟件所共享。在沒有VBA以前,一些應(yīng)用軟件如Excel、Word、Access、Project等都采用自己的宏語言供用戶開發(fā)使用,但每種宏語言都是獨立的,需要用戶專門去學(xué)習(xí),它們之間互不兼容,使得應(yīng)用軟件之間不能在程序上互聯(lián)。擁有一種可跨越多個應(yīng)用軟件,使各應(yīng)用軟件產(chǎn)品具有高效、靈活且一致性的開發(fā)工具是至關(guān)重要的。VBA作為一種新一代的標(biāo)準宏語言,具有上述跨越多種應(yīng)用軟件并且具有控制應(yīng)用軟件對象的能力,使得程序設(shè)計人員僅需學(xué)習(xí)一種統(tǒng)一的標(biāo)準宏語言,就可以轉(zhuǎn)換到特定的應(yīng)用軟件上去,程序設(shè)計人員在編程和調(diào)試代碼時所看到的是相同的用戶界面,而且VBA與原應(yīng)用軟件的宏語言相兼容,以保障用戶在代碼和工作上的投資。有了VBA以后,多種應(yīng)用程序共用一種宏語言,節(jié)省了程序人員的學(xué)習(xí)時間,提高了不同應(yīng)用軟件間的相互開發(fā)和調(diào)用能力。

2 串口通訊程序


  簡單的串口通訊程序一般是先由上位機向下位機發(fā)送讀(write)或?qū)?read)數(shù)據(jù)命令,然后等待下位機應(yīng)答;下位機接受到命令之后,首先要對數(shù)據(jù)命令進行校驗,對于符合校驗約束的命令下位機會將相應(yīng)的數(shù)據(jù)回復(fù)到上位機,對于不符合校驗約束的命令下位機或?qū)⑵鋻仐壔蚧貜?fù)錯誤信息;上位機接收到下位機的響應(yīng)之后,首先要對接收到的回復(fù)信息進行校驗,對不符合校驗約束的數(shù)據(jù)進行異常處理,對符合校驗約束的信息進行解碼,解碼之后的信息便是上位機從下位機獲得的有效信息了。


  上位機向串口發(fā)送讀命令之后需要等待下位機應(yīng)答并讀取回復(fù)信息,常用的等待有3種方式:


1) 輪詢式
  上位機向串口發(fā)送讀命令之后一直等待下位機應(yīng)答,通訊程序處于一個等待循環(huán)中。
  優(yōu)點:速度快、誤碼率低(幾乎不存在誤碼)。
  缺點:消耗CPU。(解決辦法:使用Sleep()API函數(shù))。
2) 消息式
  消息式通訊是采用響應(yīng)WINDOWS消息的辦法讀取串口。
  優(yōu)點:節(jié)省CPU、誤碼率低。
  缺點:發(fā)送接收機制過于繁瑣。
3) 定時接收式
  定時接收式通訊是根據(jù)預(yù)設(shè)的定時器時間進行讀取數(shù)據(jù)。
  優(yōu)點:發(fā)送接收機制相對簡單、節(jié)省CPU。
  缺點:誤碼率太高,不同的硬件需要配置不同的通訊時間參數(shù),需要嚴格的校驗運算。

3 EXCEL-VBA串口通訊實例


  軟件:EXCEL。
  硬件:艾默生EC10 PLC。
  功能:通過EXCEL中的按鈕控制PLC的輸出繼電器Y0。
  界面:RUN(運行通訊)、STOP(停止通訊)、Y0(Y0 ON/OFF控制)。

  

主程序:


  Option Explicit
  Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  Public Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
  Public Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
  Public com1 As New MSCommLib.MSComm
  Public y0Stt As Boolean
  Public y0_on As Boolean
  Public tmrFlag As Boolean
  Public tmr As Long
  Sub runn()
    On Error GoTo ed
    com1.Settings = "9600,e,8,1"
    If com1.PortOpen = False Then
      com1.PortOpen = True
    End If
    tmr = SetTimer(0, 0, 500, AddressOf ontimer)
    Exit Sub


  ed:
  MsgBox "串口打開錯誤!"
  End Sub
  Sub stopp()
    If com1.PortOpen = True Then
      com1.PortOpen = False
      KillTimer 0, tmr
    End If
  End Sub
  Public Function ontimer() 
  Dim a(7) As Byte
  Dim add As Long
  On Error GoTo ed
  If tmrFlag = False Then
    tmrFlag = True
    If y0_on = True Then
      y0_on = False
      If y0Stt = True Then
      a(0) = &H1
      a(1) = &H5
      a(2) = &H0
      a(3) = &H0
      a(4) = &HFF
      a(5) = &H0
      a(6) = &H8C
      a(7) = &H3A
      com1.Output = a
      add = 0
      Do
        DoEvents
        Sleep 10
        add = add + 1
        If add >= 100 Then
          Exit Do
        End If
      Loop Until com1.InBufferCount >= 8
      Else
      a(0) = &H1
      a(1) = &H5
      a(2) = &H0
      a(3) = &H0
      a(4) = &H0
      a(5) = &H0
      a(6) = &HCD
      a(7) = &HCA
      com1.Output = a
      add = 0
      Do
        DoEvents
        Sleep 10
        add = add + 1
        If add >= 100 Then
          Exit Do
        End If
      Loop Until com1.InBufferCount >= 8
      End If
    End If
  End If
  tmrFlag = False
  Exit Function
  ed: MsgBox "串口錯誤!"
  tmrFlag = False
  End Function


  

界面程序:


  Private Sub cmd1_Click()
  y0_on = True
  y0Stt = Not y0Stt
  End Sub
  Private Sub cmdRun_Click()
  runn
  CheckBox1.Value = 1
  End Sub
  Private Sub cmdStop_Click()
  stopp
  CheckBox1.Value = 0
  End Sub


4 結(jié)束語


  由上可見,VBA已經(jīng)廣泛應(yīng)用于微軟的應(yīng)用軟件當(dāng)中,所以為更好的*二次開發(fā)功能,眾多的組態(tài)軟件都在VBA支持上做了努力,世紀星組態(tài)軟件開發(fā)語言已與VBA非常相似,相信在未來的版本中,世紀星將全面支持VBA,它的二次開發(fā)功能會邁上一個新的臺階。 ■


在找 VBA的妙用:串口通訊程序與EXCEL相結(jié)合 產(chǎn)品的人還在看

提示

×

*您想獲取產(chǎn)品的資料:

以上可多選,勾選其他,可自行輸入要求

個人信息:

永德县| 高雄县| 梧州市| 静安区| 绥滨县| 独山县| 四川省| 南雄市| 朔州市| 苏尼特右旗| 米易县| 泸西县| 南乐县| 天水市| 泗阳县| 穆棱市| 睢宁县| 南乐县| 黑龙江省| 垣曲县| 班戈县| 巴楚县| 台东市| 宿松县| 巩留县| 怀化市| 南靖县| 上虞市| 七台河市| 肥城市| 郓城县| 特克斯县| 梓潼县| 白山市| 徐闻县| 石台县| 云林县| 青浦区| 曲靖市| 康乐县| 六安市|