es gab ja schon einigen Threads zum Thema Anbindung Logo 7 an IPS. Leider bekomme ich mit der Hilfe dieser Threads keine Werte aus der Logo ausgelesen.
Die grundsätzliche Anbindung scheint zu funktionieren, die Instanz-Konfig meldet: Verbunden.
Nun möchte ich den Status eines Ausgangs auslesen, verfahre ich nach dem Hinweise hier
30.06.2019 22:25:43 | 53315 | ERROR | TimerPool | Siemens Logo 7 ADR0 (UpdateTimer): S7 Reading failed with error 5
30.06.2019 22:25:45 | 53315 | ERROR | TimerPool | Siemens Logo 7 ADR0 (UpdateTimer): S7 Reading failed with error 5
30.06.2019 22:25:47 | 53315 | ERROR | TimerPool | Siemens Logo 7 ADR0 (UpdateTimer): S7 Reading failed with error 5
Dabei ist es unerheblich, ob ich die Einheit auf Integer / Byte / Bit setze.
Setze ich hingegen die Adresse auf 0 oder 1 und die Einheit auf Integer, erhalte ich Werte die sich mit Änderung der Ausgangs-Stati reproduzierbar ändern.
Weiß jemand an welcher Adresse ich die Ausgänge oder Merker abfragen kann?
Kann ich über IPS auf einen Eingang auch schreibend zugreifen?
Und wofür ist der Punkt „Instanz emulieren“ in der Instanzkonfiguration?
Nach dem gleichen Muster versuche ich nun einen analogen Merker abzufragen, AM1 hat laut Tabelle die Adresse 952, so habe ich es konfiguriert:
Bereich: Datenblock
Bereichsadresse: 0
Einheit: Word
Adresse: 952
Bit: 0
Länge: 0
nur lesen
Aber leider erhalte ich nur den Wert 0 zurück.
Hast Du eine Idee dazu?
Grüße Detlev.
das funktioniert
Also muß ich bei analogen Merkern nicht nur die Adresse sondern auch noch die Bereichsadresse setzen?
Gibt es irgendwo eine Zusammenfassung, die Symcon-Doku ist bei diesem Modul etwas dürftig…
Wenn nicht, will ich gerne was zusammenschrieben, magst Du es gegenlesen?
Ich hab noch eine weitere Frage: Habe einen Merker als Eingang in meiner Logo konfiguriert, er ist direkt auf ein Gatter zur weiteren Steuerung verbunden.
Nun würde ich den Zustand des Merkers gerne abfragen:
Definition vom Merker ( M6 )
Bereich: Merker
Bereichsadresse: 0
Einheit: Bit
Adresse: 0
Bit: 5
Länge: 0
nur lesen: nein
Der Merker wird im IPS korrekt dargestellt, er funktioniert auch, aber ich kann den Status des Merkers nicht abfragen:
Der Wert 22069 ändert sich nie.
Versuche ich über das Kontext-Menü „Variable ändern“ in IPS den Wert zu ändern, kommt die Meldung: Variable ist als „nur Lesen“ markiert:
Über
$b = S7_WriteBit(17384,1);
kann ich den Wert zwar setzen, aber ich würde erwarten mit
$a = GetValueBoolean(22609);
den Wert wieder abfragen zu können.
Mache ich was falsch?
genau, ich möchte mit den Merkern in der Logo Aktionen auslösen, die Eingänge sind alle belegt.
Warum ist der Befehl RequestAction zu bevorzugen?
Grüße Detlev
habe gerade den Konfigurator für Siemens Logo 8 getestet.
Paar sachen sind mir aufgefallen.
Alle (Bit) Aus-Eingänge werden als Integer Variablen "Word(UInt)"erstellt.
Interval Zeit steht auf 0. Cooler währe ein Standard wert auf zb.2000ms.
So muss man jede Instanz anpassen.
Bei Analogen Ein-Ausgängen passen die Einheiten. Hier würde ich mir auch eine Default Interval Zeit wünschen