OpenSCADAWiki: Using/PLC ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of Using/PLC from 2013-10-31 12:01:48..

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

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

PLC (90 Kb)


Contents

Введение

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


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

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

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


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


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


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


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

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

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


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


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;
    5. нажимаем "Исполнить" и получаем время исполнения;
    • производим вычисления несколько раз, нажимая "Исполнить", добиваясь минимального значения;
    • фиксируем минимальное значение, которое делим на 1000 и получаем основное значение времени одного вычисления в микросекундах;
    • переходим к объекту модуля внутренних вычислений OpenSCADA (DAQ.JavaLikeCalc);
    • создаём там объект библиотеки функций? "test", а в ней функцию "test", которую включаем;
    • во вкладке "Программа" вводим текст команды "y=sin(pi)", а затем "y=pow(pi,2)";

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

В этом разделе содержится информация о моделях ПЛК реально построенных или проектируемых на основе разработанной среды исполнения и прошивки ПЛК.
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]