Показано с 1 по 9 из 9

Тема: самопроизвольный сброс всех параметров

  1. #1

    По умолчанию

    на плк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.

  2. #2

    По умолчанию

    1. Записана ли у Вас программа во Flash (делали ли Вы команду Создание загрузочного проекта\Creat Boot Project)?
    2. Номера ID в Debug.txt не как не коррелируют с POU в CoDeSys - Debug.txt - файл для нашего программиста.
    3. У Вас происходит перезагрузка по WatchDog. То есть где то в программе происходит зависание. Разбирайтесь с программой от маленького к большому. По работе с Ewents - мануал по CoDeSys.
    4/ Обновите библиотеки, раз он так просит - ничего плохого не будет. Хотя конечно хорошо бы глянуть на какие именно библиотеки он ругается (должны быть красными в Library Manager).
    5. Посмотреть цикл контроллера и свободное время можно добавив модуль статистика в конфигурации ПЛК. Описание модуля в РП PLC Configuration есть.

  3. #3

    По умолчанию

    вот обновленный проект и логи
    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.

  4. #4

    По умолчанию

    в результате сегодняшней отладки я выяснил, что использование Retain persistent переменных в моем случае бесполезно - они не восстанавливаются при сбросе, сделал сохранение и чтение части переменных из файла, а как раз проверку на необходимость загрузки из файла - путем проверки на 0 retain переменной, у которая используется в программе как константа и у нее никогда не бывает нуля в значении

    Система, управляемая этим ПЛК и всегда может быть приведена в начальное состояние и работает настолько медленно, что сброс контроллера происходит практически незаметно.
    Сброс бывает один раз в несколько часов. отловить его трудно, занимаюсь ловлей....
    Последний раз редактировалось dima-profi; 09.02.2010 в 13:50.

  5. #5

    По умолчанию

    MinCycleLength = 30ms - это очень много.
    Free processor Resources in 1 cycle = 29552 - что это значит? - это значит, что 29552 из 30000 мс в цикле процессор ничего ни делал. Т.е. у Вас цикл ПЛК завышен раз в 30.

    Какой у Вас ПЛК? прошивка?

  6. #6

    По умолчанию

    ПЛК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.

  7. #7

    По умолчанию

    MinCycleLength=1 или =2 - Ваш вариант.
    Системные события" дано лишь очень краткое описание, ничего конкретного.
    какие из системных событий поддерживаются ПЛК100? - поставьте таргет 2.10 и там будут ве поддерживаемые события. Которых не будет - не поддерживаются.

  8. #8

    По умолчанию

    подскажите, могут-ли происходить подвисания при адресации элементов массива таким образом:

    VAR sel:POINT TO graf_elem;
    ...
    sel:=ADR(chconf[ch].graf[gr]); где graf - массив из graf_elem

    sel^.wd:=set_wd;

  9. #9

    По умолчанию

    если вышли за границы массива или обращаетесь к невыровненному элементу - может. проверяйте указатель на Null и на принадлежность массиву.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •