TIA Offene Kommunikation zwischen zwei 1200er CPUs

Shadout

Level-2
Beiträge
40
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin Allerseits,

ich brauche mal dringend eure Hilfe:

Ich habe eine Maschine mit einer 1215 (Master) mit angeschlossenem Aufschmelzgerät mit einer 1214 (Slave) für diverse Heizkreise etc.
Somit erfordeliche Kommunikation: Sollw. -> Slave, Istwerte -> Master usw.

Der Slave ist austauschbar. D.h. im Wartungsfall wird das Gerät ausgetauscht gegen ein anderes.

Um für die nächsten Jahre gerüstet zu sein, will ich eine offene Kommunikation aufbauen, so dass auf slaves Seite auch eine andere CPU stehen darf.

Geplant hatte ich eine TCP-Verbindung über TCON, TSEND, TRCV.
Leider funktionieren die Bausteine nicht wie sie sollten. Auch die von Siemens versprochene Korrektur mit FW4.2 kam anscheinend nicht.

Jetzt die Frage: Wie würdet ihr die Kommunikation relisieren?

Danke!

Peter
 
Hallo Peter,

kennst du schon folgendes Dokument und Beispiel?

https://support.industry.siemens.co...-der-s7-1200-cpu-programmiert-?dti=0&lc=de-WW

Das habe ich mir schon mal angesehen und die Verbindung funktioniert auch.

Ich nutze die TSEND_C & TRCV_C für S7-1200 zu S7-1200 oder S7-1200 zu WianAC RTX oder S7-1200 zu S7-300 oder S7-1200 zu Rockwell oder S7-1200 zu Mitsubishi.
Immer der gleiche Baustein ohne Probleme.


Gruß

Jens
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke Jens.

Eine feste Menge an Byte als DATA wollte ich vermeiden.
Bei mir war es so geplant, dass ich eine Struktur aus UDTs senden bzw. empfangen will.
Und mit sowas als Variant auf die Bausteine zu gehen, scheint es Probleme zu bereiten.
Laut $ ist das Workaround vorher "serialize" dann nach dem RCV "deserialize". Was mir wieder die Flexibilität zerschießen würde.
Wollte bei Änderungen für Maschinenvarianten meine UDTs ändern, compilieren und fertig.

Bin für jeden Tip dankbar wie ich das besser machen könnte.
 
Nachdem ich alles komplett von Null an neu gemacht habe, funktionierte die Kommunikation. Wohlgemerkt keine Änderungen im Code, einfach neu gemacht. Das hat mich gewurmt und ich wollte das alte Projekt (mit exakt gleichem Code) ans Laufen bekommen.

Erkenntnis: Auf das übersetzen kommt es an.
Nach einer Änderung am TCON (z.B. Änderung von TCP auf ISO on TCP)und anschließender Kompilierung und Übertragung funktionierte der Datenaustausch nicht mehr.
Egal ob 'Software changes', 'software all', 'Software rebuild all'.
ERST wenn man 'Software rebuild all blocks' durchführt, wird alles Erforderliche korrekt übersetzt und die Übertragung funktioniert wieder.


Das hieße nach meinem Verständnis in der Folge, dass ich in einer Anlage dann nach so einer Änderung ALLE beteiligten Partner einem Rebuild unterziehen muss, um sicher zu sein, dass alles konsistent ist!? Zumindest aber alles an HMI, was auf Variablen in dieser CPU zugreift.:shock:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Kann es sein das die geänderten Parameter nicht übernommen werden.
Wenn ich Parameter ändere setzte ich danach COM_RST auf true damit die änderung wirksam wird.

Gruß

Jens
 
Zurück
Oben