Главная » Компьютерная электроника
Призовой фонд
на октябрь 2017 г.
1. Термометр Relsib WT51
Рэлсиб
2. 1000 руб
PCBWay
3. Регулируемый паяльник 60 Вт
Паяльник
4. 100 руб.
От пользователей

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

Первая часть

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

Для того чтобы Excel могла общаться с COM портом нам потребуется установить в системе специальный компонент от Microsoft - ActiveX элемент MSComm. Для этого скачайте файлы к этой статье. Там находиться папка ActiveX.

comp82-1.gif

Для инсталляции компонента достаточно выполнить файл Instal.bat - он сам выполнит всю необходимую работу по установке и регистрации компонента в системе. В процессе его выполнения Вам будет задан вопрос такого вида:

comp82-2.gif

Нажимайте "Да". Видим сообщение об успешной установке. Нажимаем "Ok".

comp82-3.gif

Все компонент установлен, можно браться непосредственно за Excel. Запускаем программу. Нам необходимо следующим шагом разрешить выполнение макросов Excel, т.к. по умолчанию они скорее всего выключены. Для этого заходите в меню Сервис -> Макрос -> Безопасность...

comp82-4.gif

Установите вариант низкой безопасности - ведь мы то уверены в том наша собственная программа безопасна.

comp82-5.gif

Теперь определимся что мы собственно хотим получить от Excel:

Пусть на листе будут размещены элементы управления, которые позволят нам открывать доступ к устройству и записывать на указанную нами линию ввода/вывода низкий или высокий уровень напряжения.

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

comp82-6.gif

Перетаскиваем необходимые элементы управления на лист: три надписи, три окошка ввода и две кнопки. Изменить текст элементов можно нажав правую кнопку мыши в редакторе свойств элемента. В результате должно получиться например вот так:

comp82-7.gif

Теперь пора взяться собственно за программирование. Программа Excel, как в прочем и другие офисные программы от Microsoft (например, Word, Acsess и т.д.) имеют встроенную поддержку языка программирования VBA (Visual Basic For Application). Он представляет из себя несколько расширенный Visual Basic. Чтобы перейти в редактор программы дважды щелкните по кнопке "Открыть порт", ведь именно с нее начнется процесс выполнения программы.

Мы попадаем в редактор VBA, где перед нами появляется пустая заготовка кода для обработки события нажатия кнопки.

comp82-10.gif

Пишем следующий код. Что он делает? Создаем экземпляр компонента для работы с портом, настраиваем его параметры и в конце открываем порт.

'Создаем экземпляр компонента для работы с портом
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 перейти из режима редактора элементов управления в режим выполнения. Для этого на коне "Элементы управления" необходимо нажать соответствующую кнопку в виде линейки-треугольника, чтобы она стала неактивной (не подсвеченной).

comp82-11.gif

Теперь можно собрать схему - я тут ни чего не меняю, использую как и в прошлой статье: ко всем линиям ввода/вывода модуля Ke-USB24A подключены светодиоды. Все линии настроены на выход. Вот собственно и вся схемотехника.

Схема

Итак, указываем номер COM порта модуля, нажимаем кнопку Открыть порт. Затем, указываем номер нужной линии и значение для записи (0 или 1). Нажимаем кнопку Записать - моргаем светодиодами.

comp82-12.gif

А вот и фотография конструкции. Схема набрана на макетной плате - очень удобно, паять ни чего не нужно. Здесь установлены не все 24 светодиода а меньше.

Собранная схема на макетной плате

Итак, указываем номер COM порта модуля, нажимаем кнопку Открыть порт. Затем, указываем номер нужной линии и значение для записи (0 или 1). Нажимаем кнопку Записать - моргаем светодиодами.

Программу конечно необходимо модернизировать - мы здесь ни как не анализируем ни ошибок выполнения, ни сами введенные данные. Однако не смотря на простоту данный пример показывает что с модулем Ke-USB24A можно работать практически из любой среды, в которой есть поддержка ActiveX компонент и хоть какой-либо язык программирования (даже скриптовый). Например, работу с модулем можно интегрировать в программу Microsoft Acsess и вести базу данных, можно интегрировать данную концепцию в программу 1С, например, и проводить какие-либо действия по внешним событиям с датчиков (ключей) и т.д. - возможности неисчерпаемы. А можно продолжать развивать тему с Excel - например, использовать ее для автоматического построения графиков по данным получаемым с АЦП модуля.

Автор: Дмитрий Иванов (Grirog). Апрель 2008 г.

Теги:

Иванов Д. Опубликована: 2008 г. 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (0) | Я собрал (0) | Подписаться

Статью еще никто не комментировал. Вы можете стать первым.
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

МиниПК MK809V - 4 ядра, Android 4.4.2
МиниПК MK809V - 4 ядра, Android 4.4.2
Тестер ESR, полупроводников, резисторов, индуктивностей Печатная плата для усилителя "LM3886 + AD825"
вверх