Petera, снова на поклон

Задача. Цифровой ввод, есть возможность проверки вводимых значений. Задается только в процессе разработки проекта, в ходе выполнения программы на живой панели документированной возможности их изменений нет. А хотелось бы.

Понятно, что минимальное значение хранится в регистрах PSW120...127, а максимальное PSW112...119.

Естественно, если просто записать число в psw112/120 ничего работать не будет.

Запись через элемент WRITE записывает корректно во все восемь регистров в кодах символа в ASCII. Но как объединить WRITE с элементов ввод в панели не могу дойти своим умом.

Но почему та же запись с теми же настройками через символьный ввод (nregister, 8 регистров) не проходит и число записывается только в первый регистр PSW112/PSW120.

Пробовал подменять в цифровом вводе, через усовершенствование, write на read, а записывать в нужную область через цифровой ввод. Но идея так же не прошла.

Сейчас ещё возникла мысль, вот допустим создам я три цифровых ввода, каждый со своими параметрами (ограничивающими). И сможем корректно записывать в регистры PSW112...PSW127. Но как дать понять панели, что при клике на конкретный элемент подставлялись именно нужные значения?
Отсюда вытекает вопрос, в каких регистрах панель хранит заранее прописанные значения max и min, если элементов больше одного? Ведь при вызове нужного элемента ввода она просто подставляет заранее заданные значения в PSW112...PSW127. Очень хочется разобраться.

Или проще идти через блок lin_TRAFO и подставлять туда 400... 20000?