Форум Zentec

Программное обеспечение => Архив => Вопросы по zWorkbench => Вопросы по zetFBD => Тема начата: novtoxa от 30 октября 2015, 09:23:46

Название: Спустя некоторое время перестаёт работать программа
Отправлено: novtoxa от 30 октября 2015, 09:23:46
Написал программу для управления сан-пропускником. Отладил на оборудовании,- всё работает. Перенёс на ноут, приехал на объект и залил в местные контроллеры. При заливке программа попросила обновить ядро контроллеров. Обновление ядра прошло без проблем, как и заливка программы, но через несколько циклов программа перестала работать и все дискретные выходы перешли в положение OFF. Запустил отладку в устройстве и не поверил своим глазам! В отладке программа продолжает стабильно работать а в реале - выходы молчат (все OFF). Добавил тригер на один из выходов, который зажигает лампочку на 220В, в схеме включения которой нет ничего, кроме дискретного выхода, и взвёл этот тригер по старту программы, а вход reset обозначил константой "0". При старте программы лампочка благополучно загорелась, но через несколько циклов благополучно погасла. КАК ТАКОЕ МОЖЕТ БЫТЬ?
Название: Re: Спустя некоторое время перестаёт работать программа
Отправлено: mike от 30 октября 2015, 10:19:50
Добрый день!
Вы дали слишком мало информации.
Спешу вас разочаровать, Деда мороза не бывает, впрочем как и чудес.
надо прочитать http://zentec.ru/dev/docs/d150714/d120213/
особенно обратить внимание на п.6
надо приложить проект
Название: Re: Спустя некоторое время перестаёт работать программа
Отправлено: novtoxa от 30 октября 2015, 11:07:40
Проект приложу позже (сейчас нет возможности), но хочу обратить Ваше внимание на то, что в более ранней прошивке ядра всё работало без сбоев, проблемы начались после перепрошивки ядра контроллера до более новой версии. Может стоит посмотреть последние изменения в прошивке ядра?
Некоторые тезисы из п.6 стали новостью для меня. Жаль, что эта литература не была доступна изначально!
Название: Re: Спустя некоторое время перестаёт работать программа
Отправлено: mike от 30 октября 2015, 11:40:37
Уже как полтора года висит это описание.
В ядро добавились некоторые функции и оно стало больше потреблять ресурсов. Я на всех проектах ставлю базовый таймер 500мс. Этого более чем достаточно. И вовсе не означает, что программа исполняется пол секунды))

http://zentec.ru/dev/soft-2/zetFBD/
это тоже надо прочитать

Название: Re: Спустя некоторое время перестаёт работать программа
Отправлено: Aserge от 02 ноября 2015, 22:21:27
Присоединяюсь. Аналогично. Не больше 20 циклов и зависает. Таймер установил 800mc. Проект прилагаю.:))
Название: Re: Спустя некоторое время перестаёт работать программа
Отправлено: mike от 03 ноября 2015, 08:09:21
Цитата: Aserge от 02 ноября 2015, 22:21:27
Присоединяюсь. Аналогично. Не больше 20 циклов и зависает. Таймер установил 800mc. Проект прилагаю.:))

И как же выражается зависание вашего проекта?
Как часто вы замыкаете дискретный вход?
Название: Re: Спустя некоторое время перестаёт работать программа
Отправлено: 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 лет. И для него это ПРОЕКТ. И почему-то не работает. Ошибок ведь нет? И на симуляторе нормально работает.
Название: Re: Спустя некоторое время перестаёт работать программа
Отправлено: serge197a от 03 ноября 2015, 23:58:00
нот -лишний элемент, инвертируйте вход выходного элемента ОUТ1
IF и Запись в ипром не имеют смысла.
Название: Re: Спустя некоторое время перестаёт работать программа
Отправлено: mike от 04 ноября 2015, 11:10:32
Цитата: 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мс. В противном случае контроллер остановит выполнение программы.
Название: Re: Спустя некоторое время перестаёт работать программа
Отправлено: Aserge от 04 ноября 2015, 12:49:00
Изначально был обычный d-триггер со срабатыванием по переднему фронту. Запись в EEPROM -по изменению состояния инверсного выхода триггера. Один цифровой вход, два выхода. На входе кнопка, на выходе светодиоды. Частота срабатывания не более 0,5 сек. Зависание от продолжительности и частоты нажатий не зависит. Контроллер "уходил в себя" после 5-7 нажатий кнопки. Выходы устанавливал в 0, на вход не реагировал. Но на программирование откликался без перезагрузки.  Последнее значение базового таймера 1сек.
Пробовал вариант без записи в EEPROM - результат тот же.

Отбросил входы. Набросал генератор с частотой 1 сек. Клацнул релюшкой 19 раз и ушел в себя.
Добавил выход. -7 циклов.
Добавил ещё один выход - 4 цикла.
От частоты и базового таймера зависимости нет.
Выходы использовал 1,2,3.
Почему от количества выходов, а не от частоты срабатываний зависит? На защиту не похоже.
Название: Re: Спустя некоторое время перестаёт работать программа
Отправлено: mike от 04 ноября 2015, 13:36:38
Войдите в отладочный режим на живой машине.
Поставьте на поляну переменную Error. Назначьте ей отладочную точку.
Запустите отладку и смотрите, что будет на выходе этой переменной.

Вероятнее всего, вы слишком часто даете команду на изменение состояния релейных выходов.

http://zentec.ru/dev/docs/d150714/d080813/
Название: Re: Спустя некоторое время перестаёт работать программа
Отправлено: Aserge от 04 ноября 2015, 14:02:13
В отладке выходы не работают (на контролере). Зато и ошибок нет.:)
Название: Re: Спустя некоторое время перестаёт работать программа
Отправлено: mike от 04 ноября 2015, 14:32:10
Надо снять галки "симуляция входов" и "симуляция выходов"
Название: Re: Спустя некоторое время перестаёт работать программа
Отправлено: Aserge от 04 ноября 2015, 14:40:48
Цитата: Aserge от 04 ноября 2015, 14:02:13
В отладке выходы не работают (на контролере). Зато и ошибок нет.:)

С выходами разобрался. Отключил симуляцию. Error поставил. Точку задал.
Ошибку поймал. Слишком часто клацаю релюшками.
Спасибо. Будем искать допустимую частоту.
Но почему зависит от количества  выходов в схеме?
Название: Re: Спустя некоторое время перестаёт работать программа
Отправлено: Aserge от 04 ноября 2015, 14:43:02
Цитата: serge197a от 03 ноября 2015, 23:58:00
нот -лишний элемент, инвертируйте вход выходного элемента ОUТ1
IF и Запись в ипром не имеют смысла.

Не заморачивайтесь. Это кромсание того, что было в поисках закономерности ошибок.
Название: Re: Спустя некоторое время перестаёт работать программа
Отправлено: mike от 04 ноября 2015, 14:46:14
Цитата: Aserge от 04 ноября 2015, 14:40:48
Цитата: Aserge от 04 ноября 2015, 14:02:13
В отладке выходы не работают (на контролере). Зато и ошибок нет.:)

С выходами разобрался. Отключил симуляцию. Error поставил. Точку задал.
Ошибку поймал. Слишком часто клацаю релюшками.
Спасибо. Будем искать допустимую частоту.
Но почему зависит от количества  выходов в схеме?

Этот документ целиком.
Особо п.5 и 6.
http://zentec.ru/dev/docs/d150714/d120213/
Название: Re: Спустя некоторое время перестаёт работать программа
Отправлено: Aserge от 04 ноября 2015, 19:03:27
Перепрочел (Читал и ранее).
Ответа на вопрос не получил.
Вопрос звучит так:
Если установлена защита на частоту срабатывания дискретного выхода, то почему с увеличением в проекте количества дискретных выходов, но с той же частотой срабатывания,  количество срабатываний выходов до включения защиты уменьшается? Ведь частота срабатывания каждого выхода от количества выходов не меняется.
Это важно уже для меня, поскольку интересуют возможности контролера для управления 2-х и 3-х позиционными регуляторами.
Попутный вопрос: защиты по частоте и длительности срабатывания дискретных входов, надеюсь, нет?
Название: Re: Спустя некоторое время перестаёт работать программа
Отправлено: mike от 04 ноября 2015, 20:47:36
А ядро так устроено, что у него общая временная квота. Я просто изначального вопроса не понял.
А что касается защиты - уж не обессудьте. Релюхи бортовые, мы обязаны их защитить от шаловливых ручек.

Что касается векторных ИМ. Можно ими управлять. Я ставлю минимальную длительность 500мс и паузу между импульсами 500мс. И укладываюсь в регламент
Название: Re: Спустя некоторое время перестаёт работать программа
Отправлено: novtoxa от 09 ноября 2015, 20:10:23
Вкладываю проэкт, может подскажите в чём дело?
Название: Re: Спустя некоторое время перестаёт работать программа
Отправлено: novtoxa от 09 ноября 2015, 20:18:09
Может я слишком часто клацаю релюшками? Но что делать если это необходимо?
Название: Re: Спустя некоторое время перестаёт работать программа
Отправлено: mike от 10 ноября 2015, 07:36:18
Да, у вас слишком короткий цикл переключения.
Для диагностики используйте переменную ERR, я про нее писал.

Что касается "Но что делать если это необходимо?"
Слишком частое срабатывание реле негативно сказывается на его здоровье.
Для быстрых переключений используют электронные ключи
Название: Re: Спустя некоторое время перестаёт работать программа
Отправлено: novtoxa от 13 ноября 2015, 17:54:40
С вариантом прошивки ядра 2 и старой Z-FBD всё работает, а реле часто срабатывает только если через сан-пропускник люди идут потоком. Это случается только утром и вечером, т.е. 2 раза в сутки. Думаю, что на здоровье реле это не сильно отразиться, тем более коммутируемые токи малые.
Жаль, что из-за этих проблем пришлось снаряжать отдельную командировку, которая потянула не мало средств, т.к. объект находится в Крыму.
Название: Re: Спустя некоторое время перестаёт работать программа
Отправлено: mike от 13 ноября 2015, 21:04:41
У реле есть важный параметр - частота срабатывания. Мы придерживаемся нормативной документации производителя реле.