Описание компонента COM_RL (компонента для обеспечения работы с приборами RealLab! всех серий). Сведения по использованию компонента, страница 2

Data – код, соответствующий напряжению на входе канала;

Time - время прихода этого кода.

3. GetDataAsSingle(short ChannelMode, short ChannelNumber, double BeginTime, short *Data, double *Time)

Назначение:

возвращает первую точку данных (отсчёт) из заданного канала со временем больше указанного.

Параметры:

ChannelMode - режим работы интересующего канала  (чтение - 1, запись - 2);

ChannelNumber - номер интересующего канала (начинаются с 0);

BeginTime - время, начиная с которого будут сканироваться данные;

Data - код, соответствующий напряжению на входе канала;

Time - время прихода этого кода.

4. SetDataAsSingle(short ChannelMode, short ChannelNumber, short *Data, double *Time)

Назначение:

добавляет в заданный канал одну точку с задаными параметрами (параметр Time не используется).

Параметры:

ChannelMode - режим работы интересующего канала  (чтение - 1, запись - 2);

ChannelNumber - номер интересующего канала (начинаются с 0);

Data - код, соответствующий напряжению на входе канала;

Time - время отправки этого кода (в данной версии не используется).

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Краткие сведения по использованию компонента

Рекомендуемая последовательность действий:

1. Создаём объект (компонент) и запрашиваем все интерфейсы:

Dim IDevice As Object

Dim IControl As IRL_Device_Control

Dim IData As IRL_Device_Data

Set IDevice = CreateObject("COM_RL.RL_Device") ‘ создали объект RL_Device и получили интерфейс IRL_Device

Set IControl = IDevice                                       ‘ получили интерфейс IRL_Device_Control

Set IData = IDevice                                             ‘ получили интерфейс IRL_Device_Data

2. Соединяемся с портом, к которому подключен RealLab! (пусть это будет порт 2 и режим чтение/запись) :

IControl.Connect 2, 3

3. Запрашиваем число каналов всех типов в железе:

(этот этап необязательный и нужен только для проверки правильности номеров каналов на стороне клиентской программы).

Dim NumberOfReadChannels As Integer                        ‘ количество каналов чтения

Dim NumberOfEnabledReadChannels As Integer     ‘ количество активных каналов чтения

Dim NumberOfWriteChannels As Integer                      ' количество каналов записи

Dim NumberOfEnabledWriteChannels As Integer        ‘ количество активных каналов записи

IDevice.GetNumberOfChannels 1, NumberOfReadChannels, NumberOfEnabledReadChannels

‘ запросили информацию по каналам чтения

IDevice.GetNumberOfChannels 1, NumberOfWriteChannels, NumberOfEnabledWriteChannels

‘ запросили информацию по каналам записи

4. Создаём необходимые каналы (допустим нужен один канал чтения с номером 0 и один канал записи с номером 7):

IControl.CreateChannel 1, 0     ‘ создали канал чтения с номером 0

IControl.CreateChannel 2, 7     ‘ создали канал записи с номером 7

5. Делаем их активными для помещения в очередь обрабатываемых каналов:

IControl.EnableChannel 1, 0 ‘ поместили созданный канал чтения в очередь активных каналов

IControl.EnableChannel 2, 7 ‘ поместили созданный канал записи в очередь активных каналов

6. Запускаем поток обработки активных каналов:

IControl.Start

7. Принимаем последнюю точку данных из канала чтения:

Dim Data As Integer

Dim Time As Double

IData.GetLastPoint 1, 0, Data, Time

8. Устанавливаем ОДНУ точку в канал записи (на выходе прибора будет поддерживаться заданный потенциал за счёт циклической передачи на стороне компонента):

Dim Data As Integer

Dim Time As Double

IData.ClearDeque 2, 7     ‘ очищаем буфер канала (в противном случае точка будет добавлена к ‘ ‘ существующей последовательности)

IData.SetDataAsSingle 2, 7, Data, Time ‘ обращаю внимание на то, что параметр Time

‘ ДОЛЖЕН передаваться несмотря на то, что он не используется.

9. Останавливаем поток обработки активных каналов (можно этого не делать):

IControl.Stop

10. Удаляем каналы (этого тоже можно не делать):

IControl.DeleteChannel 1, 0     ‘ удалили канал чтения

IControl.DeleteChannel 2, 7     ‘ удалили канал записи

11. Отключаем порт:

IControl.Disconnect

12. Удаляем все ссылки на объект и его интерфейсы (объект при этом разрушается):

Set IData = Nothing

Set IControl = Nothing

Set IDevice = Nothing

Рекомендации по установке.

ВНИМАНИЕ! Описанные далее действия выполняются только один раз, при использовании компонента COM_RL в нескольких программах повторная регистрация НЕ ТРЕБУЕТСЯ!

Сначала создайте папку с именем COM_RL  и скопируйте в неё файлы COM_RL.exe и COM_RL.tlb, находящиеся в этом архиве.

Запустите окно "Сеанс MS-DOS" или "Командная строка"  (в зависимости от используемой операционной системы) и, используя команду CD (Change Directory), переключитесь во вновь созданную папку. Выполните команду:

COM_RL.exe /regserver¿

На этом все необходимые операции по регистрации в системе СОМ-объекта выполнены. Описанные далее действия нужно выполнять всякий раз, создавая новую программу. Когда редактор Visual Basic уже открыт, найдите и выберите пункт меню "Tools" (или "Сервис"), затем – пункт "References" ("Ссылки"). В появившемся окне "References - VBAProject" ("Ссылки - VBAProject") нажмите кнопку "Browse" ("Обзор") и укажите путь к созданной ранее папке COM_RL. Не забудьте поставить отметку в строке с надписью COM_RL 1.0 Type Library.