B&R Erfahrungen.

Beiträge
8.337
Reaktionspunkte
1.903
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo.

Dies ist ein Abzweig von den Thread Codeausführung bei S7 vs B&R Automation Runtime.
Ich habe ein neuen Thread gestartet weil das Thema dort handelt spezifik um wie der Code ausgeführt wird.
Das Thema interessiert mich weil B&R wird auch in unser Firma genannt.


Kann jemand auch Erfahrungen geben über:

Online Programbeobactung. Wie funktioniert es ? Ist es gut oder schlecht ?
Online Beobactung von "wiederverwendbare Programbaustenie" (wie Siemens "Online Monitor with Call-up Path"). Wie funktioniert es ? Ist es gut oder schlecht ?
Initial-Werten bzw. Aktual-Werten, kann man die Online Aktual-Werten offline sichern ?
Wenn Programstrukturen geändert werden, kann man die geänderte Strukturen downloaden ohne das die Aktualwerten verlohren gehen ?
Gibt es ein Offline/Online vergleich (wie bei Siemens), bzw. ein Offline/Offline vergleich zwischen Projekte (wie bei Siemens) ?
Gibt es ein Online Hardware Diagnose wo eventuelle Hardware Fehler direkt angezeigt werden ?
Wie funktioniert es mit Referenzlisten, kann man ein Variabel markieren, und dann alle Stellen sehen im Program wo der Variabel verwendet wurde ?

Ich habe ein bisschen mit B&R gearbeitet, das war aber mit System 2003 und Automation Studio (v4.7 glaube ich). Es hat mich nicht wirklich überzeugt, und ich hoffe das es ist besser geworden ist in den Zwischenzeit.

Danke im voraus.
 
Zuletzt bearbeitet:
Bei B&R liegt eine comilierte Version auf der CPU.
Ich kann ohne das aktuelle Automation Studio Projekt zu besitzen, mir nichts online anschauen oder gar ändern.
Das ist bei Siemens oder Ab anders, da kann ich das.
Wenn das falsch ist, dann ist das neu für mich und ich werde das direkt einmal probieren.

Habe ich das aktuelle Projekt, ist die Online Beobachtung kein Problem und Änderungen können herunter geladen werden bei Beibehaltung der Aktualwerte.
Offline/Online Vergleich ist auch möglich.
Hardware Diagnose natürlich ebenso.
Man kann Variablen über Suchfunktion im Projekt suchen und durch anklicken direkt hin springen.
Sehr gelungen ist auf jeden Fall die Integration der Sevos in das Automation Studio. Ich brauche keine weitere Software, es ist alles im Automation Studio.

Ich denke die Aktuelle Version in nun die Version 4. Also 4.7 kann so nicht ganz stimmen.


Beste Grüsse
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich kann ohne das aktuelle Automation Studio Projekt zu besitzen, mir nichts online anschauen oder gar ändern.
Das ist mir nicht wichtig.
Aber um zu sicherstellen das ich den richtige Programversion besizte mache ich immer ein offline/online vergleich bei S7. Wenn da kleine unterschiede zwischen offline/online gibts kann ich die "synkronisieren" und dann weitermachen. Ist aber kein dealbreaker wenn es bei B&R nicht gibt.

Habe ich das aktuelle Projekt, ist die Online Beobachtung kein Problem und Änderungen können herunter geladen werden bei Beibehaltung der Aktualwerte.
Auch bei Funktionsbausteine mit Instanzbausteine ? (ich gehe davon aus das dies konzept gibt bei B&R).

Kann man in laufender Betrieb ein geänderte Baustein laden ohne das der CPU gestoppt werden muss ?

Ich denke die Aktuelle Version in nun die Version 4. Also 4.7 kann so nicht ganz stimmen.
Wenn ich nachdenke, dann glaube ich das es war v2.47. Es ist ungf. 7 Jahren her.
 
Hallo JesperMP,

eines einmal vorneweg. Bei B&R ist es essenziell, das Orginalprojekt zu haben.
Man sollte also tunlichst darauf achten dieses nicht zu verlieren.
Es wurde ja schon geschrieben das das beobachten und steuern von Variablen kein Problem darstellt.
Funktionsbausteine werden bei B&R im allgemeinen ebenfalls durch Funktionsbausteine bzw. Funktionen realisiert, welche in Bibliotheken oder auch direkt im programm liegen können.
Variablen von solchen Funktionsbausteinen direkt in einem solchen zu beobachten macht eigentlich keinen Sinn, da die zuordnung der Werte zum jeweiligen Aufruf nicht ganz einfach ist.
Zweckmäßiger ist es, die Übergabe,- und Rückgabeparameter beim Aufruf zu beobachten.
Schwieriger wird es, wenn, wie bei komplizierteren Übergaben üblich, Adressen übergeben werden. Da bekommt man im Zweifelsfall nur die Pointeradresse angezeigt.
Wenn diese direkt einer Variablen zuzuordnen sind, kann man sich diese ansehen. Werden die Adressen z.B. berechnet wird das schwierig, ist aber kein B&R Problem, sondern liegt in der Natur der Sache.
Instanzbausteine gibt es in diesem direkten Sinne nicht. Eben auch keine Datenbausteine. Funktionsbausteine regeln ihr eigenes Datenhandling, während Funktionen per se kein "Gedächtnis" haben.
Das muss man bei Bedarf mitgeben. (Als Speicherbereich oder Struktur)
Ja, man kann, ohne die CPU zu stoppen, geänderte Bausteine downloaden. Vor dem Übertragen wird in einem Fenster mitgeteilt, ob Warmstarts oder gar Kaltstarts benötigt werden.
Wann das aber ganz genau nötig ist, ist etwas schwierig zu sage. Zu diesem Thema müsste hier aber schon irgendein Thread herumschwirren.
Ja, die aktuelle Version ist die 4. Die 4.1 liegt in den Geburtswehen. Diese wird wohl für die nächste Hardewaregeneration und auch diese Reaction-Geschichte notwendig werden.

Gruß
 
Variablen von solchen Funktionsbausteinen direkt in einem solchen zu beobachten macht eigentlich keinen Sinn,
Kein Sinn ? Es ist genauso Sinnvoll ein Funktionsbaustein online zu beobachten als ein Funktion.

, da die zuordnung der Werte zum jeweiligen Aufruf nicht ganz einfach ist.
Das hat Siemens gelöst indem man die Daten nur für den gewünschte Aufruf beobachtet.

Zweckmäßiger ist es, die Übergabe,- und Rückgabeparameter beim Aufruf zu beobachten.
Das ist nicht genug. Auch die Statische Variabeln muss man sehen können. Was man bei Siemens online sehen kann ist eigentlich das Einhalt von die verschiedene CPU Register. Man sieht z.B. wie ein BOOL in einen Netzwerk gesetzt wird, und in einen anderen Netzwerk zurück gesetzt wird.

Schwieriger wird es, wenn, wie bei komplizierteren Übergaben üblich, Adressen übergeben werden. Da bekommt man im Zweifelsfall nur die Pointeradresse angezeigt.
Wenn diese direkt einer Variablen zuzuordnen sind, kann man sich diese ansehen. Werden die Adressen z.B. berechnet wird das schwierig, ist aber kein B&R Problem, sondern liegt in der Natur der Sache.
Ist mir klar, und ist genauso bei Siemens.

Instanzbausteine gibt es in diesem direkten Sinne nicht. Eben auch keine Datenbausteine. Funktionsbausteine regeln ihr eigenes Datenhandling, während Funktionen per se kein "Gedächtnis" haben.
Das es anders gelöst ist bei B&R als bei Siemens kann sein, aber irgendwo sind die Statische Variabeln gespeichert.

Also, es funktioniert tatsäglich bei Siemens, und ich verwende es massiv weil ich sehr viele Funktionsbausteine habe.
Das eine ähnliche Funktionalität nicht gibt bei B&R wäre ein Rückschritt.
Es wäre nicht eine absoluten aus für B&R für mich, aber ein Nachteil den ich gegen die Vorteile abwägen müsste.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich möchte nur darauf hinweisen, dass es durchaus möglich ist Variablenstatis innerhalb eines FB Instanz bei B&R anzusehen, auch interne Variablen. Und Ja man kann von einem FB aus einer Lib natürlich mehrere Instanzen anlegen.
Im Watch werden die internen Variablen der Instanzen angezeigt. Ebenso ist es möglich mittels Breakpoints und Einzelschrittmodus in eine Instanz eines FB's hinein zu steppen und so auch Statis von Variablen in einer Schleife zu betrachten.

Zudem gibt es durchaus die Möglichkeit das gesamte Projekt mit auf die CF abzulegen, so dass man vor Ort das aktuelle Projekt von der CPU ziehen kann. ( setzt natürlich entsprechenden Platz auf der CF voraus)
Ein Onlinevergleich auf Sourcecodeebene (Klartext) ist im Moment (noch?) nicht möglich.
 
Ich möchte nur darauf hinweisen, dass es durchaus möglich ist Variablenstatis innerhalb eines FB Instanz bei B&R anzusehen, auch interne Variablen.
Sieht man das als eine Liste von Variabeln, oder sieht man das als online Code Sicht, wie diese Screenshots von STEP7 ? :
 

Anhänge

  • STEP7_monitor_w_call_up_path_1.png
    STEP7_monitor_w_call_up_path_1.png
    34,5 KB · Aufrufe: 29
  • STEP7_monitor_w_call_up_path_2.png
    STEP7_monitor_w_call_up_path_2.png
    19,1 KB · Aufrufe: 42
Das mit den Instanzen bei den FUB´s kann ich nur bestätigen, es ist durchaus möglich sich die variablen anzuschauen.

Eine Frage zu dem herunter laden der Quellen :

Wie muss man sich das Vostellen, Kann man sich das gesamte Projekt dann von der MEM Card in das Automation Studio laden und ohne Download Online anschauen ?
Habe diese Option noch nie benutzt und würde das gerne mal versuchen.

Grüsse
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was passiert ist: es wird das Projekt gezippt und auf die CF abgelegt. Musst dir dann das Zip wieder herunterziehen und das Projekt aufmachen. Also kein Onlinevergleich.
Zudem empfehle ich den Passwortschutz zu verwenden...

Tipp: Würde dies erst am Schluss machen, bevor du die Maschine verlässt. Wenn du es bei jedem Download mit runter schiebst geht das übertragen natürlich entsprechend lange.

Einschalten kannst du das automatische Zippen und runterlegen auf die CF über: Config View, rechtsklick auf den obersten Punkt (Name der Config), Properties, Karteikarte Source Files. Rest ist dann selbsterklärend.
Wie gesagt, empfehle dies erst ganz am Ende zu aktivieren, sonst wird nach jedem Built das Projekt neu runterübertragen was bei großen Projekten etwas gehen kann
 
@Jesper:
Du siehst es ohne Breakpoints nur als Variablenliste, jedoch für jede Instanz mit Breakpoints kannst du auch im Code über Tooltipp gehen. Wie es in graphischen Sprachen aussieht weiß ich nicht da ich nur ST und C programmiere.
 
Hallo zusammen,

nur zur Ergänzung. ich fürchte, ich habe mich eventuell etwas missverständlich ausgedrückt.
Ich benutze leider auch weder KOP noch FUP sondern nur textorientierte Darstellungen. Aber soweit ich mich erinnern kann sieht man auch bei B&R die Ein- und Ausgangsparameter der Bausteine. (And, Or, Timer etc.)
Im status der Textdarstellung sieht man die Werte der einzelnen Variablen und Verknüpfungsergebnisse.
Ich benutze aber lieber listen im Watchfenster, da kann man sich alle Variablen die man sehen möchte zusammenstellen, deren Formate einstellen, beobachten und ändern.
Natürlich kann man die internen Werte von Funktionsbausteinen von außen betrachten. Alle internen Variablen eines Funktionsbausteines/Funktion stehen im Watchfenster zur Verfügung.
Ich meinte nur, dass es in der Funktion selbst keinen Sinn macht.
Da ich mir nicht ganz sicher bin was du mit statischen Variablen meinst, habe ich mich da wohl auch unklar ausgedrückt.
In B&R gibt es ja im Prinzip keine verwendung von direkten Hardwareadressen. (E0.0 PAW65 usw.)
Es gibt nur Variablen die dann gegebenenfalls an die entsprechenden EAs angebunden werden.
Diese Variablen unterteilen sich in lokale und globale Variablen. Globale sind im ganzen Projekt gültig, lokale nur im jeweiligen Programmteil.
Diese Variablen sind erst einmal nichtremanent, verlieren also ohne Spannung ihren Wert, können aber jederzeit remanent oder auch als permanent deklariert werden und sind dann spannungsausfallsichr.
Eine Variable kann auch als Konstante deklariert werden, ist dann also auf einen Inhalt festgelegt. z.b. pi=3.14...
Eine Konstante kann dann z.B etwa wieder als Grenze für ein Feld und auch als Endwert für eine Schleife verwendet werden.
Feld[0..AnzElemente]
loop i=0 to Anzelemente do
Feld=0
endloop
Variablen können in Strukturen zusammengefasst werden. die wiederum in anderen Strukturen verwendet werden können.
Diese Strukturen können selbstverständlich auch remanent, permanent oder auch konstant sein.
Um das Fass zuzumachen, können Variablen dann auch mit vertretbarem Aufwand weggespeichert und zurückgeladen werden. (Auf CF-Card, USB-Stick oder Netzwerk)
So, ich hoffe, ich habe da irgendwo die statischen Variablen miterwischt.
(Nur am Rande. ich habe ungefähr 12 Jahre S5, später S7 200+300 programmiert, die letzten 10 Jahre dann B&R. Man kann da durchaus geteilter Meinung sein was besser ist, bin aber der festen Ansicht,
dass der Spieltrieb mit B&R weit besser befriedigt werden kann. Gerade wenn man gerne in vielen Daten wühlt geht da viel.)
Habe es fast vergessen, man kann sich natürlich megabyteweise Speicher reservieren und darin herumwuseln. Gibt auch die schönsten Abstürze)

Viele Grüße
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
damit wir auch mal ein Bildchen dazu haben

a) Montior mit Watch-Fenster für Automation Basic
b) Montior mit Watch-Fenster für KOP

Da auch ich nicht mit KOP arbeite, habe ich den FUB (PID Regler) nur schnell im Coffee Beispiel reinkopiert, er 'lebt' aber nicht, hat alle Werte = 0 da der Arme nicht bedient wird :p. Aber man sieht schon gut wie man dann damit arbeitet.....


Monitor-und-Watch.jpgMonitor-und-Watch-kop.jpg
 
Da ich mir nicht ganz sicher bin was du mit statischen Variablen meinst, habe ich mich da wohl auch unklar ausgedrückt.
In B&R gibt es ja im Prinzip keine verwendung von direkten Hardwareadressen. (E0.0 PAW65 usw.)
Es gibt nur Variablen die dann gegebenenfalls an die entsprechenden EAs angebunden werden.
Diese Variablen unterteilen sich in lokale und globale Variablen. Globale sind im ganzen Projekt gültig, lokale nur im jeweiligen Programmteil.
Die lokale + globale variabeln scheint die statische variabeln bei Siemens zu entsprechen. Bei Siemens gibt es kein unterscheidung in lokale bzw. globale. Das scheint ein Vorteil für B&R zu sein.

Alle internen Variablen eines Funktionsbausteines/Funktion stehen im Watchfenster zur Verfügung.
bits'bytes schrieb:
b) Montior mit Watch-Fenster für KOP
Ist nicht ganz was ich meine. Watchlisten haben sein Zweck, aber ist nicht komfortabel genug wenn man schnell sein code online debuggen will. Genau diese getrennte Fenster für Code und Aktualwerten kenne ich von Siemens SCL (Structured Text), und das funktioniert mMn. sehr schlecht.
Wie in die Screenshots von mir sieht man wie man bei Siemens in KOP und FUP ein grafische Darstellung bekommt, auch von die online Zustände. Das die online Werte bei B&R in eine getrennte Fenster auftaucht ist etwas unkomfortabel.
Das ist ein Vorteil für Siemens.

In v2.47 von Automation Studio war KOP ziemlich primitiv. Wenn B&R-Programmier generell KOP und FUP meidet konnte das ein zeichen sein das diese zwei Sprachen auch heute nicht richtig implementiert ist bei B&R.
 
Jesper: Nicht Falsch verstehen. Im normalen Quellcode hast du 1. die Möglichkeit per Tooltip den Wert der Variablen anzusehen 2. Im selben Fenster auf der Seite die Variablen als Liste 3. Bei grafischen Sprachen über graphische Markierungen " Stromfluss" zu sehen und den Wert 4. in einem separaten Fenster.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Sera.
Im normalen Quellcode hast du 1. die Möglichkeit per Tooltip den Wert der Variablen anzusehen 2.
Man muss also den Maus über der Variabel plazieren wenn man den online Aktualwert sehen will ?Ist ja fast unanwendbar.

3. Bei grafischen Sprachen über graphische Markierungen " Stromfluss" zu sehen und den Wert
Also wie in den Screenshot von mir in Beitrag #7 ?
Wenn das stimmt, dann wäre ich froh.
 
Zurück
Oben