1. <rp id="emuay"></rp>
    1. <rp id="emuay"><wbr id="emuay"></wbr></rp>

      產品|公司|采購|資訊

      • $item.Title

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

      參考價面議
      具體成交價以合同協議為準
      • 公司名稱北京世紀長秋科技有限公司
      • 品       牌
      • 型       號
      • 所  在  地北京市
      • 廠商性質生產廠家
      • 更新時間2024/10/16 10:23:41
      • 訪問次數36
      產品標簽:

      在線詢價收藏產品 點擊查看電話

      聯系我們時請說明是 智能制造網 上看到的信息,謝謝!

            北京世紀長秋科技有限公司是從事工業自動化軟件研發的*,提供軟件開發、銷售、服務及工業自動化系統集成等整套服務,以創新為本的理念,為用戶提供量身定做的解決方案。

            我們的團隊由充滿創新活力、綜合素質高的業內精英組成,擁有經驗豐富的高級編程人員和現場工程技術人員,公司現分設工控工程部、軟件工程部、產品研發部、銷售部和技術支持部,致力于將*整合的服務帶給用戶。

            我們的自主產權軟件產品《世紀星通用工業自動化監控組態軟件》為國內優秀自動化主流品牌軟件之一,本產品自1999年正式進入市場,十年內已有四萬多套軟件應用于相關行業,其中包括電力變電配電自動化、電廠監控、石油、化工、冶金、礦山、工業民用水處理、環保污水處理、儲備糧庫、鐵路隧道信號監控、交通信號監控、食品及飲料自動化監控等。

            作為自動化軟件領域的廠商,我們自成立以來專心從事自動化軟件平臺的開發、銷售及技術服務,與國內外眾多硬件廠商和系統集成商保持*、穩定的合作關系。我們為用戶提供不同層次、不同形式軟硬件一體化的解決方案,在前進的同時不斷審視完善,整合全線產品,打造優質、精準的自動化軟件,以滿足日益增長的多樣化用戶需求。

            我們始終堅持新理念、新科技,走進用戶,貼近用戶,將用戶Z重要的需求植入軟件研發服務的每個過程,為國內工業自動化市場提供較好、*、Z適用的工業自動化產品。

            “創新科技,服務*”是我們的企業理念,打造自動化軟件領域中真正的民族品牌是我們的目標,在經濟化不可阻擋的發展趨勢面前,我們會做得更好,成為您信息化道路上值得信賴的伙伴!

      世紀星組態軟件
      本文來源:《世紀星月刊》第2期作者:劉月新1VBA簡介  VisualBasic的應用程序版(VBA)是Microsoft公司長期追求的目標,使可編程應用軟件得到的實現,它作為一種通用的宏語言可被所有的Microsoft可編程應用軟件所共享
      VBA的妙用:串口通訊程序與EXCEL相結合 產品信息

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

      1 VBA簡介


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

      2 串口通訊程序


        簡單的串口通訊程序一般是先由上位機向下位機發送讀(write)或寫(read)數據命令,然后等待下位機應答;下位機接受到命令之后,首先要對數據命令進行校驗,對于符合校驗約束的命令下位機會將相應的數據回復到上位機,對于不符合校驗約束的命令下位機或將其拋棄或回復錯誤信息;上位機接收到下位機的響應之后,首先要對接收到的回復信息進行校驗,對不符合校驗約束的數據進行異常處理,對符合校驗約束的信息進行解碼,解碼之后的信息便是上位機從下位機獲得的有效信息了。


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


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

      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 結束語


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


      在找 VBA的妙用:串口通訊程序與EXCEL相結合 產品的人還在看
      返回首頁 產品對比

      提示

      ×

      *您想獲取產品的資料:

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

      個人信息:

      Copyright gkzhan.com , all rights reserved

      智能制造網-工業4.0時代智能制造領域“互聯網+”服務平臺

      對比欄



      99自拍视频网在线播放_国产99亚洲午夜精品久久久_国产一区二区三区高潮老年人_精品人妻中文字幕在线视频
      1. <rp id="emuay"></rp>
        1. <rp id="emuay"><wbr id="emuay"></wbr></rp>