OpenSCADAWiki: Using/LP8x81 ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of Using/LP8x81 from 2014-02-13 13:18:58..

Среда исполнения ПЛК LP-8x81 фирмы ICP DAS на основе OpenSCADA

Имя: LP8x81
Основан: ноябрь 2009г
Версия: 1.0.0
Статус: GPL
Участники: Роман Савоченко
Описание: Проект посвящён созданию среды исполнения ПЛК для контроллеров серии LP-8x81 фирмы ICP DAS.
Материалы: ftp://ftp.oscada.org/OpenSCADA/PLC/LP8x81
LP-8781 (42 Kb)


Contents

Введение

Промышленные контроллеры семейства LP-8x81 фирмы ICP DAS являются первым продуктом из серии LinPAC, который построен на x86 совместимом процессоре, предыдущие контроллеры этого семейства основаны на процессоре семейства ARM. Кроме x86 процессора рассматриваемые контроллеры обладают значительными ресурсами оперативной памяти и дискового пространства. Всё это позволило рассматривать данные контроллеры как первого кандидата из продукции ICP DAS для адаптации OpenSCADA в качестве среды исполнения.


Основанием для адаптации OpenSCADA в качестве среды исполнения контроллеров семейства LP-8x81 стала необходимость создания системы автоматического управления (САУ) нагрузкой шаровых мельниц помола угля для ТЭЦ. Особенностью данного технологического процесса (ТП) является наличие специфических к ресурсам и функциям контроллера требований при небольшом объёме параметров. Кроме того, решающим фактором было ограниченное финансирование. Всем предъявленным требования удовлетворили контроллеры семейства LP-8x81:


Целью данного проекта было создание среды исполнение на основе OpenSCADA, а также прошивки с ОС Linux и OpenSCADA для контроллеров этого семейства. Предъявлялись следующие требования к среде исполнения и прошивке:

1. ПЛК LP-8x81

ПЛК (рис.1) конструктивно выполнен по модульному принципу, где модули устанавливаются в корзину. Корзина совмещена с процессорным модулем и может иметь 0, 3 или 7 слотов для модулей расширения. Модули расширения могут быть двух типов, а именно: модули на параллельной и последовательной шине. Модули на параллельной шине (I-8x) являются быстрыми. Модули на последовательной шине (I-87x) устанавливаются на шину интерфейса RS-485 и работают со скоростью 115000 бит/с по протоколу DCON. Кроме модулей непосредственно в корзине контроллер может расширяться дополнительными корзинами с модулями на последовательной шине (I-87x) через последовательные интерфейсы процессора.


ПЛК серии LP-8x81. (84 Kb)
Рис. 1. ПЛК серии LP-8x81.

Процессор контроллера имеет следующие технические характеристики:

CPU AMD LX800 процессор (32-бит, 500 МГц)
Системная память 1 GB RAM
SRAM с двойным питанием от батареи 512 КБ (с хранением в течении 5 лет)
Flash 4 ГБ как IDE Master; Чтение: 8мБ/c; Запись: ?мБ/c
EEPROM 16 КБ
Хранение данных: 40 лет; 1,000,000 циклов удаления/записи.
CF карта 8 ГБ (поддержка вплоть до 32 гБ); Чтение: 29 мБ/c; Запись: 19, 13(233x) мБ/c
64-бит Серийный Номер Оборудования Есть
Двойной Watchdog таймеры Есть
VGA 640 x 480 ~ 1024 x 768
Ethernet порты RJ-45 x 2, 10/100 Base-TX Ethernet Контролер (Авто-согласование, авто MDI/MDI-X, LED индикатор)
USB 1.1 (хост) 2
COM1 Внутренняя коммуникация с модулями I-87K в слотах [/dev/ttySA0]
COM2 RS-232 [/dev/ttySA1] (RxD, TxD и GND); Не изолирован
COM3 RS-485 [/dev/ttyS0] D2+,D2-;само-настройка ASIC внутри
COM4 RS-232/RS-485 [/dev/ttyS1] (RxD, TxD, CTS, RTS и GND для RS-232, Data+ и Data- для RS-485); Не изолирован
COM5 RS-232 [/dev/ttyS34] (RxD, TxD, CTS, RTS, DSR, DTR, CD, RI и GND); Не изолирован
Рабочая температура -25 ~ +75 °C

2. Программное окружение на основе OpenSCADA.

Исходное программное обеспечение представляет собой дистрибутив Linux с графическим окружением Gnome и с установленными драйверами специализированного оборудования. Кроме этого окружение содержит компилятор "C" с LinPAC SDK, а также интерпретатор языка Perl.


Учитывая, что неизвестен исходный дистрибутив, который использован поставщиком и как следствие не оговорена возможность установки дополнительного ПО, то использование такого окружения как есть, во-первых, затруднительно, во-вторых, не сопоставимо с доступными аппаратными ресурсами. Кроме того исходное ядро Linux 2.6.18 далеко до предъявленных требований.


Исходя из этих основных причин, решено было создать полностью новое программное окружение. В основу этого программного окружения лёг дистрибутив ALTLinux 5.1, ядро Linux 2.6.29-rt-up и OpenSCADA 0.6.4.2. Выбранное ядро удовлетворяет всем предъявленным требования, а дистрибутив ALTLinux 5.1 позволяет собирать компактные прошивки под нужные требования.


Выбор нового окружения поставил перед фактом отсутствия исходных текстов для драйверов специфичного оборудования поставщика. Эта проблема была решена совместно с разработчиками исходного программного окружения, которые согласились адаптировать и собрать свои драйвера под нужное ядро Linux. Архив этих модулей доступен здесь.


Для реализации поддержки оборудования контроллеров LP-8x81 и модулей серии I-8000 был создан модуль DAQ.ICP_DAS для системы OpenSCADA. Модуль предоставляет в систему OpenSCADA поддержку различного оборудования фирмы ICP DAS посредством библиотеки API фирмы libi8k.a.


Прошивка программного окружения создавалась в соответствии с инструкцией здесь. В дополнение к стандартным материалам был создан пакет с файлами нужными для контроллеров LP-8x81 kernel-modules-icp-rt-up-1.0.0-alt1.2.src.rpm. Кроме того, профиль сборки прошивок был адаптирован на сборку для LP-8x81.


В процессе испытания программного окружения было обнаружено, что стандартный драйвер сетевых контроллеров "via-rhine" работает некорректно, а именно происходит падение скорости сети на порядок после нормальной работы в течение от суток до недели. Проблема была решена адаптацией и сбором драйвера "rhinefet" от VIA.


Со временем сборка прошивки для LP-8x81 была осуществлена на основе пакетной базы дистрибутива "ALTLinux T6" c сохранением ядра Linux 2.6.29-rt-up, что позволило:

3. Заключение

В результате была получена и запущена в работу прошивка программного окружения, удовлетворяющая всем поставленным требованиям. На данный момент это окружение работает на трёх контроллерах LP-8781 и выполняет функции:

Ссылки


Referring pages: HomePageEn/Using/PLC/firmware
HomePageUk/Using/PLC/firmware
Using/LP8x81
Using/PLC/firmware


 
There are no files on this page.[Display files/form]
There is no comment on this page. [Display comments/form]