Al-Al
08.11.2016, 04:50
Добрый день!
Читаю из ТРМ 138 по Модбас RTU значения температур, ошибки, положение десятичной точки.
Настройка Модбаса через конфигуратор ПЛК (ПЛК 110-30, Кодесис 2.3.)
В качестве значений температуры беру int по адресу 0001 (и так далее в соответствии с мануалом для остальных каналов) читаю функцией 0х04 (read input registers), при этом значение в контроллере присваивается переменной типа WORD. Всё проверил всё работает. ТРМ уехал к заказчику. И тут я сообразил, что там могут быть отрицательные температуры, а в конфигураторе стандартно подставляется WORD.
Как это исправить? Использовать в конфигураторе ПЛК "Real input modules" который даёт REAL переменную и читать его также 0х04 функцией? Но ведь REAL 32 бита а WORD 16 бит. Подскажите как правильно, т.к. нет возможности проверить на реальном ТРМ138.
Читаю из ТРМ 138 по Модбас RTU значения температур, ошибки, положение десятичной точки.
Настройка Модбаса через конфигуратор ПЛК (ПЛК 110-30, Кодесис 2.3.)
В качестве значений температуры беру int по адресу 0001 (и так далее в соответствии с мануалом для остальных каналов) читаю функцией 0х04 (read input registers), при этом значение в контроллере присваивается переменной типа WORD. Всё проверил всё работает. ТРМ уехал к заказчику. И тут я сообразил, что там могут быть отрицательные температуры, а в конфигураторе стандартно подставляется WORD.
Как это исправить? Использовать в конфигураторе ПЛК "Real input modules" который даёт REAL переменную и читать его также 0х04 функцией? Но ведь REAL 32 бита а WORD 16 бит. Подскажите как правильно, т.к. нет возможности проверить на реальном ТРМ138.