2 16bit регистра преобразовать во float

Работа с панелями оператора Weintek - подключение, программирование, совмещение с ПЛК

Модераторы: kiv, 8bit, VanMo

2 16bit регистра преобразовать во float

Сообщение xenonci » 06 дек 2017, 17:45

Добрый день
Опрашиваю прибор (Lumel N14) с панели mTV100
Вкратце - надо преобразовать 2 последовательных 16 bit регистра полученных от прибора по modbus rtu в 32bit float число.
По инструкции на прибор: "Биты в 16-ти битных регистрах нумеруются от младшего к старшему b0-b15". Перестановка регистров местами в макросе не помогла собрать число.
Опрос прибора по modbus zero based. Чтение регистров с 7000 функцией 4х_MAX_2W. Регистры с 7500 - вообще не читаются. С 4000-чного читаются функцией 4х_MAX_1W правильно (см. вложение - вырезка из инструкции)
Изображение
xenonci
 
Сообщения: 85
Зарегистрирован: 16 авг 2016, 17:05

Re: 2 16bit регистра преобразовать во float

Сообщение Владимир_Я » 07 дек 2017, 05:09

Попробуйте макросом
Код: Выделить всё
unsigned short mas[2]
GetDataEx(mas[0], "Lumel ", 3x, 7000, 2)
SetData(mas[0], "Local HMI", LW, 0, 2)


И вывести значение на объект NUMERIC по адресу LW-0 формата 32 float
Владимир_Я
 
Сообщения: 59
Зарегистрирован: 17 мар 2015, 10:50

Re: 2 16bit регистра преобразовать во float

Сообщение xenonci » 07 дек 2017, 10:29

Так уже пробовал - не получилось. Попробую через 5х:

Изображение
xenonci
 
Сообщения: 85
Зарегистрирован: 16 авг 2016, 17:05

Re: 2 16bit регистра преобразовать во float

Сообщение Владимир_Я » 07 дек 2017, 11:29

Точно, должно получится. 3x это эквивалент функции 4, а для вашего прибора нужна 3 функция а это команды 4x или 5x.
Владимир_Я
 
Сообщения: 59
Зарегистрирован: 17 мар 2015, 10:50

Re: 2 16bit регистра преобразовать во float

Сообщение xenonci » 07 дек 2017, 12:48

Благодарю Владимир!
Помог ваш измененный макрос:

Изображение

Что получилось. Чтение напряжения по фазе А:

Изображение
xenonci
 
Сообщения: 85
Зарегистрирован: 16 авг 2016, 17:05

Re: 2 16bit регистра преобразовать во float

Сообщение Владимир_Я » 08 дек 2017, 04:54

А через 5x не получилось? Вроде написано что это та же 4x только с автоматической перестановкой младшего и старшего регистров.
Владимир_Я
 
Сообщения: 59
Зарегистрирован: 17 мар 2015, 10:50

Re: 2 16bit регистра преобразовать во float

Сообщение xenonci » 03 янв 2018, 20:03

Через 5х и перестановкой слов в настройках связи по Modbus не получилось.
xenonci
 
Сообщения: 85
Зарегистрирован: 16 авг 2016, 17:05


Вернуться в Weintek

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 29