Мы же не изменяемся по сути. Только шлифуем старые недостатки.
Наверное, он не все понял, потому и продолжал спрашивать. Так и я вот сейчас.
Давайте я уточню.
Книгу Петрова изучил, что такое цикл работы ПЛК - знаю. Но и знаю также, что нормальным способом организации временных задержек является использование таймеров. В частности, системный таймер, дающий системное время, вполне себе годное решение.
Поэтому мне лично и в голову не придет надеятся на определенную скорость работы процессора, прохождения его программных циклов. И таймаут на сработку концевичка я организую без привязки к параметру "минимальное время цикла" (МинВЦ) - тем более, что этот параметр я так и не понимаю в полной мере. Даже после Ваших терпеливых разъяснений.
Ведь Вы пишете о том, как работает ПЛК при МинВЦ = 0 - а это не интересно, это самый обычный режим работы большинства процессоров. А я спрашивал, для чего может понадобиься МинВЦ, если не пробовать опираться на него для организации временных пауз.
Мое предположение: не нужен тогда МинВЦ. Вообще не нужен. Прав я или нет?
А дальше я, честно, совсем запутался.
Минуточку! Я почему-то думал, что свой цикл ПЛК оттарабанит в любом случае! Будет ли МинВЦ = 0, будет ли будет ли реальное время цикла больше или меньше МинВЦ - разве может быть такое, что ПЛК недоработает запрограммированные действия?
Пожалуйста, давайте просто рассмотрим следующие случаи:
1) МинВЦ = 0. РеалВЦ < МаксВЦ = 1000 мс
Кагбэ самый обычный цикл. Реальное время цикла болтается в пределах 1...10...100...999 мс, никого не волнует его значение (в смысле, точное его значение). Если нужно работать быстрее - программист ломает голову. Но ПЛК "играет, как может", в него не стрелять.
Можно ли считать, что это и есть самый быстрый режим - и что так следует делать всегда, если все (асболютно все) временные задержки отрабатываются кашерно, через системное время и функциональные блоки таймеров?
2) РеалВЦ > МаксВЦ
Вроде бы, судя по описанию, произойдет программный рестарт ПЛК. Верно?
3) МинВЦ > 0
РеалВЦ > МинВЦ
Читаем:
ПЛК100_МинВЦ.jpg
Как именно реже? Кратно? Или нет?
Что еще плохого произойдет? Будет ли что-то не выполнено?
Я к чему все веду: хочу верить, что установка МинВЦ = 0 ничего мне не напортит, а также надеюсь, что и при ненулевом МинВЦ ничего страшнее задержки программы на целый МинВЦ не произойдет. Я-то нашлепал устройств, в которых было МинВЦ = 10 мс, а РеалВЦ = 13...14 мс, теперь думаю, рвать ли волосенки или пусть себе работают...
1:1![]()