Промышленные контроллеры. Стандарт IEC 61131-3.



IEC 61131-3- раздел международного стандарта МЭК 61131(также существует соответствующий европейский стандарт EN 61131), описывающий языки программирования для программируемых логических контроллеров

Третья редакция стандарта IEC 61131-3 вышла в 2012 г.

Важнейшие сокращения:

• Исключен язык IL, запрещено использование прямых МЭК адресов в программах.

Важнейшие новшества:

• ВведеноООП (новыеключевыеслова: METHOD, EXTENDS, IMPLEMENTS, THIS, SUPER ит.д.).

• Введены новые типы данных WCHAR, LTIME, LDATE, LDATE_AND_TIME, LTIME_OF_DAY; правила неявного преобразования типов; структуры с явным расположением элементов; массивы с переменным размером; типизированные ссылки. Разрешено использование констант при инициализации переменных и объявлении границ массивов.

• В языке ST: переменные в качестве меток сase, оператор continue.

• В языке LD: условные контакты.

Краткое описания языков программирования стандрата IEC 61131-3.

 

IL (InstructionList) - язык программирования стандарта IEC61131-3. Предназначен для программирования промышленных контроллеров. По синтаксису напоминает ассемблер.

Пример: Линейное преобразование Y(x)=A*x+B

LD x

MUL A

ADD B

ST Y

Ladder Diagram(англ.LD, англ.LAD, рус. РКС) - язык релейной (лестничной) логики.

Применяются также названия:

• язык релейно-контактной логики (РКС)

• релейные диаграммы

• релейно-контактные схемы

• язык программирования релейно-лестничной логики стандарта МЭК 61131-3.

LadderDiagram (LD)предназначен для программирования промышленных контроллеров (ПЛК). Синтаксис языка удобен для замены логических схем, выполненных на релейной технике. Ориентирован на инженеров по автоматизации, работающих на промышленных предприятиях. Обеспечивает наглядный интерфейс логики работы контроллера, облегчающий не только задачи собственно программирования и ввода в эксплуатацию, но и быстрый поиск неполадок в подключаемом к контроллеру оборудовании.

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

Основными элементами языка являются контакты, которые можно образно уподобить паре контактов реле или кнопки. Пара контактов отождествляется с логической переменной, а состояние этой пары — со значением переменной.

Различаются нормально замкнутые и нормально разомкнутые контактные элементы, которые можно сопоставить с нормально замкнутыми и нормально разомкнутыми кнопками в электрических цепях:

• ─┤ ├─ Нормально разомкнутый контакт разомкнут при значении ложь, назначенной ему переменной и замыкается при значении истина.

• ─┤/├─ Нормально замкнутый контакт, напротив, замкнут, если переменная имеет значение ложь, и разомкнут, если переменная имеет значение истина.

• ─( )─ Итог логической цепочки копируется в целевую переменную, которая называется катушка (англ. coil). Это слово имеет обобщенный образ исполнительного устройства, поэтому в русскоязычной документации обычно говорят о выходе цепочки, хотя можно встретить и частные значения термина, например катушка реле.

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

FunctionBlockDiagram (FBD) -графический язык программирования стандарта МЭК 61131-3. Предназначен для программирования программируемых логических контроллеров (ПЛК). Программа образуется из списка цепей, выполняемых последовательно сверху вниз. Цепи могут иметь метки. Инструкция перехода на метку позволяет изменять последовательность выполнения цепей для программирования условий и циклов.

При программировании используются наборы библиотечных блоков и собственные блоки, также написанные на FBD или других языках МЭК 61131-3. Блок (элемент) - это подпрограмма, функция или функциональный блок (И, ИЛИ, НЕ, триггеры, таймеры, счётчики, блоки обработки аналогового сигнала, математические операции и др.).

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

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

SequentialFunctionChart (SFC) -(последовательные функциональные схемы) - язык программирования стандарта IEC61131-3. Предназначен.для программирования промышленных контроллеров. Широко используется в SCADA/HMI пакетах.

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

Основными элементами языка являются:

• состояния, в которых выполняются определенные действия, одновременно могут быть активны несколько состояний, одно из состояний является начальным;

• переходы из состояния в состояние, для каждого перехода задаются логическое условие перехода к следующему шагу

• альтернативное ветвление алгоритма, когда из текущего состояния возможны переходы к нескольким состояниям, при этом каждому переходу соответствует свое логическое условие и при выполнении алгоритма производится только один из альтернативных переходов

• параллельное ветвление, в отличие от альтернативного имеет общее условие перехода на несколько параллельно работающих веток

• переход к заданному состоянию

• остановка процесса

StructuredText (ST) -язык программирования стандарта IEC61131-3. Предназначен для программирования промышленных контроллеров и операторских станций. Широко используется в SCADA/HMI/SoftLogic пакетах.

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

 


Дата добавления: 2018-02-18; просмотров: 1354; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!