Beckhoff Retain wirklich so umständlich?

Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,
bin ein S7 Programmierer der sich nun auch für Beckhoff interessiert.
Wenn ich aber die vorherigen Beiträge lese glaube ich aber dass bei Beckhoff einiges schief läuft.
Es kann doch nicht sein dass es so umstämdlich ist remanete SPS Daten zu bekommen. ( Früher brauchte mann bei S5 eine Batterie, heute gehts sogar ohne Batterie.
Gebt mir bitte Bescheid ob es wirklich so umständlich ist, bleibe sonst lieber bei meiner S7-300.
 
Hallo DADBösen,

wenn du eine Lösung mit integrierter 1sek USV, wie im CX80xx oder CX50xx, oder mit den USV-Modulen für CX10xx oder CX20xx realisierst, ziehen die Retaindaten mit dem Flash von CPU zu CPU mit um. Wenn ich mich recht erinnere (war selbst mal S7 Kunde in den 90er) kann das eine S7 nicht. Du kannst die Retaindaten-Datei auch über den Dateiexplorer kopieren, sichern etc.. Ich denke das ist deutlich komfortabler und eine deutlich bessere Lösung als bei einer S7.
 
Immer diese Abwerhhaltung der S7-Programmierer gegen moderne Systeme...schrecklich (und ich komme aus der S7-Welt). Du kannst auch ein Array aus Relais auf ne Platine löten und deine remanenten Daten in Hardware sichern. Das ist mit ner USV sogar extrem robust....
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Denkst du an so was robustes wie das oder das?

Eine S7-1200 ist Spielzeug, darüber müssen wir hier nicht reden.


Immer diese Abwerhhaltung der S7-Programmierer gegen moderne Systeme...schrecklich
(und ich komme aus der S7-Welt). Du kannst auch ein Array aus Relais auf ne Platine löten und deine remanenten
Daten in Hardware sichern. Das ist mit ner USV sogar extrem robust....

Modern ist auch relativ, modern ist oft Dot.Net-Überfrachtet und daher unnötisch langsam.
Daher ist mir ein STEP7 Classic oder ein gutes Codesys-Target V2.3 (aber bitte WAGO oder BOSCH-Rexroth) lieber als
unfertige Softwarkonstrukte, wo du als Programmierer dann zwar für diverse Fehlfunktionen nichts kannst (Datenverlust)
aber dennoch in die Pfanne gehauen wirst.


DER QUALITÄTSANSPRUCH an das Softwareprogramm von Maschinen ist in letzter Zeit leider umgekehr proportional zur Qualität verwendeten Programmiersoftware und deren Hardware.

Man soll in kürzerer Zeit ausgereifte absolut fehlertolerante Maschinen programmieren, aber hat dazu halbfertige V0.3-Software.

DAHER bin ich, speziell was SPS-Software angeht lieber unmodern als dass ich Tage und Wochen mit toller Programmiersoftware auf der Baustelle herlungere. So sieht das aus!


Frank
 
Hallo Frank,

bist du mal mit Beckhoff besonders auf die Nase gefallen, dass deine Schrift hier blau und Fett wird? Auch wen nicht alles perfekt ist, setze ich die Beckhoff- Produkte inzwischen am liebsten ein.

Ich bin auch enttäuscht wie unausgereift viele Neuerungen auf den Markt geschmissen werden. Wenn etwas als ganz neu beworben wird, mache ich einen Bogen darum, sofern es machbar ist.

Wenn ich bedenke, was von Sondermaschinen an Aufwand in der Software gefordert wird und bei Software von der Stange die zig-tausendfach angewandt wird, noch alles fehlerhaft ist, dann stimme ich dir voll zu – mit fehlerhaftem Werkzeug kann man keine 100% abliefern.
Das ist aber keine Rechtfertigung für die SPS- Hersteller um über 10 Jahre auf der Stelle zu treten und langsame Steuerungen mit wenigen kb Arbeitsspeicher für viel Geld zu verkaufen. Nur müssen die Neuerungen ein Minimum an Zuverlässigkeit erreicht haben, ehe sie auf den Markt geschmissen werden.
Da ist bei den meisten Hersteller noch ein gewisses Potential zur Qualitäts-Steigerung vorhanden... :rolleyes:

Gruß
Chräshe
 
Äh ich störe nur ungern eure Unterhaltung über die Vor- & Nachteile der verschiedenen Hersteller, aber ich hab da noch eine Frage zum Thema ;-)

Ich hab jetzt mal das genannte Beispiel IPC_X86 getestet und find´s soweit auch gut.
Allerdings wäre es mir lieber wenn ich die Persistent Variablen einzeln definieren könnte und nicht in einer Struktur.
Im Beispiel ist das ja denke ich gemacht worden um eine Veränderung erkennen zu können und dann einen Speichervorgang auszulösen (Alte Daten ungleich aktuelle Daten löst Speichervorgang mit FB_WritePersistentData aus.)
Wenn ich nun einzelne Persistent Var deklariere müsste ich für jede Var auch eine lok. Hilfsvar. deklarieren um eine Veränderung erkennen zu können.

Und jetzt meine Frage:
Gibt´s eine Möglichkeit z.b. eine Art Prüfsumme der abgelegten und der aktuellen Persistentdaten zu erzeugen um mit dieser dann die Speicherung zu triggern?

Danke für die Antworten!!

Gruß L.T.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo L.T. ,

hättest du anstatt dem CX90xx ein CX50xx oder sonst eine Steuerung mit 1s-USV, dann wäre das auch der Fall:
Du müsstest nur die Variablen als „PERSISTENT“ deklarieren und im Programm die Funktion FB_S_UPS aufrufen... (Variante 1)

Jetzt hast du nurnoch die Möglichkeit, wie hier beschrieben zwischen Variante 2 und 3 zu mischen:

  • Einstellungen, die selten geändert werden, in die Struktur und mit WritePersistentData bei Änderung sichern (Variante 2).
    - hast du ja schon verwendet -
  • Variablen die sich schnell und häufig ändern direkt in das NOVRAM verlinken (Variante 3).
Deine Idee mit der Prüfsumme ist prinzipiell möglich, aber nicht praktikabel und viel zu Fehleranfällig.

Vermutlich haben andere Anwender noch ein paar andere Lösungen. Das kann aber nicht das Ziel sein, das es 10 oder mehr Lösungsansätze gibt, um auf einer SPS irgendwelche Daten zu speichern. :evil:

Schade, dass die 1s- USV nicht in jedem Gerät verbaut ist!

Gruß
Chräshe
 
1sek USV mit CX9000

Hallo L.T.,

mit dem CX1100-0900 (20As) Modul kannst du auch einen CX9000 mit einer 1sek-USV nachrüsten, hält jedoch ein paar Sekunden länger. Einfach den Power-Fail-Ausgang des Moduls auswerten und Write Persistent auslösen. Mit 235€ Listenpreis für den CX9000 leider etwas teuer. Aber das macht Beckhoff aus, für jeden Zweck kann die Lösung entsprechend skaliert werden. Bei den neuen CX2000 macht es 200€ mehr aus, dafür bekommst hier satte 120As integriert im Netzteilmodul.

Gruß
Thomas
 
Aber das macht Beckhoff aus, für jeden Zweck kann die Lösung entsprechend skaliert werden.
Wobei der Zweck eines Automationsgerätes ohne vernünftiges RETAIN-Handling im Dunkeln bleibt. Ich bin mit Beckhoff durchaus zufrieden, aber das Thema "remanente Daten" ist nicht gut gelöst. Mir wäre ein ferromagnetischer Speicher von begrenzter Grösse (sagen wir mal 32 kB) irgendwo im Speicheradressraum lieber als eine USV. Aber dafür könnte man wohl nicht noch nachträglich Geld vom Kunden verlangen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
Habe eine Frage zu einem CX5020 von Beckhoff.
Gibt es bei diesem IPC mit 1sec USV so etwas wie einen OB100 von Siemens der nur einmalig beim Systemstart ausgeführt wird?
Kann man so etwas mit Tasks realisieren.
Ich möchte einmalig beim aufstarten des IPC's Werte aus Persistenten Speichern in Positionen für NC-Achsen schreiben.
Vielen Dank für eur Hilfe

MfG Lux
 
Bau dir doch ein Bit selber ;)
Da gibt es viele Möglichkeiten z.B.

- Ein R_TRIG mit nem TRUE am Input
- Ein Bit am Anfang des Main Bausteins setzen. Am Ende rücksetzen
- Das First Cycle Bite aus dem SystemTaskInfoArr ( liegt in den globalen Variablen, siehst du online )


Gruß
 
Wenn du die TcSystem.lib eingebunden hast, steht dir das globale Array SystemTaskInfoArr (vom Typ SystemTaskInfoType) zur verfügung.

SystemTaskInfoArr[1].firstCycle ist ein bool der nur im ersten Zyklus nach dem Start auf true steht. (Der Array-index [1-4] ist der jeweilige Task)

Code:
If SystemTaskInfoArr[1].firstCycle then
  MacheIrgendwasNurImErstenZyklus();
end_if
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du kannst - sofern der CX ein NOVRAM hat, wovon ich ausgehe - auch die Daten (als Struktur oder wie auch immer) dort ablegen und die SPS-Variablen aus diesem Speicher beim Start initialisieren lassen. Das spart vor allem Programmcode und funktioniert ziemlich komfortabel.
 
NOVRAM
Variablen können auch im sogenannten non-volatile-RAM (Novram) gespeichert werden
Novram ist verfügbar auf verschiedenen CPUs:
- Standard PC: mit optionalem Novram auf einer Feldbuskarte (z.B. FC31xx), oder
einer optionalen Mini-PCI-Karte mit Novram
- CX10xx: 8kB
- CX90xx: 128kB
- EL6080: 128kB
Novram als Standard-I/O:
- Bedeutet: in jedem Zyklus werden die verknüpften Variablen in das Novram kopiert
- Hinweis: Beim Stopp der Task (BP oder Stop der SPS) werden die Variablen auf
Null gesetzt!
- Flag „Auto Init linked PLC Variables“ sollte im System Manager gesetzt werden.
Zyklisches Schreiben in den NOVRAM schön und gut, aber die Variablen werden beim Stop der Task nicht nur auf 0 gesetzt, sondern manchmal werden die Nullen auch noch in den NOVRAM geschrieben. Eine Ausnahme macht die EL6080, die ich mittlerweile nur noch als NOVRAM einsetze. Dort muss das zyklische Schreiben im SPS-Programm durch Control-/Statusword getriggert werden. Beim Stop der Task passiert deshalb nichts mehr.
Dass man auf diese Weise die Daten im günstigsten Fall nur in jedem 2. Zyklus schreiben kann, nehme ich dabei in Kauf.
 
... so etwas wie ein OB100 von Siemens der nur einmalig beim Systemstart ausgeführt wird...
Das Frage ich mich gerade auch. Gibt es so etwas auch bei Beckhoff?Wenn ich die PLC neustarte sind dann alle Variablen auf FALSE die vorher auf 1 waren (sofern sie nicht ursprünglich gesetzt wurden)?Vielen Dank,Niko
 
Zurück
Oben