Цитата:
Сообщение от RomanIst
при написании программы я заложил как фундамент задание времени во всех задержках переменной int (макрос ваш заводской). И была уверенность что контроллер потянет цикл 10мс следовательно везде выставил время с учетом данной константы. Но при готовности программы и залитии ее в ПЛК выяснилось что он тянет только 13мс и
поэтому пришлось спокойно с калькулятором сидеть и пересчитовать.
|
Вот тот самый случай, когда с вашим предложением получится не 13 мс, а 30 мс. Что в ряде случаев сделает задачу невыполнимой из-за слишком медленной работы контроллера.
Сам же корень вашей проблемы хотя бы в том, что все действия, зависимые от времени цикла, нужно рассчитывать в конце. Причина проста: вы не знаете истинного времени цикла. В итоге вы дважды посчитали: в начале реализации, когда время цикла было неизвестным и в конце реализации, когда оно стало известным.
Добавлено через 1 минуту
Цитата:
Сообщение от RomanIst
Поэтому я предложил Вам сделать данное улучшение, для того чтобы другие не повторяли моих ошибок.
|
Одни ошибки (сделать работу дважды) заменить на другие, возможно более фатальные.
Я понимаю суть вашего предложения и объяснил его неоднозначность. Да и проблема у вас не в долях. Доли - это лишь способ решить вашу проблему, причём косвенный способ, по которому даже поговорка народная есть. Настоящее решение - это воспитание в себе привычки не делать ту работу, которую невозможно выполнить правильно в настоящий момент времени. Сейчас вы просто посидели с калькулятором, потом в другой задаче может неделя пропасть зря.