Sonstiges Fragen zur LOGO: Uhrzeit verarbeiten, Netzwerk/VM-Variablen

PN/DP

User des Jahres 2011-2013; 2015-2017; 2020-2022
Beiträge
23.370
Reaktionspunkte
7.295
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe gerade ein Projekt, wo ich mal eine LOGO! als über Netzwerk ansteuerbare Relais einsetzen will. Weil man da die IP-Adresse am Display einstellen kann, habe ich die LOGO! gewählt und keine SPS (S7-1211C ginge sonst auch).

Nun bin ich ein bisschen überrascht, was die LOGO! anscheinend nicht oder nur sehr umständlich kann. Ich habe ein paar Fragen an die Experten:

1) Uhrzeit Stunde verarbeiten
Kann man irgendwie Datum/Uhrzeit der Geräteuhr verarbeiten? Ich bräuchte für jede Stunde des Tages ein separates Signal, abhängig von der Uhrzeit und nicht mit Timern/Zählern/Pulsgebern erzeugt. Das geht anscheinend nur über die Wochenschaltuhr? Gibt es ein Limit, wieviele Wochenschaltuhren man im Programm verwenden kann? (kann ich auch selber ausprobieren)
Gibt es vielleicht noch eine andere Möglichkeit, die Stunde der Uhrzeit zu verarbeiten?

An den Tag des Datums kommt man anscheinend gar nicht ran?

2) lokalem Memory (VM) etwas zuweisen, Werte kopieren, Netzwerkeingänge und Netzwerkausgänge
Die LOGO bekommt über Netzwerk boolsche Werte über 36 Netzwerkeingänge. Um Mitternacht müsste die LOGO 24 Werte davon umkopieren. Wie kann man "kopieren"?
Kann man im LOGO-Programm auf Netzwerkeingänge schreiben oder alternativ Netzwerkausgänge lesen? Warum haben die Netzwerkeingänge Eingangs-Anschlüsse und Netzwerkausgänge Ausgangs-Anschlüsse, was kann man da anschließen?

Kann man den "lokalen Memory (VM)" allgemein für Variablen nutzen oder nur für die Netzwerkeingänge/ausgänge? Warum ist der Adressbereich so groß, wenn man nur so wenige NI und NO (je 64) verwenden kann? Wo kann man VM-Speicher verwenden? Überlappen die VM-Adressen, also wenn man auf VW0 schreibt, würde das V0.0 beinflussen?

3) blinkende Symbole im Display Ecke oben rechts
Ich habe hier eine aktuelle LOGO!12/24RCE 6ED1052-1MD08-0BA1. Da blinkt im Display in der rechten oberen Ecke ein extrem kleines Symbol (könnte ein '^' sein, manchmal sieht es auch wie ein Fliegenschiss aus). Im Handbuch finde ich dazu nichts. Weiß jemand was das ist?

Harald
 
Das meiste davon wird sicher @GUNSAMS noch korrekter als ich beantworten können.

zu 1.
An die eigene Uhrzeit kommt die LOGO nicht direkt.
Schalttvorgänge zu bestimmten Uhrzeiten können nur über die Schaltuhren ausgelöst werden.
Allerdings können externe Geräte (z.B. auch eine 2. Logo) die Uhrzeit über den VM-Bereich auslesen:
ixo65 vom Siemens-Forum schrieb:
Siemens hat da eine unsinnige Beschränkung, dass man im LOGO!-Programm auf diesen Teil des VM-Speichers nicht direkt zugreifen kann, von Remote aber ja. Das heißt, mit einer Remote SPS könnte ich Datum und Uhrzeit auslesen (und auch ändern) und wieder zurück in den VM-Bereich (VB0-VB850) schicken. Dann stünden im LOGO!-Programm Datum und Uhrzeit zur Verfügung.

Es sind 7 Bytes (Sekunde, Minute, Stunde, Tag, Monat und Jahr sowie der Wochentag).
VB985 bis VB990 und VB998 für den Wochentag und fest im VM-Bereich angelegt.


Zu 2.
Zum Umkopieren würde ich den Min/Max-Baustein im Mode=3 verwenden:
1679173062174.png
Die schwarzen Anschlüsse sind die Analog-Verbindungen im Schaltplan, die grünen die parametrierten Werte.

Den VM-Bereich kann man auch für Parameter von Bausteinen nutzen.
Dafür gibt es unter Extras die Parameter-VM-Zuordnung.
Ursprünglich diente dieser Bereich wohl zum Austausch mit HMI u.ä..
Man könnte also z.B. den Wert des Aq von B001 auch über die Parameter-VM-Zuordnung in den VM-Bereich bringen und den analogen Ausgang des B001 dann für eine andere Verbindung nutzen. Allerdings ist so ein NAQ im Schaltplan IMHO einfacher zu lesen.
Umgekehrt kann man von extern so z.B. auch in die 4 Parameter eines Analog-Muxx schreiben, der das dann über seinen Ausgangswert weiter geben kann.

Der Aufbau des VM-Bereichs entspricht dem Variablenbereich einer S7-200.
Das V0.0 und VW0 beinflussen sich also gegenseitig.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke hucki, auch für den Tip, daß ein Teil des VM schon eine Standard-Belegung hat. Das hatte ich vergessen, weil bisher nie gebraucht.
Ja, mit dem VM das ist irgendwie unausgegoren, daß man im Programm nur bis ungefähr VB850 zugreifen kann/darf. Vielleicht geht ja was über die Parameter von Blöcken, wenn man die mit VM verknüpfen kann.

Harald
 
Zuletzt bearbeitet:
Bei den NI kann man auch einen "Remote" angeben. Ob die Logo sich da auch auf sich selber verbinden kann? Schau ich mir morgen mal an.
 
Zuletzt bearbeitet:
Gibt es vielleicht noch eine andere Möglichkeit, die Stunde der Uhrzeit zu verarbeiten?
Wenn Du die Möglichkeit hast, die Uhrzeit der Logo extern zu lesen und die Stunde in den lesbaren Bereich der Logo (z.B. ins VB1) zurück zu bringen, könntest Du Dir einfach einen eigenen (deutlich einfacheren) "volle Stunden"-Takt (bzw. Flanke bei Änderung des VW) basteln:
1679175744921.png
 
Zuletzt bearbeitet:
Die Logo soll die meiste Zeit autonom funktionieren, ohne Unterstützung von außen. Nur einmal am Tag soll eine HMI die Steuerdaten für die nächsten 36 Stunden in die Logo laden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
[snip]
1) Uhrzeit Stunde verarbeiten
Kann man irgendwie Datum/Uhrzeit der Geräteuhr verarbeiten? Ich bräuchte für jede Stunde des Tages ein separates Signal, abhängig von der Uhrzeit und nicht mit Timern/Zählern/Pulsgebern erzeugt. Das geht anscheinend nur über die Wochenschaltuhr? Gibt es ein Limit, wieviele Wochenschaltuhren man im Programm verwenden kann? (kann ich auch selber ausprobieren)
Gibt es vielleicht noch eine andere Möglichkeit, die Stunde der Uhrzeit zu verarbeiten?

An den Tag des Datums kommt man anscheinend gar nicht ran?

2) lokalem Memory (VM) etwas zuweisen, Werte kopieren, Netzwerkeingänge und Netzwerkausgänge
Die LOGO bekommt über Netzwerk boolsche Werte über 36 Netzwerkeingänge. Um Mitternacht müsste die LOGO 24 Werte davon umkopieren. Wie kann man "kopieren"?
Kann man im LOGO-Programm auf Netzwerkeingänge schreiben oder alternativ Netzwerkausgänge lesen? Warum haben die Netzwerkeingänge Eingangs-Anschlüsse und Netzwerkausgänge Ausgangs-Anschlüsse, was kann man da anschließen?

Kann man den "lokalen Memory (VM)" allgemein für Variablen nutzen oder nur für die Netzwerkeingänge/ausgänge? Warum ist der Adressbereich so groß, wenn man nur so wenige NI und NO (je 64) verwenden kann? Wo kann man VM-Speicher verwenden? Überlappen die VM-Adressen, also wenn man auf VW0 schreibt, würde das V0.0 beinflussen?

3) blinkende Symbole im Display Ecke oben rechts
Ich habe hier eine aktuelle LOGO!12/24RCE 6ED1052-1MD08-0BA1. Da blinkt im Display in der rechten oberen Ecke ein extrem kleines Symbol (könnte ein '^' sein, manchmal sieht es auch wie ein Fliegenschiss aus). Im Handbuch finde ich dazu nichts. Weiß jemand was das ist?

Harald

Zu 1.)
Ein direkten Zugriff der Logo auf das Datum und die eigene Uhrzeit ist nicht möglich, geht nur per Remote, also von einer anderen Logo, S7, HMI, Apps usw. .
Da bleibt dir nur die Wochenschaltuhr für die Uhrzeit. Viele Blöcke, wie die Wochenschaltuhr z.B., haben keine Begrenzung durch die Anzahl, sondern nur durch den freien Programmspeicher.

Zu 2.)
Was verstehst du in diesem Fall genau unter "umkopieren"? Willst du den Status der 24 NIs speichern bis zum nächsten Tageswechsel? Wenn ja, dann ich ich sagen: Alle 36 NIs direkt hintereinander in den VM-Speicher, z.B. V0.0 bis V0.7, V1.0 bis V1.7, V2.0 bis V2.7, V3.0 bis V3.7, V4.0 bis 4.3. Dann kannst du den Status per positive Flanke in freie Wörter des VM-Speichers speichern, VW0 nach VW6, VW2 nach VW8. Dei 24 Werte wären dann V6.0 bis V6.7, V7.0 bis V7.7, V8.0 bis V8.7.

Die Adressierung des VM-Speichers ist genau wie bei S5 oder S7 Byte-orientiert. Und sie überlappen.

Bit: Byteadresse, Adresse des Bits im Byte.
V0.0 = Byte 0, erstes Bit im Byte.

VB0 = Adresse des Bytes.
VB0 setzt sich zusammen aus V0.0 bis V0.7.

Word = Adresse des ersten Bytes.
VW0 = VB0+VB1 = V0.0 bis V1.7.

DWord = Adresse des ersten Bytes.
VD0 = VW0+VW2 = VB0 bis VB3 = V0.0 bis V3.7.

Warum haben die Netzwerkeingänge Eingangs-Anschlüsse und Netzwerkausgänge Ausgangs-Anschlüsse, was kann man da anschließen?
Das sind keine Ein- bzw. Ausgangsanschlüsse. Wenn du mal genau hinschaust, dann siehst du, dass sie grün gefärbt sind und nicht schwarz.
1679199686746.png
Das ist bei vielen Blöcken so (unter anderem auch bei Wochenschaltuhr) und zeigt nur an, dass diese Blöcke parametrierbar sind. Sinn? Ich weiß es nicht.

Zu 3.)

Nicht dokumentierte Zeichen im Display der LOGO! 8.3


Bei der aktuellen Logo 8.3 (6ED1052-XXX08-0BA1) musst du beachten, dass du die Kommunikation per S7-Protokoll und/oder Modbus freigegeben werden muss (Datei > Eigenschaften > Offline-Einstellungen > Allgemein).
1679200425414.png

Das ist ein der neuen Sicherheits-"Features" der Logo 8.3.

Ich hoffe, dass ich deine Fragen ausreichend beantworten konnte.
 
Kann man den "lokalen Memory (VM)" allgemein für Variablen nutzen oder nur für die Netzwerkeingänge/ausgänge? Warum ist der Adressbereich so groß, wenn man nur so wenige NI und NO (je 64) verwenden kann? Wo kann man VM-Speicher verwenden?

Den VM-Speicher kannst du auch nutzen für die Kommunikation. Du möchtest z.B. den Startwert einer Einschaltverzögerung per Remote ändern. Dann weist du den Parameter "Einschaltverzögerung" per Parameter-VM-Zuordnung einem Word im VM-Speicher zu. Für Werte, welche nur gelesen werden sollen, kannst du analoge Netzwerkeingänge und analoge Netzwerkausgänge verwenden.
 
Hallo GUNSAMS
Danke für die detaillierten Antworten. Nun wird mir einiges klarer.

Jetzt erhellt sich mir auch, daß die Nummer der Netzwerkeingänge und Netzwerkausgänge (NI1..64/NQ1..64/NAI1..32/NAQ1..16 gar keine Adresse ist (wie bei den normalen E/A), sondern nur eine Blocknummer einer limitierten Anzahl von Zugriffstellen auf VM. Wenn ich eine VM-Variable lesen will, dann muß ich das über einen Netzwerkeingang-Block tun und wenn ich drauf schreiben will, dann muß ich das einem Netzwerkausgang-Block zuweisen. Also wenn ich VW2 nach VW0 kopieren will, dann muß ich von irgendeinem Netzwerkeingang lesen und zu irgendeinem Netzwerkausgang zuweisen, und die eigentliche VM-Adresse gebe ich im Block des Netzwerkeingangs/ausgangs an. Nun erklären sich mir auch die grünen angedeuteten Eingangs- und Ausgangslinien.

Bei meinem Projekt brauche ich einige Verknüpfungen 24 mal. Da werde ich mir mal UDF anschauen, ob ich damit was abkürzen kann. Vielleicht habe ich da später noch Fragen zu.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du sprachst ja von 24 Bits.
Die könntest Du (wie auch von GUNSAMS schon vorgeschlagen) zusammenhängend dem VM übergeben und dann als zwei WORDs übertragen.
Die LOGO interpretiert das zwar jeweils als INT, aber das spielt beim reinen Übertragen ja nicht wirklich 'ne Rolle.
 
Also wenn ich VW2 nach VW0 kopieren will, dann muß ich von irgendeinem Netzwerkeingang lesen und zu irgendeinem Netzwerkausgang zuweisen, und die eigentliche VM-Adresse gebe ich im Block des Netzwerkeingangs/ausgangs an.
Das würde für Dein Beispiel wohl auch funktionieren (wenn ins VW2 von extern geschrieben wird; von der eigenen LOGO geht's nicht):
1679259297162.png
Bei der Arithmetischen Anweisung muss dafür noch letzter Wert aktiviert werden:
1679259372409.png
 
Du sprachst ja von 24 Bits.
Die könntest Du (wie auch von GUNSAMS schon vorgeschlagen) zusammenhängend dem VM übergeben und dann als zwei WORDs übertragen.
Die LOGO interpretiert das zwar jeweils als INT, aber das spielt beim reinen Übertragen ja nicht wirklich 'ne Rolle.
Eigentlich werden 96 Bits von einer HMI in VM der LOGO geschrieben (plus ein paar Handshake I/O). Es müssen aber nur 48 Bits tatsächlich verknüpft werden. Durch das umkopieren im VM als WORDs/INTs reichen die max 64 NI und ein paar NAI und NAQ.

Das würde für Dein Beispiel wohl auch funktionieren (wenn ins VW2 von extern geschrieben wird; von der eigenen LOGO geht's nicht):
Danke für das Beispiel, daß man auch auf VM-Adressen (VW) zugreifen kann ohne NAI-Block.

Harald
 
Kaum ein paar wenige Stunden mit der LOGO!Soft V8.3.1 gearbeitet und schon fallen mir wieder ein paar komische Sachen und Macken auf ..., z.B.
  • Irgendwie ist es mir "gelungen", einen freien Kommentar unsichtbar mit einem Ausgangsblock zu verbinden.
    Den Block verschieben oder löschen macht das auch mit dem Kommentar!
    Kann man diese Verbindung wieder aufheben? Oder muß ich den Kommentar löschen und neu anlegen?

    Seltsam: Alles markieren und dann nach unten schieben: der Kommentar wandert nach oben (!)
    bis er aus der Arbeitsfläche verschwindet. Das läßt sich nicht rückgängig machen.
    Ist das ein Bug? Ist das Projekt kaputt? (siehe das angehängte Projekt)
  • Wozu sind die gelben Vierecke in der Mitte eines markierten Kommentars?
  • Kann man irgendwo in den Eigenschaften des Projektes > Statistik den Name des Bearbeiters festlegen/ändern (z.B. ein Kürzel)?
    Oder den Bearbeiter aus der Statistik rausnehmen oder die Statistik komplett löschen?
    Die LOGO!Soft trägt da automatisch und fest offensichtlich den Windows-Username ein. Hallo Siemens, schon mal was von privacy gehört?

Harald
 

Anhänge

  • seltsamer_Kommentar.png
    seltsamer_Kommentar.png
    10,2 KB · Aufrufe: 6
  • seltsamer_Kommentar_lsc.zip
    21,8 KB · Aufrufe: 2
Die Statistikzeilen lassen sich löschen, außer die letzte. Teilweise mehrere (markierte) Zeilen auf einmal, teilweise trotz anderweitiger Markierung nur noch einzeln. Je nachdem, wieviele noch da sind.
Bei jedem Speichern wird eine neue Zeile angelegt, den Benutzernamen nimmt LogoSoft vom Windows-Benutzer. Den könntest Du ja temporär umbenennen.

Über der Statistik gibt's Infos:
1679490132155.png
Da kannst Du deine eigenen Dinge eintragen.
Und drunter nochmal ein eigener Kommentar zum Programm.

Kommentare gibt's die Freien, erzeugt über das A-Icon in der Iconleiste (und auch zum Bearbeiten.
Und es gibt Kommentare in den jeweiligen Baustein-Eigenschaften (Konext), die dann über dem Baustein angezeigt werden und mit diesem verschoben werden, aber auch eigenständig verschiebbar sind.

Ich hab' es noch nie geschafft, einen freien Kommentar zu einem Baustein-Kommentar zu machen (außer Copy/Paste). Daher kann ich dazu nix sagen.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
  • Irgendwie ist es mir "gelungen", einen freien Kommentar unsichtbar mit einem Ausgangsblock zu verbinden.
    Den Block verschieben oder löschen macht das auch mit dem Kommentar!
    Kann man diese Verbindung wieder aufheben? Oder muß ich den Kommentar löschen und neu anlegen?

    Seltsam: Alles markieren und dann nach unten schieben: der Kommentar wandert nach oben (!)
    bis er aus der Arbeitsfläche verschwindet. Das läßt sich nicht rückgängig machen.
    Ist das ein Bug? Ist das Projekt kaputt? (siehe das angehängte Projekt)
  • Wozu sind die gelben Vierecke in der Mitte eines markierten Kommentars?
Wenn Du Deinen Kommentar mit rechts anklickst und auf Hilfe gehst, kommt das hier:
1679490000055.png
Das könnte einige Fragen beantworten.
Für mich ist das bis dato auch unbekannt.

PS:
Auch schön, wie der Autor der Hilfe für den Beispielkommentar wohl mit dem Kopf über die Tastatur gerollt ist.
:ROFLMAO:
 
Zuletzt bearbeitet:
Ahh, das scheint die letzte Erklärung mit dem "Verknüpften Kommentar" zu sein. Allerdings wird da in meinem Projekt kein Rahmen grün, wenn ich den Kommentar markiere. Erst wenn ich den gelben Würfel mit der linken Maustaste anklicke und gedrückt halte, dann wird solange der Ausgangsanschluß des Q1-Blocks mit einem blauen Würfel markiert. Ich kann nun die Verknüpfung zu einem anderen Block verschieben, dann wird in der Tat der Rahmen des neu verknüpften Blocks grün. Und das nach oben wegdriften beim alles nach unten schieben ist dann weg.

Wie man die Verknüpfung wieder löst, ist da leider nicht erwähnt. Und warum der Kommentar beim Verschieben in der Gegenrichtung verschwindet natürlich auch nicht... ;)

Harald
 
Und warum der Kommentar beim Verschieben in der Gegenrichtung verschwindet natürlich auch nicht... ;)
Wirklich witzig.
Der Kommentar verschiebt sich immer in die Gegenrichtung.
Aber IMHO auch noch überproportional im Vergleich zur eigentlichen Schiebebewegung.

Scheint wirklich ein Bug zu sein, wenn der Baustein und der (auf einen Baustein-Ausgang) verknüpfte Kommentar gemeinsam selektiert sind.
Ist nur der Baustein ohne den verknüpften Kommentar markiert, verschiebt sich beides ganz normal.
Wenn man die Verknüpfung auf eine Baustein-Mitte verschiebt (so das man den grünen Rahmen bekommt), verschiebt sich der Kommentar ganz normal mit (egal ob nur der Baustein oder beides markiert ist).
Verschiebt man die Verknüpfung dann wieder auf einen der Baustein-Ausgänge, erhält man das seltsame Verhalten wieder.
Reproduzierbar, auch in einem eigenen Projekt.
 
Zurück
Oben