Страница 1 из 1

weintek и макрос сложения

СообщениеДобавлено: 15 июл 2017, 01:16
vnloginov
Доброго всем времени суток!

Друзья помогите решить проблему.

Суть: к панели weintek MT8070iH по модбасу подключен контроллер, а к контроллеру датчик температуры и влажности. В общем на панели сделан вывод этих данных.

адрес:
4х8 (это температура)
4х7 (влажность)

все в формате 16бит signed

так вот хочется на уровне панели как то сделать корректировку показаний, т.к. датчик немного врет. ну например что бы с помощью макроса считывалось показание с адреса контроллера и производилось математическое действие, (прибавление / вычитание n числа) и выводилось в какую то переменную, которую уже вывести на экран.

я в макросах не очень силен. Помогите написать)))

Re: weintek и макрос сложения

СообщениеДобавлено: 15 июл 2017, 18:39
HWAK
Для корректировки 0 своих датчиков влажности и температуры (ДВТ10 от ОВЕН) применяю макрос:

short a, b, c

// Передача данных с ДВТ1
GetDataEx(a, "MODBUS RTU (Zero-based Addressing)", 6x, 1#258, 1)// получение данных о температуре
GetDataEx(b, "Local HMI", RW_A, 2, 1)// получение коррекции 0
c = a + b// сдвиг характеристики
SetDataEx(c, "Local HMI", LW, 2, 1)// отправка значения температуры на регистр в панели

GetDataEx(a, "MODBUS RTU (Zero-based Addressing)", 6x, 1#259, 1)// получение данных о влажности
GetDataEx(b, "Local HMI", RW_A, 3, 1)// получение коррекции 0
c = a + b// сдвиг характеристики
SetDataEx(c, "Local HMI", LW, 3, 1)// отправка значения влажности на регистр в панели

Re: weintek и макрос сложения

СообщениеДобавлено: 16 июл 2017, 03:09
vnloginov
HWAK писал(а):Для корректировки 0 своих датчиков влажности и температуры (ДВТ10 от ОВЕН) применяю макрос....


Огромное спасибо за наводку!

Все получилось по вашему примеру)))

Re: weintek и макрос сложения

СообщениеДобавлено: 16 июл 2017, 04:51
vnloginov
[quote="HWAK"][/quote]

правда есть проблема.... на самой панели периодически вместо данных, выводятся значения которые установлены на корректировку.

т.е допустим датчик у меня показывает 27гр, (эталонный показывает 25), ставлю значение корректировки 2 (в макросе вычитание) и итого выводятся данные 25, и иногда вместо 25 показывает 2, потом опять 25... с чем это связано интересно....

Re: weintek и макрос сложения

СообщениеДобавлено: 16 июл 2017, 14:05
HWAK
Эта проблема состоит в том, что задержка ответа у опрашиваемого прибора больше задержки ответа настроенного на панели оператора и периодически на тот или иной запрос панели прибор не успевает отвечать. В настройках проекта панели, в настройках порта выставьте параметр "Turn around delay (ms)" на значение равное или большее задержки ответа подключенного устройства.
Если макрос только на 1 датчик, можно еще попробовать вместо GetDataEx использовать GetData команду, тогда макрос не должен выполняться при кратковременных потерях связи, хотя это я не проверял, у меня в каждом макросе от 3 до 20 датчиков опрашивается.