Eingangswort über Profibus DP zyklusgenau auslesen

Hagen

Level-1
Beiträge
149
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

wir haben eine S7-414 mit integriertem Profibus-DP-Master und ca. 40-50 Slaves angeschlossen. Dabei sind 2 Slaves, von denen ich jeweils ein Eingangswort möglichst zyklusgenau (ca. 10 ms) auslesen möchte. Trotz einer Parametrierung des Profibus mit 3 MBaud scheint der Master die Daten aber nicht schnell genug einlesen zu können, so das sich das gelesene Wort nur alle 2-3 Zyklen ändert.

Jetzt meine Frage: Gibt es einen SFC/SFB und wenn ja welcher, mit dem ich die genannten EWs zyklusgenau lesen kann?

Gruss Hagen

PS: Mit PEW arbeiten wir schon und mit einer Busgeschw. von 1,5 MBaud war das Problem noch größer. 6 MBaud haben wir noch nicht probiert, befürchten aber das die Busleitungen das nicht mehr mitmachen.
 
Hallo,

wir haben eine S7-414 mit integriertem Profibus-DP-Master und ca. 40-50 Slaves angeschlossen. Dabei sind 2 Slaves, von denen ich jeweils ein Eingangswort möglichst zyklusgenau (ca. 10 ms) auslesen möchte. Trotz einer Parametrierung des Profibus mit 3 MBaud scheint der Master die Daten aber nicht schnell genug einlesen zu können, so das sich das gelesene Wort nur alle 2-3 Zyklen ändert.

Jetzt meine Frage: Gibt es einen SFC/SFB und wenn ja welcher, mit dem ich die genannten EWs zyklusgenau lesen kann?

Gruss Hagen

PS: Mit PEW arbeiten wir schon und mit einer Busgeschw. von 1,5 MBaud war das Problem noch größer. 6 MBaud haben wir noch nicht probiert, befürchten aber das die Busleitungen das nicht mehr mitmachen.


Hallo Hagen,

für Geschwindigkeiten > 1.5 MBaud gibt die PNO die max. Leitungslänge mit 50m an, das gilt für 3 und auch für 12 MBaud.

Was ist dass denn für ein Slave? Evt. frischt er die Daten nur langsam auf?

In der HW-Konfig kannst du die Soll-Tokenumlaufzeit sowie die maximale
Tokenumlaufzeit ablesen.

Im Notfall Bus aufteilen. (DP-IM setzen)
Das Thema gabs schon mal vor kurzem...

CU

Jürgen.

.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

anscheinend gibt es tatsächlich keine Softwarelösung mit der man die benötigten Daten öfter aktualisieren kann.

@IBN-Service: Am Slave liegt es wohl eher nicht. Der Analogeingang hat einen Zyklus von 1ms.

Wie ich mit Hilfe von Siemens herausgefunden habe, liegt die Busumlaufzeit bei 16ms. Die SPS-Zykluszeit aber nur bei 6-10ms. Und das Problem läßt sich wohl nur hardware-mäßig lösen. Ideen haben wir dazu schon verschiedene:

1. Zweiter DP-Master
2. Analogkarte direkt auf dem Rack der CPU
3. Kleine dezentrale CPU a la IM 151-7

Wir haben uns jetzt für die letzte Lösung entschieden, weil wir da am wenigsten umbauen müssen und die Lösung an anderer Stelle schon vernünftig arbeitet.

Gruß Hagen
 
Hallo,

anscheinend gibt es tatsächlich keine Softwarelösung mit der man die benötigten Daten öfter aktualisieren kann.

@IBN-Service: Am Slave liegt es wohl eher nicht. Der Analogeingang hat einen Zyklus von 1ms.

Wie ich mit Hilfe von Siemens herausgefunden habe, liegt die Busumlaufzeit bei 16ms. Die SPS-Zykluszeit aber nur bei 6-10ms. Und das Problem läßt sich wohl nur hardware-mäßig lösen. Ideen haben wir dazu schon verschiedene:

1. Zweiter DP-Master
2. Analogkarte direkt auf dem Rack der CPU
3. Kleine dezentrale CPU a la IM 151-7

Wir haben uns jetzt für die letzte Lösung entschieden, weil wir da am wenigsten umbauen müssen und die Lösung an anderer Stelle schon vernünftig arbeitet.

Gruß Hagen


Hallo Hagen,

ich hätte jetzt erst Lösung 2, dann Lösung 1 favorisiert.

CU

Jürgen

.
 
Ich schmeiße hier nun einfach mal Stichworte in den Raum, ohne wirklich 100% bescheid zu wissen.

Was ist mit "Äquidistanz" bzw. Taktsynchronen Betrieb, welche Vorraussetzungen werden hier benötigt?
Das wäre aber doch rein technisch genau was der TE brauchen würde.

Mfg
Manuel
 
Sfc14?

Hallo zsammen,

Jetzt meine Frage: Gibt es einen SFC/SFB und wenn ja welcher, mit dem ich die genannten EWs zyklusgenau lesen kann?
Ich glaube mit der SFC 14 "DPRD_DAT" könnte man es mal probieren!?:confused:
Bin mir nicht sicher, aber ich nehme mal an das bei Aufruf der Funktion die Daten direkt gelesen werden. Muss sie dann aber in einen DB oder Merkerbereich ablegen.
 
Wie geht das wenn du L PEW xxx macht, wurde die daten dan direct aus das EW gelesen oder auch ergendwo aus ein zwischenspeicher?

Joop

Hallo Joop,

L PEW liest direkt aus der Peripherie.
L EW liest aus dem (i.A. zyklisch aktualisierten) Prozessabbild - Speicherbereich.

Hatten wir schon mehrmals, eine Suche nach "Prozessabbild"
sollte weitere Infos bringen.

CU

Jürgen

.
 
Zurück
Oben