Коллеги, я это все понимаю , но
1. На экране переменная должна отображаться правильно - Достоверно
Для этого надо отображать на экране поля всегда в 32 битном виде, тогда все предложенные и вами и мной варианты будут видны корректно.
Зависимости от ширины переменной , не нужно вообще.
2. Лимит поля должен отрабатывать не на отображение , а на событие изменения данных.
3. В идеальном варианте , обработчик программы , должен автоматом обрезать заведомо 16 битное значение до 65535.
И в примере , когда пишем константу 70000 в одиночный регистр либо вообще не давать грузить такой код, либо динамически делать 70000->65535
Тоже самое в примере со счетчиком, который сетевая переменная. Он должен досчитать до 65535 и остановится на этом.
Тогда все везде будет по людски, и никто не ошибется.
Какое-то очень странное желание, на мой взгляд, в смысле, если счётчик остановится - станет невозможно работать с энкодерами и т. п.
Я так понимаю, если сделать по-вашему - прибор перестанет работать!
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Какое-то очень странное желание, на мой взгляд, в смысле, если счётчик остановится - станет невозможно работать с энкодерами и т. п.
Я так понимаю, если сделать по-вашему - прибор перестанет работать!
А что ему еще делать, если разряды кончились.
Даже 32 битный кончиться может.
Как вариант перейти через ноль.
Зато если перестал считать , я быстро пойму в чем проблема.
А что ему еще делать, если разряды кончились.
Даже 32 битный кончиться может.
Как вариант перейти через ноль.
Зато если перестал считать , я быстро пойму в чем проблема.
Смиритесь, в АСУ переполнение не вызывает исключение, а просто осуществляется переход через ноль (по крайней мере, с целыми числами)