Добрый день.

Задача читать Мастерскадой из контроллера значение переменной типа INT. При необходимости в Мастерскаде назначать этой переменной другое значение и передавать его в контроллер. По Modbus TCP.

В Мастерскаде добавил протокол Modbus TCP, в нем добавил Модуль Modbus TCP, в нем добавил базовый канал с доступом "InOut", типом значения "Целый" и типом ячейки "Регистр хранения", назначил каналу адрес ячейки.
В объекте добавил параметр типа Int (Параметр 1), связал его со входом канала и с объектом "Текст" на экране. Запустил Runtime Мастерскады: все ОК - в Мастерскаде отображается значение переменной из контроллера.
Добавляю в объект еще один параметр типа INT (Параметр 2), связываю его с выходом канала и с объектом "Текстовый ввод" на экране. Запускаю Runtime - переменная в контроллере обнуляется. Она обнуляется при старте runtime всегда, как только я свяжу любой из параметров (1 или 2) с выходом канала.

С типом Real такой проблемы нет: через Параметр 1 читаю из PLC, через Параметр 2 назначаю в PLC новое значение. При старте runtime Мастерскады переменная в PLC сохраняет свое значение.

Вопрос: как сделать, чтобы можно было из Мастерскады писать новое значение INT в PLC и чтобы при старте runtime Мастерскады значение переменной в контроллере не сбрасывалось?

PS. Я могу, конечно, посылать в контроллер булевые команды "Назначить INT 0/1/2". Но сделаю это только от безысходности. Хотелось бы назначать через параметр.
PS2. Версия Мастерскады: 1.2.18.29717