TIA TIA Portal V18 Wunschliste [Diskussion]

Status
Für weitere Antworten geschlossen.
Wenn die Karte bei Dir nicht voll ist, dann stimmt irgendwas anderes nicht... Evtl. nutzt Du irgendwas "exotisches", Safety, CFC, Graph, Prodiag, irgendwelche Monsterspezialbausteine etc... da kann ich nix zu sagen...
Ab und an Safety, ansonsten keine Monsterbausteine oder sonstoges was ich als "Exotisch" bezeichnen würde. Speicherkarte könnte in der Vergangenheit mal der Fall gewesen sein, wäre dann aber auch die Ausnahme.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja, wie auch immer... Wahr ist, bei dem propagierten vollsymbolischen Programmierstil mit UDTs und optimierten Multiinstanz-DBs und diversen TON/TOF usw. ist Reinitialisieren eine Kathastrophe. Bei dem Programmierstil kannst eigentlich garkeine Änderung im laufenden Betrieb machen...
 
Zuletzt bearbeitet:
Genau, deshalb baue ich mir schon überall Array of..... als Reserve ein. Dann kann ich wenigstens im laufenden Betrieb die eine oder andere Änderung machen.
 
Wenn ich Rockwell erstmals kennengelernt habe (25 Jahren her) fand ich diese Verfahren, online programmieren und testen, sehr produktiv.
Es funktioniert allerdings nur mit 'klassichen' Programmierstil, d.h. keine wiederverwendbare Programmbausteine.
Die heutigen Rockwell Pendant zu FB+IDB ist die AOI, dies ist aber sehr eingeshränkt. Es gibt z.B. keine Online Programmänderungen, auch nicht wenn die Deklarationsteil gar nicht geändert wurde. Hier ist Siemens meilenweit besser.
Dem widerspreche ich teilweise.

Das Online-Ändern von AOI ist zwar im ersten Wurf so nicht vorgesehen, aber wenn man mit dem System der Pending Edits mal vertraut ist, gelingt auch das Austauschen eines kompletten AOI-Framworks zur Laufzeit.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Genau, deshalb baue ich mir schon überall Array of..... als Reserve ein. Dann kann ich wenigstens im laufenden Betrieb die eine oder andere Änderung machen.
also ich mach das bei meinen Automatik-FBs folgendermaßen:
- nichtoptimierter FB/IDB
- darin gibt es ein Test_Bool
- für jedes Netzwerk gibts eine festgelegte Anzahl Reserve-Bools in nem separaten Struct pro Netzwerk (die heissen Reserve_Bool_1 usw.)
- am Ende des OB1 wird der IDB in einen Rettungs-Global_DB kopiert
- am Anfang des OB1 wird der Rettungs-Global-DB in den IDB kopiert, wenn das Test_Bool=false ist
- danach wird das Test_Bool true geschrieben

So kann man die Reserve_Bool_1 im laufenden Betrieb umbenennen. Es wird zwar der IDB reinitialisiert, aber halt am Anfang vom OB1 aus dem Rettungs-Global-DB wiederhergestellt. Nur Einfügen von Variablen geht halt nicht im laufenden Betrieb.

Das Test_Bool könnte man sich sogar theoretisch sparen und immer am Anfang vom OB1 aus dem Rettungs-DB in den Original-DB kopieren.
 
In Tia haben auch alle Bausteine per default 100 Byte Speicherreserve …

Wenn man das in allen Bausteinen die es nicht benötigen auf 0 setzt hat man urplötzlich wieder jede Menge Speicher frei.
Erst einmal Danke für diesen Hinweis!
(y) 😎


Zwar nicht alle Bausteine, aber zumindest die FBs verfügen über diese Einstellung in ihren Eigenschaften:
1665687103197.png

Da es sich bei uns um Einzelanlagen im Servicebereich handelt, kann die CPU problemlos bei Updates angehalten werden und auch das Reinitialisieren der IDBs stellt ggf. kein Problem dar, so dass ich den Tip umsetzen konnte.
Das Löschen dieser Speicherreserve bei allen FBs hat mir immerhin ca. 5kB Arbeitsspeicher wieder frei geschaufelt.
:D
 
Global DBs haben die Speicherreserve auch

Lässt sich in den Tia Option auch abschalten. Zumindest dann für neue Bausteine.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Speicherreserve ist ein ziemlich gescheiterter Versuch, ein grundlegendes S7 Problem zu lösen. Jeder beschäftigt sich damit in der Hoffnung damit Probleme lösen zu können, bist er merkt, dass es mehr Nachteile als Vorteile gibt. Das „Feature“ könnte man einfach wieder rausnehmen.
 
Global DBs haben die Speicherreserve auch

Lässt sich in den Tia Option auch abschalten. Zumindest dann für neue Bausteine.
:unsure:
Wenn ich diese bei bestehenden Global-DBs- durch Rechtsklick auf den zugehörigen Ordner und dann Übersetzen -> Speicherreserve zurücksetzen "lösche", ändert sich bei mir zumindest am Arbeitsspeicher gar nichts.

Die Systemseitige Einstellung war schon vorher auf 0 Byte eingstellt.
Wirkt diese Einstellung bei jedem Übersetzen neu, dass ich da keine Änderung mehr habe?
 
Ich wünsche mir, dass iDevices einer CPU nicht mehr ungültig werden, wenn man ein Firmwareupdate macht. Das sind ganz fiese Zeitbomben. Irgendwann in x Jahren gibt mal jemand den Ratschlag, ein Firmwareupdate zu machen um Probleme zu lösen oder neue Funktionen zu bekommen. Irgendwann merkt man dann, dass eine gekoppelte Fremdanlage nicht mehr kommunizieren kann. Das kostet viel Zeit und Geld und Produktionsstillstand.
Das mindeste wäre ein expliziter Warnrequester: "Du willst die Firmware hochrüsten. Deine CPU ist ein iDevice. Dieses wird dadurch ungültig. Bist Du dir dessen bewußt?"
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich wünsche mir, dass iDevices einer CPU nicht mehr ungültig werden, wenn man ein Firmwareupdate macht. Das sind ganz fiese Zeitbomben. Irgendwann in x Jahren gibt mal jemand den Ratschlag, ein Firmwareupdate zu machen um Probleme zu lösen oder neue Funktionen zu bekommen. Irgendwann merkt man dann, dass eine gekoppelte Fremdanlage nicht mehr kommunizieren kann. Das kostet viel Zeit und Geld und Produktionsstillstand.
Das mindeste wäre ein expliziter Warnrequester: "Du willst die Firmware hochrüsten. Deine CPU ist ein iDevice. Dieses wird dadurch ungültig. Bist Du dir dessen bewußt?"
Oder bei nem Austausch dieser CPU...

Auch wenn hier immer wieder propagiert wird, I-Device zum Datenaustausch zu verwenden, in der jahrelangen Praxis der Prozessautomatisierung sieht man das zu Recht selten (eigentlich nirgends)

Da bleibe ich doch bei meiner Empfehlung BSEND BRCV (oder TSEND TRCV/ AGSEND AGRCV) zu benutzen...
 
Das klingt eher fahrlässig, als wünschenswert.
Schaut über den Tellerrand hinaus: Wenn ich bei Siemens einen FC ändere und erst downloaden muss, dann sehe ich live die Änderung erst Momente später. Das ist, um die Wortwahl zu benutzen, genauso fahrlässig. Man spart sich einfach den Schritt des Downloads und sieht sofort, was passiert.

Wenn ich Rockwell erstmals kennengelernt habe (25 Jahren her) fand ich diese Verfahren, online programmieren und testen, sehr produktiv.
Es funktioniert allerdings nur mit 'klassichen' Programmierstil, d.h. keine wiederverwendbare Programmbausteine.
Die heutigen Rockwell Pendant zu FB+IDB ist die AOI, dies ist aber sehr eingeshränkt. Es gibt z.B. keine Online Programmänderungen, auch nicht wenn die Deklarationsteil gar nicht geändert wurde. Hier ist Siemens meilenweit besser.
Deswegen schrieb ich ja "das Pendant zum FC". Wo lässt sich denn bitte Online und ohne Download bei Siemens eine Änderung realisieren?

Tja, solche "Faulheit" muß einfach bestraft werden. Wenn man für jeden "Hilfsmerker" eine Variable mit Symbol anlegt, dann muß man das nicht nachgucken.
Selbst in Schulungen wurde sowas nicht gemacht. Hilfsmerker Arrays of Bool heißen dann einfach "HM", "ONS" oder "MEM". Wie gesagt, auch die Einzelbitzugriffe (.%X1) und Verfolgbarkeit via Querverweis ist bei Siemens einfach schlecht. Wenn die Amis, eine Nation von Trump Wählern und krankhaftem Übergewicht, sowas hinbekommen, muss das bei Siemens auch gehen.

Über die Ignoranz, Treue, Loyalität gegenüber dieser achso tollen Siemens Technik bin ich immer wieder erstaunt. Ich würde liebend gerne mich auch auf anderen Steuerungen austoben, aber die Siemens Lobby ist zu groß.
 
Schaut über den Tellerrand hinaus: Wenn ich bei Siemens einen FC ändere und erst downloaden muss, dann sehe ich live die Änderung erst Momente später. Das ist, um die Wortwahl zu benutzen, genauso fahrlässig. Man spart sich einfach den Schritt des Downloads und sieht sofort, was passiert.
Und wenn man für eine Änderung 3 Zeilen ändern muss?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Und wenn man für eine Änderung 3 Zeilen ändern muss?

Davon ist ja nicht die Rede. Ich rede von einfachen Verknüpfungen wie z.B. ein UND, was ein weiteres "Bein" bekommt oder vergleichbar. Wie gesagt, das geht bis zu einem bestimmten Maß und die Funktion muss man ja nicht nutzen. Komplexe(re) Änderungen bei laufender CPU sind wie oben beschrieben natürlich nicht möglich. Also wenn ich das richtig in Erinnerung habe. Es kann aber auch sein, dass man die Bearbeitung erst beenden muss, dass diese in einem Netzwerk (Rung bei Rockwell) mit einem Schwung aktiv werden.
Ich bin leider seit 2 Jahren da raus.
 
Davon ist ja nicht die Rede. Ich rede von einfachen Verknüpfungen wie z.B. ein UND, was ein weiteres "Bein" bekommt oder vergleichbar. Wie gesagt, das geht bis zu einem bestimmten Maß und die Funktion muss man ja nicht nutzen. Komplexe(re) Änderungen bei laufender CPU sind wie oben beschrieben natürlich nicht möglich.
Also bei mit sind 90% der (kleinen) Änderungen mehr als ein Befehl ändern.

Nichts gegen Rockwell aber wo ist da jetzt der Vorteil, dass ich eine einzigste Sache ONLINE ändern kann und nicht CRTL + L drücken muss?
 
Also wenn ich das richtig in Erinnerung habe. Es kann aber auch sein, dass man die Bearbeitung erst beenden muss, dass diese in einem Netzwerk (Rung bei Rockwell) mit einem Schwung aktiv werden.
Ja gut, bei Siemens muss man halt CTRL + L drücken oder auf das Ladesymbol klicken. Vor allem ist bei Rockwell dann ja dein Offline-Stand im Projekt nicht mehr aktuell und du müsstest den Online-Stand runterladen. Vorteil bei Rockwell kann ich (bei der Funktion) da jetzt nicht erkennen.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Davon ist ja nicht die Rede. Ich rede von einfachen Verknüpfungen wie z.B. ein UND, was ein weiteres "Bein" bekommt oder vergleichbar. Wie gesagt, das geht bis zu einem bestimmten Maß und die Funktion muss man ja nicht nutzen. Komplexe(re) Änderungen bei laufender CPU sind wie oben beschrieben natürlich nicht möglich. Also wenn ich das richtig in Erinnerung habe. Es kann aber auch sein, dass man die Bearbeitung erst beenden muss, dass diese in einem Netzwerk (Rung bei Rockwell) mit einem Schwung aktiv werden.

Du kannst bei Rockwell die komplexesten Änderungen per Online-Edits machen. Du brauchst auch kein Serverprojekt dazu um mit mehreren Personen gleichzeitig Inbetriebnahme zu machen. Es gibt da lediglich die Einschränkung dass nur einer an einem "Program" Editieren kann. Wenn man aber das Programm sinnvoll strukturiert, hat man sowieso unterhalb eines Tasks mehrere "Programs" liegen (für jeden Maschinenteil einen eigenen), dann klappt das in der Praxis problemlos. Sobald einer seine Änderungen gemacht hat, erscheinen sie bei den anderen automatisch (ohne da irgendwas dafür konfigurieren zu müssen), vorausgesetzt sie sind in dem Moment Online (was aber bei einer Rockwell-IBS Standard ist).
Und jetzt kommt das große Aber:
AOI lassen sich nur Offline ändern und umbenennen. Sicherlich kann man da bei der Entwicklung mit einem Workaround arbeiten und in einer zweiten (Offline-)Instanz der Software die Änderung machen, dort exportieren, in der Online-Instanz importieren (das geht Online, aber nur mit einem geänderten Namen), dann per Online-Edits ersetzen. Gegebenenfalls x-mal wiederholen und wenn es dann funktioniert Offline aufräumen und Download machen.
Spätestens wenn man aber 100 Instanzen davon per Online-Edits ändern muss macht das keinen Spass mehr. Auch sind natürlich alle Variablenzustände weg, die kann man bestenfalls vor dem Aktivieren der Online-Edits von Hand auf die gewünschte Werte setzen (das geht aber im Vergleich zu Siemens viel einfacher). Wenn man Änderungen in UDTs hat (womöglich noch in verschachtelten) ist der Workaround auch nicht mehr toll.
 
Ach ja: während ich bei Rockwell online Edits vorbereite, kann ich natürlich problemlos noch was im Programm nachschauen oder Werte verändern, das geht bei Tia ja auch nur wenn ich vorher eine Kopie des Programms gezogen habe.
 
Mein Wunsch wäre das der Security Controller funktioniert wenn man ihn braucht. In meinem Fall wenn man die Einstellungen der Firewall verbogen hat.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben