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

Тема: Не выполняется PLC_PRG

  1. #1

    По умолчанию Не выполняется PLC_PRG

    Добрый день,
    Пытаюсь запустить проект в режиме эмуляции, но PLC_PRG не выполняется. На вкладке POU названия скриптов светло серого цвета (как будто неактивны), кроме одного POU, который повесил в конфигураторе задач на прерывание по таймеру. Если зайти в этот POU, то видно, что симуляция работает: номера строк подсвечиваются зеленым цветом, переменные меняют свои значения. Если же войти в PLC_PRG, то номера строк светло-серого цвета, в значениях локальных переменных отображаются три знака вопроса (???).
    Целевая платформа проекта PLC110.60-Mv2. В Конфигурации ПЛК MinCycleLength - 10мсек, MinCycleLength - 1000мсек.
    В конфигураторе задач создал еще одну задачу по таймеру, поставил ей время цикла 10мсек, приоритет 1 и повесил на нее PLC_PRG. Теперь все работает, но не хотелось бы оставлять костыль. Судя по документации Codesys так организован, что PLC_PRG должен выполняться в цикле. Может где-то нужна настройка для автоматического запуска PLC_PRG?

  2. #2
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,224

    По умолчанию

    Цитата Сообщение от S#716_0P Посмотреть сообщение
    Судя по документации Codesys так организован, что PLC_PRG должен выполняться в цикле. Может где-то нужна настройка для автоматического запуска PLC_PRG?
    судя по документации, использование задач превращает PLC_PRG в обычное не запускаемое ПОУ
    Изображения Изображения
    • Тип файла: png owen.png (31.4 Кб, Просмотров: 76)
    Последний раз редактировалось capzap; 06.09.2017 в 09:59.
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  3. #3
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    1,087

    По умолчанию

    Раз вы используете конфигуратор задач, то для PLC_PRG лучше сделать тип задачи "Свободная"

  4. #4

    По умолчанию

    Спасибо, подействовало! Убрал все задачи из конфигуратора задач и PLC_PRG заработал. Затем добавил PLC_PRG, поставил ей тип "Свободная" (freewheeling) и добавил еще одну задачу по таймеру - обе работают. Но нужно ставить приоритет дополнительных задач таким же или выше, чем у PLC_PRG иначе PLC_PRG работает, а остальные задачи - нет. Интересно будет попробовать это косяк симулятора или все таки проблема с Овеном.
    И пока не удалось повесить задачу на системное событие. Нужно при старте контроллера запускать однократно задачу. Повесил ее на событие start, но POU так и остается неактивным (светло-серый).

  5. #5
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    1,087

    По умолчанию

    Цитата Сообщение от S#716_0P Посмотреть сообщение
    И пока не удалось повесить задачу на системное событие. Нужно при старте контроллера запускать однократно задачу. Повесил ее на событие start, но POU так и остается неактивным (светло-серый).
    Я подозреваю, что это аппаратно-зависимое событие и в эмуляторе просто не работает

  6. #6

    По умолчанию

    Спасибо. Тогда пока не буду заморачиваться, потом попробую на контроллере.

  7. #7

    По умолчанию

    Цитата Сообщение от S#716_0P Посмотреть сообщение
    Но нужно ставить приоритет дополнительных задач таким же или выше, чем у PLC_PRG иначе PLC_PRG работает, а остальные задачи - нет. Интересно будет попробовать это косяк симулятора или все таки проблема с Овеном.
    Это не косяк с нашими контроллерами. Это нормальное поведение.
    Задача типа Freewheeling добавляется в очередь на выполнение в момент завершения.
    Если в очереди есть несколько задач - предпочтение отдается задаче с более высоким приоритетом.

    Т.е. возникает ситуация, когда в очереди всегда есть задача (PLC_PRG) с наибольшим приоритетом.
    Поэтому менеджер задач всегда отдает предпочтение ей и остальные задачи не выполняются.

  8. #8

    По умолчанию

    Понятно.
    Значит если нужно, чтобы запускались несколько задач, то нужно ставить их с одним приоритетом.

Похожие темы

  1. Ошибка 4051: PLC_PRG: не является функцией
    от Denis_Kay в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 03.11.2016, 11:36
  2. PLC_PRG на SFC или ST? За и против.
    от Антон_Б в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 25.10.2016, 16:16
  3. Не выполняется установка Codesys V3
    от Дмитрий Артюховский в разделе СПК2хх
    Ответов: 11
    Последнее сообщение: 26.06.2013, 01:27
  4. подключение фб к Plc_prg
    от Сергей_Cyber в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 02.10.2009, 09:51
  5. Функциональный блок в PLC_PRG
    от -=OLeGA=- в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 20.10.2008, 20:32

Ваши права

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