Просмотр полной версии : Сколько отжирает Task ?
Нет ли оценки -- сколько накладных расходов случается при вызове задачи? ПЛК73 у меня.
Ну, те грубо говоря, как часто нужно дергать задачу по таймеру, чтобы она не успевала ничего, кроме как войти и выйти?
Николаев Андрей
19.12.2015, 13:38
Задача теоретическиая или можно изложить, чтобы можно было понять цель мероприятия?
Задача теоретическиая или можно изложить, чтобы можно было понять цель мероприятия?
У меня есть развеситый алгоритм, работу которого хочется логгировать в посл. порт. Хочу прикинуть осмысленность такого подхода -- логи складываются в буфер, а задача, запускаемая по таймеру, вычитывает буфер в порт.
сколько накладных расходов случается при вызове задачи
Абсолютно столько же сколько обычный поу с таймером.
Камень - один.
Проще померить оказалось)
Короче, на 115200-8N1 строка в 50 символов успевает отправиться при интервале между задачами ровно 10 мс. При 8 мс строки стабильно выпадают, при 9 -- иногда.
За 10 мс в идеале мы отослали бы примерно 115 байт. Ну, еще в коде у меня конкатенация строк, тоже что-то жрет.. но грубо -- какие-то единицы мс на вызов задачи и возврат уходят.
Пожалуй, не стоит оно того, проще слать строку прямо по месту.
Всем спасибо )
За 10 мс в идеале мы отослали бы примерно 115 байт.
115 ? Сильно сказано ))
Абсолютно столько же сколько обычный поу с таймером.
Камень - один.
У текущей задачи нет контекста, который надо сохранять?
115 ? Сильно сказано ))
какие возражения?
У текущей задачи нет контекста, который надо сохранять?
Какой ? Обычная подпрограмма со static-переменными.
какие возражения?
Заявленная скорость (115200) в недоумении 8(
А в сочетании с протоколом (RTU - ?) - тем паче.
протокола нет, голая строка в порт без подтверждения
115200 бод, 8N1. старт-бит и один стоп-бит, итого вся посылка 10. 11520 байт/сек. За 10 мс получается 115, не?
А с переключением -- а разве текущую задачу не могут прервать?
.. голая строка в порт без подтверждения
А накой такой сферический конь в ваккуме ?
.., не?
Не. Коня этого в реальной задаче так не разгоните. Спотыкатся будет. О землю.
.. а разве текущую задачу не могут прервать?
Кто ?
Конь -- логи в терминал
Про переключения -- а, точно, там (тут) же задачи не прерываются.
Протокола нет, голая строка в порт без подтверждения.
Канальный уровень. Приложения с этим работают ?
Вы в натуре - спытайте.
а, точно, там же задачи не прерываются.
Таски тут - ни разу не прерывания. А в таком виде они на.. не нужны.
Канальный уровень. Приложения с этим работают ?
Вы в натуре - спытайте.
Конечно, любая терминалка, тот же PUTTY
Таски тут - ни разу не прерывания. А в таком виде они на.. не нужны.
Пожалуй. Хотя, возможно, что-то будет проще читаться, если отдать выполнение системному шедулеру, а не самому его писать.
возможно, что-то будет проще читаться, если отдать выполнение системному шедулеру, а не самому его писать.
Для квадратиков CFC наглядно - внешний таймер с выходом на EN подпрограммы.
Насчет проще читаться - это бабушка на двое сказала. Мне вот на поле plc_prg лучше видно кто, когда и за кем вызывается
Конечно, любая терминалка, тот же PUTTY
Я не зря подчеркнул приложения. Обойти сетевой/транспортный уровень - можно. Но это как вызов врача-соседа. Не показатель скорости реагирования неотложки.Не масштабируемо и привязано к конктерному месту. И у Вас же
.. развеситый алгоритм..
Вот и спытайте с ним на натуре ))
мы изрядно отвлеклись. Я по прежнему считаю, что за 10 мс максимальный поток данных в порт -- 115 байт)) То, что я этим потоком не смогу работать с Modbus - несомненно. Эти логи мне нужны для отладки, собственно, тормозить брейк-пойнтом работу установки может быть неправильно.
Скажем так. 115 байт без гарантий целостности и отсутствия потерь. В соседней ветке творцы хотели разбирать по этому аварии. Разберутъ .. )
По теме - пост №4
какие ошибки и потери на двухметровом кабеле до ноутбука?!
PS в полях -- нет никакого ноутбука, конечно. Все планируется на МСД-200 сбрасывать. Но текст на экране по ходу отладки программы -- куда удобнее.
Тут не 2м. Тут нужно гарантированно генерить медленней реальной отправки. Или тормозим генерацию - теряем данные у себя, или "бассейн 3 литра втекло/ 2 литра вытекло" и теряем данные в системе.
Кодесис, например, не просто так вместо текстовой консоли для отладки имеет систему мониторинга значений переменных. Для ПЛК несвойственно генерить сиюминутные тексты. Там, где на Андроиде при разработке приложения можно плюнуть сотню-другую сообщений в отладчик и потом отфильтровать ненужное, на ПЛК надо кропотливо отслеживать разность между состояниями.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot