Подсчет времени работы оборудования с помощью блока прерываний или счетчиков в ПЛК
HTML-код
- Опубликовано: 23 фев 2022
- Телеграм-канал, где можно связаться со мной, пообщаться и задать свои вопросы: t.me/portal_view
Привет. В этом видео я расскажу, как просто можно подсчитать время работы оборудования с помощью счетчиков в ПЛК или блока циклических прерываний
Первый способ явно более грамотный 👍
Круто! Спасибо!
спасибо ❤
В процессоре есть функция системных байтов, в частности 0 байт отвечает за тайминговые меркеры, достаточно его включить и им стробировать вызов FB, OB35 тогда не нужен.
Постоянно ими пользуюсь. Для этого они и задуманы.
Об этом в видео тоже рассказывалось
Это великолепно! Я только учусь и ваши ролики очень помогают мне. Однако я считаю, что ваша программа слишком велика, я бы сделал так, что бы функцией ADD у меня считались секунды, а затем с помощью функции CALCULATE они переводились в минуты и часы, это упрощяет программу и дает дополнительные возможности для управления данными, например, так проще сделать предупреждение об окончании срока службы двигателя
Спасибо, выручил, нужно было сделать счетчик моточасов двигателя,не мог сообразить как.
Отличное видео... Давно ждал видео про организационные блоки прерываний.. Про memory clock уже по моему на твоем канале была информация.... Особенно порадовал момент на 9:23 !!!!! 🤣🤣🤣
Здравствуйте.
Спасибо за ваш труд. Пока не приходилось работать с плк сименс, поэтому подобные видео смотрю больше для “общего развития”.
У меня возникло в процессе просмотра два вопроса:
1. простите, может я что-то упускаю, но секунды, минуты начинаются с 0 и заканчиваются 59 (от 0 до 59 это и есть 60 секунд/минут). часы начинаются с 00:00:00 и заканчиваются 23:59:59. или нет?
2. могли бы вы более подробно рассказать про реализацию записи данных (время наработки или время простоя ячейки) в энергонезависимую память, перед обнулением. (Вы об этом упомянули на 4:08). Спасибо.
Здравствуйте. Что касается времени вы вроде верно написали, я честно не помню)
Кажется, так все и есть.
Чтобы в энергонезависимую память записать нужно просто галочку retain поставить в блоке данных для переменной. Либо если это FB, то указать для переменной в самом FB
Спасибо, отличное видео! Первый способ наверно более точный? во втором способе вызов ОВ1 зависит от времени цикла выполнения всей программы и поэтому если программа будет более нагружена, то время медленнее должно считаться? или я не прав?
Насчёт второго способа я точно сказать не могу, нужно прям проверять. Я не думаю, что второй способ сильно будет уступать первому. Я могу предположить, что точность будет не идеальная, но вряд ли лишние пара минут, которые накапают за несколько месяцев работы сильно критичны будут
Добрый день! Каким образом можно добавлять комментарии в конец network? или это определяется какими-то настройками? У Вас в конце каждого network отображается комментарий, или это что-то другое?
разобрался) нашел где галочку поставить) За видео спасибо!)
Добрый день. Благодарю за видео!
Использую первый способ.
Подскажите пожалуйста, как сделать, чтобы при перезагрузке ПЛК значения сохранялись?
Галочки "Reatin" поставил, не помогло..
А изменения вы прогрузили в плк, после того как поставили галочки? И где именно поставили? Может у вас перезаписывается retain переменная другой переменной, которая как раз и сбрасывается при перезагрузке плк. Вот у вас и по нулям все
@@portalview3028 Нашёл =)
Нужно в самом функциональном блоке поставить напротив объявленной переменной из выпадающего списка "Retain".
А вот переменные, в которые запись идёт, - их можно оставить Non-Retain.
@@bcs-t4292 так а вы у экземпляра пытались retain выставить?) Это неправильно, нужно в FB это делать. А в глобальных db можно и в самом db галочку поставить
Добрый день! Могу ошибаться но кажется что первый способ более правильный. Во втором способе если вызвать событие (например нажатием кнопки) скажем в момент времени между 0 и 1 секундой, то есть попасть в частоту менее одного герца, то будет накапливаться ошибка временная, особенно если все будет записываться в энергонезависимую память. Хотелось бы узнать у вас, есть ли способы реализации второго метода с учетом вышеописанной ошибки.
Привет. Думаю, что ошибки избежать при таком способе не получится. Потому что ты не знаешь, в какой момент времени будет нажата кнопка. Я думаю, что эту проблему можно решить обычным таймером, либо TONR таймером. В случае с обычным таймером можно по выходу ET узнать, сколько уже отработал таймер и сделать соответствующие вычисления. А таймер TONR продолжит считать время, пока ему сброс не сделают. Но я не знаю, насколько таймеры будут точны. Для моих целей разброс по времени в пару часов не страшен, если оборудование работает тысячу часов. Опять же можно прям костыль сделать и воткнуть таймер и этот системный счётчик на один герц. И считать время, если нажата кнопка и не сработал счётчик. Посчитанное время плюсовать к общему😅
@@portalview3028 спасибо, буду ждать новых видео с различной реализаций важных функций в АСУ ТП, особенно было бы интересно посмотреть про диагностику оборудования (например приводов) и формирование готовностей по признакам диагностики
@@user-lq5un8uh5d у меня несколько видео отснятых лежит, которые я все смонтировать не могу😅 один видос больше года уже томится)
Добрый день, может вы приведите на другую платформу ? ятуб походу заблокируют ...
Все видео есть на Яндекс дзен. Я в постах писал. Вот ссылка, заходите zen.yandex.ru/id/62355452caab261b719cee25?lang=ru