jetzt bin ich völlig raus, sorry.
Ausgabewert vom Skript, komma hinzufügen
Moderator: Co-Administratoren
-
- Beiträge: 54
- Registriert: 25.07.2019, 11:36
- Danksagung erhalten: 4 Mal
-
- Beiträge: 5538
- Registriert: 30.05.2019, 11:37
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Chemnitz
- Hat sich bedankt: 120 Mal
- Danksagung erhalten: 759 Mal
Re: Ausgabewert vom Skript, komma hinzufügen
Entweder soll die Kommazahl letztlich auch in der SV stehen:
Oder nur so ausgegeben werden
Code: Alles auswählen
tst1 = dom.GetObject("CUxD.CUX2801001:16.CMD_RETS").State();
! Schreiben in Systemvariable formatiert (lGetOut ist ein Sting)
dom.GetObject('E3DC_Haus').State(tst1);
tst1 = tst1.ToFloat()/10.0;
! Ausgabe
WriteLine("E3DC_Haus: " + tst1);
Code: Alles auswählen
tst1 = dom.GetObject("CUxD.CUX2801001:16.CMD_RETS").State();
! Schreiben in Systemvariable formatiert (lGetOut ist ein Sting)
dom.GetObject('E3DC_Haus').State(tst1);
! Ausgabe
WriteLine("E3DC_Haus: " + tst1.ToFloat()/10.0);
Zuletzt geändert von Matsch am 24.11.2023, 13:19, insgesamt 2-mal geändert.
-
- Beiträge: 54
- Registriert: 25.07.2019, 11:36
- Danksagung erhalten: 4 Mal
Re: Ausgabewert vom Skript, komma hinzufügen
Danke,Matsch hat geschrieben: ↑24.11.2023, 13:14Entweder soll die Kommazahl letztlich auch in der SV stehen:
Oder nur so ausgegeben werdenCode: Alles auswählen
tst1 = dom.GetObject("CUxD.CUX2801001:16.CMD_RETS").State(); ! Schreiben in Systemvariable formatiert (lGetOut ist ein Sting) dom.GetObject('E3DC_Haus').State(tst1); tst1 = (tst1.ToFloat())/10.0; ! Ausgabe WriteLine("E3DC_Haus: " + tst1);
Code: Alles auswählen
tst1 = dom.GetObject("CUxD.CUX2801001:16.CMD_RETS").State(); ! Schreiben in Systemvariable formatiert (lGetOut ist ein Sting) dom.GetObject('E3DC_Haus').State(tst1); ! Ausgabe WriteLine("E3DC_Haus: " + (tst1.ToFloat())/10.0);
sollte schon in der SV stehen, da ändert sich aber der Wert nicht mit der Kommastelle, nur im Skript wird es richtig angezeigt.
-
- Beiträge: 5538
- Registriert: 30.05.2019, 11:37
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Chemnitz
- Hat sich bedankt: 120 Mal
- Danksagung erhalten: 759 Mal
Re: Ausgabewert vom Skript, komma hinzufügen
Tut es, wenn du die Division vor der Ausgabe an die SV anordnest. Ich kenne deine Intentionen nicht. War jetzt möglicherweise mein Fehler.sollte schon in der SV stehen, da ändert sich aber der Wert nicht mit der Kommastelle, nur im Skript wird es richtig angezeigt.
Code: Alles auswählen
tst1 = dom.GetObject("CUxD.CUX2801001:16.CMD_RETS").State();
! Schreiben in Systemvariable formatiert (lGetOut ist ein Sting)
tst1 = tst1.ToFloat()/10.0;
dom.GetObject('E3DC_Haus').State(tst1);
! Ausgabe
WriteLine("E3DC_Haus: " + tst1);
PS: Habe vergessen zu erklären: Wahrscheinlich ist der ausgelesene Wert, den du in tst1 einliest, ein integer-Wert. Dadurch ergibt auch die Division als Ergebnis eine Ganzzahl, es fehlt die Kommastelle. Damit das funktioniert, muß man also tst1 vor der Operation in eine real-Zahl umwandeln, dann ist auch das Ergebnis eine Kommazahl.
-
- Beiträge: 54
- Registriert: 25.07.2019, 11:36
- Danksagung erhalten: 4 Mal
Re: Ausgabewert vom Skript, komma hinzufügen
Es soll mit der Kommaverschiebung auch so in der SV stehen, macht es aber nicht, egal wo ich es einsetze.
Ich habe das Skript nur von jemanden übernommen und nur die Zeile mit dem Modbus verändert und mir dann eine SV angelegt, wo es reingeschrieben wird.
Ich habe das Skript nur von jemanden übernommen und nur die Zeile mit dem Modbus verändert und mir dann eine SV angelegt, wo es reingeschrieben wird.
-
- Beiträge: 54
- Registriert: 25.07.2019, 11:36
- Danksagung erhalten: 4 Mal
Re: Ausgabewert vom Skript, komma hinzufügen
Die Zahlenfolge stimmt beim auslesen nur ohne Komma halt und wie wandle ich das um?Matsch hat geschrieben: ↑24.11.2023, 13:23Tut es, wenn du die Division vor der Ausgabe an die SV anordnest. Ich kenne deine Intentionen nicht. War jetzt möglicherweise mein Fehler.sollte schon in der SV stehen, da ändert sich aber der Wert nicht mit der Kommastelle, nur im Skript wird es richtig angezeigt.
Ich habe übrigens je noch ein Klammerpaar aus dem Code entfernt, es war hier nicht erforderlich. Nur habe ich mir angewöhnt, alles zu klammern, um nicht in die Interpretationsfalle zu laufen.Code: Alles auswählen
tst1 = dom.GetObject("CUxD.CUX2801001:16.CMD_RETS").State(); ! Schreiben in Systemvariable formatiert (lGetOut ist ein Sting) tst1 = tst1.ToFloat()/10.0; dom.GetObject('E3DC_Haus').State(tst1); ! Ausgabe WriteLine("E3DC_Haus: " + tst1);
PS: Habe vergessen zu erklären: Wahrscheinlich ist der ausgelesene Wert, den du in tst1 einliest, ein integer-Wert. Dadurch ergibt auch die Division als Ergebnis eine Ganzzahl, es fehlt die Kommastelle. Damit das funktioniert, muß man also tst1 vor der Operation in eine real-Zahl umwandeln, dann ist auch das Ergebnis eine Kommazahl.
-
- Beiträge: 5538
- Registriert: 30.05.2019, 11:37
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Chemnitz
- Hat sich bedankt: 120 Mal
- Danksagung erhalten: 759 Mal
Re: Ausgabewert vom Skript, komma hinzufügen
Der von dir nochmal gezeigte Code ist korrekt, in der SV steht dann die Kommazahl drin.
Einfach mal testen:
Einfach mal testen:
Code: Alles auswählen
WriteLine(dom.GetObject("E3DC_Haus").Value());
-
- Beiträge: 54
- Registriert: 25.07.2019, 11:36
- Danksagung erhalten: 4 Mal
Re: Ausgabewert vom Skript, komma hinzufügen
Jetzt passt er, ganz lieben Dank für deine Hilfe.Matsch hat geschrieben: ↑24.11.2023, 13:36Der von dir nochmal gezeigte Code ist korrekt, in der SV steht dann die Kommazahl drin.
Einfach mal testen:Code: Alles auswählen
WriteLine(dom.GetObject("E3DC_Haus").Value());
-
- Beiträge: 5538
- Registriert: 30.05.2019, 11:37
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Chemnitz
- Hat sich bedankt: 120 Mal
- Danksagung erhalten: 759 Mal
Re: Ausgabewert vom Skript, komma hinzufügen
Solltest du in Zukunft wiederholt Scripts benutzen wollen/müssen, dann wirst du wohl oder übel dich durch die Doku durchfitzen müssen. Das Forum wird dir nicht permanent deine gewünschten Scripts auf den Silberteller legen wollen.
Zuletzt geändert von Matsch am 24.11.2023, 14:09, insgesamt 1-mal geändert.