Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 22

Тема: Как увеличить время цикла ПЛК или время периода Watchdog

  1. #11

    По умолчанию

    Цитата Сообщение от Anatol_rus Посмотреть сообщение
    Это слишком усложнит задачу моего диплома,т.к. цикл самого gkr уже задействован
    Это ж стандартная технология программирования на языках МЭК. В одной главной программе пишется подряд куча всяких штук, одна, за одной. Все они работают как бы параллельно. Посмотрите язык LD. Там в одной программе может быть ..000 цепей и все в одном цикле. Вы пытаетесь программировать ПЛК как компьютер. Отсюда встречное сопротивление программной среды.

    В эмуляторе CoDeSys цикл соответствует тику таймера PC около 55 мс. Не вписаться в цикл тут просто не реально при всем желании. Это ж надо большую кучу вычислений с типами реал в одном месте навалить, все это в цикл завернуть на безумное число итераций… Даже если на ПЛК Овен (правильно) написать Большую программу управления Большим андронным коллаидром, то не будет она такую длительность цикла иметь….

  2. #12

    По умолчанию

    Для понимания того, что говорит Игорь надо сделать простое действие.
    Напишите оч. простую программу:
    a:=a+1; (тип переменной любой кроме Bool )
    И что называется почувствуйте разницу Так как в Си для такого ж эффекта пришлось писать for...

  3. #13

    По умолчанию

    Цитата Сообщение от Anatol_rus Посмотреть сообщение
    Это слишком усложнит задачу моего диплома
    если это для диплома.... оставьте как есть. все равно из комиссии ни кто вникать не будет. имхо.

  4. #14

    По умолчанию

    Цитата Сообщение от Jeck Посмотреть сообщение
    если это для диплома.... оставьте как есть. все равно из комиссии ни кто вникать не будет. имхо.
    Будет У нас дедок там есть он еще в начале 50 на 1 из 3 тогда в союзе существующих кампов прогал рассчеты балестических траекторий ракет))
    А на счет а := a + 1, ет я так понимаю последовательно создать несоклько PLC_PRG сделать??а в какой последовательности они вызываются?И как самому эту последовательность сделать??

  5. #15

    По умолчанию

    А на счет а := a + 1, ет я так понимаю последовательно создать несоклько PLC_PRG сделать??
    проведите простой эксперимент. новый проект. единственое POU - PLC_PRG на ST. В PLC_PRG прописываете а := a + 1; . Больше ни чего! Подключаетесь и смотрите, что происходит с переменной "а".

  6. #16

    По умолчанию

    Цитата Сообщение от Jeck Посмотреть сообщение
    проведите простой эксперимент. новый проект. единственое POU - PLC_PRG на ST. В PLC_PRG прописываете а := a + 1; . Больше ни чего! Подключаетесь и смотрите, что происходит с переменной "а".
    Яне дурак ,я понимаю что она будет на каждом цикле прохода программы инкремироваться,я говорю про то как управлять несколькими PLC_PRG??Мне надо в опредиленной последовательности чтоб они запускались вот я и спрашиваю как ето делается

  7. #17

    По умолчанию

    Цитата Сообщение от Anatol_rus Посмотреть сообщение
    как управлять несколькими PLC_PRG??
    с названием PLC_PRG - может бы толька одна POU. как управлять? вариантов много.
    можно так http://www.owen.ru/forum/showpost.ph...96&postcount=8 тоесть через IF THEN ELSE и таймеры или счетчики.
    можно так http://www.owen.ru/forum/showpost.ph...5&postcount=36
    можно написать PLC_PRG на SFC и расписать отдельные шаги по ветвям.
    и д.р.
    вы лучше нам расскажите, что вы там вызываете 1000 и 1 раз... может быть коллективный разум ( овен-форум ) найдет более элегантное решение...
    Последний раз редактировалось Jeck; 03.03.2009 в 01:19.

  8. #18

    По умолчанию

    Цитата Сообщение от Jeck Посмотреть сообщение
    с названием PLC_PRG - может бы толька одна POU. как управлять? вариантов много.
    можно так http://www.owen.ru/forum/showpost.ph...96&postcount=8 тоесть через IF THEN ELSE и таймеры или счетчики.
    можно так http://www.owen.ru/forum/showpost.ph...5&postcount=36
    можно написать PLC_PRG на SFC и расписать отдельные шаги по ветвям.
    и д.р.
    вы лучше нам расскажите, что вы там вызываете 1000 и 1 раз... может быть коллективный разум ( овен-форум ) найдет более элегантное решение...
    1000 раз я опредиляю радиус запаса устойчивости системы разомкнутой по главной обратной связи,и из нах беру лежащий наиболее близко к действительной оси
    И после контроллера WinCon 8000 со средой программирования С# для меня это дико что из-за 1000 итераций возникаю такие проблемы(((
    Последний раз редактировалось Anatol_rus; 03.03.2009 в 09:33.

  9. #19

    По умолчанию

    Цитата Сообщение от Anatol_rus Посмотреть сообщение
    1000 раз я опредиляю радиус запаса устойчивости системы разомкнутой по главной обратной связи,и из нах беру лежащий наиболее близко к действительной оси
    И после контроллера WinCon 8000 со средой программирования С# для меня это дико что из-за 1000 итераций возникаю такие проблемы(((
    Вы пытаететь 1000 раз определить радиус за 1 цикл контроллера?
    Что это за алгоритм такой интересно, перебор какой-то?

  10. #20

    По умолчанию

    Anatol_rus,WinCon-8000 по сути не контроллер, а компьютер. отсюда и различия.
    значит делайте так -
    1 цикл перебор 100 значений
    2 цикл перебор 100 значений
    3 цикл перебор 100 значений
    4 цикл перебор 100 значений
    5 цикл перебор 100 значений
    6 цикл перебор 100 значений
    7 цикл перебор 100 значений
    8 цикл перебор 100 значений
    9 цикл перебор 100 значений
    10цикл перебор 100 значений
    11цикл выбор подходящего значения
    Последний раз редактировалось Jeck; 03.03.2009 в 11:47.

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Ваши права

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