Software Resilienz im SPS-/Produktionsbereich

Zuviel Werbung?
-> Hier kostenlos registrieren
Mir hat mal ein Arbeitsplaner bei uns erklären wollen, wie die Anlagenbedienung auszusehen hat.
Danke, Dieter - genau meine Worte.
Du kannst hier aber Arbeitsplaner auch durch Projektleiter deines Lieferanden ersetzen - ist dasselbe ... 🤮
 
wir beide vertreten, wie du im Verlauf dieses Thread gelesen haben konntest, hinsichtlich der Detail-Programmierung unterschiedliche Philosophien - aber trotzdem sind konkrete Lösungsvorschläge in alle Regel wenigsten ähnlich und oft sogar komplett identisch - was sagt dir das ?
Ein Arbeitsteam, bei dem alle immer die gleiche Meinung haben, das wäre auch langweilig. Es gibt immer mehrere Wege und man sollte auch immer offen für neue Lösungen sein. Schema F aus dem Lehrbuch ständig einhalten, wo ist da der Fortschritt ( vor allem der persönliche ).

Aber es stimmt schon, viele hier sind sehr unterschiedlich aber die Lösung oft gleich.
 
Grundsätzlich stimmt das auch. Das Programm an sich sollte durch Struktur und Variablennamen und Netzwerktitel und Bausteinnamen etc. selbsterklärend sein. Trotzdem sollte man abundzu zumindest bei Sonderlocken im Kommentar vermerken, warum man hier dies oder jenes tut...
Ja, genau!
Solchen Quatsch hier kann man aber lassen:
Code:
U Pu1.Stoe // Pumpe 1 Störung
O Pu2.Stoe // Oder Pumpe 2 Störung
...
Wohl dem, der die Möglichkeit hat, darauf zu verzichten. Jetzt sind wir wieder beim Thema Nostalgie.
Code:
// Statt ...
U E 21.3
O E 32.3
// ... lieber ... 
U E 21.3 // Pumpe 1 Störung
O E 32.3 // Pumpe 2 Störung
// ... im Programm-Ausdruck stehen zu haben ...
... das war für uns zur S5-Zeit DER Durchbruch.
Das hat unsere AWL-Programme so lesbar gemacht, dass wir freiwillig und gerne
- (aus PlatzGrüden) auf ZeilenKommentare,
- KOP und FUP verzichtet und
- und ein BASIC-Programm geschaffen haben, das die DruckAusgaben des PGs automatisch ergänzt hat
- und umfangreiche ZuordnungsListen gepflegt haben.
Zu viele Kommentare haben die Eigenart, bei Änderungen der Logik während IBN oder später nicht mitgeändert zu werden.
Ja, leider. Der ZeitDruck, unter dem meistens gearbeitet werden muss, sorgt automatisch dafür, dass so manches Wünschenswertes bis Unverzichtbares (u.a. die Kommentare) vernachlässigt wird bzw. unterbleibt.

...
Fehler werden zurrest immer am Programm gesucht, weil
es für die anderen am wenigsten greifbar und augenscheinlich
wenig Arbeit bereitet.
Nicht unbedingt. Wenn der Programmierer einen leisen Verdacht hat, dass es am Programm liegen könnte, dann ja.
Ich kenne es so, dass man sich auf der Suche nach der FehlerUrsache auf das PG stürzt, um sie durch Beobachten der "Innereien" der PLC einzukreisen und auch durch Einbau von "Fallen" in die Software gezielt besser beobachten zu können.
Dann wirst du es als Programmierer auf der Baustelle immer versuchen irgendwie
hin zu Fummeln, schmierst in deinen noch so schönen Programm rum, weil es
ohne Flex und Schweißgerät geht.
Wenn man die Ursache des Problems eingekreist, isoliert und verstanden hat, dann wird man als Programmierer versuchen, das Problem wenigstens provisorisch durch eine ProgrammÄnderung in den Griff zu bekommen. Selbst dann, wenn man die "ideale" ProblemLösung ganz wo anders (z.B. in der Mechanik, Hydraulik oder sonstwo) sieht.
Man ist dann ja sofort einen Schritt weiter und kann die Inbetriebnahme fortsetzen, während sich andere um ihren Anteil der ProblemLösung kümmern.
Am Ende ist es wieder ein Kunstwerk.
Künstler sind immer Merkwürdig
Ja, ja, ist das Kunst oder kann das weg? :unsure: ;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn sich schlaue Leute zum Thema intuitive Bedienung was überlegen, sieht man ja am TIA-Portal. Leider das Gegenteil bei rausgekommen...🤷‍♂️

Aber mal zurück, was ich eigentlich sagen wollte. In einer Firma sollte sich jemand der Ahnung hat, nen Programmierstil oder Programmierstandard ausdenken. Da steht dann auch konkret drinn, was wie gemacht wird. Neuen Kollegen wird dann erklärt, wie etwas gemacht wird und wie auf garkeinen Fall... (solange die halt jeweils brauchen) weiterhin gibts vielleicht 1-2 konkrete Musterprojekte wo man sich das anschauen kann.
Dann hält man diesen Standard hoffentlich über viele Jahre durch und hat einheitliche nachvollziehbare und fehlerarme Software...

Der Standard kann vom Endkunden fürs Werk gelten (als Werksnorm) oder innerhalb der Automatisierungsfirma oder innerhalb des Lieferanten als Firmenstandard.

Der einzelne Programmierer muss sicherlich alle par Projekte nach einem anderen Standard programmieren.

Oft glauben neue Kollegen, sie haben die Weisheit mit dem Löffel gefressen und wollen mal schnell ihren eigenen Standard einführen. Den Zahn sollte man am ersten Tag ziehen.

"Einheitlichkeit geht vor Schönheit" ist meine Devise.

Falls man in der Prozessautomatisierung keinen eigenen Standard entwickeln will oder kann, gibt mann halt z.B. PCS7 als Vorgabe. Muss dann aber halt auch PCS7 bezahlen.

Die meisten größeren Unternehmen machen das auch so.
 
Zuletzt bearbeitet:
Ich habe Schwierigkeiten zu sagen, dass Erfahrung wichtig ist für stabile Software und gleichzeitig muss die Liste für jemanden sein der "kein Plan" hat
Bei jemandem der wirklich Ahnung hat von dem was er tut, kommt per se stabile Software raus (von Tipfehlern mal abgesehn)
Alle anderen basteln halt rum.
Denen muss man dann aber konkret sagen, wie sie etwas zu tun haben. So Sätze "Variablen ordentlich bezeichnen" helfen halt nicht, wenn man nicht definiert, was "ordentlich" im konkreten Fall (Standard) bedeutet. Da gibts alle möglichen Philosophien. "Ordentlich" wirds nur, wenns einigermaßen einheitlich ist.
 
Bei jemandem der wirklich Ahnung hat von dem was er tut, kommt per se stabile Software raus (von Tipfehlern mal abgesehn)
Alle anderen basteln halt rum.
Denen muss man dann aber konkret sagen, wie sie etwas zu tun haben. So Sätze "Variablen ordentlich bezeichnen" helfen halt nicht, wenn man nicht definiert, was "ordentlich" im konkreten Fall (Standard) bedeutet. Da gibts alle möglichen Philosophien. "Ordentlich" wirds nur, wenns einigermaßen einheitlich ist.
Das mit dem konkret sagen ist so ne Sache.
Aufteilung in Funktionsgruppen, Stationen, Schrittketten, usw. erfordert einiges an Beschäftigung mit der Anlage und somit Zeit.
Gibt es dann noch diese Trennung zwischen Hardwareplaner, SPS und Inbetriebnehmer ist das Chaos oft perfekt und es fehlt dann auch oft an Kommunikation.
 
Bei jemandem der wirklich Ahnung hat von dem was er tut, kommt per se stabile Software raus (von Tipfehlern mal abgesehn)
Alle anderen basteln halt rum.
Denen muss man dann aber konkret sagen, wie sie etwas zu tun haben. So Sätze "Variablen ordentlich bezeichnen" helfen halt nicht, wenn man nicht definiert, was "ordentlich" im konkreten Fall (Standard) bedeutet. Da gibts alle möglichen Philosophien. "Ordentlich" wirds nur, wenns einigermaßen einheitlich ist.
Ich habe noch niemanden gesehen der eine fehlerfreie Software geschrieben hat. Zumindest in meinem Bereich. Da wird Software über Wochen neu geschrieben und entwickelt. Und ich kenne saugute Programmierer. Wo andere im Leben nicht ran kommen (ich bin das persönlich sicher nicht).

Von dem her bin da nicht bei dir!

Aber vielleicht kommt es hier auch wieder auf den Fall drauf an.

Ich habe das Gefühl hier wird viel pauschalisiert und Aussagen in Frage gestellt. Wobei schon mal daran gedacht, dass aus einer anderen Perspektive der Ein oder Andere auch doch recht hat?

Ich glaube am Ende möchte jeder eine fehlerfreie Software machen. Und das ist doch gut. Wobei wenn ich gut sein möchte, dann versuche ich doch viel. Vielleicht auch Einheitlichkeit. Und dann muss ich halt auch mal so programmieren wie ich es gerade nicht optimal finde.


Es gibt eine Studie wo gefragt wird: "Was finden Sie als Programmierer am schwierigsten?"


80% sagen: Bezeichnungen und Namen finden.


Wenn das schon schwierig an sich ist? Wie sollen dann einheitliche Bezeichnung raus kommen?
 
Ich habe noch niemanden gesehen der eine fehlerfreie Software geschrieben hat. Zumindest in meinem Bereich. Da wird Software über Wochen neu geschrieben und entwickelt. Und ich kenne saugute Programmierer. Wo andere im Leben nicht ran kommen (ich bin das persönlich sicher nicht).

Von dem her bin da nicht bei dir!
Du verwechselst fehlerfrei mit stabil.
Wenn ich die benötigten Abläufe oder Prozesse kenne und verstehe, dann ist die Programmierung eine Routineaufgabe.
Betriebsarten, Freigaben, Verriegelungen, ...

Kenne ich die Abläufe nicht und muss sie mir quasi während der Inbetriebnahme erst erarbeiten, dann ist das Programm eine Ansammlung von Provisorien. Irgendwie läuft das schon ... aber vielleicht auch nicht immer.
 
Du verwechselst fehlerfrei mit stabil.
Wenn ich die benötigten Abläufe oder Prozesse kenne und verstehe, dann ist die Programmierung eine Routineaufgabe.
Betriebsarten, Freigaben, Verriegelungen, ...

Kenne ich die Abläufe nicht und muss sie mir quasi während der Inbetriebnahme erst erarbeiten, dann ist das Programm eine Ansammlung von Provisorien. Irgendwie läuft das schon ... aber vielleicht auch nicht immer.
Ok, dann verstehen wir halt was anderes darunter.

Hab ich einen Fehler, dann bedeutet das System arbeitet nicht wie gewünscht und somit ist es nicht stabil!


So ist zumindest meine Ansicht.


Wenn Stabilität und Fehlerfreiheit nicht zusammen gehören, dann mach mir bitte mal ein Beispiel wo das so ist. Dann kann ich es vielleicht nachvollziehen. Aktuell kann ich das nicht
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich denke If-Schleife sieht das ganze viel zu sehr aus Informatiksicht und nicht aus Automatisierungssicht.
Auch wenns immer mehr in Richtung Hochsprachen geht, ist ne Automatisierungssoftware was anderes als ne Smartphoneapp.
Die Probleme liegen oft/meist nicht in der SPS-Software, zumindest wenn der SPS-Programmierer etwas Erfahrung hatte.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich denke If-Schleife sieht das ganze viel zu sehr aus Informatiksicht und nicht aus Automatisierungssicht.
Auch wenns immer mehr in Richtung Hochsprachen geht, ist ne Automatisierungssoftware was anderes als ne Smartphoneapp.
Die Probleme liegen oft/meist nicht in der SPS-Software, zumindest wenn der SPS-Programmierer etwas Erfahrung hatte.
Ich habe noch nie eine Smartphone app programmiert, aber sehr viele Steuerungen.


Lasst mal die Unterstellung 😉

Nachfragen wäre mal super!
 
Ok, dann verstehen wir halt was anderes darunter.

Hab ich einen Fehler, dann bedeutet das System arbeitet nicht wie gewünscht und somit ist es nicht stabil!


So ist zumindest meine Ansicht.


Wenn Stabilität und Fehlerfreiheit nicht zusammen gehören, dann mach mir bitte mal ein Beispiel wo das so ist. Dann kann ich es vielleicht nachvollziehen. Aktuell kann ich das nicht

Was mir gerade einfällt ist die automatische Grundstellungsfahrt nach manuellen Eingriffen.
Normalerweise soll diese eigentlichen aus allen Maschinenzuständen heraus funktionieren.
Aber da passiert es bei mir schon mal, dass vielleicht eine Verriegelung zuviel drin ist.
 
Zurück
Oben