Я пытаюсь преобразовать значения из адресов Modbus на ПЛК в значение поплавда в моей программе. Внутри ПЛК значение представлено как 32 -битный поплавок, но для того, чтобы отправить его через Modbus, они преобразуют его в пару 16 -битных целых чисел. Теперь, когда я получаю значение, я должен преобразовать их в 32 -битный поплавок. У меня уже есть рабочий код (на картинке), но некоторые низкие значения битов представлены с '-' во-первых, и я не могу их преобразовать. Кто -нибудь знает, как я должен с этим справиться? Я могу преобразовать это обратно в его исходное значение. ** < /p>
Код: Выделить всё
public class HelloWorld{
public static void main(String []args){
short high = 17045; // the high 16 bits
short low = -24163; // the low 16 bits
int first_part = high
Подробнее здесь: [url]https://stackoverflow.com/questions/64144397/convert-plc-modbus-signals-to-float-value-pair-of-16-bits-integer-into-a-32-bit[/url]