Страница 9 из 16 ПерваяПервая ... 7891011 ... ПоследняяПоследняя
Показано с 81 по 90 из 157

Тема: Конфигуратор vs modbus.lib

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

    По умолчанию

    Цитата Сообщение от spectrum48k Посмотреть сообщение
    Сергей, не спешите приписывать мне патологическое расстройство сознания - вы не психиатр) Мой "бред" как раз опровергает это:
    тогда из чего складывается 80мс в Вашей задумке?
    И почему опрос обязательно должен идти в параллельной задаче?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  2. #82

    По умолчанию

    Мои 80мс предполагают следующую ситуацию:
    1) Буффер отправлен ведомому;
    2) Выполняется программа основного алгоритма (~10мс, "с потолка"); (Это еще почти идеальный вариант без PID-регуляторов)
    3) MinCycleLenth 1мс;
    4) Ответ ведомого: принят полностью (идеальная ситуация);
    5) Таймер 3мс считает, разбор буффера еще не начинался;
    6) Выполняется программа основного алгоритма (~10мс);
    7) MinCycleLenth 1мс;
    8) Таймер 3мс Q=TRUE , обработка буффера , DONE;
    9) переход к шагу 1;

    (Добавочное) Время выполнения для 8 регистров/ 8 ведомых = 8x3 мс + 8x10 мс = 80 --- 104 мс в данном примере.

    Такой порядок действий соответствует программе, в которой MODBUS.PRG и CONTROL.PRG выполняются в одной задаче.

    Я считаю, что обмен нужно выносить в отдельную задачу для оптимизации обмена. И само собой без таймера 3мс
    У меня есть работающий объект, в котором вертится 3 отдельных задачи (Modicon M238, Somachine V3.1=Codesys V3.4): 1)Основной алгоритм (циклическая 100мс) 2) Modbus (циклическая 10мс, местная библиотека, похожая на Mosbus.lib) 3) Низкоприоритетные операции (циклическая 800мс).
    Последний раз редактировалось spectrum48k; 19.09.2015 в 13:37.

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

    По умолчанию

    Цитата Сообщение от spectrum48k Посмотреть сообщение
    Мои 80мс предполагают следующую ситуацию:
    1) Буффер отправлен ведомому;
    2) Выполняется программа основного алгоритма (~10мс, "с потолка"); (Это еще почти идеальный вариант без PID-регуляторов)
    3) MinCycleLenth 1мс;
    4) Ответ ведомого: принят полностью (идеальная ситуация);
    5) Таймер 3мс считает, разбор буффера еще не начинался;
    6) Выполняется программа основного алгоритма (~10мс);
    7) MinCycleLenth 1мс;
    8) Таймер 3мс Q=TRUE , обработка буффера , DONE;
    9) переход к шагу 1;

    (Добавочное) Время выполнения для 8 регистров/ 8 ведомых = 8x3 мс + 8x10 мс = 80 --- 104 мс в данном примере.

    Такой порядок действий соответствует программе, в которой MODBUS.PRG и CONTROL.PRG выполняются в одной задаче.

    Я считаю, что обмен нужно выносить в отдельную задачу для оптимизации обмена. И само собой без таймера 3мс
    У меня есть работающий объект, в котором вертится 3 отдельных задачи (Modicon M238, Somachine V3.1=Codesys V3.4): 1)Основной алгоритм (циклическая 100мс) 2) Modbus (циклическая 10мс, местная библиотека, похожая на Mosbus.lib) 3) Низкоприоритетные операции (циклическая 800мс).
    Вы путаете как работает программа в ЯВУ и плк, ни кто не ждет отсчета работы таймера, в следующем цикле проверяется состояние текущего времени и уставки таймера и если оно превышает подается положительный сигнал на выход таймера
    По поводу 8 регистров снял видео, какие там 80мс?
    Вложения Вложения
    • Тип файла: rar output.rar (316.4 Кб, Просмотров: 21)
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  4. #84
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,256

    По умолчанию

    Цитата Сообщение от spectrum48k Посмотреть сообщение
    Мои 80мс предполагают следующую ситуацию:
    1) Буффер отправлен ведомому;
    ..
    9) переход к шагу 1;
    ..
    Такой порядок действий соответствует программе, в которой MODBUS.PRG и CONTROL.PRG выполняются в одной задаче.
    .
    При всем уважении - такой порядок действий у приведенного Вами алгоритма.
    А что Вы называет одной задачей ? НЕиспользование местного конфигуратора задач ?

  5. #85

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Вы путаете как работает программа в ЯВУ и плк, ни кто не ждет отсчета работы таймера, в следующем цикле проверяется состояние текущего времени и уставки таймера и если оно превышает подается положительный сигнал на выход таймера
    По поводу 8 регистров снял видео, какие там 80мс?
    Само собой не ждет! Я не говорил, что ждет! "Таймер 3мс считает, разбор буффера еще не начинался" ---- проверка выхода "Q" таймера, а не остановка выполнения программы! В этом шаге выход "Q" таймера не установлен, и выполняется выход из ФБ чтения регистров, после этого программа выполняется далее.
    Последний раз редактировалось spectrum48k; 19.09.2015 в 21:52.

  6. #86

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    При всем уважении - такой порядок действий у приведенного Вами алгоритма.
    А что Вы называет одной задачей ? НЕиспользование местного конфигуратора задач ?
    называю это:

    uxMPWLy.png

  7. #87

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    По поводу 8 регистров снял видео, какие там 80мс?
    1pBwDPZ.png

    Это что, подтасовка под результат? Какая quantity=8 ?? А Вы вот возьмите и считайте 8 не смежных регистров. Или 8 ведомых устройств. 8 запросов и 8 ответов. Почему я по-Вашему умножил время выполнения алгоритма (10мс) на 8 ? Если бы не использовался таймер 3мс, то шагов 6 и 7 вообще бы не было. (Еще раз обращаю внимание, что данный пример учитывает вызов обмена и основной программы в одном Task или в одной PRG). При использовании нескольких задач, это будет неактульно и временные характеристики будут иными.
    Последний раз редактировалось spectrum48k; 19.09.2015 в 22:09. Причина: добавил картинко)

  8. #88

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Вы путаете как работает программа в ЯВУ и плк, ни кто не ждет отсчета работы таймера,
    я тут в соседней теме написал пример собственного таймер, а Вы меня
    вот так после этого унижаете)))

    Без понимания работы мэковских таймеров, как бы я написал свой??))

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

    По умолчанию

    Цитата Сообщение от spectrum48k Посмотреть сообщение
    1pBwDPZ.png

    Это что, подтасовка под результат? Какая quantity=8 ?? А Вы вот возьмите и считайте 8 не смежных регистров. Или 8 ведомых устройств. 8 запросов и 8 ответов. Почему я по-Вашему умножил время выполнения алгоритма (10мс) на 8 ? Если бы не использовался таймер 3мс, то шагов 6 и 7 вообще бы не было. (Еще раз обращаю внимание, что данный пример учитывает вызов обмена и основной программы в одном Task или в одной PRG). При использовании нескольких задач, это будет неактульно и временные характеристики будут иными.
    как то я сильно сомневаюсь, что несколько параллельны задач, в один и тот же порт, будут слать запросы и им за это ничего не будет, Вы точно говорите про модбас, мастер должен быть один и он должен соблюдать стандарты, кстати если перед и после запроса должны быть паузы тишины, то принятое время по умолчанию 1.75 умножив на два получим больше трех, так что автор бибки еще взял время по меньше
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  10. #90

    По умолчанию

    см. иногозадачность в примере применения в #82

Страница 9 из 16 ПерваяПервая ... 7891011 ... ПоследняяПоследняя

Похожие темы

  1. Библиотеки MODBUS.LIB и OWENNET.LIB
    от desperadoes в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 30.01.2014, 20:15
  2. Modbus.lib и МДВВ
    от ПРОЕКТ-П в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 17.05.2013, 15:04
  3. Ответов: 4
    Последнее сообщение: 18.09.2012, 22:16
  4. ПЛК100 и Modbus.lib
    от Slev в разделе ПЛК1хх
    Ответов: 14
    Последнее сообщение: 19.03.2012, 08:22
  5. RTE + Modbus.lib
    от K.I.V. в разделе ПЛК3хх
    Ответов: 10
    Последнее сообщение: 09.07.2008, 10:30

Ваши права

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