FS20 S4U = FS20 SU

Programmierung der FHZ-Zentralen mit contronics homeputer Standard / homeputer Studio & WEB-Server

Moderator: Co-Administratoren

Micha
Beiträge: 486
Registriert: 28.01.2008, 13:44

FS20 S4U = FS20 SU

Beitrag von Micha » 03.10.2009, 15:00

Hallo,
Ich möchte einen FS20 SU über ein HMST ansteuern. In der Modulauswahl gibt es nur den FS20 S4U.
Dort wurde auf Tasterpaar 1 die Adresse angelegt. Die selbe Adresse wurde über einen Handsende in den Schalter eingelesen.
Die Verbindung Handsende Schalter funktioniert. Handsender zum Schalter in der Visualisierung funktioniert nicht.
Verbindung in der Visualisierung HMST/ Makro zum Schalter Visualisierung funktioniert.
Verbindung Visualisierung zum körperlichen Schalter funktioniert nicht.
Wo kann ich den Fehler suchen.
Danke Michael

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: FS20 S4U = FS20 SU

Beitrag von buempi » 03.10.2009, 15:12

Hallo Michael

Den FS20 SU gibt es sehr wohl in der Modulauswahl -> der 3. Eintrag in der Liste.

Aber was ist ein HMST? Hast du in beiden Objekten die gleiche FS20-Adresse eingetragen und im "HMST" die Zeile

Code: Alles auswählen

SU := HMST
eingefügt; Ausführen bei Empfang aktiviert?

Viele Grüsse
Bümpi

Micha
Beiträge: 486
Registriert: 28.01.2008, 13:44

Re: FS20 S4U = FS20 SU

Beitrag von Micha » 03.10.2009, 17:55

Hallo Bümpi,
Den habe ich glatt übersehen.
HMST ist HMS100TF. Hier ist " Ausführen bei Empfang " aktiviert.
Habe Jetzt den F20 S4U gegen den FS20 SU getauscht.
Wenn ich den Schalter in den Programmiermodus versetze und die Adresse " Einstellen" möchte
funktioniert das nicht.
Michael

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: FS20 S4U = FS20 SU

Beitrag von buempi » 03.10.2009, 18:14

Hallo Michael

Du kannst doch nicht mit einem HMS100-TF einen FS20-Aktor direkt schalten! Das sind zwei ganz unterschiedliche Protokolle. Und wie sollte der FS20-SU wissen, bei welcher Temperatur (oder Feuchte!) er was machen soll? Das musst du über ein Makro (im HMS100TF) lösen:

Code: Alles auswählen

wenn HMS100TF < 20,0 dann
   FS20SU einschalten
endewenn
wenn HMS100TF > 20,5 dann
   FS20SU ausschalten
endewenn
Vorher natürlich in Homeputer die HMS-Adresse des HMS empfangen und dem SU eine FS20-Adresse übermitteln.

Viele Grüsse
Bümpi

Micha
Beiträge: 486
Registriert: 28.01.2008, 13:44

Re: FS20 S4U = FS20 SU

Beitrag von Micha » 03.10.2009, 18:42

Hallo Bümpi,
Das Makro Steht im HMS100TF; Adresse ist auch OK; in der Visualisierung schaltet das Makro den Schalter wie folgt:
Soll 23,3 ist 22,0 Schalter ist ein
Soll 18,0 ist 22,0 Schalter ist Aus
Problem mir gelingt es nicht dem Schalter über Homeputer eine Adresse zuzuordnen.
Ich habe ihm die Adresse über einen Handsender übertragen.
Michael

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: FS20 S4U = FS20 SU

Beitrag von buempi » 03.10.2009, 19:12

Hallo Michael

Dann habe ich wohl deinen Beitrag falsch verstanden!

Damit die Adresse des Schalters (FS20-SU) identisch mit derjenigen der Fernbedienung ist, muss du die Fernbedienung in Homeputer auch anlegen und dann die Adresse empfangen. Dann trägst du die gleiche Adresse beim Schalter ein (die Warnung von Homeputer einfach wegklicken).

Nun kann auch Homeputer den Aktor schalten, und du kannst die FB in Homeputer wieder löschen.

Wenn du zusätzlich wünschst, dass bei einer direkten Schaltung über die FB das Objekt auch in der Visualisierung geschaltet wird, löscht du sie nicht und trägst dort noch folgendes ein:

Code: Alles auswählen

FS20SU := FB
Sobald sich aber dein HMS100-TF das nächste Mal meldet, wird er (je nach Temperatur) den Aktor vielleicht wieder umschalten!

Viele Grüsse
Bümpi

Micha
Beiträge: 486
Registriert: 28.01.2008, 13:44

Re: FS20 S4U = FS20 SU

Beitrag von Micha » 03.10.2009, 19:28

Hallo Bümpi,
Du hast mich nicht falschverstanden. Ich möchte den Schalter nicht mit der Fernbedienung schalten. Aber zum aktivieren des Schalters
soll dem doch über die FB eine Adresse übermitttelt werden. Oder habe ich das falsch verstanden. Die selbe Adresse habe ich im Modul
eingetragen. Danach habe ich den Schalter in den Programmiermodus versetzt und versucht die Adresse aus Modul zu übertragen.
Der Schalter reagiert aber nicht.
Danke Michael

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: FS20 S4U = FS20 SU

Beitrag von buempi » 03.10.2009, 19:40

Hallo Michael

Du brauchst dem Schalter nicht über eine FB die Adresse übermitteln. Einfach diejenige verwenden, die Homeputer beim Anlegen des Moduls vorschlägt.

Dann musst du den SU in den Anlern-Modus versetzen und in Homeputer auf den Knopf "Einstellen" klicken. Wenn das nicht funktioniert, stimmt etwas mit der Funkverbindung FHZ -> SU nicht.

Was in solchen Fällen auch gerne passiert: Sendet zwischen dem Versetzen in den Anlernmodus und dem Klicken irgend ein anderer FS20-Sender, nimmt der Aktor dessen Adresse an! Dann das Ganze wiederholen.

Viele Grüsse
Bümpi

Micha
Beiträge: 486
Registriert: 28.01.2008, 13:44

Re: FS20 S4U = FS20 SU

Beitrag von Micha » 03.10.2009, 20:05

Oder liegt das Problem in den Makros

Code: Alles auswählen

Makro im Schalter

WohnzimmerOben :="Soll: " +TWHZOSoll + " Ist: " +TWHZO

wenn Uhrzeit >= "06:00:00" und Uhrzeit <= "21:00:00" dann
   HeizungspumpeWZO einschalten
endewenn



** Einschalten ist eine Variable vom Typ Zahl

PumpeEinschalten := 0

wenn TWHZO < TWHZOSoll dann
   PumpeEinschalten := 1
endewenn

** usw.

wenn PumpeEinschalten = 1 dann
   HeizungspumpeWZO einschalten
sonst
   HeizungspumpeWZO ausschalten
endewenn



wenn TWHZO <= 19,1 dann
  HeizungspumpeWZO  einschalten
endewenn

wenn TWHZO >= 23,1 dann
  HeizungspumpeWZO   ausschalten
endewenn

---------------
Variablendefinition

PumpeEinschalten    Zahl      0
TWHZOSoll           Zahl      18,0


--------------------------------
--------------------------------

Makro HMS100TF


WohnzimmerOben :="Soll: " +TWHZOSoll + " Ist: " +TWHZO

wenn Uhrzeit >= "06:00:00" und Uhrzeit <= "21:00:00" dann
   HeizungspumpeWZO einschalten
endewenn



** Einschalten ist eine Variable vom Typ Zahl

PumpeEinschalten := 0

wenn TWHZO < TWHZOSoll dann
   PumpeEinschalten := 1
endewenn

** usw.

wenn PumpeEinschalten = 1 dann
   HeizungspumpeWZO einschalten
sonst
   HeizungspumpeWZO ausschalten
endewenn



wenn TWHZO <= 19,1 dann
  HeizungspumpeWZO  einschalten
endewenn

wenn TWHZO >= 23,1 dann
  HeizungspumpeWZO   ausschalten
endewenn

---------
Variablendefinition

PumpeEinschalten    Zahl      0
TWHZOSoll           Zahl      18,0


Es erscheint unter Systemmeldung die Meldung "Zeitkontoüberlauf- zu viele Sendungen"
Danke Michael

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: FS20 S4U = FS20 SU

Beitrag von buempi » 04.10.2009, 09:09

Hallo Michael

Sobald das Zeitkonto überläuft, kannst du an gar keine Aktoren mehr senden; bzw. nur mit grosser Verzögerung. Wenn der SU das Signal kurz nach dem Programmstart empfängt, liegt es also "nur" am Zeitkonto.

Die Ursache für den Überlauf habe ich gefunden: In beiden Makros schaltest du die Pumpe tagsüber generell ein. Dann - zunächst abhängig von TWHZOSoll (18,0°) - nochmals ein (was nichts ausmachen würde). Schliesslich EIN, falls die Temperatur (unabhängig von der Tageszeit!) unter 19,1° liegt bzw. AUS, wenn die Temperatur (wieder unabhängig von der Tageszeit) über 23,1° liegt!!!.

Die beiden Makros sind auch 100% identisch. So wird beim Makro im Schalter (bei Ausführungsintervall 1 Minute) jede Minute und beim HMS alle 5 Minuten ein Signal generiert, sobald mindestens 1x umgeschaltet wird.

Im Schalter kannst du das Makro löschen. Es ist absolut überflüssig! Doppelt genäht hält in diesem Fall nicht besser! Es genügt im HMS (Ausführen bei Empfang; KEIN Intervall). Solange der HMS nämlich keine neue Temperatur meldet, bleibt eh alles beim Alten! Minimale Verschiebungen bei der Uhrzeit (es wird nicht um 21 Uhr auf Absenkung geschaltet, sondern erst beim nächsten Signal des HMS) kann man vernachlässigen.

Aber nicht genug damit: Du veränderst ja TWHZOSoll nirgends! Es würde zunächst den ganzen Tag über auf 18,0° (Startwert) geheizt. Die Abfrage nach TWHZOSoll wird dannjedoch mit den beiden letzten WENN-Blöcken ad absurdum geführt, weil dort ja EINSCHALTEN bei <=19,1 und AUSSCHALTEN bei >=23,1 vorgegeben wird!

Du willst ja die Pumpe je nach Vorgabe-Temperatur (NICHT nach Tageszeit!) schalten. - So läuft's richtig (nur im HMS!):

Code: Alles auswählen

** Nur nötig, wenn TWHZOSoll nicht in einem anderen Makro bestimmt wird!
wenn Uhrzeit >= "06:00:00" und Uhrzeit <= "21:00:00" dann
   TWHZOSoll := 23,1
sonst
   TWHZOSoll := 19,1
endewenn

WohnzimmerOben :="Soll: " +TWHZOSoll + " Ist: " +TWHZO

** PumpeEinschalten ist eine Variable vom Typ Zahl

PumpeEinschalten := 0

wenn TWHZO < TWHZOSoll dann
   PumpeEinschalten := 1
endewenn

** usw.

wenn PumpeEinschalten = 1 dann
   HeizungspumpeWZO einschalten
sonst
   HeizungspumpeWZO ausschalten
endewenn

** ---------
** Variablendefinition

** PumpeEinschalten    Zahl      0
** TWHZOSoll           Zahl      18,0
Viele Grüsse
Bümpi

PS: Und natürlich auf keinen Fall ein "Senden auch bei Zuweisung ohne Änderung" aktivieren!

Antworten

Zurück zu „homeputer Studio / Standard: Programmierbeispiele“