Hallo,
für eine Umwandlung Stetigregelung (1 Byte vom Heizungsregler, 0-100%) -> PWM (Schaltaktor, 1 Bit) habe ich bei Gira das "Basis-Funktionsmodul", Art.-Nr. 0902 00, gefunden und mir dazu eine Programmierung ausgedacht - kann da evtl. jemand bestätigen oder dementieren, ob das so funktioniert?!
Da drin gibts eine nette Funktion namens "OSZI". Die hat zwei Eingänge (Zykluszeit und Pulsweite, jeweils in der Einheit "0,1s") und baut daraus einen 1-Bit-PWM-Ausgang. So weit, so gut. Die Zykluszeit kann man als Konstante definieren (bei Fußbodenheizung also eine halbe Stunde oder so, das reicht ja vollkommen). Jetzt gehts nur noch darum, wie ich die Stellgröße (1Byte von 0 bis 255, entsprechend 0-100%) auf eine 16-Bit-Zeit in der Einheit 0,1 Sekunden umrechne. Denn rechnen kann dieses Funktionsmodul nämlich nicht!
Was macht der geneigte Elektrotechniker? Er erinnert sich an die Zweierpotenzen, legt eine Zykluszeit von 27 Minuten und 12 Sekunden fest (warum, steht unten) und verknüpft im Funktionsmodul wie folgt:
1.) Der Eingang (1Byte, 0-255/0-100%) wird auf die Funktion "PACBW" gelegt. Die baut aus zwei Bytes ein Word. Der LSB-Eingang wird mit der Stellgröße vom Regler verknüpft, der MSB-Eingang konstant mit 0. Raus kommt also ein Word von 0-255 mit 16 Bits.
2.) Dieser Wert wird auf die Funktion "TEILW" gelegt, die ein Word auf 1 bis 16 einzelne Bits aufteilt (hier reichen 8, weil das MSB ja sowieso immer 0 ist). Man hat nun an acht einzelnen Ausgängen die 8 Bits der Regler-Stellgröße.
3.) Diese 8 Bits gibt man auf die Funktion "PACW", die aus 16 Bits ein Word erzeugt, aber nicht auf die unteren 8 Bits, sondern verschoben um 6 Bits, was einer Multiplikation mit 64 gleichkommt. Die unteren 6 und die oberen 2 Bits von PACW werden fest mit der Konstante 0 geladen. Der Ausgang von PACW ist also die Regler-Stellgröße, multipliziert mit 64 (d.h. statt 0-255 nun also 0-16320).
4.) Dieses Word gibt man schlußendlich an den Pulsweiteneingang von "OSZI" weiter. Da dort 0,1s-Einheiten erwartet werden, ist die Pulsweite also 0 bis 1632 Sekunden. 1632 Sekunden sind jedoch exakt die Zykluszeit (27 Minuten, 12 Sekunden) -> voila, 100 Prozent!
Alles obige habe ich bereits so im graphischen Funktionsbaustein-Editor verknüpft (den kann man ja kostenlos von der Gira-Website downloaden), und es sind keinerlei Fehlermeldungen erschienen -> ist also technisch so ok.
Das ganze Schema baut man dann zehnmal für die zehn Heizkreise und lädt das in den Baustein. Und fertig ist der PWM-Umsetzer!
So, und wer findet jetzt *ein* Gegenargument, das das ganze System zum Scheitern bringt?!
Gruß Matthias.
Lesezeichen