PDA

Просмотр полной версии : MinCycleLength



Newcomer
02.06.2017, 11:23
Добрый день.

Что будет если установить MinCycleLength = 0 ms ?

capzap
02.06.2017, 11:32
в низу темы уже появились ссылки с подобным вопросом (раздел: похожие темы)

Newcomer
02.06.2017, 13:04
Правильно я понимаю, что при MinCycleLength = 0 ms ЦП ПЛК будет выполнять все что должно и работать без простоев ?

То что время цикла может быть при этом разным я думаю не имеет никакого значения.

capzap
02.06.2017, 13:17
время цикла и так всегда разное в пределах между минЦ и максЦ, если конечно программа выполняется не меньше минимального установленного времени, не знаю подходит ли понятие простой для этой особенности дождаться минимального времени цикла, чтоб начать следующий цикл

Newcomer
02.06.2017, 13:36
Если есть возможность задать MinCycleLength = 0 ms, то вообще не понятно зачем задавать MinCycleLength каким то другим. ЦП сам разберется сколько ему времени надо для выполнения кода программы.

melky
02.06.2017, 13:53
но цп не все равно на собаку и на дополнительные вызовы по прерываниям, если они есть

Dimensy
02.06.2017, 14:38
Из Овеновского файлика по конфигурированию ПЛК

Примечание. Программная реализация ПЛК обеспечивает вызов цикла ПЛК
не чаще, чем 1 раз в установленное число миллисекунд. В случае, если цикл
ПЛК выполняется за время, превышающее установленное значение, его
выполнение будет происходить реже. При установке значения периода цикла
ПЛК, равного нулю, отключается контроль периода цикла, и цикл ПЛК
выполняется с максимально возможной частотой.

Внимание. В режиме работы ПЛК с максимально возможной частотой не
гарантируется стабильная частота выполнения циклов ПЛК, которая может
изменяться в зависимости от интенсивности обмена по сети, отладки, записи
данных во Flash и т.д. В этом режиме рекомендуется выдерживать временные
интервалы в программе ПЛК с использованием таймера высокого
разрешения библиотеки SysLibTime (разрешение 100 мкс).

_Pavel_
02.06.2017, 20:29
Для ПЛК110 [M02] установка MinCycleLength = 0 не работает. MinCycleLength при этом неявно становится = 1 ms