Rückkanal FS20-EAM von crazy-hardware programmieren

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

Rückkanal FS20-EAM von crazy-hardware programmieren

Beitrag von Micha » 21.10.2009, 16:48

Hallo,
"Wenn AktorXX=AktorXXAntwort
dann keinen weiteren Befehl senden"

Kann das als Makro geschrieben werden.
Der Aktor ( NUR HUTSCHIENENAKTOREN) soll den jeweiligen EIN oder AUS Befehl nur 1x gesendet bekommen.
Im Rückkanalempfänger - dieser wird gegen den Empfänger des Hutschienensystems getauscht werden die Zustandsbefehle
gespechert und alle 3 mIn über den Buss an den jeweiligen Aktor geschickt.
Desweitern bekommt der Aktor eine zweite Adresse für die Rückantwort.Z.B
AktorXX 1121 für den Befehl von der FHZ zum Hutschienensystem und
AktorXX 1122 für den Befehl Rückantwort vom Rückkanalempfänger zur FHZ.
Damit kann der tatsächliche Zustand des betreffenden Aktors visualisiert werden.
Ist es möglich die jetzt vergebenen Adressen zu wechseln oder muß dabei etwas beachtet werden.
Die Vorstellungen sind, daß ungerade Adessen von der FHZ und gerade Adressen zur FHZeingesetzt werden.
Danke MIchael

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

Re: Rückkanal FS20-EAM von crazy-hardware programmieren

Beitrag von buempi » 22.10.2009, 09:33

Hallo Michael

Welche Adresse du dem Aktor und dem Rückkanal gibst, spielt grundsätzlich keine Rolle. Der besseren Übersicht wegen ist es aber sicher eine gute Idee, gerade und ungerade Ziffern zu wählen.

Wenn du das Adress-System deiner Aktoren neu aufbauen willst, ist das natürlich möglich; bedingt aber ein neues Anlernen aller betroffenen Aktoren mit allen dabei möglichen Fehlerquellen. Ich schlage dir deshalb eher folgendes System vor:

1121 Aktor1 (unverändert)
1122 Aktor2 (unverändert)
2121 Aktor1IST
2122 Aktor2IST

Für den Rückkanal legst du in Homeputer ein Modul vom Typ "FS20 Sensor Standard-Sender" an. Dieses Objekt kannst du, musst du aber nicht, visualisieren. Benennen würde ich das Objekt mit dem gleichen Namen wie den Aktor und dem Zusatz IST.

"Makrotechnisch" wäre das Folgende eine saubere Lösung. Es funktioniert aber nur, wenn im betreffenden Aktor selbst jetzt noch KEIN Makro steht!
Über "Bezüge anzeigen" suchst du nach allen Makros, in welchen der betreffende Aktor geschaltet wird. In ALL diesen Makros setzst du vor allfällige SENDEWERT() an diesen Aktor zwei Sterne **. Damit werden diese SENDEWERT() nicht mehr ausgeführt.

Im Makro des Aktors aktivierst du nun "Ausführung bei Änderung", definierst eine Variable "Zaehler" vom Typ Zahl Startwert 0. Ferner brauchst du noch ein Objekt "Anzeige" vom Typ Zeichen, welches du in der nötigen Breite in deine Visualisierung aufnimmst.

Das Makro im Aktor (HeizungspumpeSolaranlage) lautet dann:

Code: Alles auswählen

Zaehler := 0

Nochmals:

warte("00:00:01")

wenn HeizungspumpeSolaranlage <> HeizungspumpeSolaranlageIST dann
   wenn Zaehler >= 5 dann
      Anzeige := Zeit + " Heizungspumpe Solaranlage reagiert nicht"
   sonst
      Sendewert(HeizungspumpeSolaranlage)
      Zaehler := Zaehler + 1
      gehezu Nochmals
   endewenn
endewenn
Zum Testen klickst du nun auf deine Pumpe. Es sollte keine Meldung erscheinen und im IOLog.txt sollte ein Signal an die Pumpe und eines vom Rückkanal eingetragen sein. Ist das erste Signal an die Pumpe vielleicht untergegangen, können es auch zwei oder drei sein. Vom Rückkanal darf aber nur ein Signal drin sein und nachher KEIN ausgehendes mehr an die Pumpe!

Nun trägst du in Homeputer beim Rückkanal (...IST) eine FALSCHE Adresse ein. Dann klickst du nochmals auf die Pumpe. Nach 6 Sekunden sollte in der Anzeige die Störungsmeldung mit Datum und Uhrzeit drin stehen. Im IOLog.txt hast du dann 6 Sendungen an die Pumpe (Schaltsignal + 5 Sendewert). Die Pumpe müsste natürlich trotzdem geschaltet haben - es fehlt nur das Rücksignal.

Wenn beide Tests erfolgreich bestanden sind, darfst du nicht vergessen, die Adresse des Rückkanals in Homeputer wieder richtigzustellen.

Es wäre schön, wenn du dieses Mal genau nach Anleitung arbeiten würdest. Und - wenn du davon abweichst - das auch kundtust. Und wenn etwas anders als erwartet abläuft, eine exakte (ausführliche) Fehlerbeschreibung lieferst - inkl. Protokollauszug der IOLog.txt.

Wie gesagt: Mein Vorschlag funktioniert nur richtig, wenn im Aktor selbst heute noch KEIN Makro steht. Sollten auch Aktoren mit eigenen Makros betroffen sein, musst du die hier einstellen, damit man die nötigen Änderungen/Ergänzungen richtig vornehmen kann. Vergiss nicht, auch Ausführungsintervall usw. anzugeben.

Viele Grüsse
Bümpi

PS: Ich habe mir noch erlaubt, den Titel des Threads etwas aussagekräftiger zu formulieren.

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

Re: Rückkanal FS20-EAM von crazy-hardware programmieren

Beitrag von Micha » 22.10.2009, 10:09

Hallo Bümpi,
Danke für Deine Ausführungen. Ich werde das mit Hansi besprechen. Mal sehe was er sagt.
Danke Michael

crazy_hardware
Beiträge: 18
Registriert: 07.08.2007, 18:10

Re: Rückkanal FS20-EAM von crazy-hardware programmieren

Beitrag von crazy_hardware » 22.10.2009, 11:54

Hallo Michael, Hallo buempi,

ja, so sind wir auf dem richtigen Weg. Schön ist, wenn sich die Rückantwortadresse berrechnen lässt, das kann natürlich Aktoradresse +xxx1 sein oder auch Aktoradresse +1xxxx .
Prima ist auch der Vorschlag/ das Beispiel von buempi, das die Anzahl der Sendeversuche begrenzt wird, das also wenn die Verteilung einen Stromausfall hat nicht unbegrenzt
versucht wird den Aktor zu schalten.

Ich habe selber kein homeputer auf meinem Rechner und kann deshalb nur begrenzt mithelfen, aber Anregungen und Tips sind ja auch viel Wert.
Zu Bedenken ist, dass der Empfänger nach dem Empfang der Daten erst die Daten auf das Hutschienensystem weitersendet und dann die Antwort
zurückschickt, während dieser beiden Zeiten kann in der aktuellen Firmwareversion kein weiteres Schaltsignal empfangen werden, d.h. zwischen
jedem Sendebefehl an den Rückkanalempfänger sollten 0,5 bis 1 Sekunde Verschnaufpause liegen, damit die Daten verarbeitet werden können.

Diese Pause zwischen den Sendebefehlen sollten im übrigen alle bedenken/einhalten die ein oder zwei Repeater in Ihrem System eingebunden
haben, sonst stöst der nächste Sendebefehl der FHZ mit dem Sendebefehl des Repeaters zusammen, im günstigstem Fall gewinnt der stärkere
Sender, im ungünstigsten Fall gehen dann beide Signale verloren.

Gruss Hansi

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

Re: Rückkanal FS20-EAM von crazy-hardware programmieren

Beitrag von buempi » 22.10.2009, 12:02

Hallo Hansi

Danke für diesen Hinweis betreffend "Verschnaufpause"! - Um sicher zu gehen, würde ich dann empfehlen, bei meinem obigen Makro das WARTE() auf 2 Sekunden zu erhöhen! Das tut der Zuverlässigkeit keinen Abbruch und verhindert Überschneidungen.

Viele Grüsse
Bümpi

crazy_hardware
Beiträge: 18
Registriert: 07.08.2007, 18:10

Re: Rückkanal FS20-EAM von crazy-hardware programmieren

Beitrag von crazy_hardware » 22.10.2009, 13:47

Hallo Micha,

ich weis zwar nicht was Du gerade machst, aber das Makro von duempi funktioniert erst nach dem Update des Rückkanalempfängers,
wenn er also nicht wie jetzt mit der gleichen Adresse zurücksendet sondern mit der geänderten Adresse.

Also erst mir die Adressen schicken, damit ich das Update fertig machen kann, dann die Makros ändern/testen!

Gruss Hansi

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

Re: Rückkanal FS20-EAM von crazy-hardware programmieren

Beitrag von Micha » 22.10.2009, 18:56

Hallo Hansi hallo Bümpi,
Im Moment bin ich dabei die jetzt laufenden Makros zu überprüfen. Dank Thomas seine Software geht das ganz gut. Ich gehe dabei alle Vorschläge von Dir durch und habe auch schon ein paar weitere Fehler gefunden. Diese ändere ich alle einzeln um zu sehen ob sich ein neuer Fehler zeigt. Bis jetzt läuft es ganz gut. Keine Störungen. Die Wahrheit kommt aber erst morgen früh. Starten die Pumpen oder muss ich sie wieder von Hand zuschalten. Erst wenn das alles OK ist werde ich mich an die Adressenänderung machen.
Dann melde ich mich wieder
Danke Michael

crazy_hardware
Beiträge: 18
Registriert: 07.08.2007, 18:10

Re: Rückkanal FS20-EAM von crazy-hardware programmieren

Beitrag von crazy_hardware » 23.10.2009, 12:08

Hallo Michael,

Schreibe mal vor jedem Sendebefehl eien Pause von 1 Sekunde bzw. nach jedem Sendebefehl.
Und das natürlich in allen Makros die Du im System hast !!!!!

Du hast einen "Repeater" im Betrieb, d.h. weden in Deiner Steuerung 2 Pumpen direkt nacheinander angefunkt, dann geht das 2. Signal
mit grosser Wahrscheinlichkeit unter, da der Rückkanalempfänger ( "Repeater" ) zu dieser Zeit die Antwort zurück sendet !!!!!!!

Gruss Hansi

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

Re: Rückkanal FS20-EAM von crazy-hardware programmieren

Beitrag von Micha » 23.10.2009, 12:48

Hallo Hansi,
Ist das so:
warte("00:00:01")
Und das vor alle Pumpen und Ventile?
Danke Michael

crazy_hardware
Beiträge: 18
Registriert: 07.08.2007, 18:10

Re: Rückkanal FS20-EAM von crazy-hardware programmieren

Beitrag von crazy_hardware » 23.10.2009, 16:58

Da wir noch keine Adressen festgelegt haben auf die geantwortet wird ja!
Es muss jetzt aber einer von den Experten antworten, ob ein anderes Makro parallel laufend senden kann, oder ob die Makros nacheinander abgearbeitet werden.

Im letzten Fall wäre eine Variable "Funkstopp" nützlich die vor der Pause gesetzt und nach der Pause zurück gesetzt wird.
in Jedem Makro könnte dann daurauf gwartet werden das Funken erlaubt wird.

Wieviel Makros hast Du denn die Sendebefehle enthalten?

Gruss Hansi

Antworten

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