OpenSCADAWiki: Using/PLC ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of Using/PLC from 2015-11-01 16:52:37..
English (1 Kb) English
Ukrainian (1 Kb) Українська
В процессе ревизии
78780

OpenSCADA в программируемом логическом контроллере (ПЛК)

Имя: ПЛК
Основан: октябрь 2008г
Участники: Роман Савоченко
Описание: Проект посвящён созданию: среды исполнения, прошивки и аппаратных конфигураций специализированных ПЛК. Рассмотрены встраиваемые системы на основе архитектуры x86 и ARM, а также отдельное оборудование встраиваемых решений:

PLC (90 Kb)


Contents

Введение

Современные системы автоматического управления технологическими процессами (АСУ ТП) являются достаточно сложными. Условно иерархию АСУ ТП можно разделить на два уровня: нижний и верхний уровень. Нижний уровень АСУ ТП содержит полевое оборудование (датчики и исполнительные механизмы), а также программируемые логические контроллеры (ПЛК). Верхний уровень представляет из себя систему оперативной визуализации и контроля за технологическим процессом — SCADA-система. ПЛК являются ответственной частью АСУ ТП, которая выполняет функцию сбора данных полевого оборудования, вычисление и выдачу регулирующих, блокировочных и других воздействий на регулирующие органы полевого оборудования.


OpenSCADA является открытой реализацией SCADA-системы, которая основана на модульной архитектуре, что позволяет строить конечные решения под различные требования. Целевым назначением OpenSCADA являются системы верхнего уровня, однако высокая степень модульности, и как следствие масштабируемости, позволяет решать широкий круг задач смежных областей.

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

Рынок ПЛК насыщен широким спектром изделий различной архитектуры и конструкции. Архитектурно ПЛК можно разделить на три условные группы:


Жёстко-программируемые ПЛК обычно строятся на основе одно-кристальных микроЭВМ или микросхемах программируемой логики. Программа таких контроллеров или прошивается единоразово, предоставляя возможность программной параметризации, или же формируется специализированными средами, наделёнными функциями компиляции бинарной прошивки среды исполнения с пользовательской программой, например ISaGRAF и LabView. В качестве представителя такого ПЛК можно в пример привести модули распределённого УСО фирмы Advantech.


Высокоинтеллектуальные коммерческие ПЛК обычно строятся на базе более мощного оборудования с архитектурой, близкой к полноценному ПК. Основным отличием от стандартного ПК-совместимого ПЛК является закрытая программная, а часто и аппаратная архитектуры. Программное окружение таких контроллеров обычно основывается на операционной системе реального времени, планирующей несколько пользовательских потоков с разделением их по приоритетам. Пользовательское программирование таких ПЛК осуществляется работой в фирменном программном окружении, формирующем, в качестве результата, бинарный код потока ПЛК. В качестве представителя такого оборудования можно привести ПЛК серии S7 фирмы Siemens.


ПК-совместимые ПЛК с открытым доступом — это группа скорее не ПЛК, прямо совместимых с ПК, а ПЛК, которые не имеют интегрированной среды исполнения и часто поставляемых без операционной системы. Архитектура таких ПЛК может быть различной, начиная от экономичных решений архитектуры x86 и заканчивая архитектурными решениями ARM и MIPS. Среду исполнения таких ПЛК обычно формируют из ПО того же класса, что и в случае с жёстко программируемыми ПЛК, в виде исполняемого бинарного файла под одну из распространённых, масштабируемых или специализированных ОС (DOS, QNX, Linux, WinCE, VxWorks). Часто встречаются и специализированные под задачу решения. В качестве представителей этого класса можно рассматривать ПЛК формфактора PC/104.


Варианты конструктивного исполнения ПЛК можно условно разделить на моноблочные и модульные. Моноблочные ПЛК предоставляют фиксированную конфигурацию УСО, специализированную под ограниченный круг задач. Модульные конструкции предоставляют возможность лёгкого расширения конфигурации УСО под нужную задачу. Существуют также и гибридные конструкции, представляющие из себя моноблок, способный расширять своё УСО за счёт внешних блоков УСО, подключаемых по одному из стандартных интерфейсов, например, по RS-485.

OpenSCADA как среда исполнения ПЛК

Архитектура системы OpenSCADA позволяет создавать конечные решения под различные требования и ресурсы путём модульного расширения. Эта возможность оказывается полезной в свете ограниченности ресурсов ПЛК. Кроме того, учитывая постоянное развитие аппаратного обеспечения, а также непрерывное повышение интеграции и экономичности современных микропроцессорных решений, OpenSCADA позволяет последовательно расширять функциональность ПЛК, сохраняя преемственность со старыми решениям. Например, на основе системы OpenSCADA можно строить решения с минимальными требованиям на уровне: CPU 100 МГц, память и флешь-диск по 30 Мб.


Как было отмечено выше, ресурсы современных ПЛК могут колебаться достаточно в больших пределах, причём ПЛК фиксированного типа, построенные на однокристальных микроЭВМ, всё дальше вытесняются в узко-специализированные области развитыми ПК-архитектурами. Такая тенденция делает всё более интересной возможность создания унифицированной открытой платформы для реализации среды исполнения ПЛК на основе унифицированных ПК-платформ.


OpenSCADA позволяет реализовать идею создания открытой платформы для реализации среды исполнения ПЛК. Уже сейчас можно реализовывать окружения ПЛК, ничем не уступающее коммерческим интеллектуальным контроллерам, а во многом и превосходящие их за счёт возможности интеграции функций, характерных для SCADA систем, в окружение ПЛК, расширяя функциональные и пользовательские характеристики ПЛК и приводя его на единую со SCADA кодовую базу, а также оптимизируя стоимость конечного решения.


Перечислим функции, решаемые OpenSCADA в рамках окружения ПЛК:


Action source page doesn't exist yet(/Using / PLC / firmware?)


Action source page doesn't exist yet(/Using / PLC / firmware ARM?)

Приложение 1. Вычислительная производительность процессорных систем

Action source page doesn't exist yet(/Using / PLC / performance?)


 (2 Kb) Разница во времени вычисления при прямом вызове математической операции и из виртуальной машины JavaLikeCalc связана с влиянием частоты ядра процессора (частоты, на которой оно работает) и которым выполняется часть команды до передачи её математическому сопроцессору. Производительность математического сопроцессора обычно не связана непосредственно с производительностью и частотой ядра основного процессора.

Методика измерений в таблице выше следующая:

  1. Оценка времени вычисления операций "sin(Pi)" и "pow(Pi,2)", во второй и третьей колонках. Данные операции выбраны как показательные, для оценки производительности сопроцессора и общих манипуляций с вещественными числами. Значения в квадратных скобках характеризуют степень накладных расходов при вычислении внутри виртуальной машины OpenSCADA и производительность целочисленных вычислений вокруг образцовых операций. Т.е. основное значение характеризует производительность процессора в операциях с плавающей точкой (математический сопроцессор или эмуляция), а в квадратных скобках — в целочисленных операциях (центральный процессор), как разница времени операций с плавающей точкой. Методика измерения:
    1. обеспечиваем стабильность частоты центрального процессора, путём установки политики её управления в ПРОИЗВОДИТЕЛЬНОСТЬ;
    2. запускаем OpenSCADA без нагрузки, проект по умолчанию или с пустой конфигурацией, c конфигуратором UI.QTCfg, UI.WebCfg или UI.WebCfgD;
    3. открываем объект функции "sin()", а затем "pow()", модуля библиотеки математических функций;
    4. переходим во вкладку "Исполнить", устанавливаем "Включено", вводим значения аргументам "X" в 3.14159265 и "Степень" в 2 (для "pow()"), устанавливаем количество запусков в 1000 (для большей репрезентативности можно увеличить, порядками, до общего времени операции не более 10 секунд);
    5. нажимаем "Исполнить" и получаем время исполнения;
    6. производим вычисления несколько раз, нажимая "Исполнить", добиваясь минимального значения;
    7. фиксируем минимальное значение, которое делим на 1000 и получаем основное значение времени одного вычисления в микросекундах;
    8. переходим к объекту модуля внутренних вычислений OpenSCADA (DAQ.JavaLikeCalc);
    9. создаём там объект библиотеки функций "test", а в ней функцию "test", которую включаем;
    10. во вкладке "Программа" вводим текст команды "y=sin(pi)", а затем "y=pow(pi,2)";
    11. переходим во вкладку "Исполнить" и выполняем то-же самое, что в пунктах "d."-"g.";
    12. полученный результат считаем вспомогательным, в квадратных скобках.
  2. Комплексная оценка производительности, четвёртая колонка, осуществляется путём исполнения модели технологического процесса (ТП) АГЛКС на целевой архитектуре. Данный тест может исполняться только на вычислительных системах со сравнительно высокой производительностью (или с количеством ядер более одного), которые способны исполнять модель, и с устройством вывода графической информации (дисплей), случай исполнения сервера визуализации не рассматривается. Основное значение нагрузки процессора характеризует исполнение динамической модели ТП, а дополнительное добавляет формирование и исполнение графического интерфейса. Методика измерения:
    1. обеспечиваем стабильность частоты центрального процессора, путём установки политики её управления в ПРОИЗВОДИТЕЛЬНОСТЬ;
    2. из меню окружения рабочего стола запускаем модель АГЛКС;
    3. запускаем эмулятор терминала (например, "konsole"), где набираем "top", нажимаем Shift+H (смотрим процесс в целом) и Shift+P (сортируем по нагрузке на процессор);
    4. снимаем показания в колонке "%CPU" напротив процесса "openscada", отбираем типовое значение для нескольких обновлений и фиксируем его как основное значение;
    5. возвращаемся к окну OpenSCADA и запускаем среду визуализации, а затем проект интерфейса "АГЛКС".
    6. возвращаемся в эмулятор терминала и снимаем дополнительное значение, как в пункте "d.".

Полученные результаты можете выслать на адрес электронной почты для помещения в эту таблицу!

Приложение 2. Производительность хранилищ (встроенные, HDD, SSD, CF, SD, ...)

В этом разделе содержится информация о производительности хранилищ, с которыми и на которых работали и работают решения OpenSCADA.
Action source page doesn't exist yet(/Using / PLC / storages?)

Приложение 3. Решения ПЛК

В этом разделе содержится информация о моделях ПЛК реально построенных или проектируемых на основе разработанной среды исполнения и прошивки ПЛК.
Action source page doesn't exist yet(/Using / PLC / solve?)

Ссылки


Referring pages: Doc/BCM2835
HomePageEn/Using/PLC/firmware
HomePageUk/Using/PLC/firmware
Using/Irkutsk
Using/KramWater
Using/KramatorskBallMills
Using/LP5xxx
Using/LP8x81
Using/NokiaLinux
Using/PLC
Works/Tests/VCA


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