Написал программу для управления сан-пропускником. Отладил на оборудовании,- всё работает. Перенёс на ноут, приехал на объект и залил в местные контроллеры. При заливке программа попросила обновить ядро контроллеров. Обновление ядра прошло без проблем, как и заливка программы, но через несколько циклов программа перестала работать и все дискретные выходы перешли в положение OFF. Запустил отладку в устройстве и не поверил своим глазам! В отладке программа продолжает стабильно работать а в реале - выходы молчат (все OFF). Добавил тригер на один из выходов, который зажигает лампочку на 220В, в схеме включения которой нет ничего, кроме дискретного выхода, и взвёл этот тригер по старту программы, а вход reset обозначил константой "0". При старте программы лампочка благополучно загорелась, но через несколько циклов благополучно погасла. КАК ТАКОЕ МОЖЕТ БЫТЬ?
Добрый день!
Вы дали слишком мало информации.
Спешу вас разочаровать, Деда мороза не бывает, впрочем как и чудес.
надо прочитать http://zentec.ru/dev/docs/d150714/d120213/
особенно обратить внимание на п.6
надо приложить проект
Проект приложу позже (сейчас нет возможности), но хочу обратить Ваше внимание на то, что в более ранней прошивке ядра всё работало без сбоев, проблемы начались после перепрошивки ядра контроллера до более новой версии. Может стоит посмотреть последние изменения в прошивке ядра?
Некоторые тезисы из п.6 стали новостью для меня. Жаль, что эта литература не была доступна изначально!
Уже как полтора года висит это описание.
В ядро добавились некоторые функции и оно стало больше потреблять ресурсов. Я на всех проектах ставлю базовый таймер 500мс. Этого более чем достаточно. И вовсе не означает, что программа исполняется пол секунды))
http://zentec.ru/dev/soft-2/zetFBD/
это тоже надо прочитать
Присоединяюсь. Аналогично. Не больше 20 циклов и зависает. Таймер установил 800mc. Проект прилагаю.:))
Цитата: Aserge от 02 ноября 2015, 22:21:27
Присоединяюсь. Аналогично. Не больше 20 циклов и зависает. Таймер установил 800mc. Проект прилагаю.:))
И как же выражается зависание вашего проекта?
Как часто вы замыкаете дискретный вход?
Цитата: mike от 03 ноября 2015, 08:09:21
Цитата: Aserge от 02 ноября 2015, 22:21:27
Присоединяюсь. Аналогично. Не больше 20 циклов и зависает. Таймер установил 800mc. Проект прилагаю.:))
И как же выражается зависание вашего "проекта"?
Как часто вы замыкаете дискретный вход?
Дискретный вход замыкается 14-15 раз. С увеличением количества логических элементов количество замыканий снижается до 5-7.
Кавычки считаю неуместными - сыну 11 лет. И для него это ПРОЕКТ. И почему-то не работает. Ошибок ведь нет? И на симуляторе нормально работает.
нот -лишний элемент, инвертируйте вход выходного элемента ОUТ1
IF и Запись в ипром не имеют смысла.
Цитата: Aserge от 03 ноября 2015, 19:31:31
Цитата: mike от 03 ноября 2015, 08:09:21
Цитата: Aserge от 02 ноября 2015, 22:21:27
Присоединяюсь. Аналогично. Не больше 20 циклов и зависает. Таймер установил 800mc. Проект прилагаю.:))
И как же выражается зависание вашего "проекта"?
Как часто вы замыкаете дискретный вход?
Дискретный вход замыкается 14-15 раз. С увеличением количества логических элементов количество замыканий снижается до 5-7.
Кавычки считаю неуместными - сыну 11 лет. И для него это ПРОЕКТ. И почему-то не работает. Ошибок ведь нет? И на симуляторе нормально работает.
14-15 раз за какое время?
Кавычки были, т.к. ранее не было озвучено, что новичку всего 11 лет.
Сейчас же их уберем, а юному испытателю пламенный привет!
Сто касается вопроса по частоте замыкания входа.
В ПЛК реализована защита от частого срабатывания реле и частой записи в ПЗУ.
подавать импульс на реле можно не чаще раз в 800мс. В противном случае контроллер остановит выполнение программы.
Изначально был обычный d-триггер со срабатыванием по переднему фронту. Запись в EEPROM -по изменению состояния инверсного выхода триггера. Один цифровой вход, два выхода. На входе кнопка, на выходе светодиоды. Частота срабатывания не более 0,5 сек. Зависание от продолжительности и частоты нажатий не зависит. Контроллер "уходил в себя" после 5-7 нажатий кнопки. Выходы устанавливал в 0, на вход не реагировал. Но на программирование откликался без перезагрузки. Последнее значение базового таймера 1сек.
Пробовал вариант без записи в EEPROM - результат тот же.
Отбросил входы. Набросал генератор с частотой 1 сек. Клацнул релюшкой 19 раз и ушел в себя.
Добавил выход. -7 циклов.
Добавил ещё один выход - 4 цикла.
От частоты и базового таймера зависимости нет.
Выходы использовал 1,2,3.
Почему от количества выходов, а не от частоты срабатываний зависит? На защиту не похоже.
Войдите в отладочный режим на живой машине.
Поставьте на поляну переменную Error. Назначьте ей отладочную точку.
Запустите отладку и смотрите, что будет на выходе этой переменной.
Вероятнее всего, вы слишком часто даете команду на изменение состояния релейных выходов.
http://zentec.ru/dev/docs/d150714/d080813/
В отладке выходы не работают (на контролере). Зато и ошибок нет.:)
Надо снять галки "симуляция входов" и "симуляция выходов"
Цитата: Aserge от 04 ноября 2015, 14:02:13
В отладке выходы не работают (на контролере). Зато и ошибок нет.:)
С выходами разобрался. Отключил симуляцию. Error поставил. Точку задал.
Ошибку поймал. Слишком часто клацаю релюшками.
Спасибо. Будем искать допустимую частоту.
Но почему зависит от количества выходов в схеме?
Цитата: serge197a от 03 ноября 2015, 23:58:00
нот -лишний элемент, инвертируйте вход выходного элемента ОUТ1
IF и Запись в ипром не имеют смысла.
Не заморачивайтесь. Это кромсание того, что было в поисках закономерности ошибок.
Цитата: Aserge от 04 ноября 2015, 14:40:48
Цитата: Aserge от 04 ноября 2015, 14:02:13
В отладке выходы не работают (на контролере). Зато и ошибок нет.:)
С выходами разобрался. Отключил симуляцию. Error поставил. Точку задал.
Ошибку поймал. Слишком часто клацаю релюшками.
Спасибо. Будем искать допустимую частоту.
Но почему зависит от количества выходов в схеме?
Этот документ целиком.
Особо п.5 и 6.
http://zentec.ru/dev/docs/d150714/d120213/
Перепрочел (Читал и ранее).
Ответа на вопрос не получил.
Вопрос звучит так:
Если установлена защита на частоту срабатывания дискретного выхода, то почему с увеличением в проекте количества дискретных выходов, но с той же частотой срабатывания, количество срабатываний выходов до включения защиты уменьшается? Ведь частота срабатывания каждого выхода от количества выходов не меняется.
Это важно уже для меня, поскольку интересуют возможности контролера для управления 2-х и 3-х позиционными регуляторами.
Попутный вопрос: защиты по частоте и длительности срабатывания дискретных входов, надеюсь, нет?
А ядро так устроено, что у него общая временная квота. Я просто изначального вопроса не понял.
А что касается защиты - уж не обессудьте. Релюхи бортовые, мы обязаны их защитить от шаловливых ручек.
Что касается векторных ИМ. Можно ими управлять. Я ставлю минимальную длительность 500мс и паузу между импульсами 500мс. И укладываюсь в регламент
Вкладываю проэкт, может подскажите в чём дело?
Может я слишком часто клацаю релюшками? Но что делать если это необходимо?
Да, у вас слишком короткий цикл переключения.
Для диагностики используйте переменную ERR, я про нее писал.
Что касается "Но что делать если это необходимо?"
Слишком частое срабатывание реле негативно сказывается на его здоровье.
Для быстрых переключений используют электронные ключи
С вариантом прошивки ядра 2 и старой Z-FBD всё работает, а реле часто срабатывает только если через сан-пропускник люди идут потоком. Это случается только утром и вечером, т.е. 2 раза в сутки. Думаю, что на здоровье реле это не сильно отразиться, тем более коммутируемые токи малые.
Жаль, что из-за этих проблем пришлось снаряжать отдельную командировку, которая потянула не мало средств, т.к. объект находится в Крыму.
У реле есть важный параметр - частота срабатывания. Мы придерживаемся нормативной документации производителя реле.