# Ein Paar Fragen über B&R.



## JesperMP (2 Mai 2007)

Hallo.

Ich habe eine Machine von einem Unterlieferanten, der ein Problem hat, das, ich verfolgen muß. 

Der PLC ist ein B&R 2003. Ich habe den Programmcode und die Automation Studio Software für den B&R PLC. Aber ich kämpfe, um herauszufinden, wie man die Software benutzt.

Möglicherweise kann jemand mich beantworten diese scheinbar einfachen Fragen: 

Wo finde ich die datablocks? Ich kann die Programmblöcke finden. Aber die Daten im Code scheinen nirgendwo zu finden. Ich möchte in ein gesamtes datablock schauen während online. 

Wo finde ich den X-ref? Die on-line-Hilfe sagt, daß sie unter „edit“ im Hauptmenü ist, aber ich kann es einfach nicht sehen (möglicherweise bin Ich blind geworden).


----------



## plc_tippser (2 Mai 2007)

Datablocks müssen bei B&R nicht zwangsläuftg vorhanden sein.

Welche Automation Studio Software hast du?
In welcher Sprache sind die Bausteine geschrieben worden?
Wenn du dein Notebool online an der Steuerung hängen hast, kannst du einen Programmbaustein markieren, Tastenkombination SRTG+W drücken. Es öffnet sich ein Watchfenster. oben links, in pink findest du die Auswahl der Variablen, die du einfügen kannst. Du kannst nur die Variablen aus der Task einfügen und globale, die in der Task verwendet werden. In anderen Bausteinen lokal deklarierte Variablen findest du so nicht. Dazu mußt du dann  auf einen anderen Baustein die Watchfenster öffnen.

pt


----------



## JesperMP (2 Mai 2007)

Es ist Automation Studio v2.51.

Das Program ist in Ladder und Structured Text gemacht.

O.K., ich fand die Antwort zur 1. Frage. Wenn ich die Eigenschaften eines Programmblockes im Projektbaum öffne, gibt es eine „Declaration“ Vorwähler. Dieses führt zu alle Variablen, die im Block erklärt werden. 
Und wenn ich Monitor vorwähle, wenn ich dieses betrachte, kann ich alle diese Werte gleichzeitig online sehen.

Jetzt muß ich nur wissen, wo der X-ref ist (nicht nur die Suchfunktion).


----------



## plc_tippser (2 Mai 2007)

Das gibt es nicht bei B&R. Du kannst über "Suchen in Dateien" in allen Tasks nach einem Begriff suchen´, aber eine Referenzliste wie bei S7 kenne ich nicht.

pt


----------



## JesperMP (3 Mai 2007)

OK, denn schaue Ich nicht vergeblich nach dem x-ref. 

Bitte entschuldigen mich für noch eine Frage.
Dieser PLC hat mehrmals sein Programm verloren.

Wie kann ein Kunde das Programm ohne die Automation Studio-Software wieder laden?

Gibt es ein onboard EPROM ? 

Es gibt ein Ethernet-Expansion Modul mit einem CF-Karte slot. Kann dieses für das Laden des Programms verwendet werden?

Gibt es ein Software-Werkzeug für das Laden des Programms von einem PC ?
Was ist „PVI Transfer“ ? Kann dieses für das Laden des Programms verwendet werden ? Ist es frei zu installieren oder ist es lizensiert ?


----------



## Jens_Ohm (3 Mai 2007)

JesperMP schrieb:


> Dieser PLC hat mehrmals sein Programm verloren.
> 
> Wie kann ein Kunde das Programm ohne die Automation Studio-Software wieder laden?



Die CPU kann ihr Programm eigentlich nicht "verlieren". Im Automation Studio hast Du neben den Task die Speicherart stehen ,in die das  Programm geladen wird. Dort sollte ROM stehen. Wenn dort RAM steht, kann das Programm verloren gehen wenn die Pufferbaterie leer ist oder gewechselt wird. Im ROM kann das nicht passieren. 

Auf der Automation Studio CD soll ein Programm sein, mit dem ein Projekt auf eine CPU gespielt werden kann. Habe ich aber selbst noch nie versucht.
Vielleicht solltest Du mal beim Support nachfragen.

gruß jens


----------



## Jens_Ohm (3 Mai 2007)

JesperMP schrieb:


> Es gibt ein Ethernet-Expansion Modul mit einem CF-Karte slot. Kann dieses für das Laden des Programms verwendet werden?



Ja kannst Du machen.

Das Programm bringst Du folgendermaßen auf die CF-Karte.
Spannungsversorgung abziehen und CF-Karte mit dem Logo nach außen in den Slot einführen.
Spannungsversorgung herstellen.
Im Automation Studio über „Projete -> Dienste -> Update Memcard“ anwählen und dem Dialog folgen.
Die Steuerung wird jetzt dazu benutzt um das Programm auf die CF-Karte zu übertragen.
Achtung: Nach der Übertragung ist der Speicher der CPU leer. Du musst entweder über das Programm über das AS aufspielen oder einfach die Karte Probieren.

Laden über die CF-Karte.
Du sagtest die Steuerung ist 2003 ? Dann hat Du wahrscheinlich eine CP476
Dort musst Du folgendes machen.
Spannungsversorgung abziehen.
Die Knotenwahlschalter auf der CUP auf „F“ (linker WS) und „D“ (rechter WS) stellen.
CF-Karte einstecken.
Spannungsversorgung herstellen.
Wenn die Übertragung startet blickt die LED oberhalb der Flashcard.
Ist das UPDATE beendet blinken die grüne „RUN“ und die gelbe „Ready“ LED unterhalb der Knotenschalter.
Spannungsversorgung trennen.
Knotenschalter auf 1  / 1
Spannungsversorgung herstellen
läuft

Tipp:
Du solltest die CPU über die Du das Programm auf die CF-Karte überträgst, nach dem Übertragen auf die Karte sicherheitshalber Kaltstarten.
AS „Projekte -> Dienste -> Kaltstart

viel Erfolg 
Jens


----------



## JesperMP (3 Mai 2007)

Argh ! Ich habe mit "ändern" mein antwort gelöscht.

Also, ich schrieb das alle program blöcke mit User ROM markiert waren.

Und das verlierens des Programs ist mehrmals passiert und zwar bei mehrere Kunden.

Und vielen Dank für Deine anleitung.
Ich werden das versuchen bei den nächsten Besuch bei dem Kunde.


----------



## M_o_t (3 Mai 2007)

plc_tippser schrieb:


> Das gibt es nicht bei B&R. Du kannst über "Suchen in Dateien" in allen Tasks nach einem Begriff suchen´, aber eine Referenzliste wie bei S7 kenne ich nicht.
> 
> pt



Also im Programm PG2000 ist unter Projekt - Datenbank der erste Punkt Crossreferenz

Gruß
Silke


----------



## plc_tippser (3 Mai 2007)

M_o_t schrieb:


> Also im Programm PG2000 ist unter Projekt - Datenbank der erste Punkt Crossreferenz
> 
> Gruß
> Silke


 
Wann ist das eigentlich abgelöst worden? Habe ich nie kennengelernt, aber unter Windoof kann ich mich an so etwas nicht erinnern.


----------



## Jens_Ohm (4 Mai 2007)

JesperMP schrieb:


> Argh ! Ich habe mit "ändern" mein antwort gelöscht.
> 
> Also, ich schrieb das alle program blöcke mit User ROM markiert waren.
> 
> Und das verlierens des Programs ist mehrmals passiert und zwar bei mehrere Kunden.



Ich habe mich nochmal mit Kollegen unterhalten und wir sind alle der Meinung das dein Problem mit Programm Verlust in der Steuerung nicht möglich ist, wenn Du das Programm ins User-Rom geschrieben hast.  Da muß etwas anderes nicht stimmen. Was sagt denn das Automation-Studio wenn Du es an die Steuerung anschließt? 
Läuft der Diagnose Modus?
Was steht im Logbuch?
Läuft die Steuerung nach einem Kaltstart wieder?

Gruß Jens


----------



## JesperMP (4 Mai 2007)

Jens_Ohm schrieb:


> Was sagt denn das Automation-Studio wenn Du es an die Steuerung anschließt?
> Läuft der Diagnose Modus?


Ja. Diagnose modus.



Jens_Ohm schrieb:


> Was steht im Logbuch?


Ich wußte nicht, daß es ein Logbuch gibt.



Jens_Ohm schrieb:


> Läuft die Steuerung nach einem Kaltstart wieder?


Nein.

Wenn ich versuchte, das Programm online zu Monitorieren, dann wurde alle Blöcke mit „besteht nicht in Ziel“ gekennzeichnet.

Im Projekt werden alle Blöcke mit „user ROM“ gekennzeichnet.

Es scheint, daß das Problem nach einer langen Abschaltung auftritt. Nach Wochen oder Monaten. Als ob das Programm nur Kondensator- oder Batteriepufferung hat. 
Wenn mann downloadet und die Blöcke im Projekt mit „User ROM“ gekennzeichnet werden, werden sie dann automatisch zu User ROM transferiert ?
Oder ist es möglich, einen Fehler beim Download zu machen?


----------



## Jens_Ohm (7 Mai 2007)

JesperMP schrieb:


> Es scheint, daß das Problem nach einer langen Abschaltung auftritt. Nach Wochen oder Monaten.
> 
> Wenn mann downloadet und die Blöcke im Projekt mit „User ROM“ gekennzeichnet werden, werden sie dann automatisch zu User ROM transferiert ?
> Oder ist es möglich, einen Fehler beim Download zu machen?



Ja, steht auch in der Überschrift "übertragen nach".
hmmm wir setzen 2003 Steuerungen seit 10 Jahren ein, so ein Verhalten ist mir noch nicht untergekommen. Allerdings werden unsere Maschinen auch benutzt

Logbuch:
Im Projekt klickst Du auf die CPU, so das Du die einzelnen Tasks siehst. Auf der rechten Seite stehen über den Software-Überschriften, die für das gewählte Hardwaremodul. Aktiv ist der linke Eintrag "Software".
Rechts findest Du den Reiter "Logbuch".
Die Einträge sollten dich weiterbringen.

gruß Jens


----------



## JesperMP (7 Mai 2007)

> Allerdings werden unsere Maschinen auch benutzt


Haha. 
Diese Maschinen werden in Serien produziert. Sie werden dann auf Vorrat vor Verpackung und Verschiffen gesetzt. Am Kunden kann es einige Zeit zwischen Aufnahme und Installation auch geben. So es kann ein lange Zeit geben, wo die Maschine ohne Spannung ist.

Aber, ich habe auch einige Beanstandungen über die Maschinen empfangen, die das Programm NACH der Installation löst.
Ich habe keine Erklärung, warum dies so ist. Aber es ist wirklich so.


----------



## plc_tippser (7 Mai 2007)

Hei,

welche CPU ist das genau? 476, 474, 470? Wie groß ist das Programm?

Gruß, pt


----------



## JesperMP (7 Mai 2007)

CPU ist ein CP476.

Unter Memory steht folgendes:

Analog Global - Used 3002 - Configured 5542 Bytes.
Digital Global - Used 513 - Configured 4096 Bits.
Analog Permanent - Used 0 - Configured 500 Bytes.
Digital Permanent - Used 0 - Configured 0 Bits.
FIX-RAM - Configured 544 kBytes.
TMP-RAM - Configured 8 kBytes.


----------



## Oberchefe (7 Mai 2007)

Aber das Programm wird nicht zufällig von sich selber überschrieben? Keine Ahnung ob das hier auch geht, bei Codesys geht das mit Pointern problemlos.


----------



## plc_tippser (7 Mai 2007)

Oberchefe schrieb:


> Aber das Programm wird nicht zufällig von sich selber überschrieben? Keine Ahnung ob das hier auch geht, bei Codesys geht das mit Pointern problemlos.


 
Das ist fatal und geht auf jeden Fall.

Das kann vor allem passieren, wenn die Zeiger nicht rechtzeitig initialisiert werden.

Aber dann das ganze Programm komplett weg? Habe ich noch nie probiert, aber man kann auch ganze Hardware lahmlegen, z.B. Logikscanner.

pt


----------



## Andy082 (19 Mai 2007)

Hm, ich arbeite zwar selten mit B&R-Steuerungen, da unsere Firma leider zu sehr Siemensverseucht ist. Jedoch arbeiten einige ehemalige Schulkollegen bei B&R in der Reparaturabeitlung und ich selbst bin auch nur 
wenige Kilometer von Eggelsberg in Oberösterreich entfernt.

Auf Wunsch kann ich mich Anfang nächster Woche schlau machen.

Andy


----------



## JesperMP (19 Mai 2007)

Andy082 schrieb:


> Auf Wunsch kann ich mich Anfang nächster Woche schlau machen.


Ja bitte. Wenn es nicht zu viel Mühe ist.
Möglicherweise können wir nicht an eine Erklärung des Problems mit dem verschwindenen Programm gelangen.
Was für mich wirklich wichtig ist, ist, wie der Kunde das Programm allein laden kann. 

Ist das Verfahren, dieses Jens Ohm bekanntgegeben, für Laden das Programm, korrekt? 
Danke im voraus


----------



## JesperMP (26 Februar 2008)

*Alten thread, aber noch essbar.*



			
				JesperMP schrieb:
			
		

> O.K., ich fand die Antwort zur 1. Frage. Wenn ich die Eigenschaften eines Programmblockes im Projektbaum öffne, gibt es eine „Declaration“ Vorwähler. Dieses führt zu alle Variablen, die im Block erklärt werden.
> Und wenn ich Monitor vorwähle, wenn ich dieses betrachte, kann ich alle diese Werte gleichzeitig online sehen.


Noch ein paar fragen:
Wie sieht man die werten offline denn ?
Und wie werden die daten initialisiert ?


----------



## Jens_Ohm (27 Februar 2008)

JesperMP schrieb:


> Noch ein paar fragen:
> Wie sieht man die werten offline denn ?
> Und wie werden die daten initialisiert ?



Ich verstehe deine 1 Frage nicht.
Wie willst Du Werte sehen, ohne auf eine Steuerung zuzugreifen?
Du mußt ein Messgerät schon an eine Leitung anschließen, um zu erfahren welche Spannung anliegt oder welcher Strom fließt. Oder meinst Du eine Simulation ?

2 Frage:
initialisieren kann man Variablen im so genannten InitUP.
Diesen Bereich gibt es für jeden Task und der wird bei jedem Start/Einschalten nur einmal ausgeführt. Ist ein bisschen blöd zu finden, wenn man es nicht weiß. Im einem beliebigen Task führst du den Mauszeiger auf den schmalen Balken zwischen Codefenster und Werkzeugleiste. Der Mauszeiger ändert sich in ein Verschiebesymbol. Die linke Maustaste gedrückt halten und die Maus nach unten ziehen. Es öffnet sich das Codefenster für den InitUp.
Werden Variablen nicht im InitUp initialisiert, werden ihre Zustände im RAM (Batterie gepuffert) gehalten. Es kann dann passieren, das sie nach erneutem einschalten unerwünschte Werte enthalten.


Gruß Jens


----------



## JesperMP (27 Februar 2008)

Hallo Jens.

Es gibt z.b. schwellenwerten die alarmgrenzen definieren.
Ich sehe im programm z.b. IF MeasV1 > MeasVlimit THEN usw.
Ich suche vergebens zu welchen wert MeasVlimit eingestellt ist.

Im "Declaration" fenster gibt es ein "Value" balken. Aber fast alle variablen sind mit "remanent" deklariert. Einige haben ein "0". MeasVlimit z.b. hat ein "remanent".

Den InitUP kenne ich. Aber es ist leer.

Kann man nicht die "aktualwerten" offline beobachten, wie mit Siemens DBs ?

Danke für deine mühe 

Zu den problem damals:
Es war wirklich 2 verschiedene probleme.
Zuerst war das programm nie auf den CPU geladen !
Das "selbstlöschen" von das program war nur "Data objects" in FIX RAM. Und dies hatte mit ein leeres pufferbatterie zu tun.


----------



## JesperMP (27 Februar 2008)

Langsahm verstehe ich diese software besser.
Einige variabeln sind in "declaration" initialisiert.
Andere variabeln sind im InitUP initialisiert.
MeasVlimit war im code definiert von andere variablen.


----------



## Jens_Ohm (27 Februar 2008)

Wenn Du das Deklarations-Fenster offen hast, kannst Du mit einem Linksklick auf deine Variable Querverweise anzeigen lassen. Da wird dann gezeigt in welchen Tasks deine Variable vorkommt. Irgendwo muß sie ja einen Wert zugeordnet bekommen. Mit Alarmlisten arbeite ich leider nicht, da kann ich dir nicht weiterhelfen.
Hat es sich erledigt?

Leider sind meine Kenntnisse auf B&R Steuerungen begrenzt, aber ich kann kaum glauben das Du bei Siemens Datenänderungen offline beobachten kannst. Vielleicht meinst Du den Watch-Modus. Da kannst Du dir Variablen zusammenklicken die Du beobachten möchtest.
Bei B&R versteht man unter online die physikalische  Verbindung zur Steuerung. Wenn die nicht steht, brauchst Du paaranormale Fähigkeiten um  deine Daten zu verfolgen.


----------



## JesperMP (27 Februar 2008)

> Leider sind meine Kenntnisse auf B&R Steuerungen begrenzt, aber ich kann kaum glauben das Du bei Siemens Datenänderungen offline beobachten kannst. Vielleicht meinst Du den Watch-Modus.


Nicht daten_änderungen_, sondern "aktual" daten. D.h. die werten das die daten erhalten beim declaration. Wenn man ein upload macht, sind die aktualdaten wie sie waren im SPS RAM.

Man kann offenbar nicht die daten in B&R so einfach angucken wie man kann in S7.


----------



## Maxl (29 Februar 2008)

Der Vergleich mit S7 ist hier nicht so abwegig:
Den letzten Stand der Daten in einem DB kann man bei der S7 nur ansehen, wenn der Online-DB mal ins Offline-Projekt kopiert wurde.

Bei B&R geht das auch mit dem Watch:
Hierfür muss im Watch der sog. Archiv-Modus gestartet werden. Beim Aktivieren des Archivmodus werden alle Daten, welche im Watch angewählt sind ausgelesen und eingefroren. Mit der Schaltfläche "Speichern" kann nun dieser Stand nun archiviert werden.

An die archicierten Daten kommt man allerdings dann nur ran, wenn man an einer anderern Steuerung Online ist, und den Watch öffnen kann (am einfachsten, indem man die AR000 startet).


mfg
Maxl


----------

