Seite 1 von 1
#1 DOMIQ Var in LCN Modul kopieren?
Verfasst: Sa 6. Jul 2013, 22:02
von KlausM
Hallo,
wie kopiere ich denn eine Variable aus dem Base in eine T Variable von einem LCN Modul?
thx
klaus
#2 RE: DOMIQ Var in LCN Modul kopieren?
Verfasst: Di 9. Jul 2013, 10:40
von DOMIQ
Hmm. Base doesn't react for new-style variable reading commands.
But it's good idea and we will add them, probably in next larger release.
#3 RE: DOMIQ Var in LCN Modul kopieren?
Verfasst: Do 11. Jul 2013, 01:04
von Uwe
... und mit "alten" Modulen schreibst du sie "einfach" in den Bus und rechnest sie in einen Regler wieder rein.
Grüße, Uwe - der 'einfach' auch noch auf eine Antwort von Thomas wartet (wenn der mal Zeit zum probieren hat)
#4 RE: DOMIQ Var in LCN Modul kopieren?
Verfasst: Do 11. Jul 2013, 12:13
von Thomas
Hallo Klaus,
ein Trick ist, Messwerte in viruelle Segment senden, und per Reglerrechnung im LCN Modul wieder rausholen.
Geht im Wertebereich 0-4095.
Da habe ich mir LUA Funktionen gebaut, um so Daten vom Base wieder ins LCN zu übergeben.
Beispiel :
Code: Alles auswählen
------------------------------------------------------------------------
-- Test, Messwert in ein Segment senden, für Module vor 17er Firmware
-- Per Reglerrechnung in einen LCN Regler einfügen
-- Anzeige &M090254.RV00999
-- Wenn Sonne Süd kleiner 1kLux ist, wird der Helligkeitswert der Elner übertragen.
-- Die Werte werden als LCN-GBL umgerechnet, um die LUX Anzeige vom LCN nutzen zu können. (Lux, I-Anschluss)
tvar_ = use 'MODBUS.int.Elsner.helligkeit'
tvar_sued_ = use 'MODBUS.int.Elsner.sonne.sued'
r2var_ = use 'MODBUS.int.Elsner.templcn'
function Lux_senden()
local hb,lb,s_wert,lux2 = 0,0,0,0
-- in Segment 90,tvar
-- in GBL Lux
lux2=tvar_sued_.value*1000
lux2=math.log(lux2)
lux2=lux2*100
lux2=math.floor(lux2)
if tvar_sued_.value == 0 then -- Wenn Sued grösser 1, wird der Wert in Lux umgerechnet.
lux2=tvar_.value
lux2=math.log(lux2)
lux2=lux2*100
lux2=math.floor(lux2)
end
hb = lux2/256
hb = math.modf(hb) --high Byte
hb = hb+32 -- in TVAR senden 32=tvar,64=r1var,96=r2var
lb = math.mod(lux2,256) --lowByte
hb = string.format("%x",hb )
laenge = string.len (hb)
if laenge == 1 then
hb = ("0" .. hb)
end
lb = string.format("%x",lb )
laenge = string.len (lb)
if laenge == 1 then
lb = ("0" .. lb)
end
s_wert =("28" .. hb .. lb)
command ("C.LCN.generic.90g4=" .. s_wert)
-- Aussentemperatur in Segment 91 tvar
hb = r2var_.value/256
hb = math.modf(hb) --high Byte
hb = hb+96 -- in R2Var senden
hb = string.format("%x",hb )
laenge = string.len (hb)
if laenge == 1 then
hb = ("0" .. hb)
end
lb = math.mod(r2var.value_,256) --lowByte
lb = string.format("%x",lb )
laenge = string.len (lb)
if laenge == 1 then
lb = ("0" .. lb)
end
s_wert =("28" .. hb .. lb)
command ("C.LCN.generic.91g4=" .. s_wert)
end
--------------------------------------------------------------
[img]1[/img]
gruss thomas
#5 RE: DOMIQ Var in LCN Modul kopieren?
Verfasst: Do 13. Nov 2014, 17:04
von torsten.s
Hallo,
ist die von Thomas beschriebene Methode immer noch das Mittel der Wahl, oder gibt es da mittlerweile einen bequemeren Weg (sprich: haben die Programmierer des Base in der Zwischenzeit eine andere Möglichkeit eingebaut)?
Wer weiß mehr?
Gruß Torsten