TIA Die erste große Anlage - Sinnvoll anfangen

Zuviel Werbung?
-> Hier kostenlos registrieren
Multifunktionsbausteine zum anparametrieren schießen für mich auch am Ziel vorbei, oft zu schlecht dokumentiert und auch oft nicht alle (Sonder-)Funktionen ausgetestet. Leider.

Bei solchen Arbeitsplätzen wie du sie beschreibst macht es ja auch Sinn diese einzeln aus zu programmieren, da sie eben individuell angepasst werden müssen, sprich individuelle Funktionen darstellen.

Das Thema reinitialisieren ist aber eigentlich auch kein reines TIA-Thema, eher eins der Datenhaltung.
In der S7 musste man doch bei Instanzdatenerweiterungen bzw. DB-Anpassungen den jeweiligen DB laden inkl. Verlust der Aktualwerte.
 
Das Thema reinitialisieren ist aber eigentlich auch kein reines TIA-Thema, eher eins der Datenhaltung.
In der S7 musste man doch bei Instanzdatenerweiterungen bzw. DB-Anpassungen den jeweiligen DB laden inkl. Verlust der Aktualwerte.
Ohne das jetzt im Detail ausdiskutieren zu wollen, In Step 7 Klassik ist es deutlich einfacher, nen Aktualdatenverlust zu verhindern. Und Step 7 Klassik reinitialisiert beim Ändern von nem Variablennamen keinen DB...
Mittendrin Variablen hinzuzufügen ist in Klassik jetzt auch nicht so ne tolle Idee... Am einfachsten ists halt in dem zitierten "S5 Stil" in Spaghetticode mit Merkern oder Global-DBs mit ausreichend Reserven. Im TIA kannst zwar auch Reservevariablen anlegen, aber halt später bei Benutzung nicht umbenennen🤮
Kommt halt drauf an, was man für Anlagen/Maschinen bauen will. Für Anlagen welche 24/7/365/20Jahre durchlaufen sind TIA und MultiinstanzDBs der Tod.

Und zu Standardbausteinen... Wenn Standardbausteine so speziell sind, dass sie bei der IBN ständig geändert werden müssen, dann sinds keine Standardbausteine 😇

Und zu Eierlegendenwollmilchsaubausteinen... die versteht in 10 Jahren kein Mensch mehr😇

Bei nem großen Kunden von uns wo wir 400H einsetzen hat nen großen Anlagenteil mal ne andere Firma mit TIA gebaut. Da meinte letztens der Kunde zu mir, das durchschaut als einziger nur der ursprüngliche Programmierer von damals. Und die warn damals noch so stolz auf ihren coolen Programmierstil...
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Multifunktionsbausteine zum anparametrieren schießen für mich auch am Ziel vorbei, oft zu schlecht dokumentiert und auch oft nicht alle (Sonder-)Funktionen ausgetestet. Leider.
Die "Standard"-Bausteine sind nur gut für die schnelle Erstprogrammierung des Lieferanten, der aus einer handvoll Standard-Bausteinen und zig Instanzen (am liebsten Arrays) (und am liebsten mit Codegenerator) möglichst schnell und billig das Grundprogramm für eine große Anlage zusammenklickt... auch mit nur wenig ausgebildetem Personal... bei der Inbetriebnahme wird dann erstmal der unerfahrenste und daher am leichtesten abkömmliche Kollege vorgeschickt, der muß nur Handy halten und mit der Maus klicken können zum Parametrieren des Programms, was der eine Kollege mit Ahnung bzw. der Entwickler der Standard-Bausteine ihm aus der Firma am Telefon durchgibt.

Wenn dann später beim Kunden irgendeine Änderung nötig wird, dann sitzt jeder Programmierer ewig am Nachdenken, wie die Änderung eingebaut werden muß, so daß sie nur eine einzige Instanz beeinflusst. Irgendwann wird dann doch entnervt eine Kopie des FB gemacht und daraus die x-te Variante des ursprünglichen "unser Multifunktions-Standard-Baustein kann alles", und der zu ändernde Förderer wird dann eine Instanz des neuen FB - zum Schluß ist man dann doch wieder bei: jeder Förderer hat seinen eigenen FB. Da hätte man gleich von Anfang an "oldschool" angstfrei jeden Förderer komplett ausprogrammieren können, ohne den für den Förderer überflüssigen Programm-Ballast, der nur für wenige andere Instanzen nötig ist.

Oft meint dann die Firma des Baustein-Entwicklers auch noch, daß die Bausteine ja ungeheuer wertvolles, zu schützendes Kapital/Druckmittel der Firma darstellen und die Bausteine haben dann NoHow-Schutz, den man dann erst knacken muß, um dem Lieferanten Software-Fehler in den Bausteinen nachweisen zu können oder um im Problemfall überhaupt eine Diagnose durchführen zu können, oft unter Zeitdruck während die Produktion steht und jede Minute Kosten verursacht, gegen die die vielleicht mal vom Erstprogrammierer eingesparten Arbeitsstunden lächerlich sind.

Das Thema reinitialisieren ist aber eigentlich auch kein reines TIA-Thema, eher eins der Datenhaltung.
In der S7 musste man doch bei Instanzdatenerweiterungen bzw. DB-Anpassungen den jeweiligen DB laden inkl. Verlust der Aktualwerte.
In Step7 classic konnte aber ein Programmierer, der weiß was er tut, die FBs und Instanzen im laufenden Betrieb ohne CPU-Stop und ohne Aktualwertverlust kontrolliert austauschen. Das TIA läßt solches überlegtes Handeln aber gar nicht zu. Leider. Für TIA sind die Programmierer doof und müssen vor dem eigenen Handeln geschützt werden.

Ich würde die IOs nicht mit UDTs zusammenfassen. zu oft muss dann doch die Reihenfolge der IOs geändert werden und dann passt der UDT nicht mehr. Insbesondere, wenn er mehrfach verwendet wird.
UDT für IO-Anbindung sind nach meiner Erfahrung nur sinnvoll als abstrakte Zwischenebene für hochentwickelte durchdachte Steuer- und Statuswords von FU oder komplexen Geräten. Sie sollten aber nicht auf echte E/A-Baugruppen angewendet werden, weil dann ein Umverdrahten einzelner E/A im laufenden Betrieb nur noch unnötig umständlich möglich ist. Nur weil der Erst-Programmierer keine Lust hatte, einzelne E/A zu den Instanzen oder Zwischen-Strukturen zu rangieren...

Harald
 
Zuletzt bearbeitet:
@PN/DP
Das kann ich zu 100% unterschreiben.
Da werden „Statisten“ auf die Baustelle geschickt. Ferngesteuert durch Handy und Teamviewer 😀.
Gelöst wird dann das Problem erst, wenn nach 3 Wochen ein richtiger Programmierer vor Ort kommt.
Um dann festzustellen, dass die Konfiguration für den Lift am Panel falsch eingestellt war.
Know-How-Protection war gar nicht notwendig. Die schlechte Kommentierung hat schon gereicht.
 
@PN/DP mit den IOs war auch so von mir gemeint.

Bezüglich KnowHow-Schutz sehe ich es ähnlich. Sollte man aber bei der Ausschreibung/Bestellung einer Anlage dann als NoGo definieren oder die Funktionsweise definieren, die man braucht. Diese Funktion muss dann aber bei der Abnahme auch abgetestet werden. Da muss ich keinen Software Fehler im Baustein finden sondern berufe mich auf die definierte Funktion.

...
Und zu Standardbausteinen... Wenn Standardbausteine so speziell sind, dass sie bei der IBN ständig geändert werden müssen, dann sinds keine Standardbausteine 😇

Und zu Eierlegendenwollmilchsaubausteinen... die versteht in 10 Jahren kein Mensch mehr😇
...
@ducati stimme dir da voll und ganz zu.
Ohne das jetzt im Detail ausdiskutieren zu wollen, In Step 7 Klassik ist es deutlich einfacher, nen Aktualdatenverlust zu verhindern. Und Step 7 Klassik reinitialisiert beim Ändern von nem Variablennamen keinen DB...
Mittendrin Variablen hinzuzufügen ist in Klassik jetzt auch nicht so ne tolle Idee... Am einfachsten ists halt in dem zitierten "S5 Stil" in Spaghetticode mit Merkern oder Global-DBs mit ausreichend Reserven. Im TIA kannst zwar auch Reservevariablen anlegen, aber halt später bei Benutzung nicht umbenennen🤮
Kommt halt drauf an, was man für Anlagen/Maschinen bauen will. Für Anlagen welche 24/7/365/20Jahre durchlaufen sind TIA und MultiinstanzDBs der Tod.
...
Gibt es hier nicht extra die Speicherreserven für die Bausteinschnitttselle? Damit soll es möglich sein Reserven bereit zu halten für Änderungen. Muss gestehen, habe es noch nie genutzt und ist natürlich suboptimal, wenn man es zu einer Zeit berücksichtigen muss, wo man noch nicht weiß ob man es braucht.
1690654812090.png
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Gibt es hier nicht extra die Speicherreserven für die Bausteinschnitttselle? Damit soll es möglich sein Reserven bereit zu halten für Änderungen. Muss gestehen, habe es noch nie genutzt und ist natürlich suboptimal, wenn man es zu einer Zeit berücksichtigen muss, wo man noch nicht weiß ob man es braucht.
Anhang anzeigen 70435
damit kann man auch nur am Ende des DB was hinzufügen. Und es muss vorher in der notwendigen Menge aktiviert sein...
Ist der Screenshot von V18? Vielleicht müsste man mal testen ob sich mit V18 was geändert hat...

Aber zu dem ganzen Reinitialisierungsscheiss hab ich hier schon x-mal was geschrieben und auch, wie ich das Problem gelöst hab. Ist leider nicht selbsterklärend für jemanden der sich nicht auskennt 🤷‍♂️ womit man wieder beim Thema Programmierstil wäre...

Es passt halt nicht zusammen. Der Stilguide sagt FBs anstatt Merker verwenden. Damit kannst aber erstmal keine Änderungen stoßfrei im laufenden Betrieb machen, wenn an den Statischen Variablen sich was ändert... Also fängst das Frickeln an...
 
Zuletzt bearbeitet:
Ich habe damals, wie ich noch Logistik gemacht habe, auch anfangs versucht, möglichst die parametrierbare, eierlegende Wollmilchsau zu erfinden. Lange Rede, kurzer Sinn: War doof. Ich bin nachher hingegangen und habe die in kleine, handlebare Funktionen aufgeteilt.

Offtopic:
Ich denke nicht, dass es zielführend ist, unerfahren Kollegen, die alleine zum Kunden/auf die Baustelle geschickt werden, hier als ferngesteuert oder als Statisten zu verunglimpfen.
Schließlich dürfen die armen Kerle dann das ausbaden, was eure "richtigen Programmierer" im Vorfeld verkackt haben.
Das die dann versuchen, sich Hilfe zu holen, ist doch nur legitim.
 
Zuletzt bearbeitet:
Also sind bei Fördertechnik Standard-FBs verpönt, aber gleichzeitig auch automatische Codegenerierung, welche die Copy&Paste Programmierung wenigstens von Tippfehlern befreien würde?

Ich habe mal für eine Firma die nur Fördertechnik macht ein paar Anlagen programmieren oder auch bestehende Programme nur in Betrieb nehmen müssen, und dabei auf Vorlagen von denen zurückgreifen müssen. Staustrecken mit 20 identischen Förderbändern mussten demnach alle per Copy&Paste zusammengesteckt werden. Multiinstanz-FBs waren nicht erlaubt, weil diese ja angeblich nicht online beobachtbar wären. Sicher kommen bei der Inbetriebnahme immer mal ein paar Stellen vor, wo Sonderlösungen notwendig waren, aber hier kann man meiner Meinung nach immer noch den Standard-FB durch eine spezielle Sonderlocke ersetzen.

Meine Vermutung ist eh, dass bei Fördertechnik irgendwann übergeordnete Kameras mit Bilderkennung diese ganzen Sensoren ersetzen. Was aber vermutlich aus China und nicht aus Deutschland kommen wird.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Thomas_v2.1

Ich denke, dass es DIE Fördertechnik nicht gibt.
Code-Generatoren und Standardbausteine für die SPS machen nur Sinn, wenn es auch mechanische Standards und Standards im Ablauf gibt.
Sinnvoll am ehesten wenn Waren- oder Gebindeträger verwendet werden.
Wird nur das Produkt gefördert, dann gibt es oft Besonderheiten. Es sind Änderungen an Sensorik, Mechanik und Abläufen erforderlich.
Also eben kein Standard sondern eine Individuallösung. Versucht man nun das mit dem SPS-Standardbaukasten abzubilden, dann gibt es meist 2 Lösungen. Entweder werden die Standardbausteine erweitert und es entstehen eierlegende Wollmilchsäue, die nicht mehr wartbar sind. Oder Kopien und Varianten von Bausteinen. Da sowas aber meist auf der Baustelle entsteht, hängt die Umsetzung sehr stark von den Leuten vor Ort ab.

Kurz gesagt:
Standard ja ... aber halt in einer Standardumgebung.
 
Also wir machen Fördertechnik mit ein paar simplen Standard Bausteinen mit wenigen Parametern, wir haben dafür hintendran aber eine riesige Codegenrierung die uns die Ansteuerung dieser in KOP macht. Da kommt dann der komplette Handbetrieb, Datenweiterschaltung usw. raus.
Wir hatten uns damals für einfache Standardbausteine aber komplexere Generierung entschieden, da oft etwas angepasst werden muss, und so aber unsere Standardbausteine gleich bleiben uns nur das aussenrum geändert wird.

Hab vor Jahren dazu auch mal ein Video hochgeladen wie bei uns der Ablauf ist:
Um diese Inhalte anzuzeigen, benötigen wir die Zustimmung zum Setzen von Drittanbieter-Cookies.
Für weitere Informationen siehe die Seite Verwendung von Cookies.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke an Alle für das Feedback.

Also ist es am Ende alles eine Frage der Dosis und der Präferenz. Unsere VP-Anlagen sind (bisher) wirklich super simpel gehalten und daher (so glaube ich) in ihren Grundfunktionen einfach in Bausteinen abbildbar. Es wird nichts parametriert, es werden keinerlei Daten geschoben, geschweige denn erhoben. Die Anlagen laufen, wann ein Paket fertig ist und abtransportiert wird entscheidet der extern gesteuerte Roboter. Wie viel produziert wurde greift ein externer BDE-Computer ab.
Die SPS macht nur stumpf ihr WENN belegt DANN-. Keine Reparaturschaltungen, keine Überwachungen. Wenn etwas nicht hinhaut fährt sie ohne mit der Wimper zu zucken crash. (Auch etwas, an dem ich etwas ändern möchte).
 
Zurück
Oben