Электросчетчик LE-03M

Материал из WebHMI Wiki
Перейти к: навигация, поиск
LE-03M.gif

Особенностью данного счетчика является то, что читать показания необходимо групповой операцией длиной 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