Seite 1 von 1

Zustand von 16 Relais in Tabelle eintragen

Verfasst: Mittwoch 19. Januar 2011, 20:41
von Racer01
Hallo

Ein Anfäger brauzcht wieder mal einen Gedankenanstoß.
Ich will von meinen 16 Relais jedes mal wenn eines schaltet einen Texteintrag mit Datum und Uhrzeit in eine Tabelle eintragen.
Wie kann ich das verwirklichen.

Bernhard

Re: Zustand von 16 Relais in Tabelle eintragen

Verfasst: Mittwoch 19. Januar 2011, 23:27
von KAKTUS
Bitte definiere "Texteintrag"

Re: Zustand von 16 Relais in Tabelle eintragen

Verfasst: Donnerstag 20. Januar 2011, 06:21
von Racer01
Z.B. HQI aus, HQI an, Rückförderpumpr an, Rückförderpumpe aus,.......

Re: Zustand von 16 Relais in Tabelle eintragen

Verfasst: Donnerstag 20. Januar 2011, 11:01
von KAKTUS
Stichwort Multiplexer
16 Eingänge , 1 Ausgang, dieser führt auf die Tabelle E1 und ist ein String

Die 16 Eingänge des $Multiplexers mit $const belegen, eben dein gewünschter Text.

Die Steuerleitungen des multiplexers mit deinen Relais Signalen belegen und "passend" umwandeln. ;-) nicht ganz einfach. Hab grad auch kein PLE und keine Lösung parat.

Wenn sich an irgend einem Relais was ändert , dann Eintrag in die Tabelle.

Re: Zustand von 16 Relais in Tabelle eintragen

Verfasst: Donnerstag 20. Januar 2011, 11:13
von XManBG
Ja, KAKTUS hat Recht. Anbei eine Idee, wie ich es mir vorstelle. An der Stelle von den Timern muss du natürlich selber wissen, wann du speichern willst :)

Gruß, XManBG

Re: Zustand von 16 Relais in Tabelle eintragen

Verfasst: Donnerstag 20. Januar 2011, 11:50
von Racer01
Super danke für die Beteiligung .
Hätte es viel komplizierter gemacht, darum habe ich vorher gefragt.

Danke noch mal, Bernhard

Re: Zustand von 16 Relais in Tabelle eintragen

Verfasst: Donnerstag 20. Januar 2011, 12:05
von Racer01
Aber bei einem bin ich nocht schlüssig, ich will in die Tabelle nur einen Eintrag schreiben wenn ein Schalter betätigt wird.
In die Zeile soll nur der eine Eintrag z.b. Pumpe ein um 13.05 Uhr
Wenn ich eine Spalte mache wo alle 16 eingänge anführ wird es unübersichtlich.

Re: Zustand von 16 Relais in Tabelle eintragen

Verfasst: Donnerstag 20. Januar 2011, 12:58
von Racer01
Um zu sehen was ich gerne hätte habe ich die Datei von XManBG verändert.
Vermute aber das es eine einfachere Lösung gibt.
Und ich brauche es für 16 Schalter.

Gruß Bernhard

Re: Zustand von 16 Relais in Tabelle eintragen

Verfasst: Donnerstag 20. Januar 2011, 19:43
von compander
Hallo Bernhard.

Falls ich es richtig verstanden habe, so möchtest Du in der Tabelle lediglich 3 Spalten.
1. Eintrag bei einer Änderung des Zustandes eines der 16 Relais
2. Uhrzeit
3. Datum

Dies kann zu Problemen führen, falls (z.B.) zeitgleich mehr als ein Relais geschaltet wird.
In diesem Fall würde das Tabellenfenster (z.B.) auch rasend schnell voll sein. Vielfaches Scrollen nötig.....

Ich würde empfehlen, dass in der Tabelle der Zustand aller 16 Relais gleichzeitig dargestellt werden. Immer wenn sich des eines, oder der Zustand mehrerer Relais ändert,
so wird dies entsprechend (für jeden Relaiszustand zu diesem Zeitpunkt; in einer ZEILE) dokumentiert. Sieht relativ übersichtlich aus.
........und man muss dann (so auch) deutlich weniger "scollen".
Falls dir so eine Tabelle flächenmäßig zu groß erscheint, und nur der Historie dient, so kann sie gegebenenfalls auf eine zweite (weitere) Frontplatte gelegt werden.

Falls dies OK ist: bitte melden.
Ich bräuchte eh so etwas Ähnliches........

Gruß vom C :shock: mpander.

Re: Zustand von 16 Relais in Tabelle eintragen

Verfasst: Freitag 21. Januar 2011, 07:26
von Racer01
Die Relais schalten nicht so oft am Tag, und ich benutze es nur um wenn ich am Abend von der Arbeit komme nachzusehen was alles los war.
Dannach lösche ich es per Knopfdruck.
Hebe es jetzt eh schon erstellt, so wie es oben in der Datei angeführt ist.
Nur ist es ziemlich groß geworden, darum dachte ich das es villeicht was einfacheres gibt.

Bernhard

Re: Zustand von 16 Relais in Tabelle eintragen

Verfasst: Freitag 21. Januar 2011, 13:55
von XManBG
Hallo, ich habe mir deine Lösung auch angeschaut. Sie ist gar nicht so schlecht, aber hat bei mir irgendwie unsicher funktioniert. Auf jeden Fall habe ich sie überarbeitet und hier findest du sie nochmal.

Mit der Annahme, dass deine Relais nicht gleichzeitig schalten - wird alles wunderbar in die Tabelle aufgenommen.

Gruß, XManBG

Re: Zustand von 16 Relais in Tabelle eintragen

Verfasst: Sonntag 23. Januar 2011, 12:07
von abacom
Zustand von 16 Relais in Tabelle eintragen
So einfach wie sich das anhört ist es leider nicht. Theoretisch kann man dieses als Parallel->Seriell-Umsetzung
betrachten, bei der (auch GLEICHZEITIGE) Ereignisse NACHEINANDER in die Tabelle geschrieben werden müssen.
Man benötigt dazu unbedingt Pufferspeicher (FIFO; FirstInFirstOut), die die asynchronen Ergeignisse mit einem internen Takt synchronisieren. Die einzige PL-Komponente die das leisten kann ist der $BUFFER.

Im anliegenden Beispiel werden fallende und steigende Flanken mit einem Zeitstempel versehen und zwischengespeichert.
(16x Makro "TIMESTAMP"). Das übergeordnete Makro (Event16) ruft die Speicher nacheinander ab und generiert ggf. den Schreibclock für die Tabelle (o.ä. wie z.B. Schreiben auf RS232).
events16.zip
(7.1 KiB) 553-mal heruntergeladen

Re: Zustand von 16 Relais in Tabelle eintragen

Verfasst: Sonntag 23. Januar 2011, 16:31
von Racer01
Bei mir funktioniert es auch mit der vorher schon diskutierten Schaltung.
Wen wirklich mal 2 Relais innerhalb von 0,3 Sekunden gleichzeitig schalten, stehen halt 2 Einträge in der Zeile.

Bernhard

Re: Zustand von 16 Relais in Tabelle eintragen

Verfasst: Sonntag 23. Januar 2011, 16:42
von Racer01
Um zu sehen wie ich es gemacht habe mal die Datei.
Ist aber nicht lauffähig, da ich es nur aus dere gesamten schaltung rauskopiert habe.

Bernhard

Re: Zustand von 16 Relais in Tabelle eintragen

Verfasst: Sonntag 23. Januar 2011, 20:52
von compander
Hallo Abacom.
Hallo Freunde.

@Abacom. Der Hinweis auf den $Buffer ist sehr gut.
Leider habe ich diesen Baustein in dem angefügten Beispiel (noch) nicht genutzt.
Die "Tabelle" würde erheblich übersichtlicher ausfallen, wenn man die Hintergrundfarbe (hier z.B. Rot bei dem Wort "EIN") gezielt einfärben könnte.
(so, wie es man bei Word/Excel gewöhnt ist)

#################################################################################################################################

In dem Beispiel wird nicht in festgelegten "Zeitabständen" der Relaiszustand abgefragt/dargestellt.
Vielmehr wird immer nur dann eine Änderung (in einer Zeile) dokumentiert. Wenn/falls sich halt etwas Erneutes "tut".
Für alle Relais.
Auch, falls alle gleichzeitig "schalten".

Das Makro, und eine ergänzende "readme", gibt es auf:
http://www.minirock2009.de.vu
PLE Makros/PLE Mini.

Gruß vom C :shock: mpander.