Step 7 OB1 Prozessabbild der Ein Ausgänge

Martin2XK

Level-2
Beiträge
85
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebes Forum,

Ich arbeite nun schon etwas länger mit dem Simatic Manager und Step 7. Für ein paar Dinge, die ich bisher immer so gemacht hab, habe ich mich jetzt ein bisschen genauer interessiert. Es hat immmer gepasst deswegen wars nicht notwendig etwas zu ändern. Es geht um die Hardwarekonfiguration und um das Prozessabbild der Eingänge und der Ausgänge. Ich verwende eine CPU 317-2 DP und für den Datenaustausch zwischen den Maschinen Universalmodule, DP Slaves. Diese hängen alle an einem Profibusstrang. Viel ist hierbei nicht zu beachten, im Katalog nach der Bestellnr suchen und in das Projekt einfügen, dann eine Adresse vergeben und einen aussagekräftigen Namen. Diesmal habe ich etwas mehr Teilnehmer, also ein paar Slaves mehr. Aufgefallen ist mir, dass das Prozessabbild der Eingänge in den Eigenschaften der CPU nur bis 512 geht, meine ersten 5 Slaves belegen den Bereich bis 490. Die nächste freie Adresse die mir vorgeschlagen wird ist die 512, ist nicht schlimm aber warum darf ich nicht bei 491 weitermachen? Ich hab den Bereich, das Prozessabbild der Eingänge und der Ausgänge erweitert, jetzt konnte ich die 491 als Adresse vergeben. Jetzt frage ich mich: Was wäre, oder welche Auswirkung hätte es wenn ich einfach die vorgeschlagene 512 verwendet hätte? Die Slaves wären dann nicht mehr in dem Bereich des Prozessabbildes der Eingänge bzw Ausgänge.

Gruß
Martin
 
Hallo Martin,
Dann musst du die Adressen mit pew/paw bzw. Ped/Pad pex/pax direkt lesen.
U E 600.0 würde nicht mehr gehen. Da wäre das VKE immer 0.
Das Abbild der E/A wird außerhalb des OB1 zyklus aktualisiert.
Bitte beachte die datenkonistenz bei direkten Zugriff. Wenn du dierekt in die pereferie schreibst kann der Ausgang kurz aktiv sein und ein paar Millisekunden später wieder 0 kommt auf die Programmierung an.
Je größer das e/a Bereich eingestellt ist umso länger dauert die Aktualisierung des E/A. Spielt aber keine Rolle mehr bei der jetzigen CPU's
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Verstehe, der Adressbereich wird in einem FC über den SFC14 eingelesen. Der Wert wird in eine Hex Zahl umgewandelt. Ich kann mich nicht erinnern dass es da schon mal Probleme gegeben hat. Aber ok, wieder was gelernt.
 
Verstehe, der Adressbereich wird in einem FC über den SFC14 eingelesen. Der Wert wird in eine Hex Zahl umgewandelt. Ich kann mich nicht erinnern dass es da schon mal Probleme gegeben hat. Aber ok, wieder was gelernt.
Ja diesen sfc verwendet man um die kompletten Bereich eines Bauteil zu lesen/schreiben. Damit hat man die Datenkonistenz über den ganzen Bereich.
Es gibt viele Möglichkeiten an Ziel zukommen.
 
Die nächste freie Adresse die mir vorgeschlagen wird ist die 512, ist nicht schlimm aber warum darf ich nicht bei 491 weitermachen?
Der E- und/oder A-Bereich des Teilnehmers ist vermutlich größer als 22 Bytes. Der EA-Bereich eines DP-Teilnehmers darf nicht teilweise im Prozessabbild und teilweise außerhalb sein. Er muß komplett innerhalb oder komplett außerhalb liegen. Meistens ist die beste Lösung, einfach das PA zu vergrößern und man kann weiter in der Art programmieren wie vorher. Das Betriebssystem der CPU kümmert sich da automatisch um das ganze EA-Handling und die Daten-Konsistenz. Wenn die EA-Adressen außerhalb des PAE/PAA liegen und als Konsistenz ist beim Teilnehmer > 4 Byte eingestellt, dann kann/darf man nicht auf PE../PA.. zugreifen sondern muß SFC14/SFC15 DPRD_DAT/DPWR_DAT verwenden. Ist die Konsistenz nur 1, 2 oder 4 Byte dann kann man die SFC nicht verwenden, sondern muß auf PEB/PEW/PED/PAB/PAW/PAD zugreifen.

Harald
 
Zurück
Oben