Страница 2 из 5 ПерваяПервая 1234 ... ПоследняяПоследняя
Показано с 11 по 20 из 48

Тема: Многопоточность

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Вообще то, вопрос многозадачности намного глубже и, наверное разработчикам нужно как то более подробно его осветить. Ну с поточной многозадачностью вроде понятно - задачи выполняются последовательно. Если циклы разные, то тоже можно задачу с меньшим циклом прокручивать несколько раз в более долго играющей, но если у нас несколько таких программ (для наглядности штук 20) и все с разными циклами как поведет себя контроллер? И, наверное более актуальный вопрос: а как при разных циклах программ происходит считывание и запись входов-выходов? Для каждой задачи по отдельности или все вместе? А если данные из одной задачи используются в другой?
    А какое максимальное количество задач можно формировать в проекте?

  2. #2
    Пользователь
    Регистрация
    09.08.2013
    Адрес
    Башкортостан
    Сообщений
    236

    По умолчанию

    Если у меня выполняется программа по таймеру с приоритетом 2 и она довольно длительная. Во время ее выполнения произойдут 2 события (с дискретных входов) и еще одно по таймеру с приоритетом 1. Все события в т.ч. события от таймера ставятся в очередь и выполнятся в любом случае или могут быть пропущены?

  3. #3

    По умолчанию

    Что вы называете событиями с дискретных входов? Если их срабатывания - то опрос состояния входов производится перед выполнением программы - это основы ПЛК.

  4. #4
    Пользователь
    Регистрация
    09.08.2013
    Адрес
    Башкортостан
    Сообщений
    236

    По умолчанию

    А если "сработавшие" дискретные входы используются в другой программе? И при этом в настоящее время выполняется длительная программа со 2 приоритетом и сработал таймер программы с первым приоритетом.
    Расскажите пожалуйста новичку алгоритм обработки событий и приоритетов.

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

    По умолчанию

    Цитата Сообщение от Smith2007 Посмотреть сообщение
    А если "сработавшие" дискретные входы используются в другой программе? И при этом в настоящее время выполняется длительная программа со 2 приоритетом и сработал таймер программы с первым приоритетом.
    Расскажите пожалуйста новичку алгоритм обработки событий и приоритетов.
    а Вы бы выложили тех.задание сюда, там может окажется что и многозадачность в Вашем понимании излишняя, да и тому кто будет объяснять станет легче раскрыть вопрос

  6. #6

    По умолчанию

    Не нужно так категорично про основы ПЛК. На сегодняшний день есть т.н. бстрые входы, которые могут изменять данные не подчиняясь законам цикла. И у ПЛК Овен они тоже есть, но в документации написано, что независимо от времени цикла они обрабатывают сигналы от счетчиков и энкодера, а вот о возможности запуска от них задач - ни слова! Скорее всего, нельзя. Хотелось бы услышать версию разработчиков!

  7. #7
    Пользователь
    Регистрация
    09.08.2013
    Адрес
    Башкортостан
    Сообщений
    236

    По умолчанию

    http://www.owen.ru/forum/showthread....l=1#post116902

    Кроме этого есть еще задача мониторинга температуры, протечки (5 датчиков), авария электропитания. Не могу быть уверенным, что на этом все закончится
    Видимо только во вкус вхожу. Понравилась мне идея смски отправлять при возникновении нештатной ситуации.

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

    По умолчанию

    один плк160 справиться и в одном потоке

  9. #9

    По умолчанию

    Многозадачность требуется если есть ряд задач, к-е большую часть времени ничего не делают (ждут события), но при этом следующее время запуска неизвестно, т.е.нельзя использовать таймер.
    Если же у вас 2 (3, 5, 1000) задач, которые надо вызывать по расписанию - просто вызывайте их по расписанию, желательно составив его так, чтобы нагрузка была равномернее.

    P.S. "А если "сработавшие" дискретные входы используются в другой программе? И при этом в настоящее время выполняется длительная программа со 2 приоритетом и сработал таймер программы с первым приоритетом." - Какая "длинная задача", которую нельзя прервать? Разбейте длинную задачу на 1000 мелких - и в промежутках проверяйте состояние критических высокоприоритетных задач. Так будет надёжнее и предсказуемей.
    Тролль-наседка, добрый, нежный и ласковый

  10. #10

    По умолчанию

    К слову сказать, Господа Разработчики, а существует ли возможность на ПЛК Овен создать полноценное аппаратное прерывание по сигналу с любого входа со временем реакции, ну хотя бы 10мкс?

Страница 2 из 5 ПерваяПервая 1234 ... ПоследняяПоследняя

Ваши права

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