Trådlösa Elvaco givare CMa10/11W via CMeX50
Detaljer
Beskrivning
Fungerar även på IMSE Ultra
Skript för hämtning av värden från de trådlösa Elvacogivarna CMa10/11W via Elvaco CMeX50.
Observera att det är två skript nedan så du måste själv dela upp dem om du ska använda dem i en Ultra.
Bruksanvisning
Viktigt är att sätta nedanstående i CMeX50. Se manualen för CMeX50 för hur du gör dessa inställningar
-DIF/VIF mode ska vara satt i läge "Auto address"
-Wired M-bus mode ska vara satt i läge "Auto"
Om du vill ha medelvärden från alla givare kan du lägga till enheten som heter Medelvärden CMa10W.
Om du inte har en CMeX50 som du kan hantera kan du använda det andra skriptet här för att köra mot exempelvis en CMe3100 som har CMeX50 mottagare kopplade till sig.
Juridisk information
Alla skript tillhandahålls i befintligt skick och all användning sker på eget ansvar. Felaktig använding kan leda till skadad eller förstörd utrustning.
Skript kod
% Elvaco CMeX50.
% Viktigt är att sätta nedanstående i CMeX50. Se manualen för CMeX50 för hur du gör dessa
% inställningar
% DIF/VIF mode ska vara satt i läge "Auto address"
% Wired M-bus mode ska vara satt i läge "Auto"
% Abelko Innovation, Marcus Willander 20130807
% Om du vill ha medelvärden från alla givare kan du lägga till enheten som heter Medelvärden CMa10W
DEVICETYPE CMa10W NAMED "Elvaco CMa10W" TYPEID 424
IS
PARAMETER
Id :"Address"INT;
PUBLIC
IdNr : "Mätar ID" [""]INT;
Tcurrent : "Temperatur"["°C"]DEC2;
Tmean1 : "1h medeltemp" ["°C"]DEC2;
Tmean24 : "24h medeltemp" ["°C"]DEC2;
Tmin24 : "24h mintemp" ["°C"]DEC2;
Tmax24 : "24h maxtemp" ["°C"]DEC2;
Hcurrent : "Luftfuktighet"["% RH"]DEC1;
Hmean1 : "1h medelfukt."["% RH"]DEC1;
Hmean24 : "24h medelfukt."["% RH"]DEC1;
Hmin24 : "24h minfukt."["% RH"]DEC1;
Hmax24 : "24h maxfukt."["% RH"]DEC1;
PRIVATE
Exp;
tmp1;
BAUDRATE 2400;
PARITY EVEN;
CHECKSUM SUM8 SKIP 4;
POSTBYTES 1;
TELEGRAM Read NAMED "Läs mätdata" IS
QUESTION
DATA[0] := HEX(10);
DATA[1] := HEX(4B);
DATA[2] := BYTE(Id);
DATA[3] <- BYTE(DATA :=Id+75;);
DATA[4] := HEX(16);
ANSWER SIZE 103
DATA[0] = HEX(68);
DATA[1] = HEX(61);
DATA[2] = HEX(61);
DATA[3] = HEX(68);
DATA[4] = HEX(08);
DATA[5] = BYTE(Id);
DATA[6] = HEX(72);
DATA[7] ->WORD(tmp1:=DATA;);
DATA[9] ->WORD(IdNr:=tmp1+65536*DATA;);
DATA[21]= HEX(02);
DATA[22]= HEX(65);
DATA[23]->WORD( IF DATA & 32768 THEN Tcurrent:=(DATA-65536)/100; ELSE Tcurrent:=DATA/100;ENDIF; );
DATA[27]->WORD(IF DATA & 32768 THEN Tmean1:=(DATA-65536)/100; ELSE Tmean1:=DATA/100;ENDIF; );
DATA[32]->WORD(IF DATA & 32768 THEN Tmean24:=(DATA-65536)/100; ELSE Tmean24:=DATA/100;ENDIF; );
DATA[44]->WORD(IF DATA & 32768 THEN Tmin24:=(DATA-65536)/100; ELSE Tmin24:=DATA/100;ENDIF; );
DATA[48]->WORD(IF DATA & 32768 THEN Tmax24:=(DATA-65536)/100; ELSE Tmax24:=DATA/100;ENDIF; );
DATA[50]= HEX(02);
DATA[51]= HEX(FB);
DATA[52]= HEX(1A);
DATA[53]->WORD(Hcurrent:=DATA/10;);
DATA[58]->WORD(Hmean1:=DATA/10;);
DATA[64]->WORD(Hmean24:=DATA/10;);
DATA[79]->WORD(Hmin24:=DATA/10;);
DATA[84]->WORD(Hmax24:=DATA/10;);
TIMEOUT 5000
END;
END;
% Använd detta skript om du inte har lyckats få bort container mode i CMeX50.
DEVICETYPE CMa10W_ NAMED "Elvaco CMa10W_" TYPEID 425
IS
PARAMETER
Id :"Address"INT;
PUBLIC
IdNr : "Mätar ID" [""]INT;
Tcurrent : "Temperatur"["°C"]DEC2;
Tmean1 : "1h medeltemp" ["°C"]DEC2;
Tmean24 : "24h medeltemp" ["°C"]DEC2;
Tmin24 : "24h mintemp" ["°C"]DEC2;
Tmax24 : "24h maxtemp" ["°C"]DEC2;
Hcurrent : "Luftfuktighet"["% RH"]DEC1;
Hmean1 : "1h medelfukt."["% RH"]DEC1;
Hmean24 : "24h medelfukt."["% RH"]DEC1;
Hmin24 : "24h minfukt."["% RH"]DEC1;
Hmax24 : "24h maxfukt."["% RH"]DEC1;
PRIVATE
Exp;
tmp1;
BAUDRATE 2400;
PARITY EVEN;
CHECKSUM SUM8 SKIP 4;
POSTBYTES 1;
TELEGRAM Read NAMED "Läs mätdata" IS
QUESTION
DATA[0] := HEX(10);
DATA[1] := HEX(7B);
DATA[2] := BYTE(Id);
DATA[3] <- BYTE(DATA :=Id+123;);
DATA[4] := HEX(16);
ANSWER SIZE 117
DATA[0] = HEX(68);
DATA[1] = HEX(6F);
DATA[2] = HEX(6F);
DATA[3] = HEX(68);
DATA[4] = HEX(08);
DATA[5] = BYTE(Id);
DATA[6] = HEX(72);
DATA[21] ->WORD(tmp1:=DATA;);
DATA[23] ->WORD(IdNr:=tmp1+65536*DATA;);
DATA[35]= HEX(02);
DATA[36]= HEX(65);
DATA[37]->WORD( IF DATA & 32768 THEN Tcurrent:=(DATA-65536)/100; ELSE Tcurrent:=DATA/100;ENDIF; );
DATA[41]->WORD(IF DATA & 32768 THEN Tmean1:=(DATA-65536)/100; ELSE Tmean1:=DATA/100;ENDIF; );
DATA[46]->WORD(IF DATA & 32768 THEN Tmean24:=(DATA-65536)/100; ELSE Tmean24:=DATA/100;ENDIF; );
DATA[58]->WORD(IF DATA & 32768 THEN Tmin24:=(DATA-65536)/100; ELSE Tmin24:=DATA/100;ENDIF; );
DATA[62]->WORD(IF DATA & 32768 THEN Tmax24:=(DATA-65536)/100; ELSE Tmax24:=DATA/100;ENDIF; );
DATA[64]= HEX(02);
DATA[65]= HEX(FB);
DATA[66]= HEX(1A);
DATA[67]->WORD(Hcurrent:=DATA/10;);
DATA[72]->WORD(Hmean1:=DATA/10;);
DATA[78]->WORD(Hmean24:=DATA/10;);
DATA[93]->WORD(Hmin24:=DATA/10;);
DATA[98]->WORD(Hmax24:=DATA/10;);
TIMEOUT 5000
END;
Användarnas noteringar
Du måste vara inloggad för att göra en notering. Bli medlem eller logga in. Vi använder en moderator som godkänner noteringarna innan de visas.