Объявление

Свернуть
Пока нет объявлений.

Управление модулем Ke-USB24A из Excel

Свернуть
X
Свернуть
  •  

  • Управление модулем Ke-USB24A из Excel

    Всю прелесть программирования USB модуля Ke-USB24A можно оценить когда встает вопрос о необходимости написания программы на каком-либо не очень широко распространенном языке или для какой-либо среды, которая, казалось бы не предусматривает возможность работы с USB устройствами. Как тут быть? - разбираться с подключением библиотек, вызовами системных функци и т.д.? Все это зачастую бывает сложно. Модуль Ke-USB24A совсем другое дело! Благодаря тому что программный интерфейс реализован в виде последовательного порта, можно программировать модуль практически на любом языке. Продемонстрируем это на примере. В этой статье мы рассмотрим как можно управлять выводами модуля из программы Excel! Да-да, именно из нее, где Вы обычно составляете таблицы и строите графики.
    Для того чтобы Excel могла общаться с COM портом нам потребуется установить в системе специальный компонент от Microsoft - ActiveX элемент MSComm. Для этого скачайте файлы к этой статье (скачать). Там будет находиться папка ActiveX.
    Нажмите на изображение для увеличения.

Название:	01.gif
Просмотров:	288
Размер:	5.0 Кб
ID:	2006 alt="" />
    Для инсталляции компонента достаточно выполнить файл Instal.bat - он сам выполнит всю необходимую работу по установке и регестрации компонента в системе. В процессе его выполнения Вам будет задан вопрос такого вида:
    Нажмите на изображение для увеличения.

Название:	02.gif
Просмотров:	153
Размер:	5.0 Кб
ID:	2007 alt="" />
    Нажимайите "Да". Полим сообщение об успешной установке. Нажимаем "Ok".
    Нажмите на изображение для увеличения.

Название:	03.gif
Просмотров:	145
Размер:	4.7 Кб
ID:	2008 alt="" />
    Все компонент установлен, можно браться непосредственно за Excel. Запускаем программу. Нам необходимо следующим шагом разрешить выполнение макросов Excel, т.к. по умолчанию они скорее всего выключены. Для этого заходите в меню Сервис -> Макрос -> Безопасность...
    Нажмите на изображение для увеличения.

Название:	04.gif
Просмотров:	148
Размер:	12.2 Кб
ID:	2009 alt="" />
    Установите вариант низкой безопастности - ведь мы то уверены в том наша собственная программа безопасна.
    Нажмите на изображение для увеличения.

Название:	05.gif
Просмотров:	169
Размер:	8.0 Кб
ID:	2010 alt="" />
    Теперь определимся что мы собственно хотим получить от Excel:

    Пусть на листе будут размещены элементы управления, которые позволят нам открывать доступ к устройству и записывать на указанную нами линию ввода/вывода низкий или высокий уровень напряжения.
    Займемся расстановкой элементов управления. Для этого вызовите соответствующее окно, например, щелкнув правой кнпкой мыши по главному меню программы и выбрав в появившемся списке "Элементы управления".
    Нажмите на изображение для увеличения.

Название:	06.gif
Просмотров:	152
Размер:	1.5 Кб
ID:	2011 alt="" />
    Перетаскиваем необходимые элементы управления на лист: три надписи, три окошка ввода и две кнопки. Изменить текст элементов можно нажав правую кнопку мыши в редакторе свойств элемента. В результате должно получиться например вот так:
    Нажмите на изображение для увеличения.

Название:	07.gif
Просмотров:	167
Размер:	13.7 Кб
ID:	2012 alt="" />
    Теперь пора взяться собственно за программирование. Программа Excel, как в прочем и другие офисные программы от Microsoft (например, Word, Acsess и т.д.) имеют встроенную поддержку языка программирования VBA (Visual Basic For Application). Он представляет из себя несколько расширенный Visual Basic. Чтобы перейти в редактор программы дважды щелкните по кнопке "Открыть порт", ведь именно с нее начнется процесс выполнения программы.
    Мы попадаем в редактор VBA, где перед нами появляется пустая заготовка кода для обработки события нажатия кнопки.
    Нажмите на изображение для увеличения.

Название:	08.gif
Просмотров:	179
Размер:	10.9 Кб
ID:	2013 alt="" />
    Прежде чем мы начнем непосредственно писать программу нам еобходимо подключить компонент MSComm (тот самый который мы чуть выше только что устанавливали в системе). Для этого в редакторе VBA в меню выбираем Tools -> References....
    Нажмите на изображение для увеличения.

Название:	09.gif
Просмотров:	164
Размер:	11.8 Кб
ID:	2014 alt="" />
    Нажимаем кнопку Browse.... В появившемся окне выбора файлов отыскиваем наш компонент MSCOMM32.OCX - он должен находится в директории C:\Windows\system32\. Нажимаем Открыть, затем кнопку Ok.
    Нажмите на изображение для увеличения.

Название:	10.gif
Просмотров:	166
Размер:	10.4 Кб
ID:	2015 alt="" />
    Пишем следующий код. Что он делает? Содаем экземпляр компонента для работы с портом, настраиваем его параметры и в конце открываем порт.

    'Создаем экземпляр компонента для работы с портом
    Dim KeUSB As New MSComm

    Private Sub CommandButton1_Click()
    'Настраиваем порт
    KeUSB.CommPort = Val(TextBox1.Value)
    KeUSB.Settings = "9600,N,8,1"
    KeUSB.Handshaking = comNone
    KeUSB.InputLen = 0
    KeUSB.InBufferSize = 40
    KeUSB.OutBufferSize = 40
    KeUSB.RThreshold = 0
    'Открываем порт
    KeUSB.PortOpen = True
    End Sub Далее возвращаемся на лист Excel. Дважды щелкаем на кнопку Записать. Добавляем следующий код:

    Private Sub CommandButton2_Click()
    'Формируем команду $KE,WR
    KeUSB.Output = "$KE,WR," & TextBox2.Value & "," & TextBox3.Value & Chr(13) & Chr(10)
    End Sub Все, с программированием закончили. Можно закрывать редактор VBA (незабываем сохранить перед выходом). Теперь нам необходимо на листе Excel перейти из режима редактора элементов управления в режим выполнения. Для этого на коне "Элементы управления" необходимо нажать соответсвующую кнопку в виде линейки-треугольника, чтобы она стала неактивной (не подствеченной).
    Нажмите на изображение для увеличения.

Название:	11.gif
Просмотров:	150
Размер:	2.5 Кб
ID:	2016 alt="" />
    Теперь можно собрать схему - я тут ни чего не меняю, использую как и в прошлой статье: ко всем линиям ввода/вывода модуля Ke-USB24A подключены светодиоды. Все линии настроены на выход. Вот собственно и вся схемотехника:
    Нажмите на изображение для увеличения.

Название:	sh_big.gif
Просмотров:	156
Размер:	21.4 Кб
ID:	2017 alt="" />
    Итак, указываем номер COM порта модуля, нажимаем кнопку Открыть порт. Затем, указываем номер нужной линии и значение для записи (0 или 1). Нажимаем кнопку Записать - моргаем светодиодами.
    Нажмите на изображение для увеличения.

Название:	12.gif
Просмотров:	159
Размер:	9.5 Кб
ID:	2018 alt="" />
    А вот и фотография конструкции. Схема набрана на макетной плате - очень удобно, паять ни чего не нужно. Здесь установлены не все 24 светодиода а меньше.
    Нажмите на изображение для увеличения.

Название:	module.jpg
Просмотров:	179
Размер:	157.2 Кб
ID:	2019 alt="" />
    Итак, указываем номер COM порта модуля, нажимаем кнопку Открыть порт. Затем, указываем номер нужной линии и значение для записи (0 или 1). Нажимаем кнопку Записать - моргаем светодиодами.
    Программу конечно необходимо модернизировать - мы здесь ни как не анализируем ни ошибок выполнения, ни сами введенные данные. Однако не смотря на простоту данный пример показывает что с модулем Ke-USB24A можно работать практически из любой среды, в которой есть поддрежка ActiveX компонент и хоть какой-либо язык программирования (даже скриптовый). Например, работу с модулем можно интегрировать в программу Microsoft Acsess и вести базу данных, можно интегрировать данную концепцию в программу 1С, например, и проводить какие-либо действия по внешним событиям с датчиков (ключей) и т.д. - возможности неисчерпаемы. А можно продолжать развивать тему с Excel - например, использовать ее для автоматического построения графиков по данным получаемым с АЦП модуля.

    Дмитрий Иванов 6 апреля 2008
      Возможность размещать комментарии к сообщениям отключена.

    Метки статей

    Свернуть

    Меток пока нет.

    Новые статьи

    Свернуть

    • «NO EXCUSES» — специальная программа компании MOTOROLA
      от admin
      Дмитрий Панфилов
      «NO EXCUSES» — специальная программа компании MOTOROLA

      Ни для кого не секрет, что микропроцессоры и микроконтроллеры находят самое широкое применение в различных областях науки и техники. Сегодня трудно указать область электроники, где не использовались бы микроконтроллеры. Количество...
      10.02.2017, 14:56
    • Частотомер на PIC16F873 с двух строчным ЖКИ способный измерять частоты
      от admin
      alt="" />Частотомер на PIC16F873 с двух строчным ЖКИ способный измерять частоты от 10Гц до 45МГц. Чувствительность по входу около 50мВ, входное сопротивление 250 Ком, входная ёмкость 15пФ. Питание девятивольтная батарея 6F22.В память можно вносить значения, которые будут, прибавлены к входной частоте...
      10.02.2017, 14:56
    • Управление нагрузкой 220В переменного напряжения с использованием симисторов
      от admin
      Для плавного управления нагрузкой, например, лампой освещения, можно использовать симистор. Открывается симистор током при подачи на управляющий электрод импульса. Закрывается, когда ток, проходящий через него, становится равным нулю, когда переменное напряжение меняет знак.
      ...
      10.02.2017, 14:56
    • Управление модулем Ke-USB24A из Excel
      от admin
      Всю прелесть программирования USB модуля Ke-USB24A можно оценить когда встает вопрос о необходимости написания программы на каком-либо не очень широко распространенном языке или для какой-либо среды, которая, казалось бы не предусматривает возможность работы с USB устройствами....
      10.02.2017, 14:55
    • Управление матрицей 8х8 - легко!
      от admin
      Матрица управляется так же как и 7-сегментные индикаторы - динамически. Мега16 портом А управляет одной координатой (выбирает сторку для вывода инфы), порт С - выводит ту самую информацию. Информация берётся из массива.
      />

      />
      Что бы пользоваться редактором, нужно переменную STROKA из примера переименовать в rows_arr.
      Вложения: matrica8x8.fcf_avr (56 Кб) Любители ПИКов, вам не составит труда пореколбасить этот п...
      10.02.2017, 14:55
    • То, что улучшает нашу жизнь (микросхемы для домашних и игровых устройств)
      от admin
      Журнал «Компоненты и технологии» №8 2001 г.
      Ракович Н. Н.

      "В человеке все должно быть прекрасно… и у него в доме тоже"
      (Почти по А. П. Чехову)
      В последнее время при чтении профессиональных электронных журналов и статей, посвященных использованию электронных компонентов, у меня возникло и окрепло унылое ощущение, что вся гигантская...
      10.02.2017, 14:55
    Обработка...
    X