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