Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
Но если клиент хочет странного..
Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
Однако, М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) нет"

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

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