Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SCADA_full.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
766.98 Кб
Скачать

4Использование библиотеки lcard_xx.Dll в программах на Си.

Язык Си позволяет легко использовать функции, находящиеся в библиотеках LCARD_XX.DLL

Для вызова функций из языка Си Вам необходимо:

  • Для Borland 32-битное приложение - добавить в проектный файл библиотеку LCARD_32.LIB и включить файл LCARD_AD.H

  • Для Visual C 4.0 - добавить в проектный файл библиотеку LCARD_32.VC4 и включить файл LCARD_AD.H

5Загрузка управляющей программы для плат l1610, l12xx, l1056, l305.

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

Библиотека LCARD_AD.DLL предоставляет два варианта загрузки LBIOS в плату:

  • Вы можете вызвать в начале программы функцию LOADBIOS(), выполнив загрузку самостоятельно.

  • Вы можете с помощью программы LSetup включить режим автоматической загрузки BIOS при инициализации DLL, указав файл с загружаемым BIOS. При этом никаких действий в программе для инициализации платы выполнять не требуется.

6 Загрузка bios процессора adsp-21xx в плату (loadbios())

Применимость

Функция реализована для плат L1610, L12XX, L1056, L305, L264.

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

int LOADBIOS(char* FileName, int DslOff);

Назначение

Функция загружает в плату BIOS для сигнального процессора ADSP-21XX. Можно не использовать эту функцию, а с помощью утилиты Lsetup включить автоматическую загрузку BIOS при старте DLL.

Возвращаемое значение содержит код возврата:

  • 0 - BIOS загружен успешно;

  • 1 - какой-либо из файлов .BIN и .DSL не найден;

  • 2 - какой-либо из файлов .BIN или .DSL поврежден или имеет неверный формат;

  • 3 - не загружен сегмент кода. Этот код возврата означает, что либо неисправна плата , либо сущетвует ошибка в коде BIOS;

  • 4 - не удалось загрузить сегмент данных;

  • 5 - BIOS загружен, но функция PLATA_TEST() возвращает не 0. Этот код возврата означает, что либо неисправна плата , либо сущетвует ошибка в коде BIOS

Параметры

  1. FileName Путь и имя файла с BIOS (без расширения!), например, "C:\\LCARD\\LBIOS009"

  2. DslOff Флаг, отключающий загрузку сегмента данных. При загрузке стандартного BIOS необходимо использовать DslOff=0. Значения флага:

    1. DslOff=0, загружать сегмент данных BIOS (файл .DSL)

    2. DslOff=1, не загружать сегмент данных.

7Установка базового адреса платы (set_base_address())

Применимость

Функция реализована для всех плат.

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

void SET_BASE_ADDRESS(int address);

Назначение

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

Параметры

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

#define RWHIS

#include "RWH.H"

#include "LCARD_AD.H"

#include <stdio.h>

#include "stdafx.h"

#include <math.h>

unsigned char char_dOut;

B OOL APIENTRY DllMain( HANDLE hModule,

DWORD ul_reason_for_call,

LPVOID lpReserved

)

{

switch (ul_reason_for_call)

{

case DLL_PROCESS_ATTACH:

break;

case DLL_THREAD_ATTACH:

break;

case DLL_THREAD_DETACH:

break;

case DLL_PROCESS_DETACH:

break;

}

return TRUE;

}

void rwh_start()

{

int data;

data=LOADBIOS("c:\\L_setup\\BIOS\\lbios12",0);

}

void rwh_aio_init(IA &ia)

{

}

void rwh_dio_init(IA &ia)

{

}

int rwh_aio_write(IA &ia,unsigned short v)

{

OUTDA(v);

return(0);

}

i nt rwh_aio_read(IA &ia,unsigned short &v)

{

v=ADCHAN(ia.c[2]);

return(0);

}

i nt rwh_dio_write(IA &ia,unsigned short v)

{

if(v==0)

char_dOut=char_dOut&~(int)pow(2,ia.c[2]);

else

char_dOut=char_dOut|(int)pow(2,ia.c[2]);

OUTBYTE(char_dOut);

return(0);

}

i nt rwh_dio_read(IA &ia,unsigned short &v)

{

v=INPBYTE();

return(0);

}

void rwh_stop()

{

}

 

Особенности работы с устройствами ввода-вывода

Основными факторами, негативно влияющих на правильность работы устройств ввода-вывода является межканальное прохождение и помехи, возникающие по ряду причин.

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

Явление межканального прохождения объясняется остаточным от предыдущего цикла опроса зарядом емкостью С – емкости динамического коммутатора, которая вместе с сопротивлением источник5а сигнала и сопротивлением проходных ключей образует RC цепочку. Для уменьшения межканального прохождения при использовании многоканальных АЦП пользуются следующими приемами.

- устанавливается максимально возможное для данной задачи время опроса аналогового канала (минимальная частота АЦП);

- применяются источники сигнала с минимальным внутренним сопротивлением;

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

Дополнительные факторы, влияющие на увеличение межканального прохождения:

- превышение диапазонов каналов АЦП;

- наличие длинных сигнальных кабелей, неподсоединенных к источнику сигнала, даже если этот канал в данный момент не опрашивается;

- наличие индуктивной составляющей во входном сигнале;

- наличие высокочастотных гармоник во входном сигнале (частота гармоник выше Fd/2), где Fd – частота опроса отдельного канала.

- заземление источников сигнала проводиться в разных точках, имеющих разные потенциалы;

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

Меры устранения указанных факторов заключаются в использовании фильтров, проверка надежности заземления, плохие источники сигнала и т. д.

М етод измерения межканального прохождения

Межканальное прохождение АЦП оценивается согласно схеме как отношение амплитуд напряжения U1 и наведенному напряжению U2 и выражается в децибелах (см. рис). Для измерения используется синусоидальный сигнал частотой 1 кГц с амплитудой 90-95% от установленного диапазона. Обоим каналам устанавливается одинаковый коэффициент усиления, остальные каналы заземляются. Наличие межканального прохождения устанавливается при оценки отношения U1/ U2 ниже 80 Дц. 1 Дц= 20 lg K, где К в данном случае равно U1/ U2.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]