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.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.