Sonstiges SPS Kommunikation

Pan

Level-1
Beiträge
17
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
vorab möchte ich klarstellen das ich auf dem Gebiet der SPS Technik ein neuling bin. Für ein Projekt soll ich nun die aktuelle Vorschubgeschwindigkeit der einer Sinumerik 840d auslesen. Der ausgelesene Wert soll an einen SPS der Marke Controllino übertragen werden. Der Controllino soll anhand der Vorschubgeschwindigkeit dann ein Ventil zur Kühlmittelzufuhr Regeln. Zum Datenaustausch steht eine OPC UA Schnittstelle zur Verfügung. Nun zu meiner Frage: ist es möglich das beschriebene Problem mit dem SoftwareTool “uaexpert“ zu lösen ? Oder gibt es eventuell auch andere Ansätze wie beispielsweise über einen Gateway der Firma Anybus ?
 
Du schreibst eine OPCA UA Schnittstelle steht schon zur Verfügung. Warum willst du dann nicht einen OPC UA Client auf dem Controllino implementieren und von dort aus die Daten holen? Das wäre doch der logische Schritt bei der Aufgabenstellung.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nun zu meiner Frage: ist es möglich das beschriebene Problem mit dem SoftwareTool “uaexpert“ zu lösen ?
UA Expert ist nur ein Client, der Daten auslesen kann. Das Tool kann jedoch nicht als Server herhalten. Du kannst damit aber die Verbindung zum Server testen, um sicherzugehen, dass dieser korrekt eingestellt ist.
 
Hallo Fluffi,
zuerst mal vielen Dank für deine schnelle Antwort. Ist es denn möglich den Controllino als Client einzurichten ? Ich bin davon ausgegangen, dass der Client eine Software wie eben UA Expert oder Node-Red sein muss. Wie kann ich den Controllino konkret als Client einrichten ?
 
UA Expert ist nur ein Client, der Daten auslesen kann. Das Tool kann jedoch nicht als Server herhalten. Du kannst damit aber die Verbindung zum Server testen, um sicherzugehen, dass dieser korrekt eingestellt ist.
Hallo Mok_1988,
auch danke für deine Antwort. Die Verbindung wurde bereits über UA Expert von Kollegen getestet und verschiedenste Maschinendaten ausgewertet das scheint also zu funktionieren. Mein Problem ist nun das ich irgendwie eine Horizontale Kommunikation zwischen zwei unterschiedlichen SPS System herstellen will aber eben keinen richtigen Ansatz finde wie ich das umsetzen kann. Bei den meisten Internetquellen werden nur die Möglichkeiten von OPC UA aufgezeigt und konkrete Beispiele beziehen sich meistens auf die Vertikale Kommunikation. Über eure Hilfe wäre ich sehr dankbar.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Controllino, also ein nackter Atmel ATMega2650 µController mit ein bisschen E/A Schaltungen und Schraubklemmen, den ich grundsätzlich eher mal nicht als SPS bezeichnen würde, wird ja in C bzw C++ programmiert. Hier gibt es unter anderem eine OPC Implementierung namens open62541. Das kannst du direkt nehmen, oder wenn es ein bisschen komfortabler und nicht ganz so komplex sein soll eine entsprechende Implementierung daraus aus der Arduino-Welt.
 
Zuletzt bearbeitet:
Der Controllino, also ein nackter Atmel ATMega2650 µController mit ein bisschen E/A Schaltungen und Schraubklemmen, den ich grundsätzlich eher mal nicht als SPS bezeichnen würde, wird ja in C bzw C++ programmiert. Hier gibt es unter anderem eine OPC Implementierung namens open62541. Das kannst du direkt nehmen, oder wenn es ein bisschen komfortabler und nicht ganz so komplex sein soll eine entsprechende Implementierung daraus aus der Arduino-Welt.
Guten Morgen Fluffi,
danke für den Tipp mit open62541, natürlich will ich das ganze so einfach wie möglich umsetzen. Ich habe mal im Bibiotheksverwalter der Arduino IDE gesucht aber nichts in Bezug auf open62541 gefunden. Hast du hier eine konkrete Library im Kopf ?
 
@Pan Der Controllino macht für mich entweder Sinn, wenn man ein Arduino-Projekt hat und das industrietauglich bzw. für den Schaltschrank umsetzen möchte – oder wenn man mittels logi.cad eine echte SPS daraus macht:

https://help.logicals.com/display/LC3UserDocuDE/Controllino

Nebenbei: Die Arduino-IDE ist ein Anfänger-Framework, mit dem man zwar unendlich viel machen kann – aber halt nur zum basteln. Meine ich.
 
Erstmal danke für eure Antworten. Leider werde ich aus der ganzen Sache nicht so richtig schlau (also wie genau ich den Controllino nun als Client einrichten kann und damit Daten von der SPS ziehen kann) Ich habe mir deshalb nun gedacht ich mache einen Zwischenschritt. Ich werde die Daten von der SPS mithilfe der Software UA Expert oder einem anderen OPC Client auslesen und in eine Excel Tabelle schreiben lassen. Dann werde ich die Daten von dort mit dem Controllino einlesen. Meint ihr das könnte funktionieren.
Viele Grüße.
 
Erstmal danke für eure Antworten. Leider werde ich aus der ganzen Sache nicht so richtig schlau (also wie genau ich den Controllino nun als Client einrichten kann und damit Daten von der SPS ziehen kann) Ich habe mir deshalb nun gedacht ich mache einen Zwischenschritt. Ich werde die Daten von der SPS mithilfe der Software UA Expert oder einem anderen OPC Client auslesen und in eine Excel Tabelle schreiben lassen. Dann werde ich die Daten von dort mit dem Controllino einlesen. Meint ihr das könnte funktionieren.
Viele Grüße.
Der Controllino (Arduino) ist ein reiner Steuerrechner. Hat kein höheres Betriebssystem und kein Dateisystem. Wie soll damit die klassische Datenverarbeitung wie das Lesen aus einer Exceltabelle funktionieren?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Controllino (Arduino) ist ein reiner Steuerrechner. Hat kein höheres Betriebssystem und kein Dateisystem. Wie soll damit die klassische Datenverarbeitung wie das Lesen aus einer Exceltabelle funktionieren?
Also mein Plan war hier die Daten über einen auf dem PC laufenden Sketch an den seriellen Monitor der IDE zu senden. Aber das wird wahrscheinlich noch komplizierter als eine Direkte Übertragung mittels OPC UA. Ich habe bei meiner Recherche ein Tool namens Node Red gefunden. Es bietet wohl die Möglichkeit als Server sowie als Client zu fungieren. Weiterhin scheint es recht gut dokumentiert zu sein. Also ich kann hiermit schonmal die Daten von der SPS auslesen. Jetzt habe ich nur immer noch das Problem das ich nicht weiß wie ich den Controllino (arduino ) präparieren muss (Codetechnisch) um diese Daten auch empfangen zu können.
 
Die Zielplatform von NodeRed sind eher Linux-Systeme. Es gibt zwar die Möglichkeit aus einem NodeRed Programm ein Programm für 8bit AVRs zu kompilieren, aber ob das mit dem ganzen OPC Stack funktioniert wage ich zu bezweifeln. Müsste man ausprobieren, aber eher unwahrscheinlich.
Die sinnvollste Lösung wäre einen OPC Client auf dem Controller zu realisieren. Und wenn du das nicht hinbekommst dann eben mit einem PC, Raspberry, etc. die Daten von einem OPC Client über RS232/UART an den Controllino schicken. Das macht aber den ganzen Aufbau total hinfällig.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Zielplatform von NodeRed sind eher Linux-Systeme. Es gibt zwar die Möglichkeit aus einem NodeRed Programm ein Programm für 8bit AVRs zu kompilieren, aber ob das mit dem ganzen OPC Stack funktioniert wage ich zu bezweifeln. Müsste man ausprobieren, aber eher unwahrscheinlich.
Die sinnvollste Lösung wäre einen OPC Client auf dem Controller zu realisieren. Und wenn du das nicht hinbekommst dann eben mit einem PC, Raspberry, etc. die Daten von einem OPC Client über RS232/UART an den Controllino schicken. Das macht aber den ganzen Aufbau total hinfällig.
 
Die Zielplatform von NodeRed sind eher Linux-Systeme. Es gibt zwar die Möglichkeit aus einem NodeRed Programm ein Programm für 8bit AVRs zu kompilieren, aber ob das mit dem ganzen OPC Stack funktioniert wage ich zu bezweifeln. Müsste man ausprobieren, aber eher unwahrscheinlich.
Die sinnvollste Lösung wäre einen OPC Client auf dem Controller zu realisieren. Und wenn du das nicht hinbekommst dann eben mit einem PC, Raspberry, etc. die Daten von einem OPC Client über RS232/UART an den Controllino schicken. Das macht aber den ganzen Aufbau total hinfällig.
Also ich denke nicht das ich es hinbekommen werde einen OPC Client auf dem Arduino zu realisieren, dafür fehlt mir einfach die Erfahrung. Wenn ich dich richtig verstehe, könnte ich die Daten mittels eines Clients (kann in diesem Fall ja auch node red sein ) von der Sinnumerik auslesen und von dort auf den Controllino schicken (über eine serielle Schnittstelle) ? Wäre es eventuell einfacher eine SPS von Siemens zu besorgen (beispielsweise eine Siemens LOGO) und eine Kommunikation über das TIA Portal herzustellen ? So wie ich das mitbekommen habe liegt eine Lizenz hierfür vor. Nochmals danke für deine/eure Hilfe finde ich echt super :)
 
Also wenn du schon Node RED ins Spiel bringst, dann schmeiss doch den Conrollino in den Schrott und nimm ne E/A-Erweiterung für Raspi.
Node RED läuft darauf und kann OPC UA. Das Ventil steuern geht mit Node RED sicher auch.
Ja das habe ich mir auch schon gedacht allerdings bin ich mir nicht sicher ob der Raspi die nötigen Sicherheitsstandards erfüllt. Die Entscheidung für den Controllino ist ja aufgrund der "einfachen Handhabung" und der vorhandenen Zertifizierung gefallen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja das habe ich mir auch schon gedacht allerdings bin ich mir nicht sicher ob der Raspi die nötigen Sicherheitsstandards erfüllt. Die Entscheidung für den Controllino ist ja aufgrund der "einfachen Handhabung" und der vorhandenen Zertifizierung gefallen.
You made my day :)
 
"einfachen Handhabung" und der vorhandenen Zertifizierung gefallen.
Sowohl die "einfache Handhabung", siehe Implementierung eines OPC Clients und die hier noch gar nicht erwähnte Programmierung des Netzwerkinterfaces, als auch die "Zertifizierung" stimmt so nicht. "Einfach" für den Anfänger ist das alles nur wenn jemand schon den C-Code bzw Libraries dafür entwickelt hat und man es nur noch an ein paar Stellen ein bisschen anpasst und hochlädt. Ist das nicht der Fall ist das was für Experten.
Was die Zertifizierung angeht: Das Board da drin kostet 15€. Welcher Spaßverein zertifiziert einen nackten µController nach EN61010-1?

Eine Logo extra dafür besorgen würde ich nicht. Nimm einen Raspi. Realisiere damit über NodeRed den OPC Client und schick die Daten über UART raus. Ich glaube der Raspi hat 3,3V TTL, du brauchst wahrscheinlich noch einen Pegelwandler auf 5V. Alternativ dazu lässt sich ein Raspberry auch mit Codesys als SPS Zielsystem verwenden und somit evtl. auch mit OPC Funktionalität.
Aber wie gesagt, wenn du das alles so realisierst macht der ganze Controllino doch keinen Sinn.
 
Zuletzt bearbeitet:
Sowohl die "einfache Handhabung", siehe Implementierung eines OPC Clients und die hier noch gar nicht erwähnte Programmierung des Netzwerkinterfaces, als auch die "Zertifizierung" stimmt so nicht. "Einfach" für den Anfänger ist das alles nur wenn jemand schon den C-Code bzw Libraries dafür entwickelt hat und man es nur noch an ein paar Stellen ein bisschen anpasst und hochlädt. Ist das nicht der Fall ist das was für Experten.
Was die Zertifizierung angeht: Das Board da drin kostet 15€. Welcher Spaßverein zertifiziert einen nackten µController nach EN61010-1?

Eine Logo extra dafür besorgen würde ich nicht. Nimm einen Raspi. Realisiere damit über NodeRed den OPC Client und schick die Daten über UART raus. Ich glaube der Raspi hat 3,3V TTL, du brauchst wahrscheinlich noch einen Pegelwandler auf 5V. Alternativ dazu lässt sich ein Raspberry auch mit Codesys als SPS Zielsystem verwenden und somit evtl. auch mit OPC Funktionalität.
Aber wie gesagt, wenn du das alles so realisierst macht der ganze Controllino doch keinen Sinn.
Vielleicht war die Controllino Sache auch ein bisschen überstürzt. Ich bin davon ausgegangen das eine Implementierung doch etwas einfacher ist. Naja ich habe ja nun eine mögliche Lösung :) danke dafür ich werde dir / euch bescheid geben wenn ich ein brauchbares Ergebnis habe. Danke nochmal :)
 
Zurück
Oben