Step 7 F_SENDS7 und F_RCVS7 mit 414F-3

MSP

Level-2
Beiträge
210
Reaktionspunkte
21
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

ich bin gerade ein wenig am verzweifeln bei einer fehlersicheren Kommunikation mit 2 S7 414F-3 PN/DP CPU'en.

Wir haben 2 getrennte Projekte in einem Multiprojekt zusammengefasst, um im Netpro entsprechend des Handbuches die S7 Verbindung einzurichten.
Auf beiden CPU'en wird der S_RCVS7 am Anfang, der S_SENDS7 am Ende des jeweiligen im F-CALL angegebenen Bausteins aufgerufen.
Als Verbindungs-ID ist jeweils die 1 eingetragen (entsprechend Netpro).

Am S_RCVS7 von CPU 1 steht als R_ID DW#16#B, am F_SENDS7 steht DW#16#9
Am S_RCVS7 von CPU 2 steht als R_ID DW#16#9, am F_SENDS7 steht DW#16#B

Zusätzlich haben wir einen DB erstellt und dann für Senden und Empfangen auf beiden CPU'en verwendet. Aufbau ist:
DBX0.0 - DBX15.7 als BOOL
DW16 - DW78 als INT
DW80 - DW96 als WORD

Die Überwachungszeit der Ablaufgruppen auf den beiden CPU'en ist jeweils 200ms, die Überwachungszeit an den Bausteinen beträgt 150ms

Folgende Diagnose-Daten erhalte ich:

CPU 1 - F_RCVS7
ID: W#16#1
R_ID: DW#16#B
ERROR = 1
SUBS_ON = 1
ACK_REQ = 0
SENDMODE = 0
STAT_RCV = 9 --> Sporadisch, alle paar Sekunden 19 (Zwischen 8s und 10s)
STAT_SND = 0
DIAG = 64dez

CPU 1 - F_SENDS7
ID: W#16#1
R_ID: DW#16#9
ERROR = 0
SUBS_ON = 1
STAT_RCV = 0
STAT_SND = 0
DIAG = 0dez

CPU 2 - F_RCVS7
ID: W#16#1
R_ID: DW#16#9
ERROR = 1
SUBS_ON = 1
ACK_REQ = 0
SENDMODE = 0
STAT_RCV = 0
STAT_SND = 0
DIAG = 64dez

CPU 2 - F_SENDS7
ID: W#16#1
R_ID: DW#16#B
ERROR = 0
SUBS_ON = 1
STAT_RCV = 16#0
STAT_SND = 16#0
DIAG = 0dez

Ich hatte am Freitag bereits einen kostenpflichtigen Request eröffnet und nach 5 Minuten auch einen Rückruf, allerdings keine Email mit Requestnummer erhalten so dass ich aktuell den Kollegen bei Siemens nicht erreichen kann der im Thema ist.
Die Hinweise und Tipps zu dem Thema habe ich bereits umgesetzt bzw. ausprobiert.

Ich habe heute viel probiert, ich habe zB eine 2te Verbindung in Netpro angelegt und über diese dann (ID3) unsere normale PUT/GET Kommunikation laufen lassen um das zu trennen. Allerdings 0 Erfolg.
Netpro, S7, Hardware, F-Programm, alles ist konsistent und übertragen.
CPU 1 baut aktiv beide Verbindungen auf, CPU 2 ist entsprechend nicht aktiv am Aufbauen der Verbindung im Netpro.
Ich habe auch die Projekte aus dem Multiprojekt entfernt und CPU 2 direkt mit in das Projekt aufgenommen, das Ergebniss bleibt das gleiche.
Als Freigabe-Signal an den F_SENDS7 Bausteinen habe ich sowohl das F_GLOBDB.VKE1 versucht als auch einen von Hand gesetzten Merker. Keine Reaktion.

Die Verbindungen laufen jeweils über eine
S7 414F-3 PN/DP - 6ES7 414-3FM07-0AB0, v7.0 sowie jeweils eine
CP 443-1 - 6GK7 443-1EX30-0XE0, v3.2

Die PUT/GET Kommunikation läuft, sowohl vorher auf der gleichen ID wie der F-Teil als auch auf der getrennten Verbindung. Beide CPs sind direkt miteinander über einen Switch verbunden und haben den selben Adressraum.

Vielleicht übersehe ich ja etwas, aber das Handbuch und auch ein Beispiel von Siemens habe ich mehrfach durchgesehen und erkenne einfach keinen Unterschied.

Gruss,
Michael
 
Hallo msp,

kann ws sein das du das falsche f_sends7 hast bei Verwendung von Put und get gibt es ja auch zwei verschiedene Put und get Fb‘s

Hier noch ein Handbuch welche Firmware hat die CPU laut Handbuch geht es erst ab 4.0 über Cp.
Laut Handbuch geht das ganze über eine Verbindung also Id überall gleich. Sorry übersehen ist so.
Hast du auch das Atribut für F Communication DB in den DBs gesetzt?
hast du evtl mal versucht nur ein Zwei Worte also nur einen Datentyp zu verwenden.
https://cache.industry.siemens.com/...uring_and_programming_de_DE_de-DE.pdf#page141

Ich denke das du über die S7 S7 Verbindungen nur für die F Kommunikation nutzen kannst und nicht für die Fb 14 15 oder sonstige S7 Kommunikation verwenden.



Gruß Tia
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen Tia,

die verwendeten Bausteine stammen aus der normalen Distributed Safety Bibliothek, da gibt es keine Auswahl wie bei Put / Get etc. entsprechend der verwendeten CPU oder CPs. Die Bausteine stammen alle aus der gleichen Bibliothek vom gleichen Rechner, Unterschiede sind somit (eigentlich) ausgeschlossen.
Die Firmware ist bei beiden CPU'en jeweils die v7.0.0 bzw. v7.0.2
Die IDs sind gleich und mehrfach, auch von Kollegen nochmals überprüft. Die Angaben stehen oben in meinem ersten Beitrag welche ID und R_ID verwendet wird. Hier kann es m.M.n. auch nicht dran liegen.
Der DB hat das Attribut COM_DBS7 im Feld Familie, wenn das nicht vorhanden ist wird beim Speichern des aufrufenden Bausteins vom Step 7 auch eine entsprechende Warnung ausgegeben.

Den Gedanken mit den Verbindungen hatte ich auch schon, daher habe ich ja die PUT/GET Verbindung separiert, so dass diese auf einer eigenen Verbindungs-ID läuft. Die F-Kommunikation läuft auch über eine eigene Verbindungs-ID, das hat aber leider auch nichts geholfen.
Ich hoffe mal das Siemens ab Heute Morgen wieder helfen kann. Im Moment komme ich einfach nicht weiter.

Gruss und Danke
Michael
 
Moin MSP,

Ich hab deine Konfiguration mal mit einer bei mir laufenden verglichen und kann auch keine Abweichung feststellen. Allerdings steht bei mir der Wert für Timeout an den Bausteinen auf einer Sekunde und ich meine, bei kleinen Zeiten hatte ich damals auch Probleme. Wenn du das noch nicht probiert hast, kannst du den ja mal erhöhen.
 
Hallo Howard,

die Überwachungszeit von 150ms ist aktuell noch im Programm, die Ablaufgruppen stehen bei beiden CPUen auf 200ms.
Wir hatten vorher schon bis zu 2,5s an den Bausteinen zur Überwachung stehen, das hat allerdings auch nichts gebracht.

Ich warte jetzt auf die Rückmeldung von Siemens und dann bin ich mal gespannt ob die was finden können.
Zur Not müssen wir dann halt auf I-Device umstellen und noch einen PN-Koppler kaufen. Schauen wir mal.

Danke und Schöne Grüße
Michael
 
Zurück
Oben