Показать сообщение отдельно
Старый 25.03.2015, 16:55   #4
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 115
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Время выполнения программы

Цитата:
Сообщение от Norton Посмотреть сообщение
Цикл работы системы (тик) обязательно нужно задавать каким-то "круглым" числом, например 100мс, 300мс, 500мс, или же можно вводить любое число в диапазоне от 1 до 1000мс?
Любое. Было бы иначе, ввести любое было бы невозможно.


Цитата:
Сообщение от Norton Посмотреть сообщение
И насколько бОльшим (в процентном соотношении, может быть?) должен быть установленный цикл работы системы по отношению к реальному тику, для оптимальной работы всей программы в целом и точности счётчиков(отсчёт временных отрезков) в частности?
Ровно настолько бОльшим, чтобы реальный тик никогда не превышал установленный.



Цитата:
Сообщение от Norton Посмотреть сообщение
Используется SMH2010, если это играет какую-то роль в данном вопросе. Но данный вопрос интересует так же и относительно других контроллеров Segnetics.
Не играет.



Цитата:
Сообщение от Norton Посмотреть сообщение
Сейчас в проекте установленный цикл работы системы - 100мс, а реальный - колеблется от 101 до 110. СтОит увеличить установленный цикл работы, до, например, 120мс(115мс?), или можно оставить всё как есть?
Если вам не важна точность выдерживания временнЫх отрезков и качество работы регуляторов, то можете хоть 1 мс задать.

Важно ещё понимать, что отладка увеличивает время цикла на 25-40 мсек.



Цитата:
Сообщение от Norton Посмотреть сообщение
При этом пересчёт секунд в тики для входов счётчиков производится через константу 100мс(установленный цикл работы системы), а не через реальный тик с блока DEVICE(kernel).
Оба варианта неправильны, поэтому всё равно, какой вы используете. Хотя нет, константа всё же лучше в вашем случае.

Жирным выделил то правило, выполнение которого не вызвало бы остальных вопросов.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием