Основные этапы программирования плк

Принципы программирования ПЛК

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

Техническое задание

Создание и утверждение технического задания (ТЗ) – очень важная часть разработки ПО. От грамотно составленного ТЗ зависит, насколько эффективно будет вестись разработка.

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

Периферия

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

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

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

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

Читайте также:  Программирование токарно фрезерных станков

Помехоустойчивость

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

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

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

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

Проблемы совместимости программы с аппаратной частью

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

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

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

Языки программирования и среды разработки

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

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

Другой язык, имеющий обширный функционал – FBD (Function Block Diagram), который относится к графическим языкам программирования. В FBD используются законченные блоки, имеющие определенные функции. Блоки поставляются со средой программирования или создаются программистом. Существуют и другие языки (6 стандартных), но их описание выходит за рамки данной статьи.

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

Среды разработки разных производителей могут включать в себя разные элементы, и за каждый из них необходимо платить. Например, Siemens предлагает множество версий программной среды, которые значительно отличаются по функционалу и цене. Другой производитель – Delta – имеет полностью открытое полнофункциональное ПО, которое можно бесплатно скачать с официального сайта.

Источник

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

Функции управления оборудованием определяются технологией и организацией процесса. Поэтому в целом они достаточно специфичны и индивидуальны для каждого агрегата или участка. Однако ставя и решая задачу разработки эффективного, мобильного и гибкого программного обеспечения систем автоматизации, сложные функции управления обычно представляют в виде набора простых элементарных действий типа “включить», “отключить», “реализовать выдержку времени” и др.

Типовые функции управления технологическим оборудованием

С этих позиций большинство функций управления может быть условно сведено к двум, достаточно общим для любых задач — логической и регулирующей. Первая из них известна как типовой алгоритм “время-действие», а вторая — “время-параметр». Наиболее общее представление таких типовых функций управления технологическим оборудованием приведено на рис. 1, a и б.

Рис. 1. Типовые функции управления технологическим оборудованием

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

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

  • язык релейно-контактных схем (РКС) или релейных диаграмм LD (Ladder Diagram),
  • язык функциональных блоков и диаграмм (ФБД), FBD (Function Block Diagram),
  • язык IL (Instruction list) – типичный ассемблер с аккумулятором и переходами по меткам,
  • язык ST (Structured Text) является текстовым языком высокого уровня,
  • SFC (Sequential Function Chart) диаграммы. Своим происхождением SFC обязан сетям Петри.

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

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

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

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

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

Программируемый логический контроллер - ПЛК

Основные этапы подготовки и составления программ для программируемых контроллеров заключаются в следующем:

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

2. Составьте алгоритм работы программы в графическом виде.

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

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

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

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

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

7. Запишите программу и все требуемые рабочие параметры в контроллер.

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

9. Запишите две копии окончательной программы и храните их в разных местах.

Телеграмм канал для тех, кто каждый день хочет узнавать новое и интересное: Школа для электрика

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

Не пропустите обновления, подпишитесь на наши соцсети:

Источник

Оцените статью