Страница 97 из 112 ПерваяПервая ... 47879596979899107 ... ПоследняяПоследняя
Показано с 961 по 970 из 1207

Тема: Обновленный ПЛК110?

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,054

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Но если клиент хочет странного..
    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Однако, М01 также не имеет режима freeweeling. Где вы там его нашли?
    За неимением графини будем иметь служанку.
    В данный момент у меня нет живого МО1, но есть живой ПЛК154. Но смею надеятся - это не нарушит чистоты экперимента, т.к. это вроде еще более младшая модель.
    Если данное обстоятельство является препятствием (ведь речь о МО1), то предполагаю следующие варианты:
    1.Вы подождете некоторое время или проведете самостоятельно нижеуказанный эксперимент с МО1.
    2.Признаю свою ошибку, т.к. ухудшение характеристик произошло не при МО1->МО2, а еще ранее - при ПЛК1xx->ПЛК110(МО1). Не заметил. Готов проставится.
    3.ПЛК154 является более крутой* моделью по сравнению с ПЛК110(МО1). Признаю свою ошибку. С дуру предположил что при более позднем** выходе в серию прибор является более крутым*

    *Под более крутым подразумеваю вычислительные возможности, а не наличие периферии.
    **Кроме явноуказываемых случаев типа 63/ПР и т.п.

    Если же 154 прокатывает, смотрим дальше.
    Простейший код:

    var
    c,i : int; (*для наблюдения нужен только "c"*)
    f : f_trig;
    --------------
    f(CLK := (time_to_dword(time()) mod 1000) > 500);
    if f.q then
    c := i;
    i := 0;
    end_if
    i := i + 1;

    Обмена - нет. Работы со строками - нет. Работы с Ai/Ao/REAL - нет

    1.МинЦ = 1. Запускаем ... и опа. С = 1000. Нормально. Цикл 1мс. Как и ожидал. Статистика показывает свободное время 500..700мкс
    2.МинЦ = 0. Запускаем ... и опа. С = 2400 (в среднем). Цикл 400мкс. Как и ожидал исходя из п.1. Настоящий полковник фривилинг

    Теперь про freewheeling.
    Давайте уточним - что под этим мы подразумеваем. Воспроизвожу любезно предоставленый Вами текст:
    "...задача имеет самый низкий приоритет и выполняется в поледнюю очередь, если процессор не занят выполнением остальных задач"
    Можно уточнить - а какие такие "остальные задачи" выполняются в п.1, каких нету в п.2 ?
    При упоминании задачи в виде обмена самого КДС с ПЛК (ведь в онлайне) - отвечу что данный обмен был одинаковый для п.1 и п.2

    Теперь про то что фривилинг "самый быстрый".
    1.Ниже сравниваем задачи с одним уровнем приоритета и временем исполнения, в противном случае разговор не имеет смысла.
    2.Наивные люди могут считать что задача с временем исполнения в 100мс, и МинЦ=1мс будет выполнятся 1000 раз за секунду. Но мы как взрослые люди понимаем, что задаваемый цикл реализуется фактически как "по возможности, но не чаще периода" - как Вы и сказали.
    3.Из п.2 вытекает что при сравнении 2х задач (п.1) с разным МинЦ, цикличность МинЦ=0 (фривилинговой) будет >= цикличности (МинЦ > 0) другой.
    Признаю что формулировка "самый быстрый" не совсем точная. Точная формулировка - "быстрее фривилига ничего (п.1) нет"

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    ..будут вопли "Оно не так работает, как я мерил!...
    Т.е. Вы утверждаете что при текущем положении вещей любой замер истинной цикличности всегда покажет равенство с заданной цикличностью ?

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Валенок, я думаю наличкой/безналом пойдёт. Кастомное производство прошивок под клиента у нас есть. Дорого не возьмём.
    Просьба озвучить сумму. Хочется все таки знать сколько стоит разработка революционного кода. Который в том или другом виде уже присутствовал в более ранних разработках. Да и принципе - почему бы и нет. Круг задача иногда меняется - вдруг потребуется.

  2. #2

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Т.е. Вы утверждаете что при текущем положении вещей любой замер истинной цикличности всегда покажет равенство с заданной цикличностью ?
    Никого не интересует скорость поезда на перегоне. Всем нужно точно в срок приехать на вокзал.
    Тролль-наседка, добрый, нежный и ласковый

  3. #3

    По умолчанию

    ваши рассуждения про "сферического коня в вакууме" )) понятно, что когда плк нужно сделать i++ за цикл и не нужно это никуда посылать - то все круто! но в реальной жизни есть куча служебных задач синхронных и асинхронных.. практически все задачи ТАУ требуют точного следования кванту времени, иначе все управление напоминает прогноз погоды "по чукче" ...

    ну и кстати, по пункту 2 - так было давно!!! (самая любимая прошивка 2.10.9 где точно так происходит) - сейчас (плк110м02) при вываливании пользовательского кода за выбранное время цикла наказывают "собакой" !

    они, как разработчики, отвечают за надежную работу сервисов конфигуратора и прочих встроенных штуковин, вот и подняли приоритет своих задач... ну а пользователь нехай код оптимизирует (ну или делит на 2 устройства!!!)

  4. #4

    По умолчанию

    Павел, мин. цикл используется 2 путями:
    1. У нас маленькая программа, которую мы хотим вызывать раз в 12 мс стабильно. Ставим цикл ПЛК 12 мс и получаем требуемое.
    2. У нас расчёт столкновения 1000 молекул и он занимает 10 мс. Чтобы он выполнялся регулярно, без задержек, предсказуемо, мы ставим цикл 12 мс.

    Если нам не нужно общаться с внешним миром с предсказуемым временем реакции - мы ставим freewheeling, наслаждаемся 2,4 кратным "виртуальным" ускорением и на реальной установке внезапно получаем задержку срабатывания тормоза на суппорте и сломанный станок за 10к баксов.

    P.S. Заказ кастомных прошивок через менеджеров, они и прайс огласят. Если Вам так нужны "шашечки, а не ехать"
    Тролль-наседка, добрый, нежный и ласковый

  5. #5
    Пользователь
    Регистрация
    30.11.2012
    Адрес
    40RUS
    Сообщений
    321

    По умолчанию

    Владислав, спасибо за терпение, но позвольте ещё один вопрос:

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    и на реальной установке внезапно получаем задержку
    Расскажите, пожалуйста, природу возникновения этих задержек. И о каких потенциальных временах задержки идёт речь?
    Напильник, велосипед, бубен, грабли и костыли - основные инструменты программиста.

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

    По умолчанию

    Цитата Сообщение от _Pavel_ Посмотреть сообщение
    Расскажите, пожалуйста, природу возникновения этих задержек. И о каких потенциальных временах задержки идёт речь?
    То же интересно. О природе.

  7. #7

    По умолчанию

    Цитата Сообщение от _Pavel_ Посмотреть сообщение
    Владислав, спасибо за терпение, но позвольте ещё один вопрос:
    Расскажите, пожалуйста, природу возникновения этих задержек. И о каких потенциальных временах задержки идёт речь?
    Jitter есть неотъемлемая часть любого процесса управления, в котором есть ассинхронные задачи/компоненты или код с варьируемым временем выполнения.
    Т.к. Поцессор 1 а задач несколько и они не синхронизованы, загрузка процессора напоминает сильно неровную дорогу. И не важно, что это за задачи.
    Мы можем играть приоритетами задач - однако даже имея самую приритетную задачу, даже с аппаратным шедулером (т.е. прерывание) оно, прерывание, не может быть вызвано немедленно, всегда есть задержка, нестабильная и описанная производителем процессора, в единицы тактов.
    Чем больше задачи-нем нестабильнее работа.
    Есть способы бороться с jitter-ом. Например цикл PRU идеален. Jitter на уровне нестабильности срабатывания оптопар и флуктуаций частоты кварца. Но в PRU 1 задача, никаких прерываний, ветвлений и пр. Уже архивчик не создашь, модули не опросишь.

    В М02 помимо естественного ускорения за счёт более мощного процессор основной упор был сделан на стабильность цикла управления. Для чего применена ОС реального времени. Сейчас jitter на пустой программе (без логина,логин всегда сильно влияет на jitter) не превышает 20% от времени цикла.

    Ну а желающим ехать на шахид-такси, т.к. на поезд опоздал - остаётся только посочувствовать.
    Тролль-наседка, добрый, нежный и ласковый

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

    По умолчанию

    Цитата Сообщение от Дмитрий Артюховский Посмотреть сообщение
    ваши рассуждения про "сферического коня в вакууме" )) понятно,
    что когда плк нужно сделать i++ за цикл и не нужно это никуда посылать - то все круто!
    К примеру такая пони :
    6 x ПЧВ, 2x8А (на них 12pt1000 + 2x0-10в), 8ДФ, 8У, 16Р, ип320, сп270
    ПЛК110-60. Занято 32Di/19Do
    Примерно с десяток логически не связанных систем.
    Параметров разных где-то под 100. Панельки удаленные и синхронные - все равно где менять параметры.Ни одна из панелей необязана быть все время включённой.
    Кстати все на одной линии RS (мне так проще)
    Оцените время минимальное/среднее/максимальное время цикла плк и максимальную реакцию на нажатие панельной кнопки ?

    Цитата Сообщение от Дмитрий Артюховский Посмотреть сообщение
    но в реальной жизни есть куча служебных задач синхронных и асинхронных..
    практически все задачи ТАУ требуют точного следования кванту времени,
    Можно несколько разнородных задач из ТАУ которые требуют точного следования кванту времени ?

    Цитата Сообщение от Дмитрий Артюховский Посмотреть сообщение
    ну и кстати, по пункту 2 - так было давно!!! (самая любимая прошивка 2.10.9 где точно так происходит) -
    сейчас (плк110м02)..
    пункт 2.
    Плк110(мо1) 2.12.7, с = 2960..2970 (а ведь и прям шустрей чем 154, да ? и это - мо1)

    Цитата Сообщение от Дмитрий Артюховский Посмотреть сообщение
    сейчас (плк110м02) при вываливании пользовательского кода за выбранное время цикла наказывают "собакой" !
    Т.е. за превышение МинЦа наказывают собакой ?

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    .. мин. цикл используется 2 путями:
    1...
    2...
    3. У меня алгоритм работы с 1000 молекулами который предполагает обработку различного кол-ва молекул за цикл - от 100 до 1000. Среднее за тысячу итераций (циклов плк) - 200. И время соотв. может быть от 1мс до 10мс, со средним - 2мс. Выбор кол-ва для об-ки определяется заранее неизвестными входными данными в начале цикла, задача - обработать максимально быстро. Что предложим для Минца?

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Если нам не нужно общаться с внешним миром с предсказуемым временем реакции"
    Вот что бы общатcя с внешним миром предсказуемо, и не получать сломанных станков за 10кБаксов, потому что я поменял всего лишь прошивку, я полностью исключил, например, работу штатного мастера из конфигурации.

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    ..Если Вам так нужны "шашечки, а не ехать"
    Кстати - мне кажется что Ваш "прошиватель" ПЧВ предпочитает именно "шашечки", раз допускает косяк который можно обойти (я то привычный, фигли), а вот если бы кто прикрутил что-нить суръезное, и был бы верящим во все хорошее, и в то, что
    Цитата Сообщение от Дмитрий Артюховский Посмотреть сообщение
    ..они, как разработчики, отвечают за надежную работу сервисов конфигуратора и прочих встроенных штуковин, вот и подняли приоритет своих задач...
    то он и привез бы Вам тот станок. Который за 10к.

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Никого не интересует скорость поезда на перегоне. Всем нужно точно в срок приехать на вокзал.
    И меня не интересует. Просто у меня пересадка, а следующий поезд в Овнинск через сутки. Вот и хочется - на такси
    Последний раз редактировалось Валенок; 03.03.2016 в 21:35.

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

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    И меня не интересует. Просто у меня пересадка, а следующий поезд в Овнинск через сутки. Вот и хочется - на такси
    в Обнинск лучше на маршрутках, чем по железке
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  10. #10
    Пользователь
    Регистрация
    30.11.2012
    Адрес
    40RUS
    Сообщений
    321

    По умолчанию

    Ну уж задержка на вызов обработчика по аппаратному прерыванию (высшего приоритета) настолько мала (вы правильно говорите - единицы тактов), что про неё даже говорить не стоит...

    А в конфигурации задач в режиме онлайн - актуальная информация о джиттере? Например у меня сейчас 4000 мкс. При максимальном цикле ПЛК - 600 мкс.
    Напильник, велосипед, бубен, грабли и костыли - основные инструменты программиста.

Страница 97 из 112 ПерваяПервая ... 47879596979899107 ... ПоследняяПоследняя

Похожие темы

  1. приобрел обновленный плк110
    от Ruffian в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 04.12.2009, 12:01

Ваши права

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