Электросчетчик LE-03M
Материал из WebHMI Wiki
Версия от 11:35, 8 декабря 2016; Evgeniy.mozoliak (обсуждение | вклад)
Счетчик поддерживает протокол Modbus RTU. Особенностью данного счетчика является то, что читать показания необходимо групповой операцией длиной 3. Поэтому в свойствах соединения для данного счетчика необходимо разрешить группировку длиной 3. Полученные байты необходимо "сцепить" в одно число с помощью скрипта и сохранить во внутреннем регистре WebHMI. Текст скрипта:
function main (userId)
-- прочитать регистры в лок. переменные
local reg1 = GetReg(21); -- Регистр 0 (HR0@LE-03M)
local reg2 = GetReg(22); -- Регистр 1 (HR1@LE-03M)
local reg3 = GetReg(23); -- Регистр 2 (HR2@LE-03M)
-- отфильтровать
if (reg1 == nil) or (reg2 == nil) or (reg3== nil) then
return 0;
end;
-- преобразовать в строковое представление шестн. числа
local str1 = string.format("%X",reg1);
local str2 = string.format("%X",reg2);
local str3 = string.format("%X",reg3);
-- склеить строку в одно число
local result = str1..str2..str3;
-- печать в лог для отладки
DEBUG(" LE result = "..result);
WriteReg("Result", ((tonumber(result,16))/10)+0.0);
end