Step 7 Azyklisches schreiben an einen DPV1 slave

xpert

Level-2
Beiträge
67
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo und Guten Tag!

Ich habe ein Sensor der Via Profibus an meiner CPU hängt. Mittels GSD in die Hardwareconfig eingebunden. Mir stehen jetzt 15Bytes Eingangsdaten und 8 Bytes Ausgangsdaten zur verfügung.
Die Eingangsdaten werden zyklisch und Konsistent über die ganze länge Eingelesen. Funzt soweit! :)

Die 8 Bytes Ausgangsdaten soll ich jetzt azyklisch schreiben. Kann mir da jemand auf die Sprünge helfen?

Verwendete Hardware: CPU 313C-2DP / Sensor als PB Slave

Danke schonmal im Voraus
Gruss
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Larry

Danke für deine ULTRASCHNELLE Antwort!
Ach so, ok. Dann kann ich also einfach die transfer operation überspringen, bis ich dann halt eine änderung schreiben will und dies im normalen zyklischen ablauf?

Auf Feldbusse.de habe ich eben fogendes gefunden:
Die azyklischen Dienste werden zeitlich parallel und zusätzlich zur zyklischen Prozessdatenübertragung mit niedriger Priorität abgewickelt. Hierdurch soll der zeitliche Einfluss auf die hochpriore zyklische Prozessdatenübertragung möglichst klein gehalten werden.
 
Zuletzt bearbeitet:
Wenn die 8 Byte in der HWkonfig auftauchen und im Prozessabbild liegen, dann ist das keine azyklische sondern zyklische Kommunikation. Auch wenn Du im SPS-Programm die Ausgänge nicht schreibst, wird das Prozessabbild trotzdem am Zyklusende die Ausgänge in den Slave schieben.
Selbst wenn man die 8 Byte nicht ins Prozessabbild legt, ist es trotzdem zyklische Kommunikation, auch wenn die nicht stattfindet.

Azyklische Kommunikation im Sinne von DPV1 kannst Du nur mit externen Bausteinen, z.B. SFC 58/59 oder SFB 52/53. DAs hat mit den 8Byte aus der HWKonfig nichts zu tun. Damit liest/schreibst Du noch andere Daten in den Slave...

Gruß.
 
Hi Ducati

Ja genau das verlangt der Kunde. Eine Azyklische kommunikation (DPV1) für die Ausgangsdaten. Heisst das, ich muss dies mit den genannten Systembausteinen realisieren?

So sieht die Konfiguration aus:
hardwareconfig.jpg
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Heisst das, ich muss dies mit den genannten Systembausteinen realisieren?

Nein. Die 8 Byte Ausgangsdaten sind in der HWKonfig und somit immer verfügbar. Die kannst Du da auch nicht rausnehmen. Die werden ganz normal wie jeder E/A angesprochen. Ich denke der Kunde meint etwas anderes oder hat auch keine Ahnung.

Gruß
 
Hi ducati

Danke für deine unterstützung. Evtl. hab ich mich auch falsch ausgedrückt. Ich hab mal das Handbuch des Sensors betrachtet. Da steht folgendes drin:

Der Sensor arbeitet nach DPV1 Sepz. und kann im zyklischen und azyklischen Datenverkehr angesprochen werden.

Azyklich sollte verwendet werden um spezielle prozessspezifische einstellungen und seltene Attribute zu lesen und schreiben.

Zyklisch dient zum kontinuirlichen Datenverkehr wie status, prozesswerte und es können verschiedene standart telegramme ausgewählt werden.

Also, ich habe natürlich bei der einbindung der GSD, ein standart Telegramm ausgewählt. Da stehen mir diese 15 Bytes EIngang und 8 Bytes Ausgang zur verfügung.
Die azyklische Geschichte hat jetzt wohl gar nichts mit denen zu tun ?

Im Hanbuch steht auch das für Azyklische befehle alles in Block, Slot und indexzuordnung unterteilt ist.

Bin verwirrt :-?
 
Also, ich habe natürlich bei der einbindung der GSD, ein standart Telegramm ausgewählt. Da stehen mir diese 15 Bytes EIngang und 8 Bytes Ausgang zur verfügung.
Die azyklische Geschichte hat jetzt wohl gar nichts mit denen zu tun ?

Jo genau.

Wieso verwirrt, ist genauso wie Du grad geschrieben hast.

Gruß.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
OK Supi, also keine Azyklischen befehle. Alles zyklisch ganz normal lesen und schreiben.

Wieso sollte den der azyklische befehl verwendet werden um spezielle prozessspezifische einstellungen zu lesen und schreiben?

Danke für deine Geduld
 
Wieso sollte den der azyklische befehl verwendet werden um spezielle prozessspezifische einstellungen zu lesen und schreiben?

z.B. zur Umprogrammierung des Sensors, z.B. Messbereich ändern falls das geht. Oder Spezielle Fehlermeldungen auslesen. Oder Konfigurationsdaten oder sonstwas. Die azyklischen Daten können schon eine größere Datenmenge darstellen und somit nicht zyklisch den Bus belasten. Evtl. können die im Slave auch garnicht so schnell zyklisch bereitgestellt werden, aber an der Stelle bin ich mir nicht sicher.

Gruß.
 
@Ducati:
Ich denke, da liegst du mit deiner Beschreibung richtig.
Nach meiner Meinung geht es dabei um die Dinge, die man auch gerne mit einer Parametrier-Software macht ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Von mir werden jetzt genau solche Funktionen verlangt. Das heisst ich muss z.b. via DP eine Einheit umstellen.
Dies müsste dann auch tasächlich Azyklisch geschehen. Da muss ich gemäss Handbuch zuerst ein aknowledge senden (Das sind auch 8 bytes, in jedem byte ein HEX wert)
dann ein write befehl gesendet ( auch 8 bytes, in jedem byte ein HEX wert) und wieder ankowledge.

Diese Bytes beinhalten dann eben diese slots / blocks / index....
 
Dinge, die man auch gerne mit einer Parametrier-Software macht ...

Das heisst ich muss z.b. via DP eine Einheit umstellen..

Naja, ist halt immer die Frage, ob da ne Parametriersoftware auf dem PG nicht besser wäre... Evtl. auch PDM von Siemens...

Muss man immer abwägen.

Für die Inbetriebnahme würd ich das jetzt aber nicht über die SPS machen, nur wenn die Parametrierung im laufenden Betrieb geändert werden muss...

Evtl. gibt's vom Sensorhersteller nen Demobeispiel für S7. Abundzu hab ich das schon gesehen.

viel Erfolg.
 
Zurück
Oben