Использование значения одного таймера SLC для настройки другого таймера
Перенос одного значения таймера SLC в другую предустановку без создания постоянно меняющейся цели. В этом руководстве рассматриваются временные базы, однократная фиксация, предельные значения, пове...
Копирование одного значения таймера SLC в другой таймер — допустимая лестничная логика, но такой перенос полезен только тогда, когда в программе определены единицы измерения, момент фиксации, ограничения, поведение после перезапуска и полномочия оператора. В противном случае инструкция MOV, копирующая значение одного аккумулятора в уставку другого, может превратить простую функцию обучения в изменяемую уставку, которую трудно диагностировать.
При передаче значения таймера следует зафиксировать одно утверждённое измерение, проверить его и записать в стабильную уставку с документированными единицами измерения.
Разберитесь, что означают слова таймера
Элемент таймера SLC содержит информацию о состоянии, заданное значение и накопленное значение. Аккумулятор представляет собой счётчик, интерпретируемый с учётом временной базы инструкции; в каждом приложении он автоматически не означает миллисекунды или секунды. Два таймера с одинаковым числовым значением могут соответствовать разной длительности, если для них настроены разные временные базы.
В официальном справочном руководстве по набору инструкций SLC 500 описаны биты состояния таймера, поведение заданного и накопленного значений, поддерживаемые временные базы и правила сброса для конкретных инструкций. Используйте справочную документацию именно для этого процессора и не предполагайте, что таймер Logix 5000 работает идентично.
Определите условия передачи
Укажите, зачем фиксируется исходное значение. Распространённые цели — обучение времени перемещения конвейера, измерение хода клапана, запись утверждённой оператором выдержки или передача длительности между фазами последовательности. Затем определите событие, после которого значение становится действительным. Однократная передача после успешно завершённого цикла обучения обычно понятнее, чем MOV, выполняемая непрерывно.
Запись уставки назначения на каждом сканировании может изменять порог завершения, пока таймер назначения активен. Если новая уставка окажется ниже текущего аккумулятора, состояние готовности может измениться немедленно. Если исходный таймер продолжает считать, таймер назначения может следовать за целью, которая никогда не стабилизируется. Поэтому непрерывное отслеживание должно быть осознанным проектным решением, а не случайным следствием постоянно истинной цепи.
Преобразуйте единицы измерения перед записью уставки
Если временные базы совпадают, аккумулятор исходного таймера можно проверить на соответствие диапазону и перенести в уставку таймера назначения. Если они различаются, выполните преобразование через документированное промежуточное значение. Проводите арифметические операции в типе данных, способном вместить промежуточный результат, учитывайте округление и проверяйте, что итоговая уставка остаётся в допустимом диапазоне таймера.
Единицу измерения следует явно указывать в именах символов и текстах HMI. Имена вроде Learned_Dwell_10ms_Counts проще сопровождать, чем TimerValue. Если оператор вводит секунды, а ПЛК хранит сотые доли секунды, преобразование должно выполняться в одной проверенной процедуре, а не в нескольких объектах отображения.
Используйте промежуточное значение для контроля
Практический подход заключается в том, чтобы по однократному импульсу сохранить аккумулятор исходного таймера в целочисленную переменную, проверить минимальное и максимальное ограничения и только затем перенести утверждённое значение в уставку таймера назначения. Отдельные биты состояния должны показывать завершение фиксации, допустимость значения, отклонение значения и применение уставки. Такая структура сохраняет измеренное значение для поиска неисправностей, даже если таймер назначения впоследствии сбрасывается.
Не копируйте весь элемент таймера только для передачи длительности. Управляющее слово содержит не только информацию о времени, но и состояние инструкции. Перенос только нужного числового члена предотвращает импорт связей разрешения, отсчёта или состояния готовности, относящихся к исходной инструкции.
Учитывайте поведение TON и RTO
Энергонезависимый таймер TON сбрасывает аккумулятор, когда его цепь становится ложной. Ретентентный таймер RTO сохраняет накопленное время, пока инструкция RES не выполнит его сброс. Событие фиксации должно произойти до сброса исходного таймера TON, а программа должна определять, сохраняется ли обученное значение после перезапуска процессора, загрузки программы, смены рецепта или сброса при техническом обслуживании.
Не путайте сохранение значения таймера с сохранением конфигурации. Даже сохраняемый аккумулятор может быть перезаписан логикой инициализации или записью с HMI. Если обученная длительность является производственным параметром, храните её по тем же правилам доступа, аудита и значений по умолчанию, что и рецепты. Если это только временное измерение, сбрасывайте его бит действительности, когда состояние машины больше не позволяет считать его актуальным.
Защитите процесс от ошибочных измерений
Отклоняйте нулевое значение, если ноль не является преднамеренным рабочим значением. Задавайте минимальную и максимальную длительность на основе реальных ограничений машины, а не максимального числа, которое принимает таймер. Слишком короткое значение может запустить движение до стабилизации механизма; чрезмерное значение может скрыть заклинивание или продлить нагрев, заполнение либо подачу давления.
Фиксируйте значение только после штатного завершения исходного цикла. Прерывайте обучение, если произошли аварийный останов, открытие защитного ограждения, неисправность привода, расхождение показаний датчиков, потеря связи или ручное вмешательство. Время, измеренное в неполноценном цикле, не должно незаметно становиться следующей производственной уставкой.
Спроектируйте взаимодействие с HMI
Отдельно отображайте измеренное значение, предлагаемую уставку, единицу измерения, допустимый диапазон и текущую утверждённую уставку. Требуйте осознанного подтверждения от пользователя с соответствующими правами. ПЛК должен выполнять проверку диапазона и отвечать за итоговую запись; HMI не должен обходить проверку прямой записью в уставку таймера.
Предусмотрите известное значение по умолчанию и возможность его восстановить. Записывайте предыдущее значение в журнал или сохраняйте его в резервном регистре, чтобы ошибочное обучение можно было отменить. Эти меры превращают скрытую инструкцию MOV в функцию ввода в эксплуатацию, понятную операторам и специалистам по техническому обслуживанию.
Проверьте граничные случаи при вводе в эксплуатацию
Проверьте минимальную, номинальную и максимальную длительность исходного таймера. Прерывайте последовательность непосредственно перед фиксацией, во время проверки, после подтверждения и при активном таймере назначения. Проверьте сброс исходного таймера, сброс таймера назначения, смену режима процессора и отключение питания, если сохранение значения имеет значение. Убедитесь, что недопустимые значения вызывают сигнал тревоги, не изменяя активную уставку.
Отслеживайте аккумулятор исходного таймера, сохранённое целочисленное значение, уставку таймера назначения, аккумулятор таймера назначения и бит готовности. Это помогает выявить ошибки единиц измерения и эффекты порядка выполнения за один цикл, которые трудно заметить в статическом представлении лестничной логики. Сохраняйте утверждённый диапазон и результаты испытаний вместе с резервной копией машины.
Сохраняйте сопровождаемость устаревшей системы
Те же правила контроля применимы независимо от того, переносится ли значение между двумя таймерами или сохраняется в рецепте. Команды, обслуживающие такие системы, могут дополнить этот подход руководством по связи SLC и подобрать оборудование для замены в каталоге Allen-Bradley.
По нашему мнению, обученное значение таймера — это уставка процесса, а не программный обходной приём. Определённое событие фиксации, явные единицы измерения, ограничения на стороне ПЛК, контролируемое подтверждение и проверка граничных случаев дают больше пользы, чем хитрая инструкция MOV в одной цепи.