Техническое описание и инструкция по эксплуатации длиж. 411618. 003 То


Скачать 0.51 Mb.
Название Техническое описание и инструкция по эксплуатации длиж. 411618. 003 То
страница 7/9
Тип Инструкция по эксплуатации
rykovodstvo.ru > Руководство эксплуатация > Инструкция по эксплуатации
1   2   3   4   5   6   7   8   9

47Модели памяти


Все функции библиотеки предполагают использование дальних указателей типа FAR, как для вызова процедур, так и для передачи адресов данных, поэтому компиляцию программы в языке Си желательно проводить в модели памяти LARGE, в которой по умолчанию используются дальние вызовы процедур и дальние указатели на данные. В директории \EXAMPLE.C\ находится драйвер, адаптированный под язык Си. В директории \EXAMPLE.PAS\ находится драйвер, адаптированный под язык Паскаль.

48Техническое сопровождение


Любые вопросы и замечания по библиотеке функций для платы АЦП Вы можете задать с 10.00 до 18.00 по будним дням по телефону: (095) 257-17-10, e-mail: SUPPORT@LCARD.RU или на нашем сайте: WWW.LCARD.RU.

ЗАО “Л-КАРД” гарантирует консультации по всем возникшим у Вас вопросам.

49Описание библиотеки функций

50Функции конфигурации

51Назначение


Функции общего назначения предназначены для уведомления драйвера (в дальнейшем под драйвером подразумевается библиотека функций для платы АЦП L-154) об установленной конфигурации платы с помощью перемычек. При помощи перемычек Вы можете изменить базовый адрес платы в пространстве ввода-вывода компьютера для работы с более, чем одной платой, и изменить номер линии прерывания, которое может генерироваться платой. По умолчанию драйвер настроен на базовый адрес 0x300 и на линию прерывания IRQ 3, при изменении этих параметров Вам следует сообщить о них драйверу, вызвав описываемые ниже функции с соответствующими параметрами. Функции общего назначения позволяют также проводить тест наличия платы в компьютере.

52Установка базового адреса (SETBASEADDRESS())


Формат вызова

void SETBASEADDRESS(int address);

Назначение

Устанавливает новый базовый адрес в пространстве PC для функций драйвера, переменная address должна быть равна одному из значений 0x300, 0x310, 0x330, 0x340 в соответствии с установленными перемычками на плате

Параметры

address -> значение базового адреса платы в компьютере

53Установка номера прерывания (INTR_SETUP())


Формат вызова

void INTR_SETUP(int irq_number);

Назначение

Сообщает драйверу о выбранном номере прерывания (IRQ3 - IRQ6) на плате. По умолчанию на плате установлен номер прерывания IRQ3 и драйвер изначально предполагает, что номер прерывания равен IRQ3.

Параметры

irq_number

  • irq_number = 0 -> IRQ3

  • irq_number = 1 -> IRQ4

  • irq_number = 2 -> IRQ5

  • irq_number = 3 -> IRQ6.

54Проверка наличия платы в компьютере (PLATA_TEST())


Формат вызова

int PLATA_TEST();

Назначение

Проводит диагностику наличия платы АЦП в компьютере. Возвращает нулевое значение в случае успешного тестирования присутствия платы и ненулевое значение в противном случае. Ненулевое значение означает, что либо плата отсутствует в компьютере, либо значение базового адреса платы не соответствует установленному через функцию SETBASEADDRESS().

Параметры отсутствуют

Возвращаемое значение

  • 0 плата обнаружена

  • 1 плата не обнаружена.

55Работа с аналоговыми каналами

56Назначение


Функции данного раздела служат для обеспечения ввода аналоговых сигналов в компьютер в различных программных режимах: в асинхронном режиме и в режиме синхронизации от установленного на плате таймера .

57Установка номера канала АЦП (SETCHANNEL())


Формат вызова

void SETCHANNEL(int Channel);

Назначение

Устанавливает канал АЦП Channel для последующего ввода функцией однократного асинхронного ввода SAMPLE().

Параметры

Channel -> номер канала АЦП (см, формат номера канала)

Пример

main()

{

int i;

SETCHANNEL(0xC0); // установим первый канал

i=SAMPLE(); // введем значение с канала

cprintf("Код АЦП = %d", i); // выведем его на экран

}

58Однократный асинхронный ввод с АЦП (SAMPLE())


Назначение

Осуществляет аналого-цифровое преобразование с канала АЦП, предварительно установленного при помощи функции SETCHANNEL(). Данной функцией удобно пользоваться для асинхронного одноканального ввода, когда не требуется переустанавливать номер канала.

Параметры отсутствуют.

Пример

main()

{

int i;

SETCHANNEL(0xC0); // установим первый канал

i=SAMPLE(); // введем значение с канала

cprintf("Код АЦП = %d", i); // выведем его на экран

}

59Однократный ввод с переустановкой канала АЦП (ADCHAN())


Формат

int ADCHAN(int Channel);

Назначение

Устанавливает заданный канал АЦП и осуществляет аналого-цифровое преобразование. Данная функция удобна для осуществления асинхронного ввода с разных каналов АЦП. Возвращает результат преобразования по каналу 'Channel'.

Параметры номер канала АЦП

Пример

main()

{

// введем значение с первого канала и выведем преобразованное

// значение кода в вольты

cprintf("\n\r Напряжение на канале %d = %f", 1, ADCHAN(0xC0)*5.12/2048);

}

60Однократный ввод последовательности каналов АЦП (KADR())


Формат

void KADR (int *Data, int *Channels, int Nch);

Назначение

Вводит Nch отсчетов с каналов АЦП, указанных в массиве Channels в массив Data. Т. е. если Вам, например, требуется ввести по одному значению с трех каналов АЦП, то Вы можете сформировать целочисленный массив Channels из 3 элементов, при этом первый будет равен коду для первого канала, второй для следующего и т. д.

Параметры

  1. Data целочисленный массив, в который будут помещены результаты ввода с Nch каналов

  2. Channels целочисленный массив с номерами каналов

  3. Nch число каналов

Пример

main()

{

int i, Nch=3, Channels[16]={0xC0, 0xC1, 0xC2}, Data[16];

// введем первые три канала

KADR(Data, Channels, Nch);

// нарисуем на экране их значения в кодах АЦП (-2048 .. 2047)

for(i=0; i < 3; i++) cprintf("\n\r Канал N%d = %d", i+1, Data[i]);

}

61Одноканальный ввод с синхронизацией от таймера (STREAM())


Формат вызова

void STREAM (int *Data, int Npoint, int Channel, int Rate);

Назначение

Данная функция осуществляет считывание последовательности отсчетов с заданного канала АЦП с интервалом Rate между отсчетами.

Параметры

  1. Data Целочисленный массив, в который будут помещены вводимые отсчеты

  2. Npoint Число вводимых отсчетов (1 <= Npoint <= 32768)

  3. Channel Номер канала АЦП, по которому будут вводится данные

  4. Rate Интервал ввода в микросекундах

Пример

main()

{

int i, Data[100], Npoint=100, Channel=0xC0, Rate=20;

// введем 100 значений по первому каналу АЦП с интервалом ввода 20 мкс

STREAM(Data, Npoint, Channel, Rate);

// выведем на экран первые 10 введенных значений

for(i=0; i < 10; i++) cprintf("\n\rValue[%2d]=%5d", i+1, Data[i]);

}

62Многоканальный ввод с синхронизацией от таймера (SOFT())


Формат вызова

void SOFT(int *Data, int NPoint, int *Channels, int Nch, int Rate);

Назначение

Функция SOFT() осуществляет ввод NPoint кадров с Nch аналоговых каналов, номера которых передаются в целочисленном массиве Channels с интервалом Rate мкс между кадрами.

Под кадром подразумевается ряд отсчетов, состоящий из результатов последовательного опроса первых Nch каналов, указанных в массиве 'Channels'.

Параметры

  1. Data Целочисленный массив, в который будут помещены вводимые отсчеты

  2. Npoint Число вводимых кадров (1 <= Npoint*Nch <= 32768)

  3. Channels Целочисленный массив с номерами каналов АЦП, по которым будут вводится данные

  4. Nch Число каналов

  5. Rate Интервал ввода

Пример

main()

{

int i, j, Data[100], Npoint=20, Channels[16]={0xC0,0xC1,0xC2,0xC3};

int Nch=4, Rate=100;

// ввод 20 кадров (20*4=80 отсчетов) по первым четырем
// каналам c интервалом 100 мкс между кадрами


SOFT(Data, Npoint, Channels, Nch, Rate);

// выведем первые два кадра

for(i=0; i < 2; i++) for(j=0, cprintf("\n\rКадр=%2d", i+1); j < Nch; j++)
cprintf("Канал #%2d=%5d, ", j+1, Data[i*Nch+j]);


}

63Цифро-аналоговые каналы

64Назначение


На плате АЦП установлен один Цифро - Аналоговый Преобразователь (в дальнейшем ЦАП), при помощи которого можно управлять внешними устройствами, генерировать сигналы произвольной формы и т. п.

65Асинхронный вывод на ЦАП (OUTDA())


Формат вызова

void OUTDA(int Code);

Назначение

Устанавливает выходное напряжение на ЦАПе в соответствии с кодом Code.

Параметры

Code - выводимый код на ЦАП (см. описание форматов данных).

Пример

main()

{

// выведем на ЦАП минимальное напряжение

OUTDA (0);

// выведем на ЦАП максимальное напряжение

OUTDA(4095);

}

66Синхронный одноканальный вывод на ЦАП (OUTDAARRAY())


Формат вызова

void OUTDAARRAY(int *Data, int Rate, int NPoint);

Назначение

Выводит NPoint отсчетов из массива Data на ЦАП с интервалом Rate

Параметры

  1. Rate Интервал ввода в микросекундах

  2. Npoint Число выводимых отсчетов

  3. Data Массив с выводимыми отсчетами

Пример

#include

main()

{

int i, Data[1000], Rate=20, NPoint=1000;

// сгенерируем синус

for(i=0; i < NPoint; i++) Data[i]=2000.*sin(i*M_PI/80.)+2048;

// выведем его на ЦАП

DASTREAM(Data, Rate, NPoint);

}

67Цифровые ТТЛ линии

68Чтение восьми цифровых линий (INPBYTE())


Формат вызова

int INPBYTE();

Назначение

Возвращает состояние 8-ми внешних цифровых ТТЛ линий. При считывании ТТЛ линий автоматически генерируется цифровой строб на линии "Строб чтения цифрового порта" на внешнем разъёме.

Параметры

Отсутствуют

Пример

main()

{

int i;

// введем восемь ТТЛ линий

i=INPBYTE();

cprintf("\n\r Первая линия = %d", i & 1);

cprintf("\n\r Вторая линия = %d", (i >> 1) & 1);

cprintf("\n\r Третья линия = %d", (i >> 2) & 1);

cprintf("\n\r Четвёртая линия = %d", (i >> 3) & 1);

cprintf("\n\r Пятая линия = %d", (i >> 4) & 1);

cprintf("\n\r Шестая линия = %d", (i >> 5) & 1);

cprintf("\n\r Седьмая линия = %d", (i >> 6) & 1);

cprintf("\n\r Восьмая линия = %d", (i >> 7) & 1);

}

69Вывод на восемь цифровых линий (OUTBYTE())


Формат вызова

void OUTBYTE(int Code);

Назначение

Функция установки 8-ми цифровых ТТЛ линий в соответствии с битами младшего байта параметра 'Code'.

Параметры

Code - устанавливаемый код

Пример

main()

{

// выведем все нули

OUTBYTE(0);

// выведем все единицы

OUTBYTE(0xff);

}

70Работа с прерываниями

71Назначение


Ввод по прерываниям используется, как правило, при анализе процессов на медленных частотах ввода (до 10 кГц). Общая идеология ввода обычно сводится к следующему: плата генерирует прерывание в компьютер, в котором предварительно должен быть загружен драйвер-обработчик используемого платой прерывания, который после каждого вызова выполняет какую либо функцию (вводит с АЦП, выводит на ЦАП и т. п.).

72Генерирование прерываний (INITINTR())


Формат вызова

void INITINTR(int Rate1, int Rate2, interrupt *Vector);

Назначение

Программирует контроллер прерываний и плату для работы в режиме генерации установленного прерывания. После вызова процедуры INITINTR() плата генерирует прерывания с интервалом, равным произведению: Rate1*Rate2 мкс. которое обрабатывается драйвером-обработчиком, адрес которого передается в параметре Vector. Драйвер - обработчик должен позаботится о сбросе как контроллера прерываний компьютера, так и контроллера прерываний платы АЦП (см. Пример)

Параметры

  1. Rate1, Rate2 Интервал генерирования прерываний (Rate1*Rate2 мкс)

  2. Vector Адрес обработчика прерываний

Пример

Драйвер - обработчик прерывания IRQ от платы АЦП при каждом вызове вводит отсчет с первого канала АЦП и выводит его на экран.

// обработчик прерывания

void interrupt E_Interrupt(PARM)

{

int i;

// введем отсчет с АЦП

i=ADCHAN(0xC0);

// отобразим его на экране

cprintf("\n\rКод с АЦП = %5d", i);

// сбросим флаг прерывания на плате АЦП и в компьютере

RESET_IRQ();

}

// основная функция

main()

{

int Channel=0xC0;

// установим интервал между прерываниями 10000 мкс и
// адрес обработчика E_Interrupt


INITINTR (1000, 10, E_Interrupt);

// ждем пока не нажата клавиша

while(!kbhit());

// запретим прерывания от платы и восстановим

// контроллер прерываний

STOP_INTR();

}

73Сброс флага прерываний (RESET_IRQ)


Формат вызова

void RESET_IRQ(void);

Назначение

Драйвер-обработчик прерывания IRQ должен перед выходом из обработки прерывания сбросить регистр прерывания на плате и в компьютере. Для этого достаточно вызвать функцию RESET_IRQ().

Параметры Отсутствуют.

Пример См. Пример к SOFT_INTR.

74Выключение прерываний (STOP_INTR())


Формат вызова

void STOP_INTR(void);

Назначение

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

Параметры

Отсутствуют.

Пример См. Пример к SOFT_INTR.

75Функции работы с таймерами


На плате установлен трёх - канальный таймер, который может использоваться для генерирования прерываний и для синхронизации процессов ввода и вывода.

76Программирование таймера (TIMER())


Формат вызова

void TIMER(int Timer, int Mode, int Rate);

Назначение

Устанавливает один из трёх каналов таймера в режим Mode и записывает в счётчик данного канала таймера интервал Rate.

Параметры

  1. Timer номер канала таймера (от 0 до 2). Третий канал таймера используется для внешней синхронизации (его счётный вход выведен на внешний разъём).

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

  3. Rate устанавливаемый интервал в микросекундах.


77Ожидание перехода на таймере (WAIT_TIMER())


Формат вызова

void WAIT_TIMER(int Timer);

Назначение

В том случае, если канал Timer запрограммирован в режим генерации меандра, то при помощи функции WAIT_TIMER() можно синхронизировать процессы ввода/вывода по таймеру.

Параметры

Timer номер канала таймера (от 0 до 2).

Пример

main()

{

int Channel=0xC0, Rate=200, i, Data[25];

// установим режим генерирования прерываний на первом канале таймера

TIMER(0, 3, Rate);

// установим номер канала АЦП

SETCHANNEL(Channel);

// введем 25 отсчётов с интервалом 200 мкс

for(i=0; i < 25; i++)

{

// ждём перехода на первом канале таймера

WAIT_TIMER(0);

// введём канал АЦП

Data[i]=SAMPLE();

}

// отобразим введённые значения

for(i=0; i < 25; i++) cprintf(“\n\rОтсчёт %2d = %6d”, i+1, Data[i]);

}

78Чтение регистра состояния таймера (GET_TIMER())


Формат вызова

int GET_TIMER(void);

Назначение

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

Параметры

Отсутствуют.

Пример

main()

{

int Channel=0xC0, Rate=200, i, Data[25];

// установим режим генерирования прерываний на первом канале таймера

TIMER(0, 3, Rate);

// установим номер канал АЦП

SETCHANNEL(Channel);

// введем 25 отсчётов с интервалом 200 мкс

for(i=0; i < 25; i++)

{

// ждём перехода на первом канале таймера

while (GET_TIMER() & 1);

while(!(GET_TIMER() & 1));

// введём канал АЦП

Data[i]=SAMPLE();

}

// отобразим введённые значения

for(i=0; i < 25; i++) cprintf(“\n\rОтсчёт %2d = %6d”, i+1, Data[i]);

}
1   2   3   4   5   6   7   8   9

Похожие:

Техническое описание и инструкция по эксплуатации длиж. 411618. 003 То icon Техническое описание и инстpукция по эксплуатации
Техническое описание и инструкция по эксплуатации содержит технические данные, описание принципа действия и устройства, а также сведения,...
Техническое описание и инструкция по эксплуатации длиж. 411618. 003 То icon Техническое описание и инструкция по эксплуатации введение
Техническое описание и инструкция по эксплуатации на «Элементы нагревательные гибкие ленточные энгл-1» предназначены для ознакомления...
Техническое описание и инструкция по эксплуатации длиж. 411618. 003 То icon Досмотровый комплекс “циклон-м2Ч” техническое описание и инструкция...
Фирма-изготовитель гарантирует соответствие комплекса требованиям, указанным в разделе 4, в течение 24 месяцев со дня отгрузки
Техническое описание и инструкция по эксплуатации длиж. 411618. 003 То icon Техническое описание и инструкция по эксплуатации для используемой прошивки V 2
Настоящее техническое описание и инструкция по эксплуатации (в дальнейшем то) предназначены для изучения и правильной эксплуатации...
Техническое описание и инструкция по эксплуатации длиж. 411618. 003 То icon Техническое описание, инструкция по эксплуатации
Настоящее техническое описание и инструкция по эксплуатации являются руководством по эксплуатации, транспортированию и хранению подстанции...
Техническое описание и инструкция по эксплуатации длиж. 411618. 003 То icon Техническое описание и инструкция по эксплуатации. Введение
Техническое описание и инструкция по эксплуатации (ТО) предназначено для изучения и правильной эксплуатации стендов для испытания...
Техническое описание и инструкция по эксплуатации длиж. 411618. 003 То icon Руководство по эксплуатации мгфк 412124. 003 Рэ согласован раздел «Методика поверки»
Настоящее руководство по эксплуатации содержит описание радиометра радона рра-01М-03 мгфк 412124. 003, принципа действия, а также...
Техническое описание и инструкция по эксплуатации длиж. 411618. 003 То icon I. техническое описание
Настоящее техническое описание и инструкция по эксплуатации содержит технические данные, описание принципа действия и конструктивного...
Техническое описание и инструкция по эксплуатации длиж. 411618. 003 То icon Техническое описание и инструкция по эксплуатации п. Гигант 2006г
Перед эксплуатацией изделия изучите техническое описание и инструкции по эксплуатации машин, входящих в состав агрегата
Техническое описание и инструкция по эксплуатации длиж. 411618. 003 То icon Техническое описание, инструкция по эксплуатации, каталог основных сборочных единиц. Внимание
Перед тем как начать работу на пресс-подборщике, изучите техническое описание и инструкцию по эксплуатации
Техническое описание и инструкция по эксплуатации длиж. 411618. 003 То icon Техническое описание, инструкция по эксплуатации, каталог основных сборочных единиц. Внимание
Перед тем как начать работу на пресс-подборщике, изучите техническое описание и инструкцию по эксплуатации
Техническое описание и инструкция по эксплуатации длиж. 411618. 003 То icon Инструкция по эксплуатации Комбинированный испытательный стенд kps 003
Инструкция по эксплуатации предназначена для пользователей и обслуживающего персонала комбинированного испытательного стенда kps...
Техническое описание и инструкция по эксплуатации длиж. 411618. 003 То icon Техническое описание и инструкция по эксплуатации 2С9 то москв а
Настоящие Техническое описание и Инструкция по эксплуата­ции являются руководством для изучения и эксплуатации 120-мм самоходного...
Техническое описание и инструкция по эксплуатации длиж. 411618. 003 То icon Техническое описание и инструкция по эксплуатации ннпм. 468264. 002ТО
Настоящее техническое описание предназначено для изучения комплекта оборудования автоматизации сутс и является обязательным руководством...
Техническое описание и инструкция по эксплуатации длиж. 411618. 003 То icon Портативный контролирующий прибор, который предназначен для проведения...
Техническое описание и инструкция по эксплуатации распространяется на тестер акустический та-4 «Искатель-4» изготовляемый в соответствии...
Техническое описание и инструкция по эксплуатации длиж. 411618. 003 То icon Техническое описание и инстукция по эксплуатации 2005 содержание введение 3
Настоящее техническое описание и инструкция по эксплуатации распространяется на выпрямитель серии тпе-400/400-460- 1 мощностью 185...

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск