PDA

Просмотр полной версии : Ввод Int числа с экрана ПР200



Limur
07.04.2022, 13:59
Доброго времени! При написании программы управления насосом скважины возникла необходимость ввода пользователем с экрана ПР больших чисел (конкретно тут необходимо было ввести 154100). Был использован элемент управления "Ввод/вывод (Int/Float)" с сохранением в переменную Int. Переменная retain с предустановкой. Всё было нормально до момента редактирования этой переменной в окне пр200. Если присвоенное переменной число меньше 9999, то оно нормально отображается и редактируется кнопками реле. Если число больше, то при переходе в режим редактирования оно становится 9999 и меняется только на 0000, старое нормальное значение переменной затирается этими значениями. Что это может быть?

kondor3000
07.04.2022, 14:12
Доброго времени! При написании программы управления насосом скважины возникла необходимость ввода пользователем с экрана ПР больших чисел (конкретно тут необходимо было ввести 154100). Был использован элемент управления "Ввод/вывод (Int/Float)" с сохранением в переменную Int. Переменная retain с предустановкой. Всё было нормально до момента редактирования этой переменной в окне пр200. Если присвоенное переменной число меньше 9999, то оно нормально отображается и редактируется кнопками реле. Если число больше, то при переходе в режим редактирования оно становится 9999 и меняется только на 0000, старое нормальное значение переменной затирается этими значениями. Что это может быть?

Вы привели 6-значное число (154100), а в настройках вывода на экран наверное 4 знака, вот и ограничение 9999.
Кроме того если надо его передавать по Модбас, то нужно 2 регистра.
В одном регистре максимум 65535.

Limur
07.04.2022, 14:29
Нет, в настройках количества цифр стоит 7, и это значение не передается по modbus, оно для внутреннего использования.

Godlike_S
07.04.2022, 14:40
Нет, в настройках количества цифр стоит 7, и это значение не передается по modbus, оно для внутреннего использования.

И в настройках максимального значения тоже все норм?

Godlike_S
07.04.2022, 14:52
Только что попробовал на реальном железе. Все работает как надо :rolleyes:

kondor3000
07.04.2022, 14:53
Нет, в настройках количества цифр стоит 7, и это значение не передается по modbus, оно для внутреннего использования.

Почему из вас всё клещами тянуть надо? Это вы должны скрин сразу выложить, а не мы гадать, что у вас не так.
Это на будущее.

Godlike_S
07.04.2022, 14:57
Тут все норм?

60195

Godlike_S
07.04.2022, 14:57
Почему из вас всё клещами тянуть надо? Это вы должны скрин сразу выложить, а не мы гадать, что у вас не так.
Это на будущее. Что заработало , хорошо)

У меня то работает, а вот у топик-стартера не уверен :D

Сергей0308
07.04.2022, 14:59
Там достаточно расширить диапазон ввода до необходимых пределов:

60196

Надеюсь, понятно написал?!

kondor3000
07.04.2022, 14:59
Тут все норм?

60195

Не всё, у вас в максимуме (200000) 6 знаков, а стоит 7 знаков.

Limur
07.04.2022, 15:02
Тут все норм?

60195

Вот эту настройку я походу пропустил. Спасибо!

Godlike_S
07.04.2022, 15:11
Вот эту настройку я походу пропустил. Спасибо!

На здоровье!

Godlike_S
07.04.2022, 15:12
Не всё, у вас в максимуме (200000) 6 знаков, а стоит 7 знаков.

Ну это как бы вообще на результат не влияет.