TIA OPC UA Kommunikation mit einer S7 1200 und optimierten Bausteinzugriff

Raijin Tycho

Level-1
Beiträge
85
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin zusammen,

habe eine kurze Frage zum Thema OPC UA im Zusammenspiel mit einer S7 1200.

Ich habe 3 Datenbausteine welche ich über OPC UA zugänglich machen möchte. Ich habe den interen Server der S7 1200 erstellt und eine Server-Schnittstelle definiert in welcher ich die Datenbausteine hinzu gefefügt habe. Mir wurde gesagt, damit diese Kommunikation funktioniert, müssen diese Bausteine optimierten Bausteinzugriff besitzen.

Jetzt habe ich aber ein Dokument vorliegen, welches von Kommunikation über PUT/GET spricht und fordert den Baustein ohne optimierten Bausteinzugriff zu erstellen um den direkten Zugriff auf den Adressbereich zu ermöglichen.

Kann ich die Kommunikation über die Server-Schnittstelle auch mit nicht optimierten Bausteinzugriff durchführen?
 
Also bei der S7-1500 geht es auch.
Warum plötzlich Zugriff über Put/Get? Soll ein externer OPC-UA-Server verwendet werden? Bei einer 1200 könnte die Perfomance besser sein als über den eingebauten Server, ansonsten wäre es doppelt gemoppelt und die Schnittstelle müsste bei jeder Änderung an diesen Datenbausteinen nachgepflegt werden.
Eventuell ist der eingebaute Server für den beabsichtigten Zweck zu langsam und Put/Get schneller, denn auch bei einer 1511 ist der Zugriff über OPC-UA schon sehr gemütlich (>500ms).
Tipp: Wenn es Probleme mit der Perfomance gibt, eine Mindestzykluszeit verwenden. Die OPC-UA-Mindestzyklus läßt sich damit aber nicht austricksen, nur allgemeine Kommunikationsprobleme!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es geht darum, dass mehrere Steuerungen untereinander kommunizieren können sollen, auf Basis soll das RFC1006 Protokoll dienen. Put/Get ist wohl nur relevant um die Kommunikationen mit älteren Steuerungen zu gewährleisten. Diese soll über direkten Datenaustausch erfolgen oder über ein MES-Gateway.

Die Geschwindikeit dürfte hierbei nicht von relevanz sein. Der Prozess ist langsam genug als das es zu keinen Problemen kommen dürfte.
 
Hallo

dafür haben wir unser S7 Gateway entwickelt.

RFC 1006 ist das Protokoll Put/Get sind die Lese-Schreibfunktionen über RFC 1006.

Unser Gateway komuniziert über RFC 1006 mit den S7 Steuerungen.

- Verbindung anlegen
- Variablen eingeben oder aus TIA / Classic etc importieren
- Variablen auf OPC UA freigeben (Haken setzen)

- OPC UA Verschlüsselung auswählen Key generieren.

Fertig

Dann mit UA Client Variablen browsen und anzeigen.

Variablenbeschränkung gibts bei uns nicht. Geschwindigkeit deutlich unter 100ms auch bei 1000 Variablen :-)

Fragen ?
 
Von Siemens gibt es auch die LCom-Bibliothek für 1200/1500er und auch 300er Steuerungen, mit der man zuverlässige TCP-Verbindungen aufbauen kann und eine vernünftige Diagnose mitbekommt. Sinnvoll geht das natürlich nur bei "nichtoptimierten" DB, da ansonsten die Daten zerwürfelt werden. Realistische Zyklenzeiten <<100ms bei 1kB Daten auch bei der Kommunikation mit z.B. 315er CPUs sind kein Problem.
Put/Get ist immer so eine Sache, weil da eine beliebige fremde Steuerung in den DB rumschreiben kann. Der Zugriff ist ja nur global sperrbar.
OPC-UA zur Steuerungskopplung wäre mir zu mächtig, auf Client-Seite ist es nicht so ganz untricky.

@Insevis:
Wie umgeht Ihr denn die "eingebauten" Zykluszeitbeschränkungen von z.B. 500ms einer 1511 bei OPC-UA?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

wir komunizieren ja über RFC 1006 mit der 1500. So schnell wie die 1500 antwortet.

Wir als OPCUA Server haben keine künstliche Beschränkung eingebaut.

Übrigens. wenn man nur Get verwendet schreibt auch nicht in anderen CPUs rum :-)

Ansonsten sollte man sowieso "Transfer-DB s" anlegen.
 
Ok. Das umgeht dann wohl alle eingebauten Mechanismen der CPU zur Datensicherheit einschließlich der Einstellungen "Sichtbar in HMI/OPC UA".
Das sollte man beim Gesamtkonzept der Anlage beachten.
 
Hallo

Nein, Put/Get muß man in der 1500 ja auch explizit freigeben.

Wir nutzen die zur Verfügung stehende S7 Komunikationsmöglichkeiten.

TSend/TReceive
AG Send/AG Recieve
Put/Get
PG/OP Komunikation

Den internen OPC UA Server der 1500 natürlich nicht. Mangels Performance.

dafür haben wir die komplette Verschlüsselung (bis AES 256). Sollte es Erweiterungen geben, werden die per FW Update auf den neusten Stand gebracht.
Die Anlage läuft dabei weiter.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Kann ja sein, ich bin auf dem Holzweg aber:

- Freigabe Put/Get in der CPU schaltet ALLE DB frei
- TSEND/TRECEIVE und AG_Send und AG_Receive müssen in der CPU programmiert werden
- PG/OP-Kommunikation darf, sofern zugelassen, alles (OP-Kommunikation nur freigegebene DB)

RFC1006 ist doch auch unverschlüsselt oder?

D.h. alle von Ihnen beschriebenen Sicherheitsmechanismen greifen erst ab Ihrem OPC-UA-Server und nicht bereits ab der CPU. Das bedeutet, das von Firewall etc. zu schützende Maschinennetz erstreckt sich bis zum OPC-UA-Server, dieser darf nicht im Büronetz stehen, weil ich dann die Firewall dazwischen aufbohren muss.

Damit will ich Ihr Produkt nicht entwerten, sondern nur auf die strukturellen Unterschiede hinweisen.

Sollte ich etwas unrichtig dargestellt haben, bitte ich um Korrektur.

Aus der Erfahrung möchte ich auch noch auf eine Fehlerquelle hinweisen, die mit externem OPC UA-Server besteht:
Es ist zwingend notwendig, die Datenbasis (Datenstruktur) auf dem externen Server immer aktuell zu halten, ansonsten kommt es durch den absoluten Zugriff zu "seltsamen" Effekten, wie früher in WinCC. Da innerhalb der TIA-Welt durch die vollsymbolischen Zugriffe dieses Problem nicht mehr existiert, wollte ich es noch mal in Erinnerung rufen.

Das sind für Serienmaschinen natürlich keine großen Probleme, bei Sondermaschinen, bei denen die Programmierung noch auf auf dem Lieferfahrzeug weitergeht, schon.

Die Performance des integrierten OPC-UA-Servers ist zumindest bei den kleinen CPUs wirklich nicht allzu hoch. Man sollte vor der CPU-Auswahl unbedingt ins Datenblatt schauen, da stehen die Aktualisierungszeiten, die diese CPU ermöglicht, drin. Zu beachten ist eben, daß diese Zeiten ab der ersten Variable gelten. Eventuell muss man dann eben nur wegen des OPC-UA-Zugriffs die CPU eine Nummer größer wählen. Die Grenze nach oben wird nicht so schnell erreicht bzw. man kann sie mit der Mindestzykluszeitetwas etwas nach oben schieben (nicht verbrauchte Zykluszeit steht zusätzlich zur eingestellten Kommunikationslast für die Kommunikation zur Verfügung).
 
Hallo

Richtig: RFC 1006, also die gesamte S7 Komunikation, ist unverschlüsselt.

Put/Get muß man in der CPU 1500 explizit freigeben. Dann ist die natürlich offen.

S7 Komunikation durch ein Büronetz sollte man grundsätzlich vermeiden.
Wenn man durch das Büronetz muß, dann über einen VPN Tunnel zum Ziel-Maschinennetz. Das Gateway baut diesen Tunnel auf.
 
Zurück
Oben