Электросчетчик LE-03M — различия между версиями
Материал из WebHMI Wiki
(Новая страница: « right Особенностью данного счетчика является то, что читать показания необх…») |
|||
Строка 19: | Строка 19: | ||
end; | end; | ||
− | -- преобразовать в | + | -- преобразовать в строковое представление шестн. числа |
local str1 = string.format("%X",reg1); | local str1 = string.format("%X",reg1); |
Версия 11:03, 8 декабря 2016
Особенностью данного счетчика является то, что читать показания необходимо групповой операцией длиной 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);
-- stick together
local result = str1..str2..str3;
-- печать в лог для отладки
DEBUG(" LE result = "..result);
WriteReg("Result", ((tonumber(result,16))/10)+0.0);
end