Перейти к содержимому

Что такое время цикла микропроцессорного контроллера

  • автор:

Программируемые логические контроллеры (плк). Принципы работы плк сканирующего типа. Рабочие циклы и время реакции плк.

Программи́руемый логи́ческий контро́ллер(сокр.ПЛК;англ.programmable logic controller, сокр.PLC; более точный перевод на русский — контроллер с программируемой логикой),программируемый контроллер— электронная составляющаяпромышленного контроллера, специализированного (компьютеризированного) устройства, используемого дляавтоматизации технологических процессов. В качестве основного режима работы ПЛК выступает его длительное автономное использование, зачастую в неблагоприятных условиях окружающей среды, без серьёзного обслуживания и практически без вмешательства человека. Иногда на ПЛК строятся системы числового программного управлениястанков. ПЛК являются устройствами реального времени. ПЛК имеют ряд особенностей, отличающих их от прочих электронных приборов, применяемых в промышленности:

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

В системах управления технологическими объектами логические команды, как правило, преобладают над арифметическими операциями над числами с плавающей точкой, что позволяет при сравнительной простоте микроконтроллера (шинышириной 8 или 16 разрядов), получить мощные системы, действующие в режимереального времени. В современных ПЛК числовые операции в языках их программирования реализуются наравне с логическими. Все языки программирования ПЛК имеют лёгкий доступ к манипулированию битами в машинных словах, в отличие от большинства высокоуровневых языков программирования современных компьютеров. ПЛК сканирующего типа работают циклически по методу периодического опроса входных данных. Именно такая модель обеспечивается в среде программирования CoDeSys. Рабочий цикл ПЛК включает 4 фазы:

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

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

В технических характеристиках ПЛК приводится типовое время рабочего цикла. При его измерении пользовательская программа должна содержать 1К логических команд (на языке IL МЭК 61131-3). Сегодня ПЛК имеют типовое значение времени рабочего цикла, измеряемое единицами миллисекунд и менее. События, требующие быстрой реакции, выделяются в отдельные задачи, приоритетность и период выполнения которых можно изменять. Рабочие циклы и время реакции ПЛК. Задачи управления требуют непрерывного циклического контроля. В любых цифровых устройствах непрерывность достигается за счет применения дискретных алгоритмов, повторяющихся через достаточно малые промежутки времени. Таким образом, вычисления в PLC всегда повторяются циклически. Одна итерация, включающая замер, обсчет и выработку воздействия, называется рабочим циклом PLC. Выполняемые действия зависят от значения входов контроллера, предыдущего состояния и определяются пользовательской программой. По включению питания PLC выполняет самотестирование и настройку аппаратных ресурсов, очистку оперативной памяти данных (ОЗУ), контроль целостности прикладной программы пользователя. Если прикладная программа сохранена в памяти, PLC переходит к основной работе, которая состоит из постоянного повторения последовательности действий, входящих в рабочий цикл. Рабочий цикл PLC состоит из нескольких фаз. 1. Начало цикла. 2. Чтение состояния входов. 3. Выполнение кода программы пользователя. 4. Запись состояния выходов. 5. Обслуживание аппаратных ресурсов PLC. 6. Монитор системы исполнения. 7. Контроль времени цикла. 8. Переход на начало цикла. Абсолютное большинство PLC работают по методу периодического опроса входных данных (сканирования). PLC опрашивает входы, выполняет пользовательскую программу и устанавливает необходимые значения выходов. Для математических систем характеристикой качества работы является правильность найденного решения. В системах реального времени помимо правильности решения определяющую роль играет время реакции. Логически верное решение, полученное с задержкой более допустимой, не является приемлемым. Время реакции — это время с момента изменения состояния системы до момента выработкисоответствующей реакции. Если изменение значений входов произошло непосредственно перед фазой чтения входов, то время реакции будет наименьшим и равным времени сканирования. Худший случай, когда изменение значений входов происходит сразу после фазы чтения входов. Тогда время реакции будет наибольшим, равным удвоенному времени сканирования минус время одного чтения входов. Иными словами, время реакции PLC не превышает удвоенного времени сканирования (Рис. 14.2). Рис.14.2. Время сканирования Помимо времени реакции PLC, существенное значение имеет время реакции датчиков и исполнительных механизмов, которое также необходимо учитывать при оценке общего времени реакции системы. Существуют PLC, которые реализуют команды непосредственного доступа к аппаратуре входов и выходов, что позволяет обрабатывать и формировать отдельные сигналы с длительностью меньшей длительности рабочего цикла. Для уменьшения времени реакции сканирующих контроллеров алгоритм программы разбивается на несколько задач с различным периодом исполнения. В наиболее развитых системах пользователь имеет возможность создавать отдельные программы, исполняемые по прерыванию, помимо кода, исполняемого в рабочем цикле. Такая техника позволяет PLC существенно форсировать ограничение реакции временем сканирования при небольшом количестве входов, требующих сверхскоростной реакции. Время цикла сканирования является базовым показателем быстродействия PLC. Программа PLC может рассматриваться как постоянно бегущая замкнутая цепь. Инструкция пользователя считывается непрерывно и когда считывается последняя инструкция, операция начинается снова. Это называется сканированием программы, а период – временем сканирования. Время зависит от размера программы и скорости процессора.

6.6. Понятие цикла работы плк

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

Существуют несколько типовых циклов работы ЦМ ПЛК:

– элементарный (рис. 33) состоит из трех фаз (опрос входов, выполнение программы, выдача сигналов управления);

– сгруппированных входов с выдачей выходных сигналов после выполнения каждой команды программы;

– распределенный (асинхронный или синхронный).

Рис. 33. Элементарный цикл работы ПЛК

6.7. Центральная память плк

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

Очень часто, особенно в простых микроконтроллерах (типа SIMATIC S7-200), их центральная память бывает организована в виде стековой памяти.

Стек — это организованный массив информации в сочетании с определённым порядком его загрузки и выгрузки. Стеки бывают двух видов (рис. 34): двухсторонние (по типу транспортерной ленты) и односторонние (по типу магазина, в которых чтение/записи информации производится через вершину стека).

Рис. 34. Стековая память

Пример реализации логической функции управления c использованием стековой памяти

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

Рис. 35. Работа стековой памяти

Особенностью работы стековой памяти является то, что вся информация (значения загружаемых прямых и инверсных входов X, логические команды сложения и умножения, включение/отключение выхода Y) осуществляются только через вершину стека. Более подробно о центральной памяти ПЛК (на примере микроконтроллера SIMATIC S7-200), типах данных и способах адресации к ним изложено в лабораторной работе [20].

6.8. Модули ввода/вывода плк

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

– Непосредственно параллельно на внутреннюю шину контроллера с использованием шинных соединителей (рис. 29);

– Параллельно на внутреннюю шину с помощью модулей подключения и дополнительных профильных реек (на расстоянии до 10 м от ЦМ);

– Последовательно с использованием промышленных сетей и устройств связи с удаленными (до сотен и тысяч метров) объектами (рис. 30).

При подборе МВв/МВыв следует учитывать следующие особенности.

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

2. Соотношение количества входов и выходов может быть либо свободно распределяемое пользователем, либо принудительное (как правило, 50 на 50).

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

4. Модули выпускают в различном исполнении: входные, выходные или комбинированные (ввода/вывода), дискретные (логические), аналоговые и специальные, в обычном или безопасном исполнении, и пр.

Вкачестве примера на рис. 36 показан возможный вариант модуля ввода/вывода логических сигналов для 8-разрядного микроконтроллера. Ввод/вывод осуществляется через порт, представляющий собой 8-разрядный регистр, который адресуется по шине адреса. При совпадении выставленного на шине адреса с адресом, присвоенным конкретному порту, дешифратор адреса ДША выдает сигналCS разрешения работы порта. По этому сигналу регистр подключается к шинам микропроцессора и через него можно передавать параллельные 8-разрядные двоичные коды. Обмен данными происходит через шину данных. Направление передачи определяется сигналами чтение ЧТ и запись ЗП. Готовность порта к приему-выдаче информации определяется сигналом ГОТ. Каждый бит порта позволяет передавать один логический сигнал. Через порт передаются сигналы ТТЛ уровней. Для согласования уровня сигналов порта с уровнями сигналов, используемых объектом управления, служат схемы согласования С, аналогичные рассмотренным на рис. 21. Одновременно эти схемы осуществляют гальваническую развязку между электрическими цепями микроконтроллера и объекта управления. Количество используемых для ввода-вывода портов определяет общее количество передаваемых дискретных сигналов. Для 8-разрядного микропроцессора можно адресовать (и использовать) 256 портов.

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

Пример схемной реализации модуля ввода аналогового сигнала для 8-разрядного микроконтроллера приведен на рис. 37. В схеме использован 8-разрядный АЦП, выходы которого соединены с входами регистра порта ввода. Выходы порта соединены с линиями шины данных. В результате двоичный код, в который преобразуется аналоговый сигнал, передается на шину данных и может быть считан микропроцессором. Для согласования уровня входного сигнала АЦП используется усилитель входного сигнала. Цикл преобразования аналогового сигнала в АЦП инициируется подачей на его вход сигнала «Запуск», который выдает микропроцессор при обращении к АЦП. Конец цикла преобразования АЦП подтверждает сигналом «Готовность». Для обмена этими сигналами между микропроцессором и АЦП использованы входы-выходы регистра управления RG, которому присваивается свой адрес.

Порт и регистр управленияRG адресуются по шине адреса и для их выбора используется дешифратор адреса ДША. Управление направлением передачи информации осуществляется сигналами шины управления ЧТ и ЗП. Современные микропроцессорные АЦП часто имеют в своем составе и регистр порта и регистр управления, что упрощает схему ввода аналогового сигнала и управление вводом.

Ввод/вывод аналоговых сигналов более сложен по сравнению с вводом/выводом дискретных сигналов и требует больших ресурсов микроконтроллера. Поэтому в программируемых микроконтроллерах число аналоговых сигналов обычно существенно меньше числа дискретных сигналов.

15.Рабочий цикл плк и время сканирования.

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

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

Рабочий цикл ПЛК состоит из нескольких фаз.

2. Чтение состояния входов.

3. Выполнение кода программы пользователя.

4. Запись состояния выходов.

5. Обслуживание аппаратных ресурсов ПЛК.

6. Монитор системы исполнения.

7. Контроль времени цикла.

8. Переход на начало цикла.

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

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

После выполнения пользовательского кода физические выходы ПЛК приводятся в соответствие с расчетными значениями (фаза 4).

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

Общая продолжительность рабочего цикла ПЛК называется временем сканирования. Время сканирования в значительной степени определяется длительностью фазы кода пользовательской программы. Время, занимаемое прочими фазами рабочего цикла, практически является величиной постоянной. Для задачи среднего объема время распределится примерно так: 98% — пользовательская программа, 2% — все остальное.

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

Тема: Минимальное время цикла работы ПЛК

super100 вне форума

По умолчаниюМинимальное время цикла работы ПЛК

ПЛК100 будет постоянно опрашиваться Мастер Скадой по сети Еthernet. Основная функция — чтение восьми переменных с аналогового модуля. Какое минимальное время цикла MinCycleLenhth необходимо установить при настройке конфигурации ПЛК, чтобы он работал максимально устойчиво. MaxCycleLenhth думаю оставить по умолчанию.

29.07.2013, 14:58 #2

Sergey666 на форуме

Пользователь Регистрация 28.08.2008 Адрес 23..93..123 Сообщений 1,636

По умолчанию

пятерочки для всего хватает.

21.08.2013, 09:44 #3

sea вне форума

Пользователь Регистрация 19.08.2012 Адрес г. Зерноград, г. Краснодар Сообщений 218

По умолчанию

Подскажите, какое время цикла ПЛК (минимальное) установить?
Нужно определить сколько по времени будут выполняться сервисные функции ПЛК, а именно операции сетевого обмена.
RS-485: ПЛК110-32 (ведущий); МВ110-224.1ТД, МСД-200, СМИ2 (ведомые).
RS-232: СП270 (ведущий); ПЛК110-32 (тотже ПЛК, ведомый).
Протокол в обоих интерфейсах одинаковый ModBus RTU, скорость 115200 бит/с, данные 8 бит, 1 стоп бит.
Нагрузка ПЛК по данным в сети RS-485:
— чтение REAL и WORD;
— запись WORD, REAL, DWORD, WORD, STRING6 (48 бит).
Чтение и запись данных осуществляется раздельно по каждой переменной.
Нагрузка ПЛК по данным в сети RS-232:
— передача 45 последовательных 2-х байтовых переменных на один запрос от СП270 (передача одним пакетом).
Добавлены модули ModBus (Master) (RS-485), ModBus (Slave) (RS-232) в конфигураторе ПЛК.
Я так пологаю (опираюсь на руководство программирования ПЛК, п. «Задание времени цикла ПЛК»), что время цикла ПЛК должно включать в себя и время, необходимое на сетевой обмен. Т.е., например, ввод данных 0,5 мс; выполнение пользовательской программы 1 мс; вывод данных 0,5 мс; сетевой обмен 8 мс; итого 10 мс. Тогда с учетом 20% запаса устанавливаем MinCycleLength 12 мс.
Проблема определения времени сетевого обмена ПЛК возникла когда он стал передавать не стабильно данные в другие устройства, иногда правильные актуальные, а иногда устаревшие (за прошлый цикл). Повышать время цикла ПЛК до 10 мс — уже критично. Сейчас 10 мс установлено, но иногда в модуле Statistic время цикла более 10 мс заметить можно (12. 15 мс), хотя по средним данным перегрузка не высвечивается и запас есть. Это из-за того, что сетевой обмен с разным периодом происходит (так думаю). Вот и хотелось бы определить максимальное время, которое необходимо ПЛК для корректного обмена данными.

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

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