Зачем нужно программное обеспечение контроллеру
Перейти к содержимому

Зачем нужно программное обеспечение контроллеру

  • автор:

Системное и прикладное программное обеспечение

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

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

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

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

После включения питания ПЛК выполняет самотестирование и настройку аппаратных ресурсов, очистку оперативной памяти данных (ОЗУ), контроль целостности прикладной программы пользователя. Если прикладная программа сохранена в памяти (загружена) и нет запрета ее запуска, ПЛК переходит к выполнению ее действий.

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

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

  • 1. Чтение состояния входов.
  • 2. Выполнение кода программы пользователя.
  • 3. Запись состояния выходов.
  • 4. Обслуживание аппаратных ресурсов ПЛК.
  • 5. Монитор системы исполнения.
  • 6. Контроль времени цикла.

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

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

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

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

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

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

Заканчивается цикл ПЛ К фазой контроля времени цикла контроллера. Смысл выполнения этой фазы сводится к обеспечению постоянства данного цикла. Если не принимать специальных мер, то длительность цикла контроллера будут зависеть от времени выполнения прикладной программы и может в зависимости от условий реализации алгоритма все время меняться. Вместе с тем качественное решение некоторых задач управления, например реализация автоматического регулирования, будет зависеть от стабильности цикла получения входных значений и выдачи сигналов управления. Поэтому во многих контроллерах их создателями предусматривается для пользователя возможность фиксации длительности цикла в некоторых определенных пределах. Для обеспечения постоянства цикла контроллера в него вводится аппаратный таймер, задающий его длительность. Таймер следит, не превышает ли время выполнения прикладной программы заданного по длительности цикла. Если пользователь исходя из знания того, как работает программа, правильно задал длительность цикла, а прикладная программа выполняется дольше, то это будет означать или зацикливание прикладной программы, или наличие аппаратных сбоев, приводящих к общему сбою («зависанию») контроллера. При этом таймер осуществляет сброс контроллера в исходное состояние, что позволяет или обеспечить дальнейшую работу контроллера вновь в нормальном режиме, или однозначно идентифицировать его устойчивое аварийное состояние. Кроме того, отсчеты этого аппаратного таймера обычно используются системным программным обеспечением для ведения часов реального времени и отсчета времени программными таймерами в прикладной программе.

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

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

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

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

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

Рабочий цикл ПЛК и определение времени реакции на событие

Рис. 1.2.2. Рабочий цикл ПЛК и определение времени реакции на событие

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

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

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

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

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

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

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

Что такое программируемый логический контроллер

Мы в Facebook Мы в Twitter Мы в Instagram Мы в Odnoklassniki Мы в Telegram

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

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

plc_s7-1200

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

Принцип работы программируемого логичесского контроллера

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

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

ПЛК программируются в соответствии со стандартом МЭК-61131-3. Программируются ПЛК с помощью специализированных комплексов, один из наиболее популярных является CoDeSys. Он включает в себя следующие языки: графические (Ladder Diagram, Function Block Diagram, Sequential Function Chart, Continuous Function Chart), текстовые (Instruction List, Structured Text).

Языки программирования

Первый в мире программируемый логический контроллер появился в середине XX века. Modicon 084 представлял собой шкаф с набором соединённых между собой реле и контактов, его память составляла лишь 4 килобайта. Термин ПЛК ввел Аллен-Брадли в 1971. Вместе с Ричардом Морли он является «отцом ПЛК».

Структура работы программируемого логического контроллера:

Структура работы программируемого логического контроллера

Алгоритм работы ПЛК:

Алгоритм работы ПЛК

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

ПЛК ОВЕН

ПЛК имеют ряд особенностей, отличающих их от прочих электронных приборов, применяемых в машиностроении:

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

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

Программируемое реле LOGO

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

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

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

ПЛК Siemens

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

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

Программируемый контроллер Siemens

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

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

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

Классификация ПЛК

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

Программное обеспечение для систем управления на базе ПЛК и системы ввода-вывода

Программирование и конфигурирование вашего оборудования

Программное обеспечение для систем управления на базе ПЛК и системы ввода-вывода

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

Программная платформа PAS4000 системы автоматизации PSS 4000 является подходящим инструментом для программирования/конфигурирования контроллеров PSSuniversal PLC и PSSuniversal multi. Инструменты PSSu Tools представляют собой помощника для конфигурирования децентрализованных систем ввода-вывода PSSuniversal.

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

Продуманное программное обеспечение для автоматизации — ваши преимущества

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

Продуманное программное обеспечение для автоматизации

Эффективное проектирование всех функций управления

Программное обеспечение для решения технических задач используется для программирования и конфигурирования контроллеров PSSuniversal PLC и PSSuniversal multi. Для конфигурирования децентрализованных систем ввода-вывода PSSuniversal можно использовать инструменты PSSu Tools. PSS WIN-PRO осуществляет поддержку при проектировании и программировании систем управления PSS 3000; тем не менее, мы убираем данные системы управления из нашего ассортимента. Функциональные блоки PSS WIN-PRO и PSS 3000 будут доступны в дальнейшем в качестве программного обеспечения на весь период эксплуатации систем управления PSS 3000.

Эффективное проектирование всех функций управления

Наш ассортимент изделий: Программное обеспечение для контроллеров на базе ПЛК и систем ввода-вывода

PAS4000 для контроллеров в системе автоматизации PSS 4000

Программная платформа PAS 4000 системы автоматизации PSS 4000 обеспечивает простоту выполнения сложных функций. С помощью PAS4000 приложение можно настроить и запрограммировать для обеспечения безопасности и автоматизации с использованием всего одного инструмента.

Программная платформа PAS4000 создана для систем управления в системе автоматизации PSS 4000

Инструменты PSSu для децентрализованных систем ввода-вывода PSSuniversal

Инструменты PSSu служат для конфигурирования децентрализованных систем ввода-вывода PSSuniversal. Например, преимущества быстрого ввода в эксплуатацию с помощью средства запуска PSSuniversal.

Инструменты PSSu для децентрализованных систем ввода-вывода PSSuniversal
Центральный офис

ООО «Пильц Рус»
Ленинский пр., д. 160, литера А, офис 702
196247 Санкт-Петербург
Россия

Телефон: +7 812 6777219
Эл. почта: pilz@pilzrussia.ru

Приобрести компоненты и услуги

Телефон: +7 812 6777219
Эл. почта: pilz@pilzrussia.ru

Техническая поддержка

Телефон: +7 495 665 4993
Эл. почта: pilz@pilzrussia.ru

Эффективность встроенного программирования для ПЛК

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

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

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

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

контроллеры семейства Do-more BRX Micro компании AutomationDirect

Рис. 1. Некоторые ПЛК, предназначенные для более эффективного программирования, например контроллеры семейства Do-more BRX Micro компании AutomationDirect, уже обеспечивают не только конфигурацию «сверху вниз», но и подход, ориентированный непосредственно на устройство

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

Примеры и объяснения конфигурации «сверху вниз» помогут увидеть повышение эффективности и понять особенности программирования, ориентированного на само физическое устройство.

Конфигурация «сверху вниз»

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

Этапы конфигурации «сверху вниз»:

  1. Конфигурация процессора.
  2. Конфигурация портов ввода/вывода (I/O).
  3. Конфигурация модуля.
  4. Конфигурация устройства.
  5. Отображения ввода/вывода (I/O).
  6. Конфигурация памяти.

Порядок целей имеет свой приоритет, причем каждый элемент в списке зависит от элемента или элементов, расположенных над ним, т. е. сверху. Например, все, что находится ниже конфигурации центрального процессора (ЦПУ), зависит от того, как был реализован сам ЦПУ. Последовательный порт, тип порта, основные опции и параметры ввода/вывода Ethernet, а также опции и параметры сервера, в частности Modbus/TCP и EtherNet/IP, использующие explicit messaging (явные, подробные сообщения) на встроенном порте Ethernet, представляют собой настройки, обычно доступные во время конфигурации ЦПУ. Таким образом, добавляются необходимые параметры для определенных или всех элементов, находящихся ниже стадии конфигурации ЦПУ.

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

програмная платформа ПО Do-more Designer

Рис. 2. В программной платформе ПО Do-more Designer, созданной компанией AutomationDirect для разработчиков программного обеспечения ПЛК средств автоматизации, применен подход, ориентированный на конечное физическое устройство

Концепции, ориентированные на физическое устройство

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

Программист обычно думает об устройстве как о датчике, энкодере (кодовом датчике положения рабочего органа), модуле ввода/вывода, частотно-регулируемом электроприводе (англ. Variable Frequency Drive, VFD), EtherNet/IP-модуле, удаленной стойке или подобном физическом аппаратном обеспечении. Вместо этого в контроллере, ориентированном на физическое устройство, составные части представляют собой фрагменты кода между программой и аппаратным обеспечением. С помощью рассматриваемой концепции устройство будет настроено и сможет обрабатывать подпрограммы для управления контроллером конечного оборудования — для установления протоколов связи, подтверждения связи и определения требований к памяти. Большая часть данных подпрограмм оборудования обрабатывается через конфигурацию каждого устройства, а не путем общего программирования контроллера.

После завершения конфигурации

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

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

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

Пример применения

Независимо от сложности выбранного оборудования устройство обеспечивает понятный, единообразный интерфейс между аппаратным обеспечением и программой контроллера. Причем каждое из них настроено таким же образом, как, например, Modbus/RTU или универсальный последовательный порт, согласно инструкциям «сверху вниз», требующим лишь выбора необходимых функций и заполнения ими нескольких пробелов.

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

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

Если контроллеру недостаточно встроенных высокоскоростных входов для подсчета квадратурных (со сдвигом на 90°) импульсов энкодера, то можно использовать высокоскоростной счетчик. Этот модуль не является частью конфигурации ЦПУ, но автоматически обнаруживается на втором этапе, при настройке ввода/вывода. Третий шаг — конфигурация самого модуля — предусматривает автоматическое изменение нужных параметров со значениями по умолчанию. На этом этапе могут быть сделаны любые коррективы в требуемой конфигурации. ПЛК автоматически обрабатывает карту ввода/вывода для добавленного модуля и создает необходимые адреса регистра, с отображением портов ввода/вывода в памяти.

Порт Ethernet контроллера связывается с частотным приводом. Начиная с вершины списка конфигурации, мастер ввода/вывода Ethernet включен как часть шага конфигурации ЦПУ. В настройках ввода/вывода создается запись, позволяя установить IP-адрес и другие параметры связи. Для конфигурации данного устройства больше ничего не требуется, поскольку остальные параметры, такие как сопоставление ввода/вывода, реализуются автоматически.

Последовательный порт контроллера используется для связи со сканером штрихкода, для чего предназначены простые текстовые строки ASCII. Порт распознается на этапе настройки ЦПУ, когда универсальный последовательный порт настроен, то включает такие параметры, как скорость передачи данных и аппаратные протоколы, например RS-232. Конфигурация портов ввода/вывода и самого модуля уже не требуется, поскольку процедура выполняется автоматически, обеспечивая предварительно сконфигурированный интерфейс с доступом к соответствующим системным ресурсам. Шаг конфигурации памяти автоматически выделяет память для этого устройства.

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

Эффективность инструкций

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

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

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *