Промышленные контроллеры, их понятие и сущность

Автор работы: Пользователь скрыл имя, 18 Декабря 2009 в 10:25, Не определен

Описание работы

Контрольная работа

Файлы: 1 файл

промышленные контроллеры.doc

— 315.50 Кб (Скачать файл)
y">Динамические  правила  языка  SFC.

      В  этом  языке  есть  пять  динамических  правил, которым  подчиняется  логика  выполнения  программ :

  1. В каждой  программе  должен  присутствовать,  по  крайней мере,  один  шаг инициализации, который в начале  выполнения  программы находится в активном  состоянии.
  2. Правило  выполнения  перехода – переход  либо  разрешён, либо  запрещён.  Считается  что  он  разрешён, когда  все  непосредственно  предшествующие  шаги, присоединённые  к  нему, активны.  В  противном  случае  он  запрещён.  Переход  происходит  если  выполнены  два  условия: а) переход  разрешён  б) условие  перехода  истинно.  Если  одно  из  условий  не выполняется,  переход не  может быть  произведен.
  3. Изменение  состояния  активности  шагов  - удаление  переходов  немедленно  приводит  к  активному  состоянию  непосредственно  следующих  за  ним  шагов  и  неактивному  состоянию  непосредственно  предшествующих  шагов.
  4. Правило  одновременного  удаления  переходов , применяется  в  случае  конвергенции  и  дивергенции.
  5. Если  во  время  выполнения  программы  шаг  одновременно  активизирован  и  деактивизирован  приоритет  отдаётся  активизации.

Основные достоинства SFC можно определить следующим образом.

      Высокая выразительность. Язык SFC имеет те же возможности, что и диаграммы  состояний, и является наиболее подходящим средством для описания динамических моделей.

      Графическое представление. Благодаря графической мнемонике SFC максимально прост в использовании и изучении. Вместе с тем, он является наглядным средством представления логики на разных уровнях детализации.

     2. Список инструкций  IL

     Язык  IL (Instruction list) дословно — список инструкций. Это типичный ассемблер с аккумулятором и переходами по меткам. Набор инструкций стандартизован и не зависит от конкретной целевой платформы. Поскольку IL самый простой в реализации язык, он получил очень широкое распространение до принятия стандарта МЭК. Точнее, не сам IL, а очень похожие на него реализации. Практически все производители ПЛК Европы создавали подобные системы программирования, похожие на современный язык. IL. Наибольшее влияние на формирование современного IL оказал язык программирования STEP контроллеров фирмы Siemens. Язык IL позволяет работать с любыми типами данных, вызывать функции и функциональные блоки, реализованные на любом языке. Таким образом, на IL можно реализовать алгоритм любой сложности, хотя текст будет достаточно громоздким.

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

     3. Структурированный  текст ST

     Язык  ST (Structured Text) — это язык высокого уровня. Синтаксически ST представляет собой несколько адаптированный язык Паскаль. Вместо процедур Паскаля в ST используются компоненты программ стандарта МЭК.

Происхождение: Grafcet (Telemechanique-Groupe Schneider). Язык  по  умолчанию  используется  для  описания  действий  внутри  шагов  и  переходов.

     Для специалистов, знакомых с языком С, освоение ST также не вызовет никаких сложностей. В качестве иллюстрации сравним эквивалентные программы на языках ST и С:

        ST:                                                         С:

WHILE Counter<>0 DO                   while (Counter - ! = 0)

  Counter := Counter-1;                      {

  Var1 := Var1*2;                               Varl *= 2; 

  IF Var1 > 100 THEN                       if(Var1 > 100)

        Var1 := 1;                                       {

        Var2 := Var2 + 1;                            Var1 = 1;

  END_IF                                               ++Var2;

END_WHILE                                                 }

                                                               }/* while*/ 

      Основной  синтаксис  языка.

      Программа  на  языке ST - это  список  операторов, каждый  из  которых  заканчивается  «;».        

      В  программе  имена  переменных  и  констант  разделяются  либо  неактивными  разделителями:  ENTER, ТАБ ,  либо  активными , которые  имеют  заранее  определённое  значение.  Комментарии  могут  вставляться  в  текст  произвольным  образом  и  оформляются  следующим  образом:  
( * комментарий * ).

      Основные  операторы  языка.

  • ( ) - для выделения частей  выражения с целью изменения  приоритета  выполнения операций , в  их  отсутствии  используется  приоритет  по  умолчанию.
 
  • := - присваивает   переменной  значение  некоторого  выражения  или  константы:

< переменная > := <любое  выражение  или   константа >

X1:= a+b.

      Переменная  должна  быть  внутренней  или  входной  , также  иметь  один  тип  с  выражением. 

  • Return  завершает   выполнение  текущей  программы.
  • If … then … else …

If < условие  >

Then  < оператор1 >;

          <  оператор2 >;

                    …  

else   <  список  операторов  >;

end_if

 

  • While – это циклическая структура для группы  операторов  на  языке ST , условие продолжения которой вычисляется до  каждой  итерации.

While < условие  > do

< оператор 1 >;

< оператор 2 >;

end  while;

      Примечание.

      Т.к.  система  программирования  и  исполнения  программ  на  языке  ST  является  циклической  синхронизации, то  исходные  переменные  не  обновляются  в  течение  операции  while  и  следовательно  изменение  состояния  входной  переменной  не  может  быть  использовано  для  описания  условия  оператора  while.

  • Repeat – циклическая структура , условие продолжения которой вычисляется после каждой  итерации .

Repeat

< оператор 1 >;

< оператор 2 >;

until  < условие  >;

end  repeat;

      Примечание  аналогичное  для  while.

  • For - выполняет ограниченное  количество  итераций , используя целочисленную переменную  (integer)  для ограничения.

For  < index > := < min >  to  < max >  by  <step >

Do  < оператор 1 >;

       < оператор 2 >;

end  for;   

    где index – внутренняя  переменная , step – шаг  изменения  переменной.

  • Булевы  операторы:  NOT , AND , OR , XOR ,

REDGE – обнаружение   переднего  фронта ,

FEDGE – обнаружение   спада  или  заднего  фронта.

  • Арифметические  операторы:

+  сложение ,  - вычитание , умножение , / деление.

  • Операторы  сравнения:  < , > , = , <> , <= , >= .   
  • Операторы  управления  таймерными  параметрами.

      TSTART  пуск  обновление  таймерной   переменной , после  выполнения  этого  оператора  таймерная   переменная  наращивается  на  каждом  временном  цикле  выполнения  программы  вплоть  до  остановки  оператором  TSTOP.

     4. Релейные диаграммы  LD

     Язык  релейных диаграмм LD (Ladder Diagram) или релейно-контактных схем (РКС) — графический язык, реализующий структуры электрических цепей. РКС — это американское изобретение. В начале 70-х гг. XX в. релейные автоматы сборочных конвейеров начали постепенно вытесняться программируемыми контроллерами. Некоторое время те и другие работали одновременно и обслуживались одними и теми же людьми.

     Так появилась задача прозрачного переноса релейных схем в ПЛК. Различные варианты программной реализации релейных схем создавались практически всеми ведущими производителями ПЛК. Благодаря простоте представления РКС обрел заслуженную популярность, что и стало основной причиной включения его в стандарт МЭК.

     Слова «релейная логика» звучат сегодня  достаточно архаично, почти как «ламповый  компьютер». Тем более в связи  с созданием многочисленных быстродействующих  и надежных бесконтактных (в частности, оптоэлектронных) реле и мощных переключающих приборов, таких как мощные полевые транзисторы, управляемые тиристоры и приборы IGBT. Но, несмотря на это, релейная техника все еще очень широко применяется.

     Язык LD - это  графическое  представление  булевых  функций  содержащее  контакты  (входные  переменные)  и  обмотки  (выходные  переменные).  Графические  символы  языка  LD  очень  похожи  на  изображение  в  релейно-контактных  схемах, при  этом  приняты  следующие  условные  изображения. 

 

Для  изображения  входных  контактов  существует  несколько  символов:

 Прямой(замыкающий)

Обратный  контакт(размыкающий)

Контакт  с  обнаружением  нарастания  фронта

Контакт  с  обнаружением  падающего  фронта

Используется  несколько  типов  обмоток:

Прямая  обмотка

Обратная  обмотка

Логически последовательное (И), параллельное (ИЛИ) соединение контактов и инверсия (НЕ) образуют базис Буля. В результате LD идеально подходит не только для построения релейных автоматов, но и для программной реализации комбинационных логических схем. Благодаря возможности включения в LD функций и функциональных блоков, выполненных на других языках, сфера применения языка практически не ограничена.

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

     5. Функциональные диаграммы FBD

      FBD (Function Block Diagram) — это графический язык программирования. Диаграмма FBD очень напоминает принципиальную схему электронного устройства на микросхемах. Позволяет создать программную единицу практически любой сложности на основе стандартных кирпичиков (арифметические, тригонометрические, логические блоки, PID-регуляторы, блоки, описывающие некоторые законы управления, мультиплексоры и т.д.). Это языковое средство использует технологию инкапсуляции алгоритмов обработки данных и законов регулирования. Все программирование сводится к "склеиванию" готовых компонентов. В результате получается максимально наглядная и хорошо контролируемая программная единица.

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

Информация о работе Промышленные контроллеры, их понятие и сущность