OpenSCADAWiki: Home Page Uk/Using/PLC/firmware ...

Home | Каталог | Изменения | Комментарии | Пользователи | Регистрация | Вход  Пароль:  
 

Прошивка та створення програмного оточення ПЛК архітектури x86

Архітектура x86 порівняно недавно стала позиціюватися як вбудована та реальні рішення на її основі, у цій галузі, рідко мають ресурси (< i386), яких недостатньо для виконання повноцінної ОС та розвинутого оточення. З цієї причини, а також з причини більшої уніфікації архітектури, індивідуальні збірки ядра Linux та базових програм оточення ОС здійснюються достатньо рідко, що за звичай характерно для архітектури ARM. Більш цікавим та практичним для x86, для широкого кола обладнання, є збірка прошивок зі стисненою кореневою файловою системою (КФС). Однак все ще можлива індивідуальна збірка прошивок за допомогою систем складання на кшталт "BuildRoot" або "PTXDist", нижче. Також можлива і пряма установка дистрибутиву Linux.

Інструменти та збірка робочих оточень прошивок зі стиснутою КФС, на основі дистрибутиву ALTLinux

Перед реалізацією прошивки ПЛК, даного розділу, ставились наступні вимоги:


Враховуючи вищенаведені вимоги для створення прошивки було обрано інструмент створення дистрибутивів mkimage ALTLinux. mkimage — інструмент для складання штампів Sisyphus-based системи за шаблоном. У якості вихідного набору шаблонів було взято набір шаблонів формування дистрибутивів ALTLinux за адресою git://git.altlinux.org/people/boyarsh/packages/mkimage-profiles-desktop, командою:

За основу формування PLC шаблону було взято стандартний "rescue", як найбільш компактний та близький до цільової задачі ПЛК.


Первинне складання здійснювалось на основі пакетної бази дистрибутиву ALTLinux 5.1, де присутнє ядро реального часу від XENOMAI. Для отримання низки специфічних пакетів потрібно підключити репозиторій "ALTLinux 5.1" від проекту OpenSCADA:

rpm ftp://ftp.oscada.org/ALTLinux/5.1 openscada main

Складання

У першу чергу створювалась конфігурація ПЛК без локального дисплею, у зв'язку з наявністю обладнання такого типу та відсутності обладнання для Touch-панелей.


Новий шаблон ПЛК було названо "plc" та він тестувався на платах формфактору PC/104 MOPSlcdLX фірми Kontron, ATH400-128 фірми Diamond Systems та модульного ПЛК LP-8781 фірми ICP DAS. Архів результуючого дерева mkimage з шаблоном "plc" можна завантажити тут ftp://ftp.oscada.org/OpenSCADA/PLC (шаблони та матеріали окремих контролерів розташовано у власних теках).


Ключовим моментом конфігурації нового шаблону стало написання скрипту ініціалізації (rc.sysinit), скрипту після-інсталяційної конфігурації штампу прошивки та переліку пакетів у штампі прошивки. Перший скрипт оформлено у вигляді пакету "startup-plc". Другий скрипт вкладено до шаблону "plc" за шляхом: profiles/plс/image-scripts.d/01system. Перелік пакетів вкладено до шаблону "plc" за шляхом: profiles/pkg/lists/plс.in.


Процедура створення прошивки з шаблону наступна:


У результаті отримаємо вихідну теку у "profiles/out/" з виглядом:

Інсталяція

Завантажувати прошивку можна на: USB-flash, IDE-flash та HDD. Однак, у випадку із USB-flash можуть бути проблеми з очікуванням ініціалізації USB-підсистеми та потрібно буде трохи "побігати" по діалогам завантажувача.


Файлова система може бути FAT або EXT2/3. У випадку з EXT3 монтування ФС відбувається як EXT2, через проблеми у ініціалізаторі. У випадку із EXT2/EXT3 потрібно буде використовувати не завантажувач syslinux, а extlinux, конфігурація якого власне майже нічим не відрізняється.


Надалі монтуємо носій та розміщуємо на ньому файли з вихідної теки, наступним чином.
У випадку із FAT та syslinux:

У випадку із EXT2/3 та extlinux:


Для забезпечення надійного функціонування робочі дані розміщуються у файлі "work" з файловою системою EXT3. Файлова система цього файлу перевіряється на цілісність під час ініціалізації. Створюється цей файл наступним чином:


У випадку з файловою системою EXT2/3 на цільовому диску можна файл "work" не створювати. Тоді робочі дані будуть розміщуватися безпосередньо у директорії "root" цільового диску.

 (2 Кб) Це ненадійне рішення, оскільки файлова система цільового диску становиться нестатичною, а перевірити її немає можливості, у зв'язку з раннім монтуванням у "ro" та потенційною ненадійністю перевірки ФС, змонтованої у "ro", а також неможливості перемонтування як EXT3.

Наступним етапом є конфігурація та ініціалізація завантажувача. Для конфігурації завантажувача потрібно відредагувати файл "syslinux/syslinux.cfg" або "extlinux/extlinux.conf" наступним чином:


У випадку вибору ідентифікації завантажувального розділу за ідентифікатором дізнатися його для нашого розділу можна командою: blkid.


У випадку з міткою це завдання дещо складніше оскільки робиться це для різних файлових систем по різному.


Для файлових систем EXT2/3 це робиться утилітою e2label. Наприклад, так: $ e2label /dev/sdb1 PLС


Для файлової системи FAT це робиться низкою утиліт із комплекту mtools або за допомогою parted, що простіше. За допомогою mtools це робиться наступним чином:


Тепер можемо ініціювати завантажувач:


На цьому з завантаженням та ініціюванням прошивки все. Якщо отриманий диск не завантажується тоді:

Результат

У результаті отримаємо прошивку розміром від 30 до 100Мб, яка задовольняє фактично всім заявленим вимогам та забезпечує:

OpenSCADA

У якості середовища виконання ПЛК використано систему OpenSCADA. Для цього випадку візьмемо збірку з окремими пакетами на кожний модуль та вкажемо для встановлення віртуальний пакет openscada-plc, який містить залежності на всі пакети OpenSCADA, які за звичай використовуються для даної конфігурації. Пакет графічної бібліотеки gd2 було перезібрано без підтримки формату графічного файлу xpm та який отримав назву libgd2-noxpm. Перезбирання робилася для того щоб виключити тяжкі залежності на бібліотеки графічного інтерфейсу XOrg.


У результаті отримано середовище виконання ПЛК з підтримкою:


Конфігурація OpenSCADA запускається у режимі демону та у локалі "en_US.UTF-8" (ще доступні локалі "ru_RU.UTF-8" та "uk_UA.UTF-8"), з використанням локальної БД SQLite, надаючи по замовченню мережеві сервіси:

Деталі реалізації

У цьому розділі розглянемо деталі дерева ОС прошивки, скрипт ініціалізації rc.sysinit.plc та скрипт приготування дерева ОС прошивки.


Для побудови прошивки ПЛК було використано наступний перелік пакетів:


Перелік модулів ядра Linux, стадії попередньої ініціалізації, з метою зменшення розміру штампу ініціалізації було зменшено до переліку:


До скрипту приготування дерева було додано функції:


Скрипт ініціалізації (rc.sysinit.plc) було наділено функціями:


У результаті цих дій таблиця монтування кінцевого дерева ПЛК набула вигляду:

Налаштування графічного інтерфейсу

Один із варіантів прошивки складається із графічним інтерфейсом, який, однак, потрібно налаштувати для отримання автоматичного запуску з середовищем візуалізації OpenSCADA. Крім того потрібно відзначити, що прошивка з графічним інтерфейсом не містить всіх драйверів та може потребувати її перебудови під потрібне обладнання.


Після завантаження та входу до консолі потрібно сконфігурувати XServer, автоматичний графічний вхід, запуск графічного оточення та автоматичний запуск OpenSCADA із оточення IceWM:

Пакетна база ALTLinux T6

Наступним етапом у створені прошивок став перехід на пакетну базу дистрибутиву ALTLinux T6. В цілому процедуру створення прошивки було збережено, з низкою змін, але при цьому було додано деякі покращення та розширення:


Оскільки з'явилася можливість легко довстановлювати потрібні пакети безпосередньо із репозиторія то відпала потреба у окремій збірці прошивок із GUI. Тобто можна легко довстановити потрібний менеджер вікон (WM) або оточення робочого столу із потрібними драйверами, чим створювати окрему прошивку із обмеженим переліком драйверів.


Скрипт "startup-plc" виявився непотрібним у нових прошивках оскільки перемонтування на запис кореневої ФС "root" здійснюється раніше, на стадії первинної ініціації. Скрипт "profiles/plс/image-scripts.d/01system" перейменовано у "profiles/plс/image-scripts.d/init1-PLC", оскільки змінено та розширено. Перелік пакетів прошивки залишився у "profiles/pkg/lists/plс.in" та дещо змінено.


Для отримання низки специфічних пакетів потрібно під'єднати репозитірий "ALTLinux T6" від проекту OpenSCADA:

rpm ftp://ftp.oscada.org/ALTLinux/t6 openscada main

Процедура створення прошивки із шаблону фактично не змінилась:

# Створення скрипту конфігурації "configure"
$ ./autoconf
# Конфігурація складальника для генерації штампів дисків. Ключ "--with-imagetype" можна встановити у "iso", або опустити,
# для створення комбінованого ISO-штампу
$ ./configure --with-distro=kdesktop --with-branding=altlinux-kdesktop --with-version=6.0 --with-language=en_US --with-imagetype=flash
# Збірка штампу
$ make plc.cd


Вміст вихідної теки із штампом та встановлення прошивки на файлову систему FAT та EXT2/3/4 відрізняється тільки перейменуванням файлу архіву ФС із "plc" у "live". Встановлення ISO-штампу на USB-flash, HDD, SSD виконується командою dd:

$ dd if=LP8x81-ALTLinuxT6-OpenSCADA_0.8.0.6-i586-plc.iso of=/dev/sd{x} bs=4096

Замість файлу "work" потрібно створити розділ EXT3 з міткою "alt-live-storage", якщо це не ISO-штамп. Створювати новий розділ можна за допомогою fdisk, якщо FAT розділ було створено не на всьому доступному просторі диску, або за допомогою parted, де розділ FAT можна зменшити. За деталями створення розділу відішлемо до документації на fdisk або parted.


Конфігурація файлів "syslinux/syslinux.cfg" та "extlinux/extlinux.conf" не змінилася, окрім зміни ім'я архіву ФС із "plc" на "live".


У результаті отримуємо прошивку розміром від яка забезпечує:


Для побудови прошивки ПЛК використовувався наступний перелік пакетів:


Перелік модулів ядра Linux, стадії попередньої ініціалізації, був дещо змінений та склав:


Скрипт підготовки дерева "profiles/plс/image-scripts.d/init1-PLC" виконує функції:

Ядро реального часу

Для низки задач ПЛК важливим, часто і критичним, критерієм оточення є його рівень забезпечення реального часу (RealTime), тобто можливість роботи задач згідно із пріоритетами реального часу та забезпечення реакції на повідомлення згідно цим приорітетам.


Ядро Linux само по собі надає POSIX політики планування в реальним часом "SCHED_FIFO" та "SCHED_RR" із діапазоном пріоритетів (0...100). Однак важливий критерій "Частота таймеру та час реакції на нього" до версий ядер Linux 2.6.24 були дуже низькими, за мірками систем реального часу. У сучасних ядрах Linux (> 2.6.24) забезпечено підтримку таймерів високої роздільної здатності (HPET), що зменшило час реакції на таймер до рівня 100 мікросекунд, однак стабільність цього часу реакції не забезпечено. Для забезпечення стабільності реакції на таймер на рівні 60 мікросекунд, а також низки інших критеріїв реального часу, на цей день, потрібно ядро складати з одним із розширень реального часу.


У дистрибутивах ALTLinux помічено ядро 2.6.29-rt-up, яке зібрано із розширенням реального часу XENOMAI. У інших дистрибутивах, наприклад OpenSuSE помічено навіть продукти з такими розширеннями.


На цей час більш високі показники реального часу забезпечує розширення The Real Time Preempt Patch, при увімкнені повної підтримки (CONFIG_PREEMPT_RT), процес складання та результати роботи Linux ядер з якими будуть відстежуватися у цьому розділі.


Для тестування рівня реального часу тих або інших ядер будемо користуватися утилітою "Cyclictest", типовий рядок виклику та аргументи будуть такими: "$ cyclictest -t1 -c1 -p 80 -n -i 200 -l 100000". Де:


Пара вимірів для ядер Linux загального призначення:

kernel-image-rt-up-2.6.29

Це ядро міститься у дистрибутиві ALTLinux 5.1, а також перенесено у локальний репозиторій проекту OpenSCADA, для ALTLinux T6. Це ядро зібрано із розширенням XENOMAI та AUFS, що дозволяє використовувати його у прошивках із упакованою КФС, що і зроблено для ПЛК LP-8x81.


Результати тестів цього ядра:


Як видно із результатів тесту, патч XENOMAI не забезпечує пристойного рівня реального часу при використані стандартних механізмів планування реального часу POSIX, в той час як ядра версії 3 навіть без наявності особливих розширень реального часу забезпечують помітно кращий результат.


Потреба складання саме цього ядра із патчем/параметром CONFIG_PREEMPT_RT стоїть через наявність низки бінарних модулів від ICP_DAS, для "LP8x81". Також стоїть питання збірки ядра 2.6.33 з тієї-ж причини, але для "LP8x81 Atom". Попередні збірки ядер 2.6.29 та 2.6.33 виявили низку проблем, які будуть тут описані. Розглядається також варіант збірки сучасного ядра із CONFIG_PREEMPT_RT, а потім запит на збірку бінарних модулів у "ICP DAS".


Процес складання та тестування:

  1. Патчі CONFIG_PREEMPT_RT та AUFS часів 2.6.29 конфліктують на функції "debug_mutex_set_owner()", у CONFIG_PREEMPT_RT видалена — замінено на "mutex_set_owner()".
  2. При складанні виявлено низку проблем із "# typedef void irqreturn_t;" — замінено на "#include <linux/irqreturn.h>".
  3. Перший запуск із CONFIG_PREEMPT_RT, але без AUFS, пройшов вдало — результат вище.
  4. Запуск із AUFS виявив проблему виділення пам'яті AUFS у "aufs_mmap()" — робочий код AUFS взято цілком із попередньої збірки "rt-up-2.6.29.alt2".
  5. Запуск із AUFS виявив проблему зависання на корінні ФС у AUFS, схоже через можливість зациклювання/блокування RT-задачі — встановлено CONFIG_PREEMPT_NONE, на LP8781 та "AMD Turion" проблем не виявлено (можливо ця проблема через відсутність HPET на PLX8).
  6. На перший погляд ядро працює нормально, але помічено зісковзування на безперервне нарощування часу запізнення.
  7. Виконано адаптацію ядра для бінарної сумісності із модулями "slot" та "icp" від ICP_DAS. Модуль "8250_linpac" падає при завантажені, а "icpdas_8250" має безліч нерозв'язаних символів — потрібно ці модулі перескладати або пробувати інтерфейси > COM2 ініціювати через setserial — модулі перескладено, завдяки Golden Wang (тех. підтримка ICPDAS).
  8. Нове ядро встановлено під високе навантаження, конфігурацією проекту САУ кульових барабанних млинів:
    • Збій мережі із драйвером "via_rhine", після 4 діб роботи — збій очікуваний, зібрано драйвер "rhinefet", випробування продовжено.
    • На драйвері "rhinefet" система під навантаженням пропрацювала три тижні. Однак помічено, що переривання 11, на якому висить майже все стандартне обладнання (USB, Ethernet та може ще чогось), вимикається та мережа працює у режимі "Pool", що повільніше. Можливо вимкнення цього переривання відбувається і з "via_rhine", а він не може працювати у режимі "Pool", чому і пакети у/із мережі не ходять. Проблема пов'язана із відмовою та генерацією необроблених переривань одним із обладнань на переривані 11.
    • Виправлено виключенням вимкнення переривань за допомогою параметра ядра Linux "noirqdebug".
    • Адаптацію вдало завершено та прошивки на основі цього ядра готові до промислової експлуатації!
    • 01.03.2015: Замість функції EnableWDT() використано EnableSysWDT(), у зв'язку із обмеженням до 30 секунд та циклічних перевантажень якщо не завантажується за 30 секунд (до трьох перевантажень).
    • 17.03.2015: При участі служби підтримки ICP_DAS виправлено проблему драйверу послідовних інтерфейсів більш за COM2, яка призводила до "замерзання" ядра Linux (схоже у зв'язку із блокуванням переривань) після закриття одного порту та активності на хоча-б одному іншому.
    • 29.07.2015: Виявлено ще одну проблему із мережею із схожими симптомами вимкнення переривання 11, але: переривання 11 не вимикається та всі інші пристрої на ньому працюють, відтворюється тільки на конфігураціях із використанням обох інтерфейсів мережі, причому можливе "гальмування" тільки одного із них. Проблема вирішується тільки перевантаженням "загальмованого" мережевого інтерфейсу, командою: ifdown eth0; ifup eth0. Для виявлення та перезапуску рекомендується на рівні OpenSCADA додавати контроль трафіку та безпосереднє перевантаження інтерфейсу за його відсутністю.
    • 21.11.2016: Драйвер "rhinefet" адаптовано на предмет запобігання блокування переривань та вимкнення вектору переривань оскільки режим SHARE використовується. Наразі драйвер працює однак 19.12.2016 також було помічено гальмування мережі із двома цими адаптерами після біля двох тижнів роботи.
     (2 Кб) Відтак це обладнання зламане для роботи двох адаптерів та у цьому ПЛК ви можете використовувати лише один, для стабільної роботи!

 (2 Кб) Отримане ядро, перейменовано у "kernel-image-rt1-up-2.6.29.alt1", можна використовувати для PLC із HPET або таймером високої роздільної здатності, а також у "LP-8x81" та "LP-8x81 Atom" (тільки одне ядро)!

kernel-image-rt-up-2.6.33

Складання ядра версії 2.6.33 потрібне для контролерів фірми "ICP DAS" LP-8x81 та LP-8x81 Atom з причини наявності саме для нього, із патчем CONFIG_PREEMPT_RT, бінарних драйверів "ICP DAS", для LP-8x81 Atom.


Результати тестів цього ядра:


Процес складання та тестування:

  1. Збірка ядра із вихідних "ICP DAS" (2.6.33.7) та конфігурацією, успадкованою з ядра 2.6.29 (вихідні тексти містять підозріло багато *.rej файлів, а також "staging/comedi" не може бути складений) — вантажиться та в цілому працює; модулі "ipic" та "slot" вантажаться; модуль "8250_linpac" падає у функції "platform_device_add"; низка програм зависає на операціях із ФС, з повідомленням: "task openscada:2153 blocked for more than 120 seconds".
  2. Заміна AUFS на версію із 2.6.29-rt1 — падає у rtmutex прямо на завантажені; заміна на офіційну із git показала такий-же результат, від початку використано патч "aufs+sqfs4lzma-2.6.33.patch" від DLink.
  3. Збірка оригінального ядра з патчами CONFIG_PREEMPT та AUFS — проблема знову з AUFS, але тепер він "/sbin/mingetty" у кінці знайти не може.
  4. Збірка оригінального 2.6.33.9 ядра з патчами CONFIG_PREEMPT та AUFS — проблеми ті-ж.
  5. Збірка із вихідних "ICP DAS" (2.6.33.7) для SMP — модуль OpenSCADA DAQ.JavaLikeCalc падає за незрозумілою причиною.
  6. Збірка оригінального ядра з патчами CONFIG_PREEMPT та AUFS для SMP — та-ж проблема, що і без SMP, хіба-що тільки не одразу, а на приблизно п'ятому потоці.

 (2 Кб) На цей момент ядро 2.6.33 у зв'язці із CONFIG_PREEMPT_RT та AUFS неробоче. Відповідно якщо потрібна буде робота на "LP-8x81 Atom" то рекомендується використовувати оригінальне Linux оточення, зібравши та встановивши OpenSCADA туди.

Diamond Systems ATH400, DMM32

Плати від "Diamond Systems" стали першими на яких тестувалась та стабілізувалась OpenSCADA. Першою платою став одно-платний комп'ютер Документ PDFATH400 формфактору PC/104, наведені на рисунку нижче. На цьому комп'ютері оточення ОС, на початку, встановлювалося традиційним методом, а надалі згідно викладеній вище концепції створення прошивки.


Апаратні характеристики плати:

Центральний процесор: VIA Eden 400-660MHz
Оперативна пам'ять: 128MB, запаяно на плату
Постійна пам'ять: IDE (44) порт с UDMA-33
Відео підсистема: S3 Savage 4 Chipset з розширеним 3D/2D відео; підтримуються плоскі панелі, CRT та LCD
Аудіо підсистема: присутня
Інтерфейси/порти: 10/100Mbps Ethernet; 4 RS-232 послідовні порти; 4 USB 1.1 порти; PS/2 клавіатура та миша
Джерело живлення: +5VDC ±10% @ 2A
Робочі умови: -40 ... +85°C
DAQ: 16AI (16 біт, 100 кГц), 4AO, 24DIO, 2CNTR

Першим завданням цієї плати та OpenSCADA була реалізація функції високочастотного (10 КГц * 8 каналів) архіватору сигналів газового компресору для вивчення явища помпажу на Анастасіївській ГЛКС.


Другим завданням став прототип ПЛК вузлів електропідстанцій. Вже для цієї задачі прошивка збиралась на основі нової пакетної бази. У межах цієї задачі модуль опитування даних плат "Diamon Boards" було уніфіковано для підтримки всіх плат виробника.


Diamond ATH400–128 (181 Кб)

Другою платою стала плата ППО Документ PDFDMM32-AT, представлена на рисунку нижче. Плата використовувалась для створення макетів та емуляторів поля технологічного ПЗ. Плата має характеристики:

Джерело живлення: +5VDC ±10% @ 200mA
Робочі умови: -40 to +85°C
DAQ: 32AI (16 біт, 200 кГц), 4AO, 24DIO, 2CNTR

Diamond DMM-32X-AT (153 Кб)

Дослідження шумових властивостей високо-імпедансних входів плат від Diamond Systems у різних умовах зведено до таблиці нижче:

Умови Зовнішній БЖ: Рівень шуму, мВ [Гц] Внутрішній БЖ: Рівень шуму, мВ [Гц] Зауваження
(10 кГц, ±0.625 В, 20 мкс), Заземлено-32 0.08 [-]
(10 кГц, ±5 В, 20 мкс), Заземлено-32 0.5 [-] 0.35 [-]
(10 кГц, ±5 В, 20 мкс), Заземлено-31, Навантаження ∞ 5 [50, 270] 18 [50, 150]
(10 кГц, ±5 В, 20 мкс), Заземлено-31, Навантаження 1мОм 10 [50, 270]
(10 кГц, ±5 В, 20 мкс), Заземлено-31, Навантаження 100кОм 7 [150, 50, 270] 7 [-]
(10 кГц, ±5 В, 20 мкс), Заземлено-31, Навантаження 10кОм 4.5 [100] 6 [-]
(10 кГц, ±5 В, 20 мкс), Заземлено-31, Навантаження 1кОм 0.9 [150] 1 [-]
(10 кГц, ±5 В, 20 мкс), Заземлено-31, Навантаження 100Ом 0.5 [-] 0.5 [-]

Kontron MOPSlcdLX

MOPSlcdLX представляє собою одно-платний комп'ютер формфактору PC/104, представлено на рисунку нижче. Цей комп'ютер привабив увагу з причини порівняно невеликої вартості, за рахунок звичайного діапазону експлуатації та меншого енергоспоживання та як наслідок меншого нагріву.


Апаратні характеристики плати:

Центральний процесор: AMD LX800™ 500 MHz, безвентиляторний
Оперативна пам'ять: DDR-RAM-SODIMM сокет
Постійна пам'ять: IDE (44) порт
Відео підсистема: вбудована графіка із підтримкою виводу на плоскі панелі, CRT та LCD
Аудіо підсистема: немає
Інтерфейси/порти: 10/100Mbps Ethernet (Intel® 82551ER); 2 RS-232 послідовних порти; 2x USB 2.0; PS/2 клавіатура та миша, Floppy, LPT
Джерело живлення: +5VDC ±10% @ 1A
Робочі умови: 0 ... 60°C

Плата використовувалася для опробування створення станцій/панелей оператора з OpenSCADA, у подібному оточені. Згодом виплила низка проблем з цією платою:


На цей час, на основі цієї плати, готується "Програмний осцилограф", для чого на нього з успіхом завантажено сучасну прошивку із ядром "std-def" та довстановлено плату DMM-32X-AT, про яку вище.


PLC (90 Кб)

Tri-M VSX104

VSX104 представляє собою одно-платний комп'ютер формфактору PC/104, представлено на рисунку нижче. Цей комп'ютер привабив увагу з причини невеликої ціни та низького енергоспоживання (< 2Вт) та як наслідок меншого нагріву. Однак у зв'язку використання на ньому процесору "Vortex86SX-300 МГц" вимагається особливий підхід до формування оточення ОС, оскільки використано набір інструкцій i486 та відсутній математичний сопроцесор.


Апаратні характеристики плати:

Центральний процесор: DM&P SoC Vortex86SX-300 МГц
Оперативна пам'ять: 128 МБ DDR2 RAM розпаяна на платі
Постійна пам'ять: слот CompactFlash Type I, microSD та 2 порти EIDE (Ultra DMA 100)
Відео підсистема: немає
Аудіо підсистема: немає
Інтерфейси/порти: 10/100Mbps Ethernet; 4 RS-232 послідовних портів; 2x USB 2.0; PS/2 клавіатура та миша, LPT, Резервування, SPI
Джерело живлення: +5VDC ±10% @ 370mA
Робочі умови: -40 ... 85°C
DAQ: 1 порт 16-бітного GPIO

На цей час рішень на цій платі немає, однак планується зібрати для неї оточення, можливо для автономної системи обліку.


VSX104 (225 Кб)

 (2 Кб) Перенаправлення інтерфейсу BIOS на COM-порт можна примусово включити заземленням 10 піну COM-порту.

ICOP VDX-6354D

VDX-6354D представляє собою одно-платний комп'ютер формфактору PC/104, представлено на рисунку нижче. Цей комп'ютер побудовано на процесорі "DM&P SoC CPU Vortex86DX- 800MHz", який продуктивніше "Vortex86SX-300 МГц" у попередньому розділі, однак і енергоспоживання цієї плати вже не 2, а 4 Вата більше на сторінці проекту (RU)


 (23 Кб)

ICP DAS LP-8x81

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


ПЛК серии LP-8x81. (84 Кб)

Avalue Сенсорна панель FPC-1701

Фірма Avalue, сумісно з її дистриб'ютором у Росії фірмою ElTech, надає широкий спектр панельних ПК, які можуть використовуватися починаючи із звичних офісних моноблоків та закінчуючи промисловими сенсорними панелями у фронтальному виконанні класу IP65. У зв'язку використання стандартного обладнання запуск та робота OpenSCADA на них не викликає проблем більше на сторінці проекту (RU).


 (214 Кб)

iROBO-3000a

iROBO-3000a представляє із себе безвентиляторний промисловий комп'ютер з встановленим Intel Atom D425 1.8 GHz із VGA, 2xGb LAN, 4xCOM, 4xUSB, 1GB RAM, 1x2.5" SATA HDD 120GB, Mini-PCIe, 4x4 DIO, CF слот, SIM Card слот, Audio, WDT, робочий діапазон температур -5...+55°C. Продуктивності даного комп'ютера достатньо для виконання як функцій серверу збору, контролю та керування, так і функцій станції візуалізації. Однак у зв'язку із використанням непродуктивного процесору родини Atom виконання математичних моделей технологічних процесів потребує всіх ресурсів процесору. Наприклад, при виконанні математичної моделі АГЛКС процесор навантажується на 86%. Контролер має сертифікат "УкрСЕПРО", що може бути важливим для багатьох користувачів на території України.


iROBO-3000a (541 Кб)

Робоче оточення OpenSCADA для цього комп'ютера будувалося на основі пакетної бази дистрибутиву ALTLinux T6, а також свіжо-зібраного оточення стільниці Trinity (TDE). Збірка оточення здійснювалася на основі вищенаведеної концепції за допомогою оновленого профілю "mkimage". У новий профіль також було додано мету "plc", однак її сутність змінилася фактично ставши копією мети "live", що стало можливим завдяки впровадженню на етапі первинної ініціалізації прозорого монтування розділу з міткою "alt-live-storage" як відображення упакованої файлової системи із довільним доступом на модифікацію. В цілому це дозволило створити фіксоване ядро прошивки з базовим набором програмного оточення, розміром 300Мб, та можливістю вільного розширення шляхом довстановлення потрібних пакетів із дистрибутиву.


У якості оточення стільниці було обрано "Trinity" з причини наявності проблеми фонового артифактингу у зв'язці XOrgServer 1.10 + Qt4, а також малої ресурсомісткості TDE при високій розвинутості та стабільності.


Архів профілів збірки нового оточення отримав назву mkimage-profiles-6-kdesktop-plc.tgz, а остання збірка прошивки ALTLinux_6-OpenSCADA_0.8.1-TDE_3.5.13.1-i586-flash.tar.

Advantech PCA-6753, PPC-L126

Фірма Advantech випускає широкий спектр обладнання для автоматизації, починаючи від панельних ПК та закінчуючи модулями збору даних ADAM.


У межах проекту системи збору та візуалізації котла №1 цеху ТЭЦ (RU) до рук потрапив панельний ПК PPC-L126 та індустріальний ПК на шасі IPC-6608, з процесорною платою PCA-6753.


Індустріальний ПК "PCA-6753" має наступні характеристики:

Центральний процесор: Мало-споживаний NS GXm-200 МГц (безвентиляторний)
Оперативна пам'ять: 64 МБ DIMM SDRAM
Постійна пам'ять: SSD DiskOnChip® 2000, IDE (40 pin, UDMA 33, 256МБ IDE Flash)
Відео підсистема: CX5530 VGA/LCD и 18-бит LCD TFT
Аудіо підсистема: немає
Інтерфейси/порти: 10/100Mbps Ethernet (RTL-8139); RS-232 + RS-232/422/485 послідовні порти; 2 x USB 1.1 (хост), IR порт; LPT; Floppy
Джерело живлення: +5VDC ±10% @ 1.54A
Робочі умови: 0 ... 60°C

ПЛК PCA-6753F в системном блоке IPC-6608. (68 Кб)

Цей контролер є вже достатньо старим та низькопродуктивним для сучасного програмного забезпечення однак для задач середовища виконання ПЛК він ще годиться і на нього було з успіхом завантажено прошивку на основі пакетної бази ALTLinux 5.1. При цьому про реальний час мова не велась, у зв'язку із відсутністю таймеру високої роздільної здатності (HPET).


Панельний ПК "PPC-L126" має наступні характеристики:

Центральний процесор: VIA Eden 667 MHz
Оперативна пам'ять: Два 168-pin DIMM сокет (128 МБ)
Постійна пам'ять: CompactFlash типа I/II, IDE (44 pin, UDMA 33/66/100, 10 ГБ)
Відео підсистема: VIA Savage4 2D/3D/Video, сенсорний екран 12.1", фронтальна панель: IP65/NEMA4
Аудіо підсистема: AC97 Ver. 2.0
Інтерфейси/порти: 10/100Mbps Ethernet (RTL-8139); 3 x RS-232 + RS-232/422/485 послідовні порти; 2 x USB 1.1 (хост); PS/2 клавіатура та миша; LPT
Джерело живлення: 19VDC @ 3.3A
Робочі умови: 0 ... 40°C

PPC-L126 (18 Кб)

Панельний ПК також має малі ресурси для запуску сучасного графічного оточення, тому для установки на нього використовувався дистрибутив "ALTLinux T6" із заходами по оптимізації:


Приведені заходи дозволили втиснутися у 128 МБ оперативної пам'яті і отримати при цьому розвинуте та продуктивне графічне оточення. Для налаштування сенсорного екрану ELO використовувався пакет із драйвером "elographics" — "xorg-drv-elographics". До конфігураційного файлу "xorg.conf" додано секцію:


 
Файлов нет.[Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]