LOGO Wie einen analogen Wert speichern und anzeigen?

PN/DP

User des Jahres 2011-2013;2015-2017;2020-2022;2024
Beiträge
24.198
Reaktionspunkte
7.683
Zuviel Werbung?
-> Hier kostenlos registrieren
Logo! 6ED1052-1MD00-0BA5

Ich habe mal wieder eine Frage zur Logo: Wie kann man einen analogen Wert (Konstante Zahl) bei einer steigenden Flanke speichern? Möglichst remanent. Der gespeicherte Wert soll im Display der Logo angezeigt werden.

Mit einer beliebigen SPS würde ich das etwa so programmieren ( -|P|- Erkennung steigende Flanke):
Code:
                    +--------+
   I1               |  MOVE  |
--| |------|P|------|EN      |
                    |        |
                12--|IN   OUT|-VW2
                    +--------+
                    +--------+
   I2               |  MOVE  |
--| |------|P|------|EN      |
                    |        |
                34--|IN   OUT|-VW2
                    +--------+
                    +--------+
   I3               |  MOVE  |
--| |------|P|------|EN      |
                    |        |
                56--|IN   OUT|-VW2
                    +--------+
(1) Wie kann ich das mit einer Logo realisieren?
(2) Kann man bei der Logo die Breite des Ausgabefeldes einstellen oder ist das immer 6 Zeichen breit? Ich brauche eigentlich nur 2 Zeichen breit.

Hintergrund: Zu Diagnosezwecken sollte mal "auf die schnelle" gezählt und angezeigt werden, wie oft eine Pumpe angefordert/eingeschaltet wurde. Das hatte ich mit einer gerade zufällig vorhandenen Logo 6ED1052-1MD00-0BA5 realisiert. Nun kam der Wunsch auf, dass die Logo auch anzeigt, durch welche von mehreren Anforderungen die Pumpe zuletzt gelaufen ist. Es soll also bei einer steigenden Flanke einer der Anforderungen jeweils irgendeine zweistellige Zahl (Nummer/"Name" des Druckschalters) gespeichert werden, so dass man am Display der Logo die Nummer des Druckschalters ablesen kann.
 
Um wie viele Anforderungen geht es hier?

könnte man zB. mit Meldetexten lösen: in frage kommenden Eingang auf ein RS -> Meldefenster und in dem dann den Eingang anzeigen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit der 0BA5 hast Du nicht wirklich die Möglichkeit, Analogwerte zu speichern, schon gar nicht remanent.
(Analog war da allgemein noch in den Kinderschuhen, das fing ja erst bei der 0BA4 an.)

Die 0BA6 hat die arithmetische Anweisung, mit der man das könnte, wenn auch nicht remanent.
Ab der 0BA7 mit dem Max/Min-Baustein im Modus 3 dann auch remanent.


Aber warum unbedingt analog, warum baust Du Dir kein digitales Register, wenn es eh' Digitalsignale sind?
So als erste Überlegung dazu:
Für jedes Signal eine AND-Flanke auf den S-Eingang und ein OR für die anderen (beiden) Signale auf den R-Eingang eines Stromstoßrelais und dieses auf S-Dominant und Du solltest wissen, welcher Eingang als letztes Signal hatte.
 
Um wie viele Anforderungen geht es hier?
7 Signale, auf 7 Eingänge

könnte man zB. mit Meldetexten lösen: in frage kommenden Eingang auf ein RS -> Meldefenster und in dm dann den Eingang anzeigen.
Dann müssten 7 Meldetexte erstellt werden?
Das Display zeigt bereits 3 weitere Werte an (den Zähler, wie lange war Ein, wie lange war Aus), Die unterste Hinweiszeile soll durch das Ausgabefeld ersetzt werden. Es sollen die Werte 8, 9, 10, 11, 12, 71, 72 angezeigt werden.
 

Anhänge

  • Anzeige.png
    Anzeige.png
    4,4 KB · Aufrufe: 15
Mit der 0BA5 hast Du nicht wirklich die Möglichkeit, Analogwerte zu speichern, schon gar nicht remanent.
Schade, dachte ich mir schon. Zu diesen alten Logo finde ich nur total umständliche Wege über Zähler, die bis zu einem Vergleichswert zählen...

Und ChatGPT hat auch nicht wirklich Ahnung von Logo und eiert nur mit Allgemeinplätzen rum... ;)

Notfalls hätte ich auch noch eine 08-0BA0 zum spielen, doch die wollte ich für dieses Diagnose-"Provisorium" nicht weggeben.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So als erste Überlegung dazu:
Für jedes Signal eine AND-Flanke auf den S-Eingang und ein OR für die anderen (beiden) Signale auf den R-Eingang eines Stromstoßrelais und dieses auf S-Dominant und Du solltest wissen, welcher Eingang als letztes Signal hatte.
So in etwa:
1741191680624.png
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ginge vielleicht was mit Analog-MUX, die in einem "Zirkelschluss" in Reihe geschaltet einen vorhandenen Wert oder den gewünschten Wert durchschalten?
Ja.
Du kannst die Ausgänge der SSR dann auf die Eingänge von 4 Mux führen.
Und die kannst Du in Reihe schalten.

Bei der 0BA5 hast Du allerdings noch Probleme, wenn 2 Eingänge von verschiedenen MUX aktiv sind, weil ja der vordere dominanter ist.
 
Zuletzt bearbeitet:
Ja.
Du kannst die Ausgänge der SSR dann auf die Eingänge von 4 Mux führen.
Und die kannst Du in Reihe schalten.

Bei der 0BA5 hast Du allerdings noch Probleme, wenn 2 Eingänge von verschiedenen MUX aktiv sind, weil ja der vordere dominanter ist.
So in etwa:
1741192416064.png

PS:
Wenn z.B. 1 und 3 gleichzeitig kommen, lösen zwar beide SSR aus, aber B017 ist gegenüber B018 in der Anzeige dominant.
 

Anhänge

Zuletzt bearbeitet:
Vielen Dank Mario. Ich habe gewusst, dass du mit der machbaren Idee kommst ;) :D

Zusatzfrage: Wie sieht das mit der Kompatibilität der Logo-Projekte aus? Wenn ich das Projekt mit LSC 8.3.1 speichere, kann ich dann das Projekt auch mit LSC 8.2 oder noch älter öffnen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zuerst:
Wenn Du 2^x-Werte nimmst, kannst Du je 2 MUXXe mit dem Analogkomperator sauber addieren (bei einem Muxx müssen die Werte negativ sein) und immer noch einmalige Ergebnisse erhalten.


Zusatzfrage: Wie sieht das mit der Kompatibilität der Logo-Projekte aus? Wenn ich das Projekt mit LSC 8.3.1 speichere, kann ich dann das Projekt auch mit LSC 8.2 oder noch älter öffnen?
Die Projekte sind normalerweise kompatibel (bei der LSC8.4 gab's allerdings mal einen Bug dabei).
Vorraussetzung:
Die Hardware ist auf einen entsprechend gleichen oder älteren LOGO!-Typ eingestellt, der max. zu der LSC gehört.
Wenn Du also z.B. als Hardwaretyp die 0BA5 einstellst, sollte das Projekt auch mit der LSC V5 zu öffnen sein (mit der V4 dann noch nicht).
 
Zuletzt bearbeitet:
@hucki Nochmal Danke. Das Ergebnis ist genau was ich mir vorgestellt hatte. Ich konnte es direkt übernehmen. (y)

Allerdings habe ich auch direkt wieder einen Fehler in der LOGO!Soft Comfort V8.3.1 entdeckt 😢
Das Parameter-Ausgabefeld des Parameters vom Analog-MUX.AQ ist "in Echt" am realen 0BA5-Gerät augenscheinlich nur 6 Zeichen breit, obwohl es im Programmier-Editor und in der Simulation 7 (!) Zeichen breit dargestellt wird. Siehe die Bilder. Die letzte/Einer-Ziffer des Wertes unten in der 4. Zeile ist am realen Gerät in der vorletzten Spalte und nicht in der letzte Spalte wie in der Logo!Soft dargestellt.
(Die Breite der Ausgabefelder kann man nirgends einstellen?)

Im Anhang mein komplettes Programm des Diagnosezählers, mit dem man auf die Schnelle z.B.
• die Anzahl Starts eines Aggregates oder allgemein die Anzahl von Impulsen
• Gesamt-Einschaltdauer
• Gesamt-Ausschaltdauer
• Welches Signal war das letzte Signal?
feststellen kann. Die Zählerstände kann man auf 0 resetten, indem man an der LOGO die Taste ESC und die Cursortaste ◀ gleichzeitig 2s lang drückt.
 

Anhänge

Zuviel Werbung?
-> Hier kostenlos registrieren
Allerdings habe ich auch direkt wieder einen Fehler in der LOGO!Soft Comfort V8.3.1 entdeckt 😢
Das Parameter-Ausgabefeld des Parameters vom Analog-MUX.AQ ist "in Echt" am realen 0BA5-Gerät augenscheinlich nur 6 Zeichen breit, obwohl es im Programmier-Editor und in der Simulation 7 (!) Zeichen breit dargestellt wird.
Nein, das ist nicht so.
Gib mal den Wert -32767 in einen Parameter des MUX ein sowie 2 Dezimalstellen für den Meldetext.
Im Display der realen 0BA5 wird dann -327.67 angezeigt, das sind dann 7 Zeichen. 5 Stellen für die Zahlen, eine Stelle für das Vorzeichen und eine Stelle für den Dezimalpunkt.
 
@hucki Nochmal Danke. Das Ergebnis ist genau was ich mir vorgestellt hatte. Ich konnte es direkt übernehmen. (y)
Freut mich.
😁

Btw: Was ist der Vorteil der doppelten Ziffern in den MUXen?


Die Breite der Ausgabefelder kann man nirgends einstellen?
Nein, kann man selbst bei der neuesten LOGO bis dato nicht. (Irgendwo müssen ja auch Abstriche zu 'nem ausgewachsenen HMI gemacht werden. Das könntest Du ja auch anschließen.)
Und sei froh', bei der 0BA8 gab's mal ein kurzes Intermezzo, wo die Zahlen im Anzeigefeld links ausgerichtet waren.
Das sah' vlt. erst doof aus, vor allem wenn man noch 'ne Einheit dahinter geschrieben hat.
(Ok, manchmal konnte man das auch positiv nutzen und bei der LOGO!-Anzeige den unbenötigten Rest ins rechte "Ausfeld" für das TD schieben.)



Und noch eine Frage zum Programm:
1741325216002.png
Wofür hast Du das HIGH rein- und dann mit der Negation wieder ausprogrammiert anstatt es zu löschen?
Und vor allem, warum auch abschließend im Programm drinne gelassen?
 
Nein, das ist nicht so.
Gib mal den Wert -32767 in einen Parameter des MUX ein sowie 2 Dezimalstellen für den Meldetext.
Im Display der realen 0BA5 wird dann -327.67 angezeigt, das sind dann 7 Zeichen. 5 Stellen für die Zahlen, eine Stelle für das Vorzeichen und eine Stelle für den Dezimalpunkt.
Ok, dann braucht es wohl wirklich 7 Zeichen. Warum ist dann aber im realen 0BA5-Gerät die Zahl nicht ganz rechtsbündig im Ausgabefeld, sondern noch ein Leerzeichen dahinter (zumindest bei meinen kleinen Zahlen ohne Dezimalpunkt)? In der Simulation in LOGO!Soft wird aber im Unterschied zum realen Gerät der Wert exakt rechtsbündig dargestellt. Ein Firmware-Fehler im 0BA5-Gerät?
Kann man eigentlich irgendwo sehen, welche Firmware-Version das 0BA5-Gerät hat?
 
Gar nicht. Das Anzeigen der Firmware-Version kann erst mit der 0BA7.
Bei der 0BA5 konnte man nur auf der Gehäuseoberseite den Erzeugnisstand ablesen (z.B. X|2|3).
 
Zurück
Oben