Смекни!
smekni.com

Промышленные контроллеры, их понятие и сущность (стр. 2 из 4)

1) булевы действия

2) puls-действия

3) non-stored-действия

4) SFC-действия

Булевы действия

Они присваиваются булевой переменной значение активности шага. Булева переменная может быть выходной или внутренней. Ей присваивают значение каждый раз, когда активные шаги начинаются или заканчиваются. Синтаксис основных булевых действий и соответствующие им временные диаграммы приведены ниже.


PULS-действия

Это список команд на языке ST или IL, которые выполняются только один раз в момент активизации шага.

Синтаксис описания puls-действий

ACTION(P);

Операторы языка ST или IL;

END_ACTION;

NON-STORED-действия

Это список команд на языке ST или IL, которые выполняются на каждом цикле работы контроллера в течении всего периода активности шага.

Синтаксис

ACTION(N);

Операторы языка ST или IL;

END_ACTION;

SFC действия

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

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

Описание условий прикрепленных к переходу.

К каждому переходу пишется булево выражение, которое называют вторым уровнем перехода. Описание условия обычно выполняется на языке ST или IL. Выражение должно быть булевым (не арифметическим) и заканчиваться точкой с запятой. Когда к переходу не прикреплено условие, то оно по умолчанию питается истинным, т.е. принимает значение TRUE.

Динамические правила языка 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 очень похожи на изображение в релейно-контактных схемах, при этом приняты следующие условные изображения.

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