OpenSCADAWiki: Doc/ICPDAS
 
English (1 Kb) English
Ukrainian (1 Kb) Українська

 (2 Kb) Страница заморожена, актуальная тут.

Модуль <ICP_DAS> подсистемы "Сбор данных"

Модуль: ICP_DAS
Имя: Оборудование ICP_DAS
Тип: DAQ
Источник: daq_ICP_DAS.so
Версия: 1.8
Автор: Савоченко Роман
Описание: Предоставляет реализацию поддержки оборудования "ICP DAS". Включает поддержку основных I-87xxx DCON модулей, I-8xxx быстрых модулей и плат на шине ISA.
Лицензия: GPL

Contents

Введение

Модуль предоставляет в систему OpenSCADA поддержку различного оборудования фирмы "ICP DAS" (http://www.icpdas.com, http://ipc2u.ru) посредством библиотеки API libi8k.a от фирмы, для модулей I-87xxx и I-8xxx, и прямых ioctl вызовов к модулям ядра, для плат на шине ISA.

Большинство оборудования фирмы "ICP DAS" работает посредством последовательных интерфейсов и протокола DCON, однако часть нового оборудования, например, серия I-8xxx работает на параллельной шине, а другая часть, устанавливается в слоты параллельной шины (I-87xxx), доступны по последовательному интерфейсу и протоколу DCON, однако не адресуются прямо, а требуют вызова специализированной команды выбора слота. Доступ к оборудованию, использующему прямые запросы по протоколу DCON, может быть осуществлён модулем DAQ.DCON. Поддержка остального оборудования не добавлялась в модуль DAQ.DCON, а реализовывалась в данном модуле по причине наличия библиотеки API фирмы "ICP DAS" только для платформ x86_32 и ARM(OABI, HardFloatFPA), что вносит ограничения на доступ к оборудованию фирмы "ICP DAS" и другому оборудованию по протоколу DCON на иных аппаратных платформах.

Причиной создания данного модуля стали работы с контроллером фирмы "ICP DAS" LP-8781 серии "LinPAC" с целью реализации среды исполнения PLC на основе системы OpenSCADA.

Библиотека API фирмы "ICP DAS" для платформ x86_32 -> libi8k.a и ARM(OABI, HardFloatFPA) -> libi8k_arm.a размещена вместе с исходными текстами данного модуля и не требует отдельной инсталляции.

1. Контроллер данных

Для добавления источника данных "ICP DAS" создаётся и конфигурируется контроллер в системе OpenSCADA. Пример вкладки конфигурации контроллера данного типа изображен на рис.1.

Вкладка конфигурации контроллера. (112 Kb)
Рис.1. Вкладка конфигурации контроллера.


С помощью этой вкладки можно установить:

2. Параметры

Модуль предоставляет только один тип параметров — “Стандарт(std)” и три группы модулей/плат, доступные в зависимости от выбранной шины:

Вкладка конфигурации параметра. (78 Kb)
Рис.2. Вкладка конфигурации параметра.


Вкладка конфигурации параметра (рис.2) в целом одинакова для всех групп модулей/плат и содержит:

В соответствии с настройками параметра осуществляется формирование и опрос атрибутов (рис.3).

Вкладка атрибутов параметра. (89 Kb)
Рис.3. Вкладка атрибутов параметра.

2.1 Модули серии I-8xxx

Модули серии I-8xxx устанавливаются в слот параллельной шины корзины контроллера, например, серии LinPAC. В таблице 1 приведены свойства модулей "ICP DAS" серии I-8xxx, реализуемых в OpenSCADA.

Таблица 1 Свойства модулей серии I-8xxx
Модуль AI AO DI DO Замечания
I-8014 i8014W_ReadAI() или i8014W_ReadFIFO() для режима FIFO(Magic) Проверен!
I-8017 I8017_GetCurAdChannel_Float_Cal() Проверен!
I-8024 I8024_VoltageOut
I-8037 DO_16, DO_16_RB
I-8040 DI_32 Проверен!
I-8041 DO_32, DO_32_RB
I-8042 DI_16 DO_16, DO_16_RB Проверен!
I-8046 DI_16
I-8048 DI_8
I-8050 DIO_DI_16 DIO_DO_16
I-8051 DI_16
I-8052 DI_8
I-8053 DI_16
I-8054 DI_8 DO_8, DO_8_RB
I-8055 DI_8 DO_8, DO_8_RB
I-8056 DO_16, DO_16_RB
I-8057 DO_16, DO_16_RB
I-8058 DI_8 Проверен!
I-8060 DO_8 (6), DO_8_RB
I-8063 DI_8 (4) DO_8 (4), DO_8_RB
I-8064 DO_8, DO_8_RB
I-8065 DO_8, DO_8_RB
I-8066 DO_8, DO_8_RB
I-8068 DO_8, DO_8_RB
I-8069 DO_8, DO_8_RB Проверен!
I-8077 DIO_DI_16 DIO_DO_16

2.1.1 Настройка контроллеров серии LP-8xxx

Для конфигурации свойств контроллеров серии LP-8xxx предусмотрена вкладка "LinPAC" на странице контроллера (рис.4), а также параметр "LP-8xxx" (рис.5). В параметре "LP-8xxx" можно получить информацию о серийном номере контроллера, версии SDK, значении DIP и поворотного переключателя. Во вкладке "LinPAC" можно установить значение сторожевого таймера контроллера. Сторожевой таймер контроллера выключается установкой нулевого значения. Обновление значения сторожевого таймера осуществляется в задаче контроллера и с её периодичностью, следовательно зависание задачи опроса приводит к перезапуска контроллера! Значение сторожевого таймера должно быть больше полного времени загрузки системы, до загрузки OpenSCADA, при этом OpenSCADA должна грузиться после запуска синхронизации времени.

Вкладка "LinPAC" конфигурации контроллеров серии LP-8xxx (68 Kb)
Рис.4. Вкладка "LinPAC" конфигурации контроллеров серии LP-8xxx


Атрибуты параметра "LP-8xxx". (72 Kb)
Рис.5. Атрибуты параметра "LP-8xxx".

2.1.2 Модуль I-8014 и I-8017

Быстрые модули аналогового ввода, работающие на параллельной шине.

Модуль I-8014 формально обеспечивает скорость доступа к данным по одному каналу в 250 КГц посредством FIFO, однако ввиду заложенного аппаратного-программного ограничения не позволяет достичь скорости более 100 КГц на канал при сканировании в реальном времени, за счёт низкой скорости чтения из FIFO. При этом чтение данных FIFO осуществляется c большими потерям ресурсов процессора на высоких частотах сбора, а именно это 9.5 микросекунд на измерение.

Модуль I-8017 формально обеспечивает скорость доступа к данным по одному каналу в 130 КГц, однако ввиду заложенного аппаратно-программного ограничения не позволяет достичь скорости более 33 КГц на канал при сканировании нескольких каналов в реальном времени (за счёт переключения). При этом ожидание данных осуществляется в глухом цикле, что приводит к большим потерям ресурсов процессора на высоких частотах сбора.

Модулями предоставляется шестнадцать атрибутов аналоговых входов ai{x} и по восемь признаков нарушения верхней ha{x} и нижней la{x} границ, для I-8017. Также модулями предоставляется вкладка "Конфигурация" с расширенной настройкой (рис.6):

Вкладка Конфигурация модуля I-8017 (104 Kb)
Рис.6. Вкладка "Конфигурация" модулей I-8014 и I-8017

2.1.3 Инверсия значений дискретных входов и выходов

Для модулей дискретного входа и выхода, во вкладке "Конфигурация" (рис.7), предоставляется функция выборочной инверсии канала, что очень удобно при последующей работе с каналом.

Вкладка "Конфигурация" модуля дискретного входа и выхода (74 Kb)
Рис.7. Вкладка "Конфигурация" модуля дискретного входа и выхода

2.2 Модули серии I-87xxx

Модули серии I-87xxx устанавливаются в слот последовательной шины корзины контроллера, например, серии LinPAC. В таблице 2 приведены свойства модулей "ICP DAS" серии I-87xxx, реализуемых в OpenSCADA.

Таблица 2 Свойства модулей серии I-87xxx
Модуль AI AO DI DO Счётчики Замечания
I-87005 #AA (8); TP: $AA7CiRrr ($AA8Ci) @AADODD (8), @AADI
I-87013 #AA (4); TP: $AA7CiRrr ($AA8Ci)
I-87015 #AA (7); TP: $AA7CiRrr ($AA8Ci)
I-87016 #AA (2); TP: $AA7CiRrr ($AA8Ci)
I-87017 #AA (8); TP: $AA7CiRrr ($AA8Ci)
I-87017DW #AA (16); TP: $AA7CiRrr ($AA8Ci)
I-87017ZW #AA (20); TP: $AA7CiRrr ($AA8Ci) Проверено!
I-87018 $AA3; #AA (8); TP: $AA7CiRrr ($AA8Ci)
I-87018ZW $AA3; #AA (10); TP: $AA7CiRrr ($AA8Ci)
I-87019RW $AA3; #AA (8); TP: $AA7CiRrr ($AA8Ci) Проверено!
I-87019ZW $AA3; #AA (10); TP: $AA7CiRrr ($AA8Ci)
I-87022 #AAN(Data) (2), $AA8N; W: ~AA0-5
I-87024 #AAN(Data) (4), $AA8N; W: ~AA0-5 Проверено!
I-87026 #AAN(Data) (2), $AA8N; W: ~AA0-5
I-87026PW #AA (6); TP: $AA7CiRrr ($AA8Ci) #AAN(Data) (2), $AA8N; W: ~AA0-5 @AADI (2) @AADODD (2), @AADI Проверено!
I-87028 #AAN(Data) (8), $AA8N; W: ~AA0-5
I-87037 @AA(Data) (16), @AA; W: ~AA0-5
I-87040 @AA (32) #AAN (32) Проверено!
I-87041 @AA(Data) (32), @AA; W: ~AA0-5 Проверено!
I-87042 @AA (16) @AA(Data) (16), @AA; W: ~AA0-5
I-87046 @AA (16) #AAN (16)
I-87051 @AA (16) #AAN (16)
I-87052 @AA (8) #AAN (8)
I-87053 @AA (16) #AAN (16)
I-87054 @AA (8) @AA(Data) (8), @AA; W: ~AA0-5 #AAN (8)
I-87055 @AA (8) @AA(Data) (8), @AA; W: ~AA0-5 #AAN (8)
I-87057 @AA(Data) (16), @AA; W: ~AA0-5
I-87058 @AA (8) #AAN (8)
I-87059 @AA (8) #AAN (8)
I-87061 @AA(Data) (16), @AA; W: ~AA0-5
I-87063 @AA (16) @AA(Data) (16), @AA; W: ~AA0-5 #AAN (16)
I-87064 @AA(Data) (8), @AA; W: ~AA0-5
I-87065 @AA(Data) (8), @AA; W: ~AA0-5
I-87066 @AA(Data) (8), @AA; W: ~AA0-5
I-87068 @AA(Data) (8), @AA; W: ~AA0-5
I-87069 @AA(Data) (8), @AA; W: ~AA0-5

2.2.1 Абстрактный модуль серии I-87xxx

Кроме поддержки модулей в таблице 2 данной группой модулей предоставляется реализация абстрактного модуля "I-87xxx" при выборе которого пользователю предоставляется возможность указать количество и типы основных сигналов подключенного модуля: AI, AO, DI, DO и Счётчики. Данная функция также избирательно доступна для модулей, содержащих сигналы AO и Счётчики и позволяет ограничить число обслуживаемых каналов, с целью уменьшения трафика на последовательном интерфейсе.

Абстрактный модуль "I-87xxx" можно использовать для модулей "ICP DAS" серии I-7xxx на "чистой" последовательной шине.

Поля указания количества сигналов и их типов предоставляются в основной вкладке страницы конфигурации объекта параметра (рис.8).

Основная вкладка параметра абстрактного модуля "I-87xxx" (102 Kb)
Рис.8. Основная вкладка параметра абстрактного модуля "I-87xxx"

2.2.2 Выбор типа канала для AI

Для модулей аналогового ввода доступна возможность выбора режима/усиления, что осуществляется из списка (рис.9), если для модуля он указан, или прямым указанием кода режима. Установленные режимы сохраняются и хранятся в самом модуле.

Вкладка "Конфигурация" модуля аналоговых входов (96 Kb)
Рис.9. Вкладка "Конфигурация" модуля аналоговых входов

2.2.3 Хостовый сторожевой таймер и значения по умолчанию при включении и срабатыванию таймера

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

На рисунке 10 представлена вкладка модуля аналоговых выходов с функциями:

Вкладка "Конфигурация" модуля аналоговых выходов (83 Kb)
Рис.10. Вкладка "Конфигурация" модуля аналоговых выходов

2.3 Платы на шине ISA

Платы данного типа устанавливаются на шину ISA персонального компьютера. Для работы с этими платами необходима сборка и запуск драйверов-модулей ядра Linux. В таблице 3 приведены свойства плат "ICP DAS" на шине ISA, реализуемых в OpenSCADA.

 (2 Kb) Функция счётчиков на данный момент не реализована в OpenSCADA.

Таблица 3 Свойства плат на шине ISA
Модуль AI AO DI DO DIO Счётчики Замечания
A-626 IXISA_AO{0...5} IXISA_DI_{A...B} IXISA_DO_{A...B}
A-628 IXISA_AO{0...7} IXISA_DIO_{A...B} IXISA_DIO_{A...B}
A-8111 IXISA_AI (8,12)
IXISA_ADGCR
IXISA_ADMXCR
IXISA_ADMCR
IXISA_ADSTCR
IXISA_AO{0...1} IXISA_DI{L,H} IXISA_DO{L,H} IXISA_8254C{0...2}
IXISA_8254CR
A-812 IXISA_AI (16,12)
IXISA_ADGCR
IXISA_ADMXCR
IXISA_ADMCR
IXISA_ADSTCR
IXISA_AO{0...1} IXISA_DI{L,H} IXISA_DO{L,H} IXISA_8254C{0...2}
IXISA_8254CR
A-821 IXISA_AI (16,12)
IXISA_ADGCR
IXISA_ADMXCR
IXISA_ADMCR
IXISA_ADSTCR
IXISA_AO IXISA_DI{L,H} IXISA_DO{L,H} IXISA_8254C{0...2}
IXISA_8254CR
A-822 IXISA_AI (16,12)
IXISA_ADGCR
IXISA_ADMXCR
IXISA_ADMCR
IXISA_ADSTCR
IXISA_AO{0...1} IXISA_DI{L,H} IXISA_DO{L,H} IXISA_8254C{0...2}
IXISA_8254CR
A-823 IXISA_AI (16,12)
IXISA_ADGCR
IXISA_ADMXCR
IXISA_ADMCR
IXISA_ADSTCR
IXISA_AO{0...1} IXISA_DI{L,H} IXISA_DO{L,H} IXISA_8254C{0...2}
IXISA_8254CR
A-826 IXISA_AI (16,16)
IXISA_ADGCR
IXISA_ADMXCR
IXISA_ADMCR
IXISA_ADSTCR
IXISA_AO{0...1} IXISA_DI{L,H} IXISA_DO{L,H} IXISA_8254C{0...2}
IXISA_8254CR
DIO-144 IXISA_CN{0...5}P{A...C}
IXISA_CN{0...5}CR
Проверено!
DIO-24 IXISA_P{A...C}
IXISA_CR
DIO-48 IXISA_CN{1...2}P{A...C} IXISA_CN{1...2}CR
IXISA_8254C{0...2}
IXISA_8254CR
DIO-64 IXISA_DIO_{A...D} IXISA_DIO_{A...D} IXISA_8254C{0...5}
IXISA_8254CR
IXISA_8254CR1
DIO-96 IXISA_CN{0...3}P{A...C}
IXISA_CN{0...3}CR
ISO-730 IXISA_IDIO_{A...B}
IXISA_DIO_{A...B}
IXISA_IDIO_{A...B}
IXISA_DIO_{A...B}
ISO-813 IXISA_AI (32)
IXISA_ADGCR
IXISA_ADMXCR
IXISA_ADSTCR
ISO-AD32 ==FIFO==
ISO-C64 IXISA_DO_{A...H}
ISO-DA16 ?
ISO-P32C32 IXISA_DIO_{A...D} IXISA_DIO_{A...D}
ISO-P64 IXISA_DI_{A...H}
P16R16DIO IXISA_DI_{A...B} IXISA_DO_{A...B}
P8R8DIO IXISA_DI (8) IXISA_DO (8)
TMC-10 IXISA_DI_{A...B} IXISA_DO_A IXISA_8254C{0...2}
IXISA_8254CR
IXISA_8254CS

Ссылки

Специальные модули ядра Linux 2.6.29-rt-up для контроллеров LP-8x81: file:lp8x81_2629rt_up.tgz
Специальные модули ядра Linux 2.6.29-rt1-up для контроллеров LP-8x81: file:lp8x81_2629rt1_up1.tgz
Драйвер производителя (VIA) для сети контроллеров LP-8x81: file:rhinefet20070212111037.tgz
Патч для сборки сетевого драйвера "rhinefet" на Linux 2.6.29-rt: file:rhinefet_build_to_2.6.29.patch
Патч для сборки сетевого драйвера "rhinefet" на Linux 2.6.29-rt1: file:rhinefet_build_to_2.6.29rt1.patch.gz
Набор драйверов Linux для ISA плат: file:ixisa0.17.0.1.tgz

Referring pages: Doc
Function
Using/BagleyBoiler1
Using/LP8x81
Using/PLC/firmware