Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Определение и описание программируемого логического контроллера
Любая машина, способная автоматически выполнять некоторые операции, имеет в своем составе управляющий контроллер – модуль, обеспечивающий логику работы устройства. Контроллер – мозг машины. Поэтому чем сложнее логика машины, тем умнее должен быть контроллер. ПЛК представляют собой микропроцессорные устройства, предназначенные для выполнения алгоритмов управления. Принцип работы ПЛК заключается в сборе и обработке данных по прикладной программе пользователя с выдачей управляющих сигналов на исполнительные устройства. ПЛК предназначен для работы в режиме реального времени в условиях промышленной среды и должен быть доступен для программирования неспециалистом в области информатики. Рисунок 1 ПЛК применяется для автоматизации технологического процесса. Контроллер собирает от полевых устройств информацию, обрабатывает ее с помощью имеющейся в нем программы и на основании вычисленных данных управляет исполнительными механизмами. Режим реального времени на основе работы реле Вспомним работу обычного релейного коммутатора, на принципе действия которого покажем работу в режиме реального времени, так как целью использования контроллера является физическое замещение реле. В принципе реле – это выключатель, использующий электромагнитное поле. Подайте напряжение на катушку и получите магнитное поле, которое притягивает контакты реле, следствием чего является соединение двух контактов. В сущности, основное назначение реле – дать возможность току протекать между двумя контактами.
Рисунок 2
Рассмотрим цепь RL (рисунок 2). В зависимости от характеристики тока на катушке будет меняться магнитное поле на сердечнике, которое управляет переключателем S2. Установившийся ток в этой цепи будет определяться только ЭДС Е и резистивным сопротивлением R (внутреннее сопротивление), т.к. после окончания переходного процесса i = const и uL = Ldi/dt = 0, т.е. iy = E/R. Полный ток в переходном процессе:
Для определения постоянной I найдем начальное значение тока. До замыкания ключа S1 ток, очевидно, был нулевым, а т.к. подключаемая цепь содержит индуктивность, ток в которой не может измениться скачкообразно, то в первый момент после коммутации ток останется нулевым. Отсюда Подставляя найденное значение постоянной I в выражение для тока, получим Из этого выражения можно определить падения напряжения на резисторе uR и индуктивности uL Из выражений (1) – (3) следует, что ток в цепи нарастает по экспоненте с постоянной времени = L/R от нулевого значения до значения Е/R (рисунок 3). Падение напряжения на сопротивлении повторяет кривую тока в измененном масштабе. Напряжение на индуктивности в момент коммутации скачкообразно возрастает от нуля до Е, а затем снижается по экспоненте.
Рисунок 3 Подставляя выражения (3) в уравнение Кирхгофа для цепи после коммутации, можно убедиться в его справедливости в любой момент времени
Исходя из вышесказанного, изменение параметров схемы при подачи/отключении питания в реле происходит через определенный промежуток времени, который обычно составляет около 10 – 50 мс. Этот принцип действия используется и в определении режима реального времени, который определятся как отклик системы на определенное воздействие за строго определенное время Δ t. Обычно Δ t может быть установлено в ПЛК от 3 мс. Идеальный ПЛК Контроллер должен вырабатывать на своих выходах сигналы, которые определяются по заданному алгоритму на основании мгновенных значений входных сигналов и их предыстории. В идеальном мире время от изменения входов до соответствующей ответной реакции должно быть равно нулю. То есть идеальный контроллер должен обладать идеальным быстродействием, он должен успевать реагировать на импульсы бесконечно малой длительности. В современной математике создан аппарат, позволяющий моделировать и исследовать такие устройства, но физически изготовить такой контроллер невозможно. Даже если создать контроллер аппаратно, например, реализуя его алгоритм работы на интегральных микросхемах, то все равно абсолютного быстродействия достигнуто не будет. Мы сможем реагировать очень быстро и фиксировать очень короткие импульсы, но, безусловно, не бесконечно малые. Причем, очевидно, что с ростом сложности алгоритма и, соответственно, числа элементов схемы время реакции будет возрастать.
Образцовый ПЛК К счастью, на практике от контроллера и не требуется сверхбыстрых реакций. Например, силовое реле нет смысла переключать чаще, чем один раз в 100 мс, его контакты просто физически не успеют переключиться. То есть логично сразу отказаться от игр с бесконечно малыми временами и выделить контроллеру разумное время на принятие решения. Получается следующая модель: 1) снимаем мгновенное значение входов; 2) спокойно думаем, считая, что значение входов еще не изменилось; 3) выбираем значения для выходов. Это есть не что иное, как хорошо знакомый нам рабочий цикл контроллера. Очевидно, что если контроллер будет работать быстрее, чем управляемые им процессы, то он сможет полностью выполнять свои функции. Остается точно определиться, насколько быстрее. Теоретически доказано, что если произвольный сигнал не содержит частот выше f, то он может быть полностью восстановлен, если известны его мгновенные значения, взятые через равные промежутки времени f/2 (теорема Котельникова). Для логических сигналов это означает, что нам достаточно выбрать самый короткий импульс, на который мы должны реагировать, и сделать наш рабочий цикл вдвое короче. То есть, если мы имеем дело с силовым реле, то необходимо и достаточно иметь рабочий цикл, равный 50 мс. Делать его короче нет смысла. Поскольку мы очень часто имеем дело с многомерными (взаимосвязанными) сигналами (например, положениями узлов или фазами сети), то возникает требование снимать значения входов в один момент времени и устанавливать значения на выхода столь же согласованно. На практике это опять же делается не мгновенно, но достаточно быстро, причем обеспечение нужной скорости является проблемой изготовителя контроллера, который должен применить соответствующие программно-аппаратные решения. Тот факт, что значения входов не изменяются в ходе выполнения прикладной программы, является очень важным. Это принципиально снимает проблему синхронизации различных частей программы. Один раз оценив значение некой входной переменной, мы можем гарантированно использовать ее во множестве вычислений без вспомогательных переменных, без повторных проверок, без риска вызвать ошибку исполнения или бесконечный цикл. Практически программа работает не напрямую с входами и выходами контроллера, а с их образом в памяти, своего рода защитным слоем. Такой подход позволяет создавать программы даже начинающим.
Понятие «Входы-выходы» ПЛК Входы ПЛК используются для связи с внешним миром, существуют физически и получают сигналы от датчиков, выключателей и подобных полевых устройств. Выходы также существуют для связи с внешним миром. Отличие от входов – управление исполнительными устройствами. То есть выходы не только получают информацию, но и передают ее в физические устройства. Выходы используют три вида сигналов: дискретные, аналоговые и специализированные. Первые ПЛК имели только бинарные входы, входы, значения которых принимали два значения – логического нуля и логической единицы. Наличие сигнала (напряжения, тока) соответствует обычно логической единице, отсутствие – логическому нулю. Бинарные входы и выходы в области применения ПЛК называют дискретными. Устройства дискретных сигналов – это различные датчики ручного вода, концевые датчики и др. Аналоговые сигналы используются для непрерывных сигналов, например для измерения величины тока (напряжения), температуры, давления, веса, положения, скорости, частоты, то есть любой физической величины. Для работы с аналоговыми сигналами необходимо дополнительное преобразование. Поскольку ПЛК является цифровой вычислительной машиной, аналоговые входные сигналы подвергаются аналого-цифровому преобразованию (АЦП). В результате образуется дискретная переменная определенной разрядности. Для работы со специфическими датчиками, требующих определенных уровней сигналов, специальной обработки и питания, используются специализированные сигналы. Входы-выходы ПЛК физически располагаются либо в общем корпусе с процессорным ядром, либо в отдельных модулях ввода/вывода, которые подключаются к контроллеру напрямую, либо по сети цифровым кабелем. Удобно располагать такие модули вблизи датчиков и исполнительных механизмов.
Рисунок 4 Принцип работы ПЛК Рабочий цикл ПЛК Образ входного процесса (состояние входов) записывается в адресную память. Адресная память подразделяется на битовую и словарную области. В стандартном использовании памяти в битовую область записываются дискретные значения, а в словарную – аналоговые. На рисунке 5 представлен стандартный цикл работы ПЛК:
Рисунок 5 При старте ПЛК и в случаях сбоя по питанию происходит инициализация системы. При этом устанавливаются начальные значения переменных программы, включая время таймеров, запуская сторожевой таймер и т.п. Сторожевой таймер (WATCHDOG) предназначен для защиты микроконтроллера от сбоев в процессе работы (в случае зависания его управляющей программы). Принцип его работы прост: после запуска текущее значение регистра сторожевого таймера инкремируется с приходом каждого следующего тактового сигнала. И если данное значение не будет периодически сбрасываться в программе, то при переполнении данного регистра произойдет рестарт микроконтроллера. Затем начинается основной цикл работы контроллера – во-первых, происходит физическое считывание входов. Полученные значения размещаются во входной области памяти в виде образа входного процесса. Далее выполняется код программы (при условии, что в ПЛК записана программа), которая берет данные непосредственно из входного и выходного образов процесса. По окончании выполнения программы происходит создание нового образа выходного процесса на основании вычисленных данных, по которому физически устанавливаются состояния выходов. В прочие фазы входят инициализация таймеров и счетчиков, оперативное самотестирование и другие аппаратно-зависимые задачи.
Время реакции Время реакции для ПЛК – это время на получение отклика при изменении системы, подобно времени, необходимого человеку для осмысления ответа на поставленный вопрос. В некоторых примерах это время может быть критическим. Посмотрим на примерах, как происходит обработка сигналов логическим контроллером.
Рисунок 6 tВх = время опроса входов; tВых = время переключения выходов; tВып. прог. = время выполнения программы; tЦикла обработки = время цикла обработки (tВх+ tВып. прог.+ tВых).
На рисунке 6 показаны три полных цикла и включения входных сигналов в режиме работы ПЛК. Вход(Х1) включился после считывания входов и будет обработан лишь в следующем цикле. ПЛК также не зафиксировал своевременно переключение Входа(Х2). Следовательно, если контроллер должен был включить Выход(Y1) например при одновременном включении Входа(Х1) и Входа(Х2), то это событие не было обработано контроллером и операция не была выполнена. ПЛК также не зафиксировал переключение Входа(Х3) и, возможно, не сможет обработать это событие никогда. Есть три варианта решения этой проблемы: Ø Использование контроллера с более высоким быстродействием; Ø Воспользоваться функцией задержки времени. Эта функция увеличит длительность входного сигнала, как показано на рисунке 7; Ø Использование функции обработки прерываний (рисунок 8). То есть, как только Вход выключен, то независимо от того этапа, на котором в настоящий момент находится программа, ПЛК немедленно останавливает выполнение основной программы и выполняет подпрограмму прерывания.
Рисунок 7 Рисунок 8
Таким образом, можно считать, что оптимальным временем продолжительности импульса будет являться время прохода одного цикла программы (рисунок 9).
Рисунок 9 Адресное пространство Адресное пространство ПЛК подразделяется на сегменты: · Область образа входного процесса · Область образа выходного процесса · Область памяти для программы · Область прямо адресуемой памяти · Оперативная память пользователя (ОЗУ) Для привязки переменной к адресу используется следующее объявление: «Имя переменной» АТ % «Прямой адрес» «Тип»; Прямой адрес начинается с буквы, соответствующей области памяти. Область образа входного процесса обозначается буквой I (Input) и называется входной областью памяти. Данная область памяти доступна только для чтения. Область образа выходного процесса обозначается буквой Q (Quit) и называется выходной областью памяти. Данная область памяти доступна только для записи. Прямо адресуемая память имеет префикс M. Данная область памяти доступна для чтения и записи. Далее следует символ типа данных: · Х (нет) – Бит; · В – Байт; · W – Слово; · D – Двойное слово; · L – Длинное слово. Пример адресации Var AT %IX2.0 BOOL; обозначает битовый адрес переменной Var, во втором слове (отсчет с нуля) нулевой бит. Битовый адрес может быть только типа BOOL. Объявление переменной без префикса AT физически означает выделение ей определенной памяти в ОЗУ. Причем транслятор автоматическизаписывает данную переменную в свободной области памяти ОЗУ. В области прямо адресуемой памяти (символ М) обычно размещают диагностические переменные, параметры системы исполнения и др., то есть не относящиеся ни к входным, ни выходным данным.
На рисунке 10 показано одно слово (W) во входной и выходной областях памяти. Напомним, что слово состоит из байтов или 16 битов. Отсчет начинается с нуля.
Промышленные сети Промышленная сеть – это среда передачи данных, которая должна отвечать множеству разнообразных, зачастую противоречивых требований. Она представляет собой набор стандартных протоколов обмена данными, позволяющих связать воедино оборудование различных производителей, а также обеспечить взаимодействие нижнего и верхнего уровней АСУ. Наконец, промышленная сеть – это образ мысли инженера, определяющий конфигурацию и принципы построения системы. От того, какая сетевая архитектура выбирается сегодня, будут зависеть не только затраты на создание системы, но и срок ее жизни, ее способность к развитию, то есть, как принято сейчас говорить, интегральная стоимость владения. Сформулируем лишь некоторые основные требования, которые можно предъявить к «идеальной» промышленной сети: · Производительность; · Предсказуемость времени доставки информации; · Помехоустойчивость; · Доступность и простота организации физического канала передачи данных; · Максимально широкий сервис для приложений верхнего уровня; · Минимальная стоимость устройств аппаратной реализации, особенно на уровне контроллеров; · Возможность получения «распределенного интеллекта» путем иерархического распределения и локализации выполнения задач; · Управляемость и самовосстановление в случае возникновения нештатных ситуаций. Требования достаточно противоречивы, поэтому можно полагать, что промышленная сеть – это один большой компромисс. И от того, как расставлены акценты в этом компромиссе, зависит успешность решения задач, стоящих перед сетевой архитектурой. Выделим три наиболее значимых параметра, по которым можно сравнивать сети, и которые послужат основой для дальнейшей классификации, а именно: топология сети, объем информационного сервиса, предоставляемого сетью, и способ доступа к физическому каналу передачи данных. Топология сети Наиболее распространенный тип сетевой топологии – это общая шина. Основное ее преимущество заключается в простоте, дешевизне и легкости переконфигурирования. Такая сеть не боится отключения или подключения устройств во время работы. Хорошо подходит для сильно распределенных объектов. Однако имеет и ряд «генетических» недостатков: присутствие в каждой точке сети общего трафика, опасность потери связи при одиночном обрыве канала связи или фатальном выходе из строя одного узла. Топология типа «кольцо» очень популярна со времен выхода на рынок сети Token Ring фирмы IBM. Использование протокола с циклической передачей маркера (IEEE-802.5) позволяет сетям с такой топологией обеспечить абсолютную предсказуемость и хорошую пропускную способность. Основными недостатками топологии являются высокая стоимость организации канала связи, нерациональное (в большинстве случаев) использование сетевого трафика и потеря всей синхронизации в случае сбоя или отключения хотя бы одного из узлов. Топология «звезда», являясь логическим продолжением моноканала, обеспечивает дополнительную защиту всей сети от выхода из строя или отключения узлов, позволяет существенно оптимизировать трафик, передавая пакеты только в те «лучи», где находятся их получатели. Последнее особенно существенно для сетей, где допускаются коллизии.
Уровни промышленной сети Уровни определены Международной организацией по стандартизации (ISO/OSI) и отображены в таблице.
На физическом уровне определяются физические характеристики канала связи и параметры сигналов. Канальный уровень формирует основную единицу передаваемых данных – пакет – и отвечает за дисциплину доступа устройства к каналу связи (Medium Access Control) и установление логического соединения (Logical Link Control). Сетевой уровень отвечает за адресацию и доставку пакета по оптимальному маршруту. Транспортный уровень разбирается с содержимым пакетов, формирует ответы на запросы, необходимые для уровня сессий. Уровень сессий оперирует сообщениями и координирует взаимодействие между участниками сети. Уровень представления занимается преобразованием форматов данных, если это необходимо. Прикладной уровень – это набор интерфейсов, доступных программе пользователя. На практике большинство промышленных сетей ограничивается только тремя из них, а именно физическим, канальным и прикладным. Наиболее «продвинутые» сети решают основную часть задач аппаратно, оставляя программную прослойку только на седьмом уровне. Дешевые сети (например, ModBus) зачастую используют на физическом уровне RS-232 или RS-485, а все остальные задачи, начиная с канального уровня, решают программным путем. CanOpen Используемый интерфейс. Базируется на разработанной в автомобильной отрасли технологии CAN и электрических спецификациях RS-485. Максимальное число узлов. 64. Скорость передачи данных и длина кабеля. 125, 250, 500 и 1000 Кбит/с, от 100 до 500 метров. Описание. Типичные области применения: в основном в системах управления перемещением, в сборочных, сварочных и транспортировочных агрегатах. Используется для однокабельного соединения многовходовых блоков датчиков, интеллектуальных датчиков, пневматических вентилей, считывателей штрих-кодов, приводов и операторских пультов. Достоинства. По сравнению с другими сетями на базе шины CAN сеть CanOpen в большей степени пригодна для быстродействующих систем управления перемещением и контуров регулирования с обратной связью. Высокая надежность, рациональное использование пропускной способности, подача питающего напряжения по сетевому кабелю. Недостатки. Малая распространенность за пределами Европы, чрезмерная сложность и запутанность протокола с точки зрения разработчиков, а также общие для всех CAN-сетей недостатки (ограниченная пропускная способность, ограниченный размер сообщений, ограниченная длина соединения). Тип доступа. С коллизиями.
Modbus Используемый интерфейс. RS-485, RS-422, RS-232, TCP/IP. Описание. Ведомые устройства прослушивают линию связи. Мастер подает запрос (посылка) в линию и переходит в состояние прослушивания линии связи. Ведомое устройство отвечает на запрос, пришедший в его адрес. Окончание ответной посылки мастер определяет по временному интервалу между окончанием приема предыдущего байта и началом приема следующего. Если этот интервал превысил время, необходимое для приема двух байтов на заданной скорости передачи, прием кадра ответа считается завершенным. Синтаксис команд протокола позволяет адресовать 247 устройств на одной линии связи стандарта RS-485. Режим работы. Master/slave.
Программирование ПЛК Популярное:
|
Последнее изменение этой страницы: 2017-03-11; Просмотров: 1898; Нарушение авторского права страницы