Языки программирования плк (plc)

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

Языки программирования плк (plc)

4 самых популярных языка программирования ПЛК для реализации диаграмм управления (фото: Green Mamba via Flickr)

За некоторыми исключениями программу, написанную в одном формате, можно просмотреть в другой.

Популярные языки программирования для ПЛК

Давайте обсудим каждый из популярных языков программирования для ПЛК:

  1. Лестничные диаграммы
    • пример
    • Видеокурс (Основы лестничной диаграммы)
  2. Функциональная блок-схема
    • Видеокурс (программирование функциональной блок-схемы (FBD))
  3. Список операторов
    • Видеокурс (как использовать PLCSIM S7-300 STL)
  4. Логические функции
    • Видеокурс (логические схемы против логических схем)

1. Лестничные диаграммы

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

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

Контакты с нормально замкнутым контактом (NC) касаются, когда входная катушка не активирована. Когда входная катушка не активирована, нормально замкнутые контакты будут закрыты (проведены).

Реле, показанное на рисунке, имеет два контакта: один NO другой NC. Когда катушка реле активирована, контакты реле меняют свое состояние, то есть контакты NO закрываются, а контакты NC открываются.

Схема реле может быть показана с помощью различных схемных схем, как показано на рисунке 1.

Языки программирования плк (plc)

Рисунок 1 — Простые макеты и схемы реле

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

Теперь, если требуется использовать NO (C) контакт этого реле, подключенный к источнику переменного тока, через два контакта входного реле, A (NC) и B (NO), тогда логическая схема реле, показанная на рисунке 2, является наиболее подходящих для типичной логики .

Согласно логической схеме реле, показанной на рисунке, активация катушки входного реле соответствует контакту B, делает C (выход) замкнутым, а активация катушки входного реле соответствует контакту A, заставляет C (выход) открываться,

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

Языки программирования плк (plc)

Рисунок 2 — Простой контроллер реле и соответствующая лестничная логика

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

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

Несколько символов, используемых для обозначения входных и выходных сигналов лестничной логики, показаны на рисунках 3 и 4 соответственно.

Принимая во внимание эти символы логики лестницы, лестничная логика, реализованная на рисунке 2, имитирует ту же жесткую релейную логику.

Языки программирования плк (plc)

Рисунок 3 — Лестничные логические входы

Языки программирования плк (plc)

  • Рисунок 4 — Лестничная логика Нормальный выход
  • Наконец, эта лестничная логика вставлена ​​в виде управляющей программы в ПЛК, где устройства ввода и выходные устройства расположены так, как показано на рисунке 5.
  • Таким образом, программы логики-логики загружаются в ПЛК, устройства ввода и вывода подключаются к модулям ввода-вывода, а затем выполнение программ обновляет выходы в соответствии со статусом входов.

Языки программирования плк (plc)

Рисунок 5 — ПЛК, иллюстрируемый реле

Многие реле также имеют несколько выходов, и это позволяет выходному реле одновременно быть одновременно.

Схема, показанная на рисунке 6, является примером этого и называется схемой уплотнения . В этой схеме ток может протекать через любую ветвь цепи через контакты, обозначенные A или B.

Вход B будет включен, только если выход B включен. Если B выключен, и A включен, тогда B включится. Если B включится, вход B включится и сохранит выход B, даже если вход A погаснет. После включения B выход B не выключается.

Языки программирования плк (plc)

Рисунок 6 — Схема уплотнения

Заметка! Если A замкнут, выход B включится, а также включится вход B, который будет продолжать вывод B навсегда — пока питание не будет отключено.

Другой пример лестничной логики можно увидеть на рисунке 7. Чтобы интерпретировать эту диаграмму, представьте, что мощность находится на вертикальной линии с левой стороны, называемой горячей рельсом. С правой стороны находится нейтральная рейка.

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

Выходом будет некоторое устройство вне ПЛК, которое включено или выключено, например, огни или двигатели . В верхней ступени контакты нормально разомкнуты и нормально замкнуты, что означает, что если вход A включен, а вход B выключен, питание будет проходить через выход и активировать его.

Любая другая комбинация входных значений приведет к отключению выхода X.

Языки программирования плк (plc)

  1. Рисунок 7 — Простая схема лестничной логики
  2. Заметка! Питание должно проходить через некоторую комбинацию входов (A, B, C, D, E, E, F, G и H) для включения выходов (X, Y)
  3. Вернуться

Пример //

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

Решение

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

Языки программирования плк (plc)

Рисунок 8 — Лестничная логика для управления одним светом с тремя переключателями

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

Вы можете признать эту проблему исключительной или проблемой. Лестничная логика показана на рисунке 9.

Языки программирования плк (plc)

Рисунок 9 — Лестничная логика для управления одним светом по-другому с тремя переключателями

Заметка! Важно получить четкое представление о том, как будут работать элементы управления. В этом примере два радикально разных решения были получены на основе простой разницы в операции.

Вернуться

Основы лестничной диаграммы №1

Основы схемы лестниц №2 (Цепь управления безопасностью)

Основы схемы лестниц № 3 (2 цепи управления проводами и 3 проводами)

Вернуться

2. Функциональная блок-схема

Функциональная блок-схема (FBD) используется для программ PLC, описанных в терминах графических блоков. Он описывается как графический язык для отображения сигналов и потоков данных через блоки Входов, которые являются многократно используемыми элементами программного обеспечения.

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

  • Функциональные блоки могут иметь стандартные функции, такие как логические логики или счетчики или таймеры, или имеют функции, определенные пользователем, например блок для получения среднего значения входов.
  • Рисунок 10 — Функциональный блок
  • Вернуться

Программирование функциональной блок-схемы (FBD) — первый урок

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

Как создавать и использовать функциональные блоки в проекте

В этом видео вы узнаете, как создавать настраиваемые функциональные блоки в проекте и вызывать их в основной программе.

Вернуться

3. Список ведомостей

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

На рисунке 11 показана простая операция в форме лестничной диаграммы для Mistsubishi PLC. Список эквивалентных операторов будет выглядеть так, как показано в таблице 1.

  1. Рисунок 11 — Схема лестницы Mitsubishi
  2. Список эквивалентных операторов для Рисунок 11
  3. Вернуться

Как использовать учебник STS LLSON S7-300 STL 1

В этом уроке мы обсудим программу STL и концепцию RLO & STA. Подробная информация о RLO и STA объясняется наряду с симуляцией.

Учебник PLSSIM S7 300 STL LESSON 2,

автоматизация в установке

В этом уроке мы узнаем, как написать программу ПЛК с помощью программного обеспечения «S7 300» и программного обеспечения «STEP 7» .

Вернуться

4. Логические функции

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

Такая ситуация включает логическую функцию AND, условие A и условие B, которые должны выполняться для выхода. Аналогичным образом, в других ситуациях может потребоваться реализация логик, таких как OR, NOT, NAND, NOR, XOR .

  • Электрическая схема, таблица истинности, диаграмма лестницы и функциональная блок-схема для разных логик представлены в таблице 2.
  • Таблица 2 — Характеристики для разных логик
  • Вернуться

Логические ворота и схемы логических схем

Вернуться

Ссылка // Электрические и электронные измерения и приборы Притхвира Пуркаит, Будхадитья, Сантану Дас и Чиранджиб Колей (Получите мягкую обложку в Амазонке)

Связанные электрические направляющие и изделия

ПОИСК: Статьи, программное обеспечение и руководства

Источник: https://ru.electronics-council.com/4-most-popular-plc-programming-languages-35554

Программирование ПЛК

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

К программам для ПЛК предъявляются жесткие требования по надежности, одно дело зависает текстовый редактор, а другое дело программа, управляющая ядерным реактором. Другое не менее важное требование – это своевременное реагирование на событие.

А что значит, во время не прореагировать на событие в промышленности? Это значит потерять контроль над технологическим процессом. Что в некоторых случаях, примером с реактором, приведет к непоправимым последствиям.

Рассмотрим отличия написания программы  для ПЛК и микроконтроллера. Для примера возьмем простейшую задачку для МК — мигающий светодиод. Подозреваю, что все начинали знакомство с МК именно с этой задачи. Алгоритм будет следующим

  1. Записать в порт лог. 1.
  2.  Временная задержка
  3. Записать в порт лог.0.
  4. Временная задержка
  5.  Переход по метке на начало программы.

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

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

И поэтому промежуточные состояния это всего лишь программные переменные в памяти, и на аппаратной части она ни как не отображаются.

  • В дополнение задержку времени тоже хорошо бы организовать с помощью таймера, периодически проверяя его значение, а не ожидать в пустую пока это время пройдет, наверняка для контроллера найдется другая более важная работа.
  • С учетом выше сказанного, правильный алгоритм будет выглядеть следующим образом:
    1. Проверить таймер, если время паузы вышло, то
    а) инвертировать выход
    б) начать новый отсчет
  • 2. Конец программы
  • Реализуем данный алгоритм на практике ниже, а теперь рассмотрим основные особенности LAD (Ladder Diagram) языка.
  • Релейная схема представляет собой две вертикальные шины, между ними расположены горизонтальные цепи образованные контактами и обмотками реле.  Пример на рисунке:

Языки программирования плк (plc)

Количество контактов цепи может быть разным, а обмотка одна.

Любому контакту ставится в соответствие логическая переменная, определяющая его состояние. Если нормально замкнутый контакт замкнут, то ИСТИНА, если размокнут – Ложь, для инверсного наоборот, он замкнут когда переменная имеет значение ЛОЖЬ. Имя переменной пишется над контактом и служит его названием.

Последовательно соединенные контакты равносильны логической операции И, а параллельно-монтажное ИЛИ. Инверсный контакт равносилен операции НЕ. Параллельное соединение обмоток допускается, а последовательное нет. Обмотка реле также может быть инверсной, тогда она копирует в соответствующую логическую переменную инверсное состояние цепи.

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

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

Цепи расположенные выше получают новое значение переменной сразу, а цепи расположенные ниже – только в следующем цикле.

Строгий порядок выполнения очень важен, и благодаря ним LAD- диаграмма сохраняет устойчивость при наличии обратных связей.

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

Возможности LAD программы можно расширить, вставляя функциональные блоки. Вставлять можно все стандартные функциональные блоки, которые содержаться в МЭК. Описание для функциональных блоков можно найти в справке.

Давайте составим нашу первую программу на LAD в среде CoDeSys. CoDeSys можно скачать в интернете, достаточно воспользоваться поисковиком

После установки, выбираем создать новый проект, и CoDeSys попросит выбрать целевую платформу для ПЛК. Указание целевой платформы необходимо, чтобы среда знала, для какого типа контроллера пишется программа. Выбираем 3S CodeSyS Sp PLCWinNT V2.4 и жмем OK.

Языки программирования плк (plc)

Имя проекта оставляем по умолчанию, язык выбираем LD

Языки программирования плк (plc)

Интерфейс программы на русском языке, и интуитивно понятен. При наведении на элемент всплывает имя. Советую рассмотреть все элементы, а также пункты главного меню.

Языки программирования плк (plc)

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

Вместо вопросительных знаков пишем имя нашей переменной, например SB, и нажимаем Enter, выходит окно объявление переменной, выбираем Bool и нажимаем OК.

Языки программирования плк (plc)

Рассмотрите, какие типы можно выбрать, а также какие классы переменных.

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

Для реализации программы используем функциональные блок таймер TP. Таймер TP – этой таймер одиночного импульса с заданной по входу PT длительностью.

Пока IN равен FALSE, выход Q = FALSE, выход ET = 0. При переходе IN в TRUE выход Q устанавливается в TRUE и таймер начинает отсчет времени на выходе ET до достижения длительности, заданной PT. Далее счетчик не увеличивается. Таким образом, выход Q генерирует импульс длительностью PT по фронту входа IN.

Временная диаграмма работы TP:

Языки программирования плк (plc)

  1. Для вставки TP, на панели элементов выбираем:
  2. И у нас всплывает ассистент выбора функционального блока.
  3. Скачайте файл проекта, и давайте рассмотрим как он работает.

В начальный момент X= False , поэтому инверсный контакт X замкнут и таймер T2 запущен, выход Q= True, поэтому цепь включена.

А так как обмотка в цепи инверсная, значит она копирует инверсное состояние цепи в X , и X остается False, после переполнения таймера Q = False , и инверсная обмотка переводит X в True.

После этого запускается T1, после переполнения скидывает X в False и все повторяется. Переменная X является выходом генератора. Таймер T2 устанавливает паузу, а T1 длительность импульса.

Компилируем проект Проект -> Компилировать

В пункте онлайн выбираем Режим эмуляции , а затем Подключение и Старт. И видим, наша схема начинает переключаться, цепь где «протекает ток» выделяется синим цветом. Также в области объявления переменных видим текущее значение переменных.

  • Выход генератора можно поглядеть с помощью цифрового трассировщика, для этого переходим на вкладку Ресурсы в нижнем левом углу
  • Выбираем Цифровой трассировщик -> Дополнение -> Настройка трассировки, выйдет следующее окно
  • Цикличность записи поставим Вручную, нажимаем на менеджер и выбираем переменные X(Bool)
  • Нажимаем Ok . Выбираем перо для нашей переменной
  • Выбираем в онлайн Подключение, нажимаем  Старт , далее Дополнительно -> Начать трассировку, также выберите пункт Автоматическая трассировка

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

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

Прикрепленные файлы:

Источник: https://cxem.net/promelectr/promelectr6.php

Введение в ПЛК: что такое программируемый логический контроллер

14 декабря 2018

Языки программирования плк (plc)

Программируемым логическим контроллерам уже 50 лет, но без них и сейчас невозможно представить автоматизированное производство. Начинаем публиковать цикл статей о ПЛК и об электронных компонентах, производимых компанией Texas Instruments для создания современных ПЛК.

Подписаться на получение уведомлений о публикации новых статей о ПЛК.

Программируемые логические контроллеры (ПЛК) широко применяются в сфере промышленной автоматизации разнообразных технологических процессов на больших и малых предприятиях. Популярность контроллеров легко объяснима.

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

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

Принято считать, что задача создания прообраза современного ПЛК возникла в конце 60-х годов прошлого столетия.

В частности, в 1968 году она была сформулирована руководящими специалистами General Motors. Тогда эта компания пыталась найти замену для сложной релейной системы управления.

Согласно полученному заданию на проектирование, новая система управления должна была отвечать таким критериям как:

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

Последующие разработки в General Motors, Allen-Bradley и других компаниях привели к созданию системы управления на базе микроконтроллеров, которая анализировала входные сигналы от технологических датчиков и управляла электроприводами исполнительных устройств.

Термин ПЛК (Programmable Logic Controller, PLC) впоследствии был определен в стандартах EN 61131  (МЭК 61131).

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

ПЛК постоянно контролирует состояние устройств ввода и принимает решения на основе пользовательской программы для управления состоянием выходных устройств.

Упрощенное представление состава и принципа действия ПЛК хорошо демонстрирует рисунок 1. Из него видно, что ПЛК имеет три основные секции:

  • входную;
  • выходную;
  • центральную.

Языки программирования плк (plc)

Рис. 1. Состав и принцип действия ПЛК

Имеется еще источник питания. Возможно подключение к ПЛК внешнего ПК для программирования и отладки.

Центральная секция содержит центральный процессор (ЦП), память и систему коммуникаций. Она выполняет обработку данных, принимаемых от входной секции данных, и передает результаты обработки в выходную секцию.

Следует сразу отметить, что в больших ПЛК, кроме ЦП, действующего в режиме «ведущий», могут быть дополнительные «ведомые» ПЛК со своими ЦП. В качестве ЦП небольшого ПЛК используются стандартные микропроцессоры (МП). Обычно 8- и 16-разрядные МП вполне справляются со всеми стандартными задачами.

Но, как отмечено в МЭК 61131, выбор конкретного МП все же зависит от задач, возлагаемых на данный тип ПЛК.

Для передачи данных другому ПЛК или для подключения к сетям передачи данных PROFIBUS, Industrial Ethernet, AS-Interface в распределенных системах управления сегодня используются коммуникационные процессоры, такие как DP83867IR производства Texas Instruments (TI).

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

Типы ПЛК

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

Крупнейшими мировыми производителями ПЛК сегодня являются компании Siemens AG, Allen-Bradley, Rockwell Automation, Schneider Electric, Omron. Кроме них ПЛК выпускают и многие другие производители, включая российские компании ООО КОНТАР, Овен, Сегнетикс, Fastwel Групп, группа компаний Текон и другие.

Языки программирования плк (plc)

Рис. 2. Моноблочные программируемые логические контроллеры

По конструктивному исполнению ПЛК делят на моноблочные (рисунок 2) и модульные. В корпусе моноблочного ПЛК наряду с ЦП, памятью и блоком питания размещается фиксированный набор входов/выходов. В модульных ПЛК используют отдельно устанавливаемые модули входов/выходов.

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

Подобные ПЛК могут действовать в режиме «ведущего» и расширяться «ведомыми» ПЛК через интерфейс Ethernet.

Языки программирования плк (plc)

Рис. 3. Программируемые логические контроллеры с расширенными возможностями

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

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

Источник питания может быть встроенным в основной блок ПЛК, но чаще выполнен в виде отдельного блока питания (БП), закрепляемого рядом на стандартной рейке. Блок питания небольшой мощности представлен на рисунке 4.

Языки программирования плк (plc)

Рис. 4. Блок питания для ПЛК

Источник: https://www.compel.ru/lib/95591

Языки программирования ПЛК (Тема) | ПЛК | Mc-Plc.Ru

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

Наиболее простой и распространенный язык программирования цепей контроля и управления — это набор программных модулей типовых алгоритмов обработки измерительной информации, регулирования, блокировочных зависимостей и графический конфигуратор, который собирает эти модули в заданные цепи контроля и управления. До недавнего времени (а частично и сейчас) каждый производитель ПТК разрабатывал свои языки программирования контроллеров. В последние годы ситуация начинает изменяться. К середине 90-х годов технологические языки программирования контроллеров были стандартизированы — стандарт IEC 1131.3. Этот стандарт определяет структуру пяти технологических языков:

-LD — язык лестничных диаграмм. Графический традиционный язык релейных блокировок, в котором разработчик изображает необходимые релейные схемы;

-FBD — язык функциональных блоковых диаграмм. Графический конфигуратор с набором типовых программных модулей;

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

-ST — язык структурированного текста. Язык типа Pascal, поддерживающий структурное программирование. Он может использоваться для программирования процедур и переходов в языке SFC и дополнять другие языки стандарта;

-IL — язык инструкций. Язык низкого уровня типа Ассемблера, но без ориентации на конкретную микропроцессорную архитектуру. С его помощью можно создавать быстродействующие программные модули.

Два первых графических языка являются основными, а остальные языки служат дополнениями к ним.

В стандарте описываются спецификации механизмов, посредством которых пользователи могут определять новые типы данных, функции и функциональные блоки; т. е. стандарт в этом плане является саморасширяющемся.

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

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

Сертификация конкретных языков на соответствие стандарту осуществляется организацией PLCopen, имеющей свои отделения в разных странах. Сформулировано три уровня совместимости конкретных языков со стандартом:

-базовый уровень, когда язык соответствует некоторому подмножеству стандарта IEC 1131.3 (начальный уровень). На этом уровне проверяются типы переменных и языковые конструкции;

-уровень переносимости функций, когда существует формат файла обмена функциональных блоков;

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

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

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

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

  • Перспективные контроллеры в части их прикладного программного обеспечения выделяются следующими факторами:
  • -они обеспечены технологическими языками по стандарту IEC 1131.3;
  • -обязательный набор таких языков — языки типа LD и FBD. Желательный набор — все пять языков стандарта;
  • -эти языки сертифицированы на соответствие стандарту желательно по уровню переносимости функций;
  • — к языку FBD (функциональных блоковых диаграмм) прилагается обширный (порядка сотен единиц) набор программных модулей типовых алгоритмов контроля и управления;

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

Источник: http://mc-plc.ru/plk/yaziki-programmirovaniya-plk.htm

Программируемые логические контроллеры (плк) и среда их программирования

Программируемый
логический контроллер (ПЛК) — законченное
изделие, имеющее физические входы,
выходы, интерфейсы и человеко-машинный
интерфейс.

Отличие
ПЛК от контрольно-измерительных приборов
заключается в отсутствии жестко
прописанного алгоритма работы. За счет
этого на ПЛК можно реализовывать
практически любые алгоритмы управления,
но сам алгоритм управления должен
создать непосредственно пользователь
контроллера. Для создания алгоритма,
его тестирования и записи в контроллер
используется среда программирования.

Для
программирования контроллеров ОВЕН
ПЛК используется среда программирования
CoDeSys
v.2.3.
CoDeSys
(используется для программирования
контроллеров ОВЕН ПЛК)

Среда
CoDeSys
разработана немецкой компанией
3S-Software
для программирования контроллеров
различных производителей. Так, с помощью
этой же среды программируются контроллеры
Wago,
Beckhoff,
ABB.
Полный список контроллеров, программируемых
на CoDeSys
приведен в http://www.automation-alliance.com/index-shtmi7aa
partner.
CoDeSys
включает в себя следующие основные
компоненты:

  • система исполнения;
  • среда программирования.

Среда
программирования. Графическая оболочка,
устанавливается на ПК. Служит для
создания проекта, его отладки, и перевода
в машинный язык (компилирование). Среда
программирования включает:

  • редактор, компилятор и отладчик МЭК-проектов;
  • поддержку всех 5 языков программирования МЭК;
  • средства построения и конфигурирования периферийных модулей ввода/вывода ПЛК (PLC Configuration);
  • средства создания визуализации;
  • средства коммуникаций (сетевые переменные, ОРС-сервер, DDE-сервер). Среда программирования CoDeSys поставляется в комплекте с контроллером (на CD), для покупателей контроллеров ОВЕН — бесплатно.

Target-файлы
(набор файлов целевой платформы)
Необходимы для того, чтобы указать среде
программирования, для како го типа
контроллера пишется проект. Target-файлы
содержат в себе системную информацию
о подключаемом ПЛК:

  • наличие и тип физических входов и выходов контроллера;
  • описание ресурсов контроллера;
  • расположение данных в МЭК-памяти.

Данная
информация используется средой
программирования CoDeSys
при создании проекта и загрузке его в
ПЛК. Каждая модель ОВЕН ПЛК имеет
соответствующий набор Target-файлов.
Перед созданием проекта необходимо
установить Target-файл,
соответствующий типу контроллера и
прошивке.

Target-файлы
поставляются на CD
в комплекте с ПЛК, а также доступны для
загрузки с сайта www.owen.ru.

Для
инсталляции Target-файлов
в среду программирования CoDeSys
используется программа InstallTarget,
которая устанавливается на ПК вместе
со средой программирования CoDeSys.

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

Замена
версии прошивки ПЛК может производиться
пользователем самостоятельно с помощью
стандартного кабеля для программирования,
поставляемого в комплекте с ПЛК, и
программы перепрошивки, доступной на
сайте www.owen.ru.
Иногда изменение прошивки влечет за
собой необходимость смены Target-файла.

Определить
версию прошивки и Target-файла
можно стандартными средствами ОС Windows
— программой «Гипертерминал», либо
используя ресурс CoDeSys
— PLC
Browser.

Не
рекомендуется изменять прошивку
контроллера в отсутствие необходимости.

Цикл
ПЛК.
Программы,
написанные для исполнения на ПК и ПЛК,
различаются. Исполнение программы в
ПЛК происходит циклически. Это означает,
что в течение заданного интервала
времени (времени цикла ПЛК) система
исполнения:

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

Затем эти операции
повторяются вновь.

Время
цикла ПЛК зависит от объема и сложности
программы ПЛК. Для простой программы
время цикла ОВЕН ПЛК составляет 1 мс,
для более сложных программ оно может
увеличиться. Реальную длительность
цикла можно узнать, подключив модуль
Statistic
в окне PLC
Configuration.

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

  • Память входов-выходов
    (МЭК-память)
  • Выделенная
    область памяти, предназначенная для
    хранения данных, поступающих с физических
    (сетевых) входов или передаваемых на
    физические (сетевые) выходы контроллера.

В
начале каждого цикла своей работы ПЛК
считывает значения из памяти входов
(обозначается %I)
и использует в соответствии с
пользовательским алгоритмом. В конце
цикла полученные (вычисленные) значения
записываются в память выходов (обозначается
%Q).

  1. Запись значений,
    полученных с физических входов в область
    входов, и передача значений из области
    выходов на физические выходы производится
    параллельно выполнению цикла ПЛК с
    помощью специальных внутренних драйверов.
  2. В зависимости от
    типа лицензии ПЛК, размер этой области
    памяти может быть ограничен 360 байтами
    или не ограничен.
  3. Лицензия
    (размер памяти входов/выходов). Существуют
    лицензии двух типов:
  • L (low) — в ПЛК с такой лицензией есть ограничение на размер памяти ввода/вывода до 360 байт. Это означает, что к такому контроллеру возможно подключение ограниченного количества сигналов с помощью модулей ввода/вывода, панелей оператора и других устройств;
  • М (medium) — контроллер с такой лицензией не имеет указанного ограничения, количество подключаемых внешних модулей ограничено лишь пропускной способностью интерфейсов связи.

Выбор
типа лицензии необходимо сделать перед
приобретением контроллера. Ограничение
в контроллерах с лицензией типа L
накладывается только на память
входов/выходов и ни на что более.

Проект
(проект
CoDeSys).
Включает в
себя:

  • написанные пользователем программы (POU), описывающие алгоритм работы ПЛК;
  • конфигурирование периферийного оборудования и драйверов ввода/вы вода (PLC Configurations);
  • визуализации процесса управления (Visualizations) и т.д.

Все
эти компоненты хранятся в одном файле
с расширением *.pro.

Проект
однозначно связан с версией target-файла.
При смене версии target-файла
или замене модели ПЛК необходимо внести
изменения в проект с тем, чтобы устранить
несоответствия между версиями.

Языки
МЭК (языки программирования контроллеров)
.
Стандартом МЭК предусмотрено 5 языков
программирования ПЛК: IL,
LD,
FBD,
ST,
SFC.

При разработке проекта пользователь
может выбрать любой из языков для
написания конкретного программного
модуля (POU).

В рамках одного проекта могут присутствовать
программные модули, написанные на разных
языках. В CoDeSys
поддержаны все 5 языков, а также один
дополнительный:

  • II (Instruction List) — Список инструкций — язык программирования, напоминающий ассемблер Siemens STEP7. Все операции производятся через ячейку памяти, «аккумулятор», в который программа записывает результаты произведенных действий.
  • LD (Ladder Diagram) — Релейные диаграммы -графический язык программирования, использующий принципы построения электрических схем. С помощью элементов «контакт» и «катушка» пользователь собирает схему прохождения сигнала. Язык удобен для реализации логических алгоритмов работы с дискретными сигналами.
  • FBD (Functional Block Diagram) -Диаграмма функциональных блоков -графический язык программирования. Все действия и операторы, используемые в данном языке, представляются в виде функциональных блоков (ФБ). ФБ имеют входы и выходы определенных типов, которые могут быть связаны между собой. Помимо стандартных ФБ пользователь может вставлять в алгоритм собственные POU, созданные в рамках данного проекта или реализованные в подключенных к проекту библиотеках. В CoDeSys реализован улучшенный язык программирования с помощью функциональных блоков, получивший обозначение CFC.
  • ST (Structured Text) — Структурный текст — текстовый язык программирования, схожий с языком высокого уровня (С, Pascal). Язык ST удобен для реализации сложных вычислений, циклов и условий, для работы с аналоговыми сигналами.
  • SFC (Sequentional Functional Chart) — Последовательные функциональные схемы — графический язык, приспособленный для создания последовательности этапов алгоритма работы. Каждый этап реализуется на любом удобном для пользователя языке. Язык удобен для создания алгоритмов управления сложными процессами, имеющими несколько ступеней, написания моделей автоматов.

Визуализация.
Специальный
редактор, встроенный в среду программирования
CoDeSys
для создания экранов с пользовательскими
мнемосхемами.

На экране визуализации
можно добавить простые геометрические
объекты, кнопки, графики, таблицы,
гистограммы, элементы ввода и вывода
ин формации.

В одном проекте может быть
создано несколько окон визуализации,
вызываемых с помощью кнопок либо другими
способами.

Просматривать
созданные окна можно:

  • с помощью программы CoDeSys HMI. Демо-версия программы устанавливается при установке среды программирования CoDeSys на ПК пользователя;
  • для контроллеров, имеющих встроенный дисплей, — непосредственно на дисплее контроллера;
  • с помощью любого Web Браузера (Internet Explorer, FireFox…). Для этого производитель контроллеров должен обеспечить поддержку CoDeSys Web server в своем контроллере.

PLCconfiguration
(Конфигурация ПЛК).
Специальное
окно в среде программирования CodeSys,
позволяющее настраивать драйверы
ввода/вывода и периферийный обмен по
интерфейсам ПЛК. С помощью данного
ресурса производится настройка:

  • связи ПЛК с модулями расширения, GSM-модемом, панелями оператора или другими устройствами, подключаемыми к контроллеру по сетевым интерфейсам и через поддерживаемые протоколы ОВЕН, Modbus, Modbus TCP и DCON;
  • настройка входов и выходов ПЛК для подключения датчиков и исполни тельных механизмов;
  • для контроллеров ОВЕН можно настраивать модуль статистики (сервисные данные о контроллере) и модуль архиватора. Полное описание работы с PLC Configuration для контроллеров ОВЕН ПЛК есть на компакт-диске, поставляемом в комплекте с контроллером.

TargetSettings
(Настройка целевой платформы).
В
этом окне CodeSys
выбирается целевая (аппаратная) платформа,
с которой будет использоваться текущий
проект, и задаются настройки выбранной
платформы.

При создании нового проекта
диалог выбора целевой платформы
открывается автоматически. Выбор
платформ ограничен числом установленных
на вашем компьютере наборов файлов
целевой платформы (Target-файлов).

Выбор платформы определяет базовые
параметры генератора кода и функциональность
доступных в системе команд.

Некоторые параметры
целевой платформы доступны для изменения
(это определяется производителем
контроллера):

  • целевая платформа (тип контроллера);
  • распределение памяти;
  • общие параметры;
  • сетевые настройки;
  • визуализация.

Библиотеки
CoDeSys

Файл
с расширением *.lib,
содержащий совокупность уже созданных
программных модулей. Библиотеки часто
содержат следующие программные модули:

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

Библиотеки могут
быть созданы:

  • создателем среды программирования CoDeSys (Standart.lib, Util.lib, SysLibTime.lib и т. д.);
  • производителем контроллеров (компанией ОВЕН созданы библиотеки PID_Regulator.lib, UNM.lib);
  • непосредственно конечным пользователем — пользователь сам может создавать библиотеки, включая в них программные модули, написанные единожды, но которые ему могут в дальнейшем понадобиться.

Элементы
библиотек становятся доступны для
использования при подключении библиотеки
к конкретному проекту. Подключение
библиотек производится с помощью ресурса
Library
manager
(Менеджер библиотек).

Library
Manager
(Менеджер библиотек). Служит для
подключения в проект библиотек — как
стандартных, так и пользовательских.
Содержит список всех библиотек, которые
связаны с проектом. Взятые из библиотек
POU
(программные модули), типы данных и
глобальные переменные можно использовать
так же, как определенные пользователем.

Пользовательская
память.
Встроенная
в контроллер память. Объем доступной
памяти составляет порядка 3 Мб.

Может
быть использована пользователем для
ведения архивов данных и событий, для
хранения исходных файлов проекта,
созданного в среде программирования
CoDeSys,
и любых других файлов.

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

Аппаратные
часы реального времени.
Встроены
в ПЛК. Работают даже при выключенном
питании контроллера благодаря встроенному
в ПЛК аккумулятору. Дата и время могут
быть заданы с помощью PLC
Browser
или системной библиотеки SysLibTime.lib.
Использование значения часов реального
времени в работе алгоритма ПЛК также
производится с помощью элементов
библиотеки SysLibTime.lib.

  • ЭЛЕКТРОМАГНИТНАЯ
    СОВМЕСТИМОСТЬ (ЭМС) — способность
    технического средства (ТС) функционировать
    с заданным качеством в заданной
    электромагнитной обстановке и не
    создавать недопустимых электромагнитных
    помех другим ТС.
  • УСТОЙЧИВОСТЬ
    К ЭЛЕКТРОМАГНИТНОЙ ПОМЕХЕ (ПОМЕХОУСТОЙЧИВОСТЬ)
    — способность ТС сохранять заданное
    качество функционирования при воздействии
    на него внешних помех с регламентируемыми
    значениями параметров.
  • Основные
    стандарты по электромагнитной
    совместимости.
  • Приборы
    ОВЕН относятся к классу оборудования
    А, предназначенному для применения в
    промышленных зонах, и проходят обязательное
    тестирование на помехоустойчивость с
    учетом требований следующих основных
    стандартов по ЭМС:
  • ГОСТ Р 51317.6.2 (МЭК 61000-6-2) «Устойчивость к электромагнитным помехам технических средств, применяемых в промышленных зонах»;
  • ГОСТ Р 51522 (МЭК 61326-1) «Электрическое оборудование для измерения, управления и лабораторного применения».

Источник: https://studfile.net/preview/4616103/page:20/

Ссылка на основную публикацию