TIA Peripherie Eingänge

  • Ersteller Ersteller Gelöschtes Mitglied 138026
  • Erstellt am Erstellt am
G

Gelöschtes Mitglied 138026

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, ich verwende eine S7-1215FC

Ich rufe den OB30 auf und möchte in dem Weckalarm Ausgänge einschalten und die Eingänge einlesen. Probelm ist, das diese nicht geschalten werden.
Ich müsste auf die aktuellen Eingänge zugreifen. Kann ich das mit einer Peripherieanweisung machen und wie geht das?

Vielen Dank!
 
Mit das : P am ende von die Adresse.
z.B
%I10.0: P (BOOL Eingang lesen)
%IW12: P (WORD Eingang lesen)

(die Leerzeichen zwischen die Adressen und das P ist weil SPS-Forum wechselt die kombination von : un P in ein :p )
 
Zuviel Werbung?
-> Hier kostenlos registrieren
...
(die Leerzeichen zwischen die Adressen und das P ist weil SPS-Forum wechselt die kombination von : un P in ein :p )
Das automatische Ersetzen kannst Du z.B. mit den ICODE- oder den PLAIN-Tags umgehen:
ICODE: [ICODE]%IW12:P[/ICODE] = %IW12:P
PLAIN: [PLAIN]%IW12:P[/PLAIN] = %IW12:P

Näheres in der Hilfe ganz unten rechts, wo auch die BBCodes erläutert werden.
;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit das : P am ende von die Adresse.
z.B
%I10.0: P (BOOL Eingang lesen)
%IW12: P (WORD Eingang lesen)
Sorry das ich so dumm frage, aber muas man das einfach in die Variablentabelle schreiben, oder reicht es nur im Programm?

Sind die Eingänge dann immer Peripherie Eingänge, oder wird nur zu diesem Zeitpunkt die Eingänge gelesen, und ansonsten ganz normal nach dem Zyklus?
 
ein peripherieingang wird genau in dem moment gelesen wo er im programm aufgerufen wird.
normal muss man aber mindestens ein PEB laden und das dann in ein MB oder DBB transferieren um dann auf das transferierte bit zuzugreifen zu können

gibt es bei der 1200er überhaupt noch einen peripheribereich? bei der 1500er jedenfalls nicht mehr. dort liegt alles im peripherieabbild
 
gibt es bei der 1200er überhaupt noch einen peripheribereich? bei der 1500er jedenfalls nicht mehr. dort liegt alles im peripherieabbild
Die Peripherie-Adressen gibt es immer. Auch wenn zusätzlich alle E/A im Prozessabbild liegen. Man kann immer direkt auf die Peripherieadressen zugreifen.

Kann man bei S7-1200 auch Bits per Peripheriezugriff lesen/schreiben??? :unsure:
Gute Frage.
Auf die Schnelle habe ich in die Online Hlife nichts dazu gefunden.
Weil keine EInschränkungen für S7-1200 genannt sind, kann man davon ausgehen das es geht ?
Mein TIA V15.1 ist sich da selber nicht sicher ;)
Wenn ich im Programm einer 1214C %A0.0:P verknüpfen will, dann kommt die (falsch formulierte) Fehlermeldung "Nur 'EBn:p', 'EWn:p', 'EDn:p' zugelassen"
Wenn ich %E0.0:P verknüpfe, dann läßt sich das ohne Fehlermeldung übersetzten und auch in S7-PLCSIM laden. Und das Programm läuft in PLCSIM ohne Fehlermeldung.
PS: Ahhh, der eigentliche Fehler ist, daß Peripherie-Eingänge nur gelesen und Peripherie-Ausgänge nur geschrieben werden können!
Wenn ich im Programm einer 1214C %A0.0:P lesend verknüpfen will, dann kommt die im Detail falsche Fehlermeldung "Nur 'EBn:p', 'EWn:p', 'EDn:p' zugelassen"
Wenn ich im Programm einer 1214C etwas an %E0.0:P zuweisen will, dann kommt die im Detail falsche Fehlermeldung "Nur 'ABn:p', 'AWn:p', 'ADn:p' zugelassen"

In der TIA-Hilfe V15.1 steht im Thema "Peripherie adressieren":
Wenn Sie den Eingang direkt aus der Peripherie lesen möchten, verwenden Sie den Speicherbereich Peripherieeingänge (PE) im Gegensatz zum Prozessabbild der Eingänge (E). Der Speicherbereich der Peripherie kann als Bit, Byte, Wort oder Doppelwort gelesen werden.

Wenn Sie den Ausgang direkt schreiben möchten, verwenden Sie den Speicherbereich der Peripherieausgänge (PA) im Gegensatz zum Prozessabbild der Ausgänge (A). Der Speicherbereich der Peripherieausgänge kann als Bit, Byte, Wort und Doppelwort beschrieben werden.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Sorry das ich so dumm frage, aber muas man das einfach in die Variablentabelle schreiben, oder reicht es nur im Programm?
Nur im Programm. In der Variablentabelle kann :P nicht verwendet werden. Peripherizugriff wird durch Anhängen von :P an das E/A-Symbol im Programm und in Beobachtungstabellen gekennzeichnet.

Sind die Eingänge dann immer Peripherie Eingänge, oder wird nur zu diesem Zeitpunkt die Eingänge gelesen, und ansonsten ganz normal nach dem Zyklus?
Die E/A des Prozessabbilds werden ganz normal zwischen den OB1-Durchläufen eingelesen und geschrieben. Zusätzlich können auch noch jederzeit Peripherieeingänge gelesen und Peripherieausgänge geschrieben werden.
Vermutlich wird bei den Peripherie-Zugriffen auch das Prozessabbild des betreffenden E/A aktualisiert, zumindest bei den Ausgängen, damit beim nächsten Schreiben des PAA auf die PeripherieAusgänge der Ausgang nicht wieder gegenteilig überschrieben wird? Das müsste man im Detail mal testen.

Harald
 
Mal eine allgemeine Frage zu dieser Thematik. Inwieweit beeinflusst das lesen und schreiben der Peripherie innerhalb eines Zyklus die Zykluszeit?

Ist beispielsweise damit zu rechnen dass das Lesen eines bool Peripherieeingangs bedeutend länger dauert als im normalen Ablauf?
 
Ja tut's...

Aber jetzt mal im ernst: Wofür braucht man im Programm das Lesen/Schreiben direkt auf die Peripherie?
Zu S5 Zeiten mit 20ms Zykluszeit und gebastelten Reglern OK, aber heute?

Spätestens mit den Teilprozessabbildern ist das doch Geschichte, oder?
 
Hab es im OB30 gemacht mit den Peripherie Ein- bzw. Ausgängen,
allerdings werden die ausgänge nicht gesetzt bzw. kommt an Eingang false raus (Ausgang 1 ist mit Eingang 1 gebrückt)

Vielen Dank
 

Anhänge

  • B0432D42-AEF8-4F93-B5D8-5B5DF71BCD86.png
    B0432D42-AEF8-4F93-B5D8-5B5DF71BCD86.png
    101,9 KB · Aufrufe: 26
Was ist denn an deinem Programm so unglaublich wichtig das du das normale aktualisieren des Abbildes nicht abwarten kannst?
 
Was ist denn an deinem Programm so unglaublich wichtig das du das normale aktualisieren des Abbildes nicht abwarten kannst?
Du kannst ebensogut fragen warum gibt es überhaupt OB30.
Ursachen konnte sein:
Signale die schneller taktet als OB1.
Signale die mit ein festen definierten Abstand abgetastet werden müssen - die Takt von OB1 ist ja mehr oder weniger zufällig.
 
Zurück
Oben