За неимением графини будем иметь служанку.
В данный момент у меня нет живого МО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) нет"
Т.е. Вы утверждаете что при текущем положении вещей любой замер истинной цикличности всегда покажет равенство с заданной цикличностью ?
Просьба озвучить сумму. Хочется все таки знать сколько стоит разработка революционного кода. Который в том или другом виде уже присутствовал в более ранних разработках. Да и принципе - почему бы и нет. Круг задача иногда меняется - вдруг потребуется.





Ответить с цитированием