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

Тема: Ошибка при тестировании программы

  1. #1

    Angry Ошибка при тестировании программы

    Есть алгоритм,ему нужно крутонуться в цикле 1001 раз,но уже на 48 круге возникает ошибка((,что она значит и как решить проблему,подскажите пожайлуста))
    PrintScreen ошибки прилагается.
    Разрабатываю программу на Овен ПЛК 150 У-М,прошивка 2.02
    Изображения Изображения

  2. #2

    По умолчанию

    срабатывает охранный таймер.
    Время цикла ПЛК должно быть меньше отработки POU

  3. #3

    По умолчанию

    А как можно это обойти возможно ли его отключить,т.к. контроллер будет работать с медленными объектами,где время не меньше 0.5секунды??
    И я чет не пойму ,может цикл плк должен быть больше отработки POU(т.е. моей проги)?

  4. #4

    По умолчанию

    1 цикл в ПЛК всегда выполняется - глобальный цикл выполнения программы.
    Если Вы разобъёте свой 1000 итерационный цикл на 100 10 итерационный, к примеру, всё заработает.
    А Watchdog срабатывает через 1 секунду - нет таких задач, к-е бы требовали выполнения в течении 1 секунды и их нельзя было бы прервать и разбить на кусочки.

  5. #5

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    1 цикл в ПЛК всегда выполняется - глобальный цикл выполнения программы.
    Если Вы разобъёте свой 1000 итерационный цикл на 100 10 итерационный, к примеру, всё заработает.
    А Watchdog срабатывает через 1 секунду - нет таких задач, к-е бы требовали выполнения в течении 1 секунды и их нельзя было бы прервать и разбить на кусочки.
    Если я правильно понял просто :
    for i := 1 to 100 do
    for j := 1 to 10 do
    - а здесь делать что мне нужно??
    end_for;
    end_for;
    Я правильно вас понял,и все это выполняется в 1 функциональном блоке.
    Если ет не правильно то если не трудно киньте код как разбить чтоб WatchDog не ругался))
    Последний раз редактировалось Anatol_rus; 01.03.2009 в 19:35.

  6. #6

    По умолчанию

    Полагаю, имеется ввиду, что вводится

    for j := 1 to 100 do
    здесь ваши действия, которые в цикле выполняются
    end_for;

    и за 10 циклов ПЛК получается тоже самое что и

    for j := 1 to 1000 do
    здесь ваши действия, которые в цикле выполняются
    end_for;

    естевственно с поправкой по индексу

Ваши права

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