Стартовая страница › Форумы › Взаимодействие с устройствами › Modbus › Чтение Float ПЛК ОВЕН Modbus TCP
- В этой теме 8 ответов, 4 участника, последнее обновление 7 лет, 1 месяц назад сделано
manjey73.
-
АвторЗаписи
-
23.05.2019 в 14:53 #11865
SVS
УчастникПри чтении переменной типа Float от ПЛК ОВЕН происходит некорректное отображение переменных и их взаимное влияние. При чтении целочисленных значений все корректно. Если попытаться прочитать дробное чтение некорректно. Например в ПЛК значение 10.7 в рапиде 10.688 если ввести следующую по порядку переменную с дробной частью 0.4 значение предыдущей изменится на 10,738.
23.05.2019 в 15:34 #11867
manjey73УчастникЧто значит дробная часть 0,4 ?
Что значит некорректное чтение ? 10,7 это округленное 10,688 нет ? иначе вы вообще бы такую фигню бы в цифрах увидели, если бы читали неправильно23.05.2019 в 19:00 #11885
MikhailМодераторЕсли есть сомнения — проверьте побайтно входящий пакет. С помощью сайтов, подобных этому можно узнать, какое же вещественное число закодировано на самом деле.
12.07.2019 в 16:25 #12728Andrey2019
УчастникДобрый день. У меня похожая ситуация. Считываю по протоколу modbus tcp встроиным драйвером float значения из панели оператора ОВЕН СП307. Все читается, но значения в коммуникаторе отличаются от реальных в десятых, сотых и тысячных. Например на на панели оператора 34.879, а в коммуникаторе 34.636, причем отличатся как в меньшую так и в большую сторону, как будто шум. В журнале коммуникатора если смотреть принимаемую строку и преобразовать значения вручную, то число соответствует тому что выведено в коммуникаторе. Подскажите в чем может быть проблема?
12.07.2019 в 19:19 #12729
MikhailМодераторДобрый день!
Предполагаю, что если значение меняется быстро, то обновление данных в Коммуникаторе и на панели происходит не одновременно. А вот если значение стоит на месте, то сложнее. Можем вместе попробовать расшифровать пакет в этой теме.
13.07.2019 в 11:18 #12754Andrey2019
УчастникЗначения в коммуникаторе меняются не часто, но кажется что на него влияют переменные из соседних регистров. Что наводит на мысль, что неправильная адресация регистров у меня, но при этом все восемь переменных соответствуют своим значениям в панели оператора, по крайней мере целая часть числа.
14.07.2019 в 11:32 #12772
manjey73УчастникВариант 1. Вы читаете не те соседние регистры. То есть предшествующий + один нужный, а не два нужных и при этом у вас неправильная перестановка байт. По этому у вас целая часть и правильная. Не работал с СПК207 но с другими приборами Овен.
Адресация с 0 в настройках, правильно указать адрес, перестановка байт для float 2301
15.07.2019 в 08:19 #12781Andrey2019
УчастникЯ как раз об этом и подумал. Уже проверил, и это как раз тот случай — не правильная перестановка байт (правильно как вы и указали 2301) + читал один нужный регистр и один соседний. Всем спасибо.
15.07.2019 в 09:09 #12782
manjey73УчастникНу почему сразу «неправильная» ? :), это зависит от примененного процессора ПЛК, зачем делать лишние манипуляции в ПЛК, если все это умеют Scada системы.
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.