Kommunikation mit B&R in .net

Tschoke

Level-2
Beiträge
289
Reaktionspunkte
151
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe gerade die Aufgabe in .net6 zwei B&R Steuerungen CP1586 über Ethernet anzubinden.

Was ich bis jetzt herausgefunden habe (Bitte korrigieren falls ich was falsch verstanden habe):
- Um mit B&R Steuerungen zu kommunizieren gibt es von B&R das Software-Packet PVI
- PVI ist eine Ansammlung von Kommuniktionsbibliotheken, Tools und Beispielen für verschiedene Betriebssysteme, Frameworks, Programmiersprachen...
- Grundsätzlich gibt es verschiedene Protokolle mit der man mit einer B&R Steuerung sprechen kann
- PVI vereinigt alle Protokolle (ANSL, INA2000, SNMP, Modbus, NET2000, CANdirect, MININET, MTC/ADI) und stellt eine einheitliche Schnittstelle bereit
- Man kann sich mit PVI für ein Protokoll entscheiden (vorausgesetzt SPS unterstützt es!)
- Die nativen Protokolle sind das "alte" INA2000 (unterstützt bis SG4 V4.08) und ANSL (unterstütz ab SG4 V4.08)
- Für .net kann der Wrapper BR.AN.PviServices.dll (aktuell .net Framework 4.7.2) verwendet werden

Meine Fragen:
- Ist die Verwendung von PVI kostenlos? Wird eine Lizenz, Dongel... benötigt? Wenn ja, wo? Auf der SPS? Oder PC/Server seitig?
- Muss für den INA2000/ANSL Zugang noch irgendwas auf der SPS "eingeschaltet oder konfiguriert" werden?
- Gibt es einen .net Wrapper für .net6 bzw. .net Standard bzw. .net core?
- Muss auf dem PC/Server der PVI benutzt, PVI installiert sein? Oder reicht es die entsprechenden DLLs (Wrapper, native DLLs...) zu kopieren?
- Sind die Protokolle INA2000 oder ANSL irgendwo beschrieben oder gibt es Quelloffene Bibliotheken?
(Zu INA2000 hab ich das gefunden: https://www.npmjs.com/package/ina2000. Leider sieht man dort nur Hex-Codes und nicht den genauen Aufbau)
- Die CP1586 ist laut Internet System Generation 4 (SG4). Aber was für eine Version? Vor oder nach V4.08? Oder gibt es beides?
- Anders gefragt: Unterstützt die CP1586 ANSL oder INA200 oder beides oder "kommt darauf an"?
 
Grüß dich,

ja für den PVI Manager ohne Automation Studio brauchst du eine Lizenz. Sonst ist nach zwei Stunden Schluss.

Du kannst die bei B&R die Hilfe auf der Homepage herunterladen und da ist die PVI Dokumentiert und auch ein Beispielprogramm für C# .Net dabei.

Aber meine Frage ist, warum willst du auf PVI gehen? Warum nicht OPC_UA?

Grüße

Markus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,
OPC-UA wäre Grundsätzlich auch ok.
Ist der OPC-UA Server auf den B&R SPSen (in Fall die CP1586) standardmäßig "eingeschaltet"?
Und was wird dann bereitgestellt? Oder muss der OPC-UA Server erst konfiguriert werden?

Weißt du ob die auch .net6 bzw. .net Standard bzw. .net core Beispiele haben?
 
OPC-UA muss erst aktiviert und konfiguriert werden und die Variablen auf die du zugreifen willst müssen freigegeben werden. Der OPC-UA Server ist aber Bestandteil der Automation Runtime, also des SPS Betriebssystems.

Das Beispiel ist für .net Core soweit ich das gesehen habe. Ist allerdings schon ein bisschen älter.
 
In dem Fall ist OPC UA für mich keine Lösung, da ich keine Änderungen an den Anlagen vornehmen kann (und will).
Da müsste man dann an die Maschinenbauer gehen und das beauftragen.
Aus Erfahrung weiß ich aber, dass das schwierig ist.
Nur wenige (vorallem die "großen" Maschinenbauer) sind da kooperativ.
Und dann schreiben die Angebote... Da könnte man eine neue Maschine von kaufen...

Aber, INA2000/ANSL sind ja immer aktiv, oder?
Ich denke das, das Automation-Studio ja auch die Protokolle verwendet, oder?
 
Meistens hat die Instandhaltung ja die Programme.
Und es ist ja schon ein großer Unterschied ob man in ein Programm offline schaut oder es ändert und in die SPS rein lädt (Gewährleistung...)
Ich kenne mich mit B&R auch nicht aus, aber ein Projekt mit Automation-Studio öffnen, bekomme ich hin;)

Führt mich zur nächsten Frage.
Kann man ohne Projekt das Programm online beobachten?
Oder von der SPS in ein Projekt laden?
 
Nein, kann man nicht. Bei B&R wird Standardmäßig nur das kompilat auf der Steuerung abgelegt. Man kann einstellen dass das Programm verschlüsselt mit abgelegt wird, ist die Frage ob das gemacht wurde.

Was meinst du mit Online beobachten? Zeilenüberwachung / Debug? Das funktioniert nur, wenn du das kompilierte Projekt bei dir auf dem Rechner hast. Sobald ein unterschied zwischen Online / Offline erkannt wird, funktioniert das schon nicht mehr.

Ich kenne mich mit B&R auch nicht aus, aber ein Projekt mit Automation-Studio öffnen, bekomme ich hin;)
Über deine Qualifikation, Kompetenz und Erfahrung möchte ich nicht urteilen. Aber je nach AutomationStudio Version und Projektkomplexität, gerade mit Motion Control sollte man das nicht unterschätzen.

Grüße

Markus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was meinst du mit Online beobachten? Zeilenüberwachung / Debug?
Bei Siemens kann ich zum Beispiel nach Teilnehmern suchen und dann Bausteine online beobachten.
Oder bei Beckhoff kann man sich mit TwinCat online Verbinden und dann kann man den "Variablen-Baum" anschauen.
Bei Beckhoff kann man auch mit Hilfe der Kommunikations-Bibliothek (ADS) die SPS Fragen was Sie für GVL, Strukturen, Variablen... hat
Alles ohne Projekt.
 
Ja, rausbrowsen kann man sich die Sachen schon. Du musst halt zuerst die Tasks lesen, dann kannst du aus den Tasks auch die Variablen lesen. Das geht im AutomationStudio ebenfalls ohne Projekt. Du brauchst eine Verbindung zur SPS und dann kannst du über die Onlinefunktionen das meiste auslesen.
 
Guten Morgen ,
Wenn du dich mit einem X20CP1586 verbinden möchte, muss du wissen unter welchem Automation Runtime (AR X4.yz, das Laufende Betriebssystem der SPS).
In der SPS die du programmierst, solltest du mindestens Automation Studio V 4.3.x benutzen.
Allerdings mit OPC UA wird es nix, wenn es auf der anderen SPS nichts vorbereitet ist:
OPC Server eingeschaltet, Variablem frei eingestellt.
Bei B&R gibt es eine native Library, um 2 SPS unter SG4 mit dem PVI-Protokoll zu verbinden.Mit Hilfe ein paar FB's kannst du eine Verbindung herstellen und diagnostizieren und mit einer Datentabelle die Variable der fremden SPS mit deinen eigenen Variablen zu koppeln.
Ich hoffe, das Du nur Variablen lesen möchte da Variablen im einer fremden SPS zu schreiben, ohne das Programm zu kennen, ziemlich gewagt ist.
Viel Erfolg.
 
Zurück
Oben