Страницы

суббота, 30 июля 2011 г.

Ввод показаний мультиметра UT61B в EXEL

Вот этот красавец. Подробности (характеристики) на сайте производителя uni-trend

Прежде всего ищем в Гугле где скачать RSAPI.DLL - набор библиотек для работы с RS232
Паосле этого создаем макрос
Declare Sub OPENCOM Lib "RSAPI.DLL" (ByVal ComParameter$)
Declare Sub CLOSECOM Lib "RSAPI.DLL" ()
Declare Sub TIMEINIT Lib "RSAPI.DLL" ()
Declare Function TIMEREAD Lib "RSAPI.DLL" () As Long
Declare Function STRREAD Lib "RSAPI.DLL" (ByVal Display$) As Integer
Declare Sub SENDBYTE Lib "RSAPI.DLL" (ByVal B%)
Declare Sub STRLENGTH Lib "RSAPI.DLL" (ByVal B%)
Declare Function READBYTE Lib "RSAPI.DLL" () As Integer
Declare Sub TIMEOUT Lib "RSAPI.DLL" (ByVal ms%)
Declare Sub DELAY Lib "RSAPI.DLL" (ByVal ms%)

Sub UT61B_RS232()
Лист$ = "Лист1"
    Rem Лист рабочей книги
ThisWorkbook.Sheets(Лист$).Activate
    Columns("A:C").Select
    Rem Выделяем
Selection.ClearContents
    Rem Очищаем
Range("A1").Select
Длительность = 20000
Интервал = 100
    OPENCOM "COM1:2400,N,8,1"
    TIMEOUT 1000
    STRLENGTH 14
    Display$ = ".............."
Строка = 1
    t = 0
    TIMEINIT
    While TIMEREAD < Длительность
w = 0
        Do
          STRREAD (Display$)
          DELAY 200

          Rem  If Display$ <> "Fehler" Then
w = Val(Mid$(Display$, 2, 5))
          Rem Изолируем и преобразовываем числовое значение
Rem   End If
        Loop Until TIMEREAD >= t
        Cells(Строка, 2).Value = w
        Cells(Строка, 1).Value = t / 1000
        Cells(Строка, 3).Value = Time
Строка = Строка + 1
        t = t + Интервал
Wend
    CLOSECOM
End Sub

Комментариев нет:

Отправить комментарий

ваше мнение...