-
на плк100 время-от времени происходит сброс видимо программы и всех Retain - переменных. с чем это может быть связано?
как настраиваются тайм-ауты, и как посмотреть время выполнения цикла?
и при сбросе через кнопку на ПЛК? и при самостоятельном сбросе не запускается POU, отмеченный в конфигурации задач как after_reset
есть-ли вообще документация по настройке системных событий в ПЛК100?
что означают входные параметры
dwEvent, dwFilter и dwOwner?
какое значение должна возвращать функция-обработчик системного события?
вот проектPro5.ZIP
вот конфиги и логи
SAVE.ZIP
что означают такие строчки в debug.txt
17 E PLC was reset by watchdog!
3 M Last run module Id =450
3 M Last post module Id =101
как мне определить по номеру в каком POU произошло зависание?
17 E PLC was reset by watchdog!
3 M Last run module Id =100
3 M Last post module Id =101
что за POU номер 100?
что значит сообщение codesys-а "одна или более библиотек изменились со времени предыдущей загрузки проекта?
я ставил на 2 компьютера один и тот же дистрибутив Codesys 2.3.9.9
нужно ли заменять после установки этой версии ее библиотечки на те, что лежат в папке Библиотеки CoDeSys\ на диске ПЛК100 версии 8.12?
может ли это повлечь глюки?
Последний раз редактировалось Николаев Андрей; 09.02.2010 в 11:57.
-
Супер Модератор
1. Записана ли у Вас программа во Flash (делали ли Вы команду Создание загрузочного проекта\Creat Boot Project)?
2. Номера ID в Debug.txt не как не коррелируют с POU в CoDeSys - Debug.txt - файл для нашего программиста.
3. У Вас происходит перезагрузка по WatchDog. То есть где то в программе происходит зависание. Разбирайтесь с программой от маленького к большому. По работе с Ewents - мануал по CoDeSys.
4/ Обновите библиотеки, раз он так просит - ничего плохого не будет. Хотя конечно хорошо бы глянуть на какие именно библиотеки он ругается (должны быть красными в Library Manager).
5. Посмотреть цикл контроллера и свободное время можно добавив модуль статистика в конфигурации ПЛК. Описание модуля в РП PLC Configuration есть.
-
вот обновленный проект и логи
pro2.zip
save2.zip
есть ли разница между Watchdog reset и сброс по нажатию кнопки сброс?
после нажатия кнопки не происходит запуск программы, настроенной в системном событии after_reset, соответственно не загружаются парамерты
1. программа Записана на Flash
кстати, что будет если произойдет сброс, а файла retain.bin еще нет? (не было пропадания питания) откуда возьмутся Retain переменные?
2. Номера ID в Debug.txt не как не коррелируют с POU в CoDeSys - Debug.txt -
- методом тыка выяснил, что комбинация
3 M Last run module Id =100
3 M Last post module Id =101
в файле debug.txt означает сброс кнопкой.
кстати, размер файла ограничен? он не может вырасти так что файловая система начнет буксовать?
4. Обновите библиотеки, раз он так просит - ничего плохого не будет. Хотя конечно хорошо бы глянуть на какие именно библиотеки он ругается (должны быть красными в Library Manager).
-- красных библиотек нет, и сообщение возникает только при первом открытии
5. Посмотреть цикл контроллера и свободное время можно добавив модуль статистика в конфигурации ПЛК. Описание модуля в РП PLC Configuration есть.
CycleTime in 100 mks скачет от 5 до 8
Free processor Resources in 1 cycle = 29552 - что это значит?
MinCycleLength = 30ms
MaxCycleLength=1000ms
Последний раз редактировалось dima-profi; 09.02.2010 в 13:42.
-
в результате сегодняшней отладки я выяснил, что использование Retain persistent переменных в моем случае бесполезно - они не восстанавливаются при сбросе, сделал сохранение и чтение части переменных из файла, а как раз проверку на необходимость загрузки из файла - путем проверки на 0 retain переменной, у которая используется в программе как константа и у нее никогда не бывает нуля в значении
Система, управляемая этим ПЛК и всегда может быть приведена в начальное состояние и работает настолько медленно, что сброс контроллера происходит практически незаметно.
Сброс бывает один раз в несколько часов. отловить его трудно, занимаюсь ловлей....
Последний раз редактировалось dima-profi; 09.02.2010 в 13:50.
-
MinCycleLength = 30ms - это очень много.
Free processor Resources in 1 cycle = 29552 - что это значит? - это значит, что 29552 из 30000 мс в цикле процессор ничего ни делал. Т.е. у Вас цикл ПЛК завышен раз в 30.
Какой у Вас ПЛК? прошивка?
-
ПЛК100K-M прошивка 2.10.9.
Когда я ставил MinCycleLength = 50ms, то Free processor Resources in 1 cycle выдавал вообще отрицательные значения, может переполнение?
может мне поставить MinCycleLength=0?
в PLC-PRG все равно абсолютно все операции висят на двух таймерах, причем обработка команд с панели (которые поступают очень-очень редко) висит на таймере с периодом 200 миллисек, все остальные на таймере - 1 сек.
где описаны параметры обработчика системных событий?
в файле CoDeSys_V23_RU.pdf в пункте "6.7.3 Системные события" дано лишь очень краткое описание, ничего конкретного.
какие из системных событий поддерживаются ПЛК100?
ответьте, пожалуйста и на другие вышеозначенные вопросы...
Последний раз редактировалось dima-profi; 09.02.2010 в 18:37.
-
MinCycleLength=1 или =2 - Ваш вариант.
Системные события" дано лишь очень краткое описание, ничего конкретного.
какие из системных событий поддерживаются ПЛК100? - поставьте таргет 2.10 и там будут ве поддерживаемые события. Которых не будет - не поддерживаются.
-
подскажите, могут-ли происходить подвисания при адресации элементов массива таким образом:
VAR sel:POINT TO graf_elem;
...
sel:=ADR(chconf[ch].graf[gr]); где graf - массив из graf_elem
sel^.wd:=set_wd;
-
если вышли за границы массива или обращаетесь к невыровненному элементу - может. проверяйте указатель на Null и на принадлежность массиву.
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума