Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
ТЕХНИЧЕСКОЕ ОПИСАНИЕ
МОДУЛЯ WAD-DAC16-16 (WAD-DAC16-16H)
(16-КАНАЛЬНОГО 16-РАЗРЯДНОГО ЦИФРО - АНАЛОГОВОГО ПРЕОБРАЗОВАТЕЛЯ
С БУФЕРНОЙ ПАМЯТЬЮ И ГАЛЬВАНИЧЕСКОЙ ИЗОЛЯЦИЕЙ КАНАЛОВ ОТ ШИНЫ ПИТАНИЯ КОМПЬЮТЕРА, ПРЕДНАЗНАЧЕНОГО ДЛЯ РАБОТЫ В ПЭВМ ТИПА
IBM PC/AT на шине ISA, либо как выносная конфигурация с
интерфейсом USB, либо RS-232, либо RS-485, либо LAN 10Мб.)
В этом документе содержится описание и порядок программирования модуля цифро-аналогового преобразователя (в дальнейшем ЦАП). А также, приводится документ по использованию выносной модификации модуля.
!!!!!!!!!ВНИМАНИЕ!!! ПРОЧТИТЕ ОБЯЗАТЕЛЬНО!!!!!!!!!!!!
Данный файл документации и комплект демонстрационного
программного обеспечения поставляются в ПОЛНОМ объеме
НЕЗАВИСИМО от заказанной конфигурации платы. Конкретная конфигу-
рация по прайсу зависит от букв, стоящих после полного названия
модуля (см. перечисление функций конкретной конфигурации в прайс
-листе). В случае обнаружения на приобретенном модуле нехватки
какой-либо нужной Вам функции, упоминание о которой есть в этом
документе и демо-программах (а при заказе Вы остановились на кон-
фигурации, не поддерживающую эту функцию), обращайтесь к нам за
доработкой.
Модуль поддерживает работу ТОЛЬКО С ОДНИМ выбранным при заказе
видом интерфейса, и если не оговаривается иное, то по умолчанию это
шина ISA (встраиваемая в компьютер плата). Перед покупкой не выносной
версии устройства - убедитесь, что в Вашем компьютере есть ISA-слот.
Демо-программы, поставляемые бесплатно в комплекте служат для
ДЕМОнстрации работоспособности модуля и демонстрации порядка
программирования. Они НЕ предназначены для решения конкретной за-
дачи заказчика.
СОДЕРЖАНИЕ.
1. Технические характеристики модуля.
1.1. Комплект поставки.
2. Конструктивные характеристики модуля.
3. Функциональная схема ЦАП
4. Принцип работы модуля.
5. Работа интерфейса.
5.1. Таблица соответствия адресов, используемых при
обращении к плате и функций, выполняемых устройством.
5.2. Программирование таймера.
5.3. Предустановка каналов передачи.
5.4. Порядок программирования платы.
5.5. Примеры программирования ЦАП на TurboPascal.
ПРИЛОЖЕНИЕ: РАСПРЕДЕЛЁННАЯ ШИНА ISA. Концепция построения и руководство по программированию
1. Технические характеристики модуля.
Число выходных каналов...................... 16
Число разрядов входного кода.............двоичных разрядов
Вид входного кода ........................... дополняющий двоичный
код
Время преобразования.....................мкс на 1 канал
Время установления выходного напряжения при
изменении кода на 1МР до точности 0.0015% ... 1 мкс
Cкорость изменения выходного напряжения..В/мкс (7 В/мкс в
одноканальном модуле)
Дифференциальная нелинейность............%
Интегральная нелинейность...............%
Погрешность усиления........................ +/- 0.007%
Погрешность установки нуля.................. +/- 0.005%
Минимальный интервал изменения выходного
напряжения при использовании :
не более 1-го канала..................мкс
8-ми каналов.................мкс
16-ти каналов................мкс
Общее время установления для перепада менее
5 Вольт при использовании:
не более 1-го канала..................мкс
8-ми каналов.................мкс
16-ти каналов................мкс
Общее время установления для перепада
20 Вольт при использовании:
1-го канала..................мкс
4-х каналов..................мкс
8-ми каналов.................мкс
16-ти каналов................мкс
Диапазон выходного напряжения.............. +/- 0-10.24 В (*)
Диапазон выходных токов..................... +/- 0-20 мА (*)
Величина единицы младшего разряда при работе
в диапазонe -10.24В - +10.24В............мкВ
Действующее значение напряжения помех
и шумов на выходе каналов, не более......... 1 мВ
Максимальный выходной ток каналов........мА
Порог срабатывания схемы ограничения токамА
Емкость буферного ОЗУ....................К
Число точек в периоде формируемого сигнала.. 1,16,64,256,1024
Выходное сопротивление, не более...........Ом
Допустимая емкость нагрузки, не менее......пФ
Пробивное напряжение изоляции............... 4 кВ
Температурный дрейф выходного напряжения.%/С°
Ток, потребляемый от источника +5В........мА
Ток, потребляемый от источника +12В
в режиме холостого хода.................мА
в режиме максимально нагруженных выходов.. 400 мА
Максимальная частота переменного напряжения,
формируемого платой (форма прямоугольная)
для 1-го канала ..........................кГц
для 16-ти каналов ........................кГц
Линии прерывания ............................ 5,10,11,12
Базовый адрес платы ......................... 3х0,где х-0,1,2,...,f.
Габариты модуля ..........................х105х15 мм
Используемая шина ……………………………………………………………….. ISA
Используемый интерфейс
в выносной конфигурации “BOX”………………………….. USB, либо RS-232,
либо RS-485,LAN10Mb
Габариты выносной модификации “BOX” …………………. 220x220x60 мм
Питание выносной модификации “BOX” ………… +5В, +12В (от компьютера)
* - Возможен или выход по напряжению или по току; выходные вели-
чины определяются требованиями заказчика. Часть каналов мо-
гут быть токовыми, часть потенциальными.
1.1. Комплект поставки.
В базовый (по умолчанию) комплект поставки входит:
1) Модуль WAD-DAC16-16 (WAD-DAC16-16H) .................. 1 шт.
2) Ответная часть разьема 37-pin........................ 1 шт.
3) Диск с техническим описанием и ПО................. 1 шт.
ДОПОЛНЯЮЩИЙ КОД ( Для ЦАП )
7fff -+10.24B (+5.12В)
. . .
. . .
0B
ffff - -0.3125mB (-0.1562мВ)
. . .
. . .
8B (-5.12В)
2. Конструктивные характеристики модуля.
2.1. Расположение разьемов и переключателей, установленных на плате.
![]() |
РАЗЪЕМ Х1
Предназначен для снятия сигналов с выходов ЦАПа.
Ниже показан вид на соединитель (снаружи), уста-
новленный на плате. Если на плате установлен разъем
'папа', маркировка на разъеме совпадает с рисунком,
если 'мама' - доверять рисунку.
1 19
+------+
¦ . . . ¦
<ISA ¦ . . ¦
===\----/=================
20 37
+-------+-----+
¦ номер контакта ¦ назначение ¦
+-------+-----+
¦ 1 ¦ выход канала 0 ¦
¦ 2 ¦ выход канала 1 ¦
¦ 3 ¦ выход канала 2 ¦
¦ 4 ¦ выход канала 3 ¦
¦ 5 ¦ выход канала 4 ¦
¦ 6 ¦ выход канала 5 ¦
¦ 7 ¦ выход канала 6 ¦
¦ 8 ¦ выход канала 7 ¦
¦ 9 ¦ выход канала 8 ¦
¦ 10 ¦ выход канала 9 ¦
¦ 11 ¦ выход канала 10 ¦
¦ 12 ¦ выход канала 11 ¦
¦ 13 ¦ выход канала 12 ¦
¦ 14 ¦ выход канала 13 ¦
¦ 15 ¦ выход канала 14 ¦
¦ 16 ¦ выход канала 15 ¦
¦ 17 ¦ +12В ¦
¦ 18 ¦ общий провод ¦
¦ 19 ¦ -12В ¦
¦ 20 ¦ общий провод ¦
¦ . ¦ ... ¦
¦ . ¦ ... ¦
¦ . ¦ ... ¦
¦ 35 ¦ общий провод ¦
¦ 36 ¦ +5В ¦
¦ 37 ¦ общий провод ¦
+-------+-----+
++
-12В ¦19 . ¦
общий ¦1¦ общий
+12В ¦1¦ +5В
канал 15 ¦1¦ общий
канал 14 ¦1¦ общий
канал 13 ¦1¦ общий
канал 12 ¦1¦ общий
канал 11 ¦1¦ общий
канал 10 ¦1¦ общий
канал 9 ¦1¦ общий
канал 8 ¦ ¦ общий
канал 7 ¦ ¦ общий
канал 6 ¦ ¦ общий
канал 5 ¦ ¦ общий
канал 4 ¦ ¦ общий
канал 3 ¦ ¦ общий
канал 2 ¦ ¦ общий
канал 1 ¦ ¦ общий
¦ .20 ¦ общий
канал 0 ¦ 1 . ¦
++
ДЖАМПЕРЫ (ПЕРЕКЛЮЧАТЕЛИ) J1-J4
Джамперы (переключатели) предназначены для установки базо-
вого адреса устройства;
Данные установки определяются следующим положением джамперов:
+-+-+-+-++-------+
¦0¦0¦0¦0¦¦ ¦Положение джампера¦
¦0¦0¦0¦0¦¦ Наименование ключей +++
+-+-+-+-+¦ ¦Замкнут ¦ Разомкн.¦
¦ ¦ ¦ ¦ +-------+++
¦ ¦ ¦ +-+Сравнение с линией адреса A07¦ лог.0 ¦ лог.1 ¦
¦ ¦ +-+-+Сравнение с линией адреса A06¦ лог.0 ¦ лог.1 ¦
¦ +-+-+-+Сравнение с линией адреса A05¦ лог.0 ¦ лог.1 ¦
+-+-+-+-+Сравнение с линией адреса A04¦ лог.0 ¦ лог.1 ¦
¦ ¦ ¦ ¦ +-------+++
++-+-+-+-++
¦Р Р Р Р ¦ включен адрес 300 ¦
¦З Р Р Р ¦ включен адрес 310 ¦
¦Р З З Р ¦ включен адрес 360 ¦
¦З З З Р ¦ включен адрес 370 ¦
¦Р Р З З ¦ включен адрес 3с0 ¦
+++
ДЖАМПЕРЫ (ПЕРЕКЛЮЧАТЕЛИ) J5,J6
Джамперы (переключатели) предназначены для установки числа
сканируемых каналов; положение замкнут (З) или разомкнут (Р)
определяется из таблицы ниже:
J5 J6
Р Р - 16 каналов
Р З - 8 каналов
З З - 4 канала
ДЖАМПЕРЫ (ПЕРЕКЛЮЧАТЕЛИ) J7
Джамперы (переключатели) предназначены для объединения
(замыкания) общего провода ЦАП и общего провода компьютера
(устранение гальванической развязки).
3. Функциональная схема АЦП.
+--+ +---+
¦ +-->+K0 +---->вых 0
+---+ ¦ ¦ +---+
¦ ¦ ¦ +> . .->
¦ЦАП+->¦M +> . .->
¦ ¦ ¦ +> . .->
+-Ý-+ ¦ ¦ +---+
¦ ¦ +-->+K15+---->вых 15
-12 +12 +5 ¦ +Ý-+ +---+
Ý Ý Ý +=====Ý=====+
++-+---++ ++
¦ ИПН ¦ ¦ БР ¦
+---+---+ ++--+--+--+--+--+--+--++
Ý ÝC ÝD ÝL ÝE ÝA ÝA ÝA ÝA
¦вкл./выкл. ¦L ¦A ¦O ¦N ¦D ¦D ¦D ¦D
¦ ¦K ¦T ¦A ¦ ¦R ¦R ¦R ¦R
¦ ¦ ¦A ¦D ¦ ¦0 ¦1 ¦2 ¦3
+-----+-+--+--+--+--+--+--+--++
¦ и н т е р ф е й с ¦
+----+----+-----+
¦ ............. ¦
Ý Ý
IBM PC/AT
ЦАП - микросхема цифроаналогового преобразователя.
ИПН - импульсный преобразователь напряжения. Предназначен для
обеспечения стабилизированным питанием аналоговой час-
ти ЦАП и получения гальванической развязки выходных ка-
налов от шины компьютера.
БР - блоки развязок. Служат для передачи сигналов управле-
ния и обеспечения гальванической развязки.
М - мультиплексор.
К0..К15- каналы с 0-го по 15-тый.
4. Принцип работы модуля.
Модуль построен по принципу последовательной передачи
данных по одному каналу в гальванически изолированную часть
схемы, в которой установлен цифроаналоговый преобразователь,
мультиплексор и буферные усилители. Передача информации осу-
ществляется путем загрузки 16-ти разрядов данных в сдвиго-
вый регистр и вывода их в последовательном виде через
гальваническую развязку. Параллельно в гальванически развя-
занную часть схемы передается адрес канала, которому адресо-
ваны данные. Опрос каналов происходит поочередно, с 0-го по
15-тый. Каждый канал усиления представляет собой устройство
выборки-хранения (УВХ). На время установления конкретного
канала мультиплексор подключает выход микросхемы ЦАПа к нуж-
ному каналу (УВХ), канал устанавливается на заданное значе-
ние напряжения, затем мультиплексор переключает выход ЦАПа к
следующему каналу, а предыдущий хранит значение последующие
150 мкс (время, необходимое для установления остальных 15-ти
каналов). Все это происходит в режиме чтения ОЗУ платы.
В гальванически развязанныю часть передаются сигналы
тактовой частоты, данные, сигнал синхронизации приема дан-
ных для микросхемы ЦАПа и сигнал разрешения для мультиплек-
сора.
Модуль позволяет выбирать число точек в периоде вос-
производимого сигнала: 1, 16, 64, 256, 1024. Режим 'одна
точка' служит для формирования постоянных напряжений. Уста-
новленное на плате ОЗУ емкостью 32К разбито на шестнадцать
равных подобластей по 2К (1К слово), которые называются
БАНКАМИ ДАННЫХ. Каждый из этих банков можно программировать
в произвольном порядке. Перед программированием ОЗУ необхо-
димо включить режим записи, запрограммировав РЕГИСТР
СТАТУСА. Программирование банка заключается в предвари-
тельной установке в РЕГИСТРЕ РЕЖИМА номера банка, а затем
пословным обращением банк заполняется данными. При этом чис-
ло точек, установленное в регистре статуса должно быть не
меньше числа программируемых значений. Если предполагается
часть каналов использовать для формирования переменного сиг-
нала, а часть - постоянного, необходимо записать постоянное
значение столько-же раз, сколько точек в формируемом пере-
менном сигнале. В случае использования меньшего числа кана-
лов, например восьми, данные из девятого банка приходят пер-
вому каналу и т. д., если используется четыре канала, перво-
му каналу приходят дополнительно данные пятого, девятого и
тринадцатого каналов. Поэтому при меньшем числе каналов 'ос-
вободившиеся' банки данных также работают на задействован-
ные каналы. Однако в этом случае необходимо учитывать поря-
док поступления данных к каждому каналу, следовательно, сфор-
мированные данные для конкретного канала обьемом 2К слова
(случай 8-ми канального использования) надо разделить на два
массива (в первом - все нечетные значения, во втором все чет-
ные) и раздельно записать их в соответствующие банки.
5. Работа интерфейса.
При обращении к плате ЦАП происходит дешифрация адреса.
Для адресации модуля используются десять младших разрядов
шины адреса компьютера. Для работы ЦАП необходимо адресное
пространство размером в 16 адресов. ЦАП может работать со
следующими диапазонами адресов:
300h...30fh
...
...
3e0h...3efh
3f0h...3ffh
Это можно обозначить как 3x0...3xf, где x=0,1,..e, f.
Начальный адрес каждого поддиапазона называется базовым ад-
ресом. Выбор поддиапазона осуществляется с помощью четырех
джамперов (JP1-4). Так, для установки базового адреса 300h,
необходимо установить джампера JP1 N:1-4 в разомкнутое сос-
тояние. Выбор функции ЦАП, выполняемой при обращении к пла-
те, осуществляется путем дешифрации младших разрядов адреса
A0...A3.
5.1. Таблица соответствия адресов и функций, выполняемых устройством.
+-------+----+
¦ адрес ¦ Наименование команд и функции устройства ¦
¦ (h) ¦ ¦
+-------+----+
¦ 3х1 ¦ Регистр статуса. Назначение разрядов данных: ¦
¦ ¦ D0 = 1/0 - аналоговое питание включить/выключить ¦
¦ ¦ D1 = 1/0 - чтение/запись ОЗУ ¦
+-------+----+
¦ 3х3 ¦ Регистр режима ¦
¦ ¦ Соответствие записываемых данных в регистр режима ¦
¦ ¦ их функциональному назначению: ¦
¦ ¦ D7 D6 D5 D4 D3 D2 D1 D0 ¦
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ L--> Адрес ¦
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ L-----> программируемого ¦
¦ ¦ ¦ ¦ ¦ ¦ ¦ L> ¦
¦ ¦ ¦ ¦ ¦ ¦ L> канала ¦
¦ ¦ ¦ ¦ ¦ ¦ ¦
¦ ¦ ¦ ¦ ¦ ¦ 0точка ¦
¦ ¦ ¦ ¦ ¦ L---> Число 0точек ¦
¦ ¦ ¦ ¦ L------> точек 0точки ¦
¦ ¦ ¦ L> в 0точек ¦
¦ ¦ L-> периоде 1точки ¦
+-------+----+
¦ 3x4 ¦ Порт записи значений в ОЗУ (в дополняющем коде!) ¦
+-------+----+
Примечание: Запись в ОЗУ производится
пословно, остальные команды байтовые.
5.4. Порядок программирования платы.
1. Включить аналоговое питание. Сделать задержку 100-200 мс.
2. Включить режим записи.
3. Установить номер программируемого канала (номер бан-
ка) и число точек в периоде.
4. Произвести запись информации в банк данных путем
последовательной записи 16-ти разрядных данных.
5. Если необходимо использовать другие каналы (банки
данных), повторить П.3 и П.4
6. Установить номер программируемого канала нулевым (если
режим чтения должен начаться с нулевого канала) или дру-
гим, если этот канал должен обновлятся первым - сделать
программирование номера канала необходимо для сброса
счетчика адреса ОЗУ).
8. Включить режим чтения ОЗУ.
Во время записи новых данных выходные напряжения ка-
налов сохраняют прежние значения.
После выключения аналогового питания данные о форми-
руемых сигналах сохраняются (в режиме чтения из ОЗУ), поэто-
му достаточно включить питание и через 0.04 секунды ЦАП нач-
нет формировать прежние сигналы.
Программировать каналы можно при выключенном анало-
говом питании.
5.5. Примеры программирования ЦАП на TurboPascal.
ПРИМЕР ПРОГРАММИРОВАНИЯ МОДУЛЯ ДЛЯ ФОРМИРОВАНИЯ
ПЕРЕМЕННОГО СИГНАЛА ПО ОДНОМУ (НУЛЕВОМУ) КАНАЛУ
uses Crt;
begin
port[$301]:=$01; Delay(200);
{ 301-режим, D0-питание вкл.-1, D1-чтение-1,запись-0}
{ 303-рег. реж. D0-D3-N канала, D4-D7-N точек }
{ 304-запись в ОЗУ }
port[$303]:=$10;
portw[$304]:=$0000;
portw[$304]:=$1000;
portw[$304]:=$2000;
portw[$304]:=$3000;
portw[$304]:=$4000;
portw[$304]:=$5000;
portw[$304]:=$6000;
portw[$304]:=$7000;
portw[$304]:=$8000;
portw[$304]:=$9000;
portw[$304]:=$a000;
portw[$304]:=$b000;
portw[$304]:=$c000;
portw[$304]:=$d000;
portw[$304]:=$e000;
portw[$304]:=$f000;
{ 301-режим, D0-питание вкл.-1, D1-чтение-1,запись-0}
{ 303-рег. реж. D0-D3-N канала, D4-D7-N точек }
{ 304-запись в ОЗУ }
port[$301]:=$01;
port[$303]:=$10;
port[$301]:=$03;
end.

РАСПРЕДЕЛЁННАЯ
ШИНА ISA
Концепция построения и руководство по программированию
(API Isabox.dll)
СОДЕРЖАНИЕ
Введение 12
1. Концепция построения шины 12
2. Функции Isabox. dll 14
2.1. Функции регистрации и сборки 15
2.2. Сервисные функции 16
2.3. Функции доступа к портам шины ISA 17
3. Пример сборки шины и доступа к портам 19
Введение
С развитием вычислительной техники и постоянного роста потребностей в высокоскоростных устройствах производители персональных компьютеров отказываются от таких периферийных узлов как шина ISA и последовательных портов RS-232, LPT. По этой причине приходится снимать с производства проверенное временем не дорогое, но надежное оборудование, использующее эти интерфейсы. Стоимость PCI –плат по сравнению с платами на ISA выше в несколько раз, но проблема заключается ещё и в том, что не всегда нужна высокая производительность PCI –плат. Компания «АКОН» предлагает альтернативный вариант шины ISA, построенной на контроллерах ISA-BOX. Это внешняя распределенная шина, которая состоит из одного или нескольких контроллеров в зависимости от задач, которые управляют подключенными к ним платами ISA. Программное обеспечение верхнего уровня представляет набор внешних контроллеров как единое целое, т. е. как одну шину. Собранная таким образом внешняя шина совместима с платами всех производителей. К особенностям такого решения можно отнести отсутствие отработки прерываний и каналов прямого доступа к памяти. К преимуществам то, что шина собрана на внешних модулях (при этом не нужно открывать корпус компьютера) и то, что её можно собирать даже в том случае, если на компьютере есть слоты ISA, но в недостаточном количестве.
1. Концепция построения шины
Узловые контроллеры ISA-BOX могут подключаться к таким интерфейсам как RS-232, RS-485, USB, Ethernet (витая пара).

Рис.1 Пример построения распределенной шины
Управление контроллерами берет на себя библиотека Isabox.dll. Порядок настройки шины заключается в том, что в библиотеке регистрируются интерфейсы, к которым подключены контроллеры и сами контроллеры. Если контроллер подключен к интерфейсу RS-232, RS-485 или USB, то его адреса лежат в диапазоне от 1 до 255. Для контроллеров подключенных к LAN назначаются IP-адреса. Если адрес контроллера не известен, то его можно узнать с помощью программы Isabox Administrator, вызвав пункт меню «Поиск». (См. описание на программу IsaboxAdm). При этом к указанному интерфейсу должен быть подключен ТОЛЬКО ОДИН контроллер, потому что в этом режиме посылаются широковещательные запросы. Для RS/USB это адрес 0x00, а для LAN 0xFFFFFFFF.
Из прикладной программы перед началом сборки шины нужно вызвать функции ibcClearInterfaceList и ibcClearControllerList для очистки реестра интерфейсов и контроллеров. Для регистрации интерфейсов вызываются функции ibcOpenInterface и ibcOpenLanInterface. Первая функция вызывается при регистрации COM-порта. Контроллеры с USB интерфейсом создают при подключении виртуальный СОМ-порт, поэтому эта функция вызывается по тем же правилам. Вторая функция вызывается в том случае, если есть контролеры, подключенные к LAN. Обе функции при успешном выполнении возвращают идентификатор интерфейса. Этот идентификатор используется при регистрации контроллеров. Для регистрации контроллеров вызывается функция ibcOpenController. При регистрации контроллера нужно указать идентификатор интерфейса, к которому подключен контроллер, адрес контроллера и диапазон адресов шины ISA, которые он будет обслуживать. При регистрации контроллеров адреса шины ISA нужно распределять так чтобы они не перекрывались с адресами, зарегистрированными на других контроллерах, и не выходили за диапазон 0х300..0x3FF. Если у контроллера LAN интерфейс, то в этом случае запрещается использовать на нем диапазон адресов 0x380..0x39F, потому что в этом диапазоне работает микросхема драйвера сети Rtl8019AS. Если есть контроллеры, подключенные к LAN, то нужно вызвать функцию ibcSetLocalPort чтобы указать номер порта на компьютере. После этих манипуляций вызывается функция ibcControl, которая производит подключение к COM-портам и открывает UDP-сокет. Теперь шина ISA собрана и готова к использованию.
2. Функции Isabox.dll
Весь набор функций библиотеки Isabox. dll можно разделить на три группы:
№ | Группы | Функции |
1 | функции регистрации и сборки | ibcSetLocalPort ibcGetLocalPort ibcOpenInterface ibcOpenLanInterface ibcOpenController ibcClearControllerList ibcClearInterfaceList ibcControl |
2 | Сервисные функции | ibcGetControllerProfile ibcGetObjectList ibcFirstObject ibcNextObject ibcEofObject ibcGetOncObject ibcSetRsCfg ibcGetRsCfg ibcSetLanCfg ibcGetLanCfg ibcSaveToFlash ibcRestoreFromFlash |
3 | Функции доступа к портам шины ISA | ibcReadPort ibcWritePort ibcReadPortW ibcWritePortW ibcExReadPort ibcExWritePort ibcExReadPortW ibcExWritePortW |
2.1. Функции регистрации и сборки
ibcClearInterfaceList ibcClearControllerList | Очистка реестра интерфейсов и контроллеров |
void ibcClearControllerList(void); void ibcClearInterfaceList(void); Параметры: отсутствуют; |
ibcOpenInterface | Регистрация COM-порта |
unsigned long ibcOpenInterface(unsigned char ComPort, unsigned long Baudrate, HANDLE OpenPortHandle); Параметры: Port – номер COM-порта; (0 - COM1, 1 - COM2 и т. д.); 2. Baudrate – скорость обмена; (1200 – 115200); 3. OpenPortHandle – если есть необходимость подключить к одному порту различные устройства (на RS-485), то этот порт нужно открыть до его регистрации в библиотеке и хендл открытого порта передать третьим параметром. Если такой надобности нет, то прировнять его к NULL. Возвращаемый параметр: идентификатор интерфейса. Используется при регистрации контроллеров. (См. ниже) |
ibcOpenLanInterface | Регистрация LAN интерфейса |
unsigned long ibcOpenLanInterface(void); Параметры: отсутствуют Возвращаемый параметр: идентификатор интерфейса. Используется при регистрации контроллеров. (См. ниже) |
ibcOpenController | Регистрация контроллера |
unsigned long ibcOpenController(unsigned long InterfaceHandle, unsigned long Address, unsigned short StartAddress, unsigned short StopAddress); Параметры: 1. InterfaceHandle – идентификатор интерфейса возвращаемый функциями регистрации интерфейсов; 2. Address – адрес контроллера; ( 1 – 255 для RS, 0 – широковещательный) пример для LAN = 0xC0A80102 = 192.168.1.2; 3. StartAddress, StopAddress – диапазон адресов шины ISA которые будет обслуживать контроллер. Возвращаемый параметр: идентификатор контроллера. Используется при вызове сервисных функций для получения дополнительной информации о контроллере. (См. ниже) |
ibControl | Включение/выключение шины |
bool ibcControl(bool status); Параметры: 1. status – (true/false); Возвращаемый параметр: в случае успешного подключения к зарегистрированным COM-портам и создания сокетов функция возвращает true. В противном случае – false. |
2.2. Сервисные функции
Сервисные функции не нужны для использования в прикладной программе для работы с шиной ISA. Если все же они требуются, то их детальное описание предоставляется компанией «АКОН» в отдельном документе. |
2.3. Функции доступа к портам шины ISA
При вызове функций доступа к портам шины ISA библиотека сама выбирает, какой контроллер будет обрабатывать запрос. Это возможно благодаря тому что на этапе регистрации контроллеров были указаны диапазоны адресов шины ISA для каждого узлового контроллера.
ibcReadPort ibcWritePort ibcReadPortW ibcWritePortW
| Побайтный и пословный доступ к одному порту |
bool ibcReadPort(unsigned short address, unsigned char *value); bool ibcWritePort(unsigned short address, unsigned char value); bool ibcReadPortW(unsigned short address, unsigned short *value); bool ibcWritePortW(unsigned short address, unsigned short value); Параметры: 1. address – адрес порта шины ISA; 2. value – значение, записываемое в порт или считываемое с порта. Возвращаемый параметр: в случае успешного выполнения функция возвращает true. В противном случае – false. Причиной не успешного вызова может стать либо не правильно зарегистрированный интерфейс и/или контроллер либо плохая линия связи с контроллером. |
ibcExReadPort ibcExWritePort ibcExReadPortW ibcExWritePortW
| Побайтный и пословный доступ к одному порту в режиме записи/чтения массива данных. |
bool ibcExReadPort(unsigned short address, unsigned char *data, unsigned short size); bool ibcExWritePort(unsigned short address, unsigned char *data, unsigned short size); bool ibcExReadPortW(unsigned short address, unsigned short *data, unsigned short size); bool ibcExWritePortW(unsigned short address, unsigned short *data, unsigned short size); Параметры: 1. address – адрес порта шины ISA; 2. data – указатель на массив, записываемых в порт или считываемых с порта значений. 3. size – количество элементов массива Возвращаемый параметр: в случае успешного выполнения функция возвращает true. В противном случае – false. Причиной не успешного вызова может стать либо не правильно зарегистрированный интерфейс и/или контроллер либо плохая линия связи с контроллером. |
3. Пример сборки шины и доступа к портам
В данном примере подключим два устройства: первое на COM2 и второе к LAN.
Скорость обмена по COM-порту 115200 кбит/с, адрес контроллера 0x05. IP контроллера подключенного к LAN равен 192.168.1.6. Диапазон адресов ввода/вывода обслуживаемый первым контроллером равен: 0x300..0x309 включительно. Диапазон адресов ввода/вывода обслуживаемый вторым контроллером: 0x310..0x319 включительно. Номер порта для UDP-сокета назначим, к примеру, равным 5100. После сборки шины произведем чтение с порта 0x300 и запись в порт 0x310.
#define COM2 1
#define LOCAL_PORT 5100
void main(void)
{
unsigned long ComInterface, ComController;
unsigned long LanInterface, LanController;
unsigned short PortValue;
// 1. Очистка реестров интерфейсов и контроллеров
ibcClearControllerList();
ibcClearInterfaceList();
// 2. Регистрация интерфейсов
ComInterface = ibcOpenInterface(COM2, NULL);
LanInterface = ibcOpenLanInterface();
// 3. Регистрация контроллеров
ComController = ibcOpenController(ComInterface,
0x05,
0x300,
0x309);
LanController = ibcOpenController(LanInterface,
0xC0A80106,
0x310,
0x319);
// 4. Номер UDP-порта
ibcSetLocalPort(LOCAL_PORT);
// 5. Сборка шины
ibcControl(true);
// 6. Доступ к портам
ibcReadPortW(0x300, &PortValue); // Чтение с порта
ibcWritePortW(0x310, PortValue); // Запись в порт
// 7. Демонтаж шины ISA
ibcControl(false);
}
Модуль разработан и изготовлен Компанией АКОН.
Предлагаем к поставке модули АЦП, модули ЦАП,
устройства ввода-вывода цифровой информации,
модули нормирующих преобразователей с гальванической развязкой, модули
для распределённых систем и другое оборудование.
Украина, г. Киев,
тел.(80, (80
E-mail: *****@***
Http: www. akon.



