§ 2.10. Программирование модуля Ke-USB24A на языке Visual Basic (Часть 1)
|
Дмитрий Иванов, 1 января 2009
|
|
Файлы к статье скачать
|
Имя: KA002_10.zip (ZIP архив) |
Размер: 6 КБ |
|
|
|
Файлы к статье скачать
|
Имя: MSCOMM32.zip (ZIP архив) |
Размер: 50 КБ |
|
|
В данной статье посмотрим как можно управлять модулем Ke-USB24A с помощью программы написанной на языке Visual Basic (далее VB). В VB существует несколько способов работы с COM портом, но мы пожалуй остановимся на использовании ActiveX элемента MSComm.ocx от Microsoft. Скачайте архив MSCOMM32.zip в шапке данной статьи. В нем Вы найдете следующие файлы:
|

Для установки элемента в систему запустите файл Install.bat. Он самостоятельно выполнит все необходимые операции по установке и регистрации ActiveX элемента в системе. В ходе установки соглашайтесь с выполнением требуемых операций.
Приступаем к программированию. Запускаем среду Visual Basic.

Выбираем создание нового проекта. Это будет обычное Windows приложение, т.е. Standart EXE.

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

Далее, нам необходимо подключить ActiveX элемент MSComm32 в проект. Именно с помощью его мы будем общаться с COM портом. Для этого выбираем пункт меню Project -> Components... (или нажимаем Ctrl+T).

Чтобы найти элемент побыстрее, нажмите кнопку Browse... В директории %WINDIR%/system32 отыщите файл MSComm32.ocx.

Выбранный элемент появится в списке. Нажмите кнопку Применить.

В результате на панели элементов появится иконка MSComm32 в виде телефонного аппарата.

Перетаскиваем этот "телефон" на форму (не волнуйтесь, при запуске программы эта иконка на форме будет невидна). В свойствах этого элемента установите имя для него в значение KeUSB.

Теперь перейдем непосредственно к программированию. Займемся открытием порта. Для этого у нас предназначена кнопка Open COM port. Дважды щелкаем по ней и нас переносит к коду обработчика. Скопируйте нижеследующий код:
Private Sub Command1_Click()
'Настраиваем порт
KeUSB.CommPort = Val(Text1.Text)
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
Код простой - мы получаем номер COM порта из edit-окна и настраимаем MSComm32 элемент под именем KeUSB для работы. В конце открываем порт.
Далее займемся отправкой команды в модуль. Обработчик нажатия соответствующей копки показан ниже. Здесь мы просто формируем команду для записи $KE,WR и отправляем ее в предварительно открытый порт.
Private Sub Command2_Click()
'Формируем и отправляем команду $KE,WR
KeUSB.Output = "$KE,WR," & Text2.Text & "," & Text3.Text & Chr(13) & Chr(10)
End Sub
В результате у нас получилась вот такая программа. В ней задается номер порта (только цифра) к которому подключен модуль Ke-USB24A и нажимается кнопка открытия этого порта. Далее указываем номер линии модуля и значение для записи - 0 или 1. С помощью кнопки Write Value устанавливаем значение на линии модуля.

Как видно, программа очень простая. В ней не обрабатываются возможные ошибки и различные нестандартные ситуации. Подобную функциональность Вы сможете добавить к проекту самостоятельно при желении.
© Дмитрий Иванов
1 января 2009 года
http://www.kernelchip.ru