Ничего в панели преобразовывать не надо. Панель здесь ни причем.
Просто протокол Modbus ничего не знает про какие-то там положительные или отрицательные числа, а оперирует шестнадцати битными регистрами. А что закодировано этими шестнадцатью битами, буквы, символы или цифры ему безразлично.
Это дело программы в ПЛК как интерпретировать содержимое регистра. Для этого в КДС предусмотрены типы данных.
Захват-1.png
Для 16 битных типов данных в КДС существуют типы WORD, INT, UINT
Захват-2.png
Для без знаковых целых чисел это WORD и UINT (0..65535), а для целых чисел со знаком - INT(-32768..32767).
У ПЛК в конфигурации Modbus Slave для модулей 2 byte используется тип данных WORD.
А для чисел со знаком (тип INT) используется представление в дополнительном коде. Старший, 15 бит используется для указания знака числа. Если его значение равно 0, то в остальных разрядах записано положительное число, совпадающее с прямым кодом. По этому пока Вы вводите на экране числа от 0 до 32767 то в переменной в Modbus Slave увидите это же число. Но как только Вы введете отрицательное число, то в переменной в Modbus Slave увидите это число в дополнительном коде, например не "-30", а "65506".
Однако это никак не влияет на результат использования такого числа в программе. Из-за неявного преобразования типов результаты арифметических операций и операции присваивания с использованием WORD вместо INT получаются правильными без дополнительных телодвижений.
В принципе можно ничего нигде не преобразовывать. Но уж если очень хочется видеть при отладке программы "правильные" цифры, то используйте в программе не сами переменные, указанные в конфигурации Modbus Slave для модулей 2 byte, а другие, которые приведены к "правильному" типу
Захват-3.png