Step 7 Unklarheiten Profibus-DP Kommunikation

banana

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo ihr Lieben!

Ich darf zur Zeit eine Siemens S7-300 (315-2 DP) in Betrieb nehmen.
Über DP wird ein Weidmüller-Modul mit einer DI und einer DO-Klemme angesprochen. Am gleichen Bus hängt noch ein DP/PA-Koppler und da dran noch ein Sensor mit PA-Schnittstelle.

In der HW-Konfig habe ich diesen Aufbau auch bereits aufstellen können und Symbole angelegt - soweit so gut.

Allerdings ist das mein erster Kontakt mit SPSen, daher hapert es dann eher am Programmieren (und am Simatic Manager!) bzw. am Verständnis ;) In meiner Frustration wende ich mich deshalb hoffnungsvoll an euch!


- Gehe ich richtig in der Annahme, dass sich die SPS von selbst um die Profibus-Anbindung zu den IO-Modulen kümmert? Ich die Ports also "direkt" über z.B. E 0.0 ansprechen kann? Oder ist das zu einfach gedacht?

- Wie kann ich dann Parameter aus dem Sensor lesen? Dazu müsste ich ja irgendwie Profibus-Anfragen formulieren und versenden.

Ich habe bei den Standardbausteinen bereits die Bausteine "DP_Send" und "DP_Receive" entdeckt - gibt es da Anwendungsbeispiele / Beispielprojekte zur Verwendung dieser Bausteine? Ich suche schon seit Tagen :(


Vielen Dank im Vorraus!

Banana
 
Wenn Du Deine DP-Slaves an einem DP-Mastersystem an der DP-Schnittstelle der CPU 315-2DP angeschlossen und projektiert hast, dann kannst Du die Slaves in der Tat direkt unter der projektierten Hardware-Adresse ansprechen. Also z.B. E20.0 oder PEW300 ...
Nur wenn eine Konsistenz von 3 oder mehr als 4 Byte eingestellt ist, dann brauchst Du SFC14/SFC15 - siehe Hilfe bzw Handbuch zu "Hardware konfigurieren", Stichwort "Konsistenz". Am einfachsten ist es, wenn man die E/A-Adressen der Slaves im Prozessabbild projektiert, dann kümmert sich die CPU automatisch um die Konsistenz und man kann direkt auf E20.0 oder EW64 zugreifen.
Nicht vergessen: die HW Konfig in die CPU laden.

DP_SEND und DP_RECV braucht man nur, wenn man einen CP342-5 als DP-Master hat.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Banana

- Gehe ich richtig in der Annahme, dass sich die SPS von selbst um die Profibus-Anbindung zu den IO-Modulen kümmert? Ich die Ports also "direkt" über z.B. E 0.0 ansprechen kann? Oder ist das zu einfach gedacht?

Bei normalen(Dummen)Slaves ist das richtig und du kannst direkt auf die in der HW.Konfig projektierte E/A Adresee zugreifen.
(Solange die Adressen in deinem Prozessabbild liegen -normalerweise E/A 0.0-127.0 sonst über L PEB/W T PAB/W)

- Wie kann ich dann Parameter aus dem Sensor lesen? Dazu müsste ich ja irgendwie Profibus-Anfragen formulieren und versenden.

Sollte auf die gleiche Art und Weise gehen über die projektierde Adresse kommt aber auch auf die Art des Sensors an(Handbuch Sensor)

Schreib mal was für ein Sensor es ist.
 
Erstmal herzlichen Dank für die vielen Antworten! Ich bin mir sicher, dass da schon mehr laufen wird, ich hangel mich mal durch die Begriffe durch ;)

Der Sensor ist ein Polytron 8000 von Dräger. Allerdings habe ich (noch) keine GSD-Datei dafür, die wird noch kommen. Im Anschluss daran wäre es also möglich, den auch in die HW-Konfig einzubinden und dann mit dem selben Verfahren über die E/A Adresse anzusprechen? Wo was liegt steht ja dann im Handbuch des Sensors.
 
dies steht ja in der hilfe...

[h=1]Konsistente Daten dezentral lesen und schreiben (> 4 Bytes)[/h] Bisher konnten Sie auf konsistente Daten (> 4 Bytes) eines DP-Slaves über SFC 14 und SFC 15 zugreifen.
Mit der Version 3.0 der CPU 318-2 und der CPUs 41x ist zusätzlich der Zugriff auf einen konsistenten Datenbereich möglich mit Zugriff auf das Prozessabbild (z. B. L EW).
Konfigurieren konsistenter Datenbereiche > 4 Bytes

  1. Wählen Sie in der Hardware-Konfiguration das Register "Adressen" des DP-Slaves.
    Je nach Art des DP-Slaves ist der Konsistenzbereich vorbelegt und nicht änderbar (z. B. durch GSD-Datei festgelegt) oder Sie können über die Felder "Länge", "Einheit" und "Konsistenz über" den Konsistenzbereich festlegen.
  2. Legen Sie ggf. die Länge des konsistenten Bereichs fest und legen Sie diesen Bereich in ein Prozessabbild. Wählen Sie dazu im Feld "Teilprozeßabbild" das OB1-PA oder, bei S7-400 auch ein Teilprozessabbild (z. B. TPA 3). Wenn Sie die Daten nicht in ein Prozessabbild legen, dann müssen Sie SFC 14 bzw. SFC 15 für den Datenaustausch verwenden.


Das Betriebssystem überträgt diese Daten dann bei der Prozessabbild-Aktualisierung konsistent und Sie können auf diese mit Lade- und Transferbefehlen im Prozessabbild zugreifen. Dies bietet eine besonders komfortable und performante (geringe Laufzeitbelastung) Zugriffsmöglichkeit auf konsistente Daten.


mal so ne frage ich habe eigetnlich auch immer mit sfc14/15 gearbeitet jetzt hab ich mir da letztens was gebastelt und greife z.b. einfach auf ped400 ped404/pad400 pad404 zu bzw schreibe bzw... ich kopier mir die werte in einen datenbaustein
macht im prinzip genau das selbst wie sfc14/15 nur muss ich zwei zeilen mehr schreiben...
wenn die zu übertragenen daten nun z.b. 100byte wären klar dann sfc aber wenn´s nur so 10byte sind ist der baustein mit pew/paw kleiner? oder gibt es noch andere gründe den sfc zu nutzen?

grüßel erzi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Erzteufele:
Du hast deine Frage vielleicht eine Spur zu allgemein gehalten.
Wenn du z.B. von einer ET-Station den Wert eines Analog-Eingangs einlesen willst dann reicht "L PEW xyz" vollkommen.
Hast du auf der ET-Station vielleicht noch einen 1Count sitzen (Zählerkarte) und du möchtest nur den Istwert des Zählers wissen dann könntest du hier auch nur "L PED xyz" hernehmen. Interessieren dich hier aber auch noch die anderen Informationen der Karte dann hättest du einen größeren Block der m.E. mit den SFC's sinnvoller (und vor Allem konsistent) abgeholt ist.
Jetzt hast du ggf. einen Servo-Regler, der dir mehrere Status-Informationen (Bit-Status, Ist-Position, Ist-Geschwindigkeit usw.) liefert dann wäre hier auch der SFC14 der bessere Weg. Beim Schreiben deiner Daten an den Regler (da du die ja sehr wahrscheinlich zusammenhängend/konsistent übertragen haben möchtest) solltest du dann auf alle Fälle den SFC15 nehmen.

Aber ... bei allem genannten geht es meißt auch mit den guten alten Einzel-Befehlen ...

Gruß
Larry
 
Zurück
Oben