TMPA-2013 Smirnov

Preview:

DESCRIPTION

The Specifics of Developing Software for Linux Controllers Smirnov, М., Olonichev, V., Staroverov, B. , Kostroma State Technological University

Citation preview

Особенности разработки Особенности разработки программного программного

обеспечения для обеспечения для LinuxLinux--контроллеровконтроллеров

М.А. СмирновМ.А. Смирнов

В.В. ОлоничевВ.В. Олоничев

Б.А. СтароверовБ.А. Староверов

Промышленные компьютеры:Промышленные компьютеры:JetBox, JetBox, Atmel, Atmel, TechTechBBasease,,MOXA,MOXA,iRobo,iRobo,Artila Electronics Artila Electronics и др.и др.

Программируемые логические Программируемые логические контроллеры:контроллеры:

WAGO, WAGO, ICP DAS, ICP DAS, TechTechBBase,ase,ОВЕНОВЕН и др. и др.

Linux-Linux-устройстваустройства промышленной промышленной автоматикиавтоматики

Преимущества Преимущества LinuxLinux«Благодаря увеличивающейся мощности «Благодаря увеличивающейся мощности энергосберегающих процессоров, Linux энергосберегающих процессоров, Linux является идеальной платформой для является идеальной платформой для построения контроллеров для встраиваемых построения контроллеров для встраиваемых систем и различного рода управляющих систем и различного рода управляющих устройств».устройств».

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

Журнал «Современные технологии автоматизации»

Этапы программирования Этапы программирования Linux-Linux-устройствустройств

1.Создание программы на стационарном 1.Создание программы на стационарном компьютере;компьютере;

2.Кросс-компиляция программы;2.Кросс-компиляция программы;

3.Загрузка приложения в контроллер 3.Загрузка приложения в контроллер (например, по (например, по SSHSSH).).

Сравнительная характеристика зарубежного и Сравнительная характеристика зарубежного и отечественного отечественного LINUX-LINUX-ПЛКПЛК

Techbase NPE-9100 (ПОЛЬША) ОВЕН ПЛК308 (РОССИЯ)

CPUCPU: : ARM9 32 RISCARM9 32 RISC 180 180 MHzMHzОперационная система: Операционная система: Linux kernel 2.6.xLinux kernel 2.6.xВстроенная память: Встроенная память: 6464 МБ МБ SDRAM, 16 SDRAM, 16 МБ МБ FlashFlashПараметры питания:Параметры питания: =12-36 В, до 7 Вт =12-36 В, до 7 ВтEthernet 10/100 BaseT:Ethernet 10/100 BaseT: 1 1Последовательные порты: Последовательные порты: RS-232RS-232хх22, , RS-485RS-485хх11SD-SD-слот:слот: есть естьD_IN:D_IN: 88D_OUT:D_OUT: 2-62-6Таймеры:Таймеры: RTC, Watch Dog TimerRTC, Watch Dog Timer

от 28 000 руб. и выше

CPUCPU: : ARM9 32 RISCARM9 32 RISC 180 180 MHzMHzОперационная система: Операционная система: Linux kernel 2.6.xLinux kernel 2.6.xВстроенная память: Встроенная память: 32 МБ 32 МБ SDRAM, 16 SDRAM, 16 МБ МБ FlashFlashПараметры питания:Параметры питания: =9-48 В, до 4 Вт =9-48 В, до 4 ВтEthernet 10/100 BaseT:Ethernet 10/100 BaseT: 22Последовательные порты: Последовательные порты: RS-232RS-232х6, х6, RS-485RS-485хх11, ,

RS-422RS-422х1х1SD-SD-слот:слот: есть естьUSB 2.0: 2USB 2.0: 2х12 Мб/сх12 Мб/сТаймеры:Таймеры: RTC, Watch Dog TimerRTC, Watch Dog Timer

от 11 000 руб. и выше

Проблемы, с которыми Проблемы, с которыми сталкивается пользовательсталкивается пользователь

необходимость модификации и необходимость модификации и конфигурирования ядра конфигурирования ядра LinuxLinux;;необходимость поиска и построения необходимость поиска и построения инструментального пакета (инструментального пакета (toolchaintoolchain););необходимость интеграции необходимость интеграции дополнительных драйверов, приложений, дополнительных драйверов, приложений, библиотек;библиотек;необходимость тестирования, отладки и необходимость тестирования, отладки и масштабирования проекта.масштабирования проекта.

Мультипрограммный комплекс адаптивного управления Мультипрограммный комплекс адаптивного управления технологическими установкамитехнологическими установками

ОУ – объект управления; И – идентификатор; А – адаптатор;ОУ – объект управления; И – идентификатор; А – адаптатор;Н – наблюдатель; РС – регулятор состоянияН – наблюдатель; РС – регулятор состояния

ПРОЦЕССЫПРОЦЕССЫ

Диспетчер;Диспетчер;

Регулятор состояния;Регулятор состояния;

Наблюдатель полного порядка;Наблюдатель полного порядка;

Адаптатор;Адаптатор;

Задающее устройство эталонного сигнала;Задающее устройство эталонного сигнала;

Цифровая модель объекта управления;Цифровая модель объекта управления;

Связь с реальным объектом;Связь с реальным объектом;

Идентификатор.Идентификатор.

РеализацияРеализация

Язык Си;Язык Си;

Средства межпроцессного взаимодействия:Средства межпроцессного взаимодействия:

- разделяемая память;- разделяемая память;

- семафоры - семафоры SystemVSystemV;;

GNU Scientific Library (GSL) v1.3 – GNU Scientific Library (GSL) v1.3 – библиотека для научных расчетов.библиотека для научных расчетов.

Режимы запускаРежимы запуска

АсинхронныйАсинхронный (обмен (обмен данными по готовности)данными по готовности) – проверка – проверка работоспособности, работоспособности, тестирование и отладка тестирование и отладка на персональном на персональном компьютере с ОС компьютере с ОС LinuxLinux (моделирование (моделирование технологического технологического процесса).процесса).

СинхронныйСинхронный (обмен по (обмен по сигналам от таймера сигналам от таймера реального времени)реального времени) – – управление управление технологической технологической установкой в режиме установкой в режиме реального времени реального времени (запускается на целевой (запускается на целевой платформе).платформе).

Примеры конфигурационного Примеры конфигурационного файла и скриптафайла и скрипта

Config.txtConfig.txt

«« 11668833100100 »,»,

гдегде1 – число регуляторов; 1 – число регуляторов; 6 – число процессов без 6 – число процессов без

«диспетчера»; «диспетчера»; 8 – число семафоров; 8 – число семафоров; 3 – порядок ОУ; 3 – порядок ОУ; 100 – период квантования в 100 – период квантования в

секундах. секундах.

Prog_1Prog_1

«« ./obs 2 2 &./obs 2 2 &./prg 3 3 &./prg 3 3 &./reg_s 4 4 0 &./reg_s 4 4 0 &./obj_real 1 1 7 &./obj_real 1 1 7 &././adaptadapt 5 5 5 5 &&././identident 6 6 6 6 && »»

Подготовка и запись Подготовка и запись исполняемых файлов в исполняемых файлов в

контроллерконтроллерДля кросс-компиляции:Для кросс-компиляции:

toolchain «Ronetix» – toolchain «Ronetix» – ronetixronetix--armarm--linuxlinux--uclibcuclibc-- 4.1.2.4.1.2.

Для копированияДля копирования ( (по по ssh)ssh)::

1)1) scp ./myprog scp ./myprog root@plc308:/home/arm/myprog.root@plc308:/home/arm/myprog.

2)2) консольный менеджер файлов консольный менеджер файлов mc->mc->

sshssh: /#: /#shsh::rootroot@@plcplc308/308/homehome//armarm

Результаты испытанийРезультаты испытаний

Структурная схема САУ:Структурная схема САУ:1 – кабель Ethernet; 1 – кабель Ethernet; 2 – кабель RS-485; 2 – кабель RS-485; 3 – широтно-импульсный 3 – широтно-импульсный сигнал (ШИМ); сигнал (ШИМ); 4 – сигнал обратной 4 – сигнал обратной связи; связи; МВА – модуль ввода МВА – модуль ввода аналоговый; аналоговый; МДВВ – модуль МДВВ – модуль дискретного ввода-дискретного ввода-вывода вывода

а) работает неадаптивная система; б) работает адаптивная система

СПАСИБО ЗА ВНИМАНИЕСПАСИБО ЗА ВНИМАНИЕ