Software Resilienz im SPS-/Produktionsbereich

If-Schleife

Level-2
Beiträge
102
Reaktionspunkte
15
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

Gerne würde ich mit euch das Thema Software Resilienz im Bereich SPS diskutieren!

Glaub ihr es ist ein Bereich der für SPSen Sinn ergibt? Glaub ihr es gibt generell Programmierstrategien die eine Software stabiler macht? Und glaubt ihr es ist messbar, wenn man diese anwendet?


Ich habe sehr oft den Eindruck, dass in meinem Bereich so programmiert wird: "Hauptsache die Anlage läuft und besteht die Abnahme - egal wie!"

Auch jeder programmier hat seinen eigenen Stil und hält den für den besten!?

Aber gibt es Herangehensweisen die man Newbys mitgeben kann, damit eine Software stabiler läuft? Und welche sind diese?


Freue mich auf eure Ideen!
 
Eine Software, die eventuell nicht produziert! Stabilität würde ich die Verfügbarkeit mit heranziehen.

Diese wird oft bemessen mit "wie lange dauert es bis ein Fehler kommt" und "wie lange dauert es bis ein Fehler behoben wird"

So würde ich das sehen. Vielleicht gibt es hier aber auch unterschiedliche Ansätze.

Eine exception wäre für mich auch nicht Stabil.
 
Software Resilienz im Bereich SPS
:unsure: da mußte ich doch erstmal googeln was das heißen soll - man kann schon mit Fremdworten "imprägnieren" ... ;)

Ich habe sehr oft den Eindruck, dass in meinem Bereich so programmiert wird: "Hauptsache die Anlage läuft und besteht die Abnahme - egal wie!"
das gibt es bestimmt - sollte aber bei einer renomierten Firma nicht vorkommen - habe ich aber auch schon (öfter) gesehen ...

Auch jeder Programmierer hat seinen eigenen Stil und hält den für den besten!?
Ganz bestimmt - es gibt nicht den Einen universellen Lösungsweg - wie bei der Hochsprachen-Programmierung auch ...

Aber gibt es Herangehensweisen die man Newbys mitgeben kann, damit eine Software stabiler läuft? Und welche sind diese?
Ich habe noch kein SPS-Programm erlebt, dass (nach Abschluß der Inbetriebnahme) nicht stabil läuft- selbst wenn es Quatsch macht so macht es auch den "stabil"
Ein Exception-Handling im eigentlichen Sinne gibt es hier nicht - nur ein paar Fehler-OB's, die in erster Linie auf Hardware-Fehler und ggf. Rechenfehler reagieren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
:unsure: da mußte ich doch erstmal googeln was das heißen soll - man kann schon mit Fremdworten "imprägnieren" ... ;)


das gibt es bestimmt - sollte aber bei einer renomierten Firma nicht vorkommen - habe ich aber auch schon (öfter) gesehen ...


Ganz bestimmt - es gibt nicht den Einen universellen Lösungsweg - wie bei der Hochsprachen-Programmierung auch ...


Ich habe noch kein SPS-Programm erlebt, dass (nach Abschluß der Inbetriebnahme) nicht stabil läuft- selbst wenn es Quatsch macht so macht es auch den "stabil"
Ein Exception-Handling im eigentlichen Sinne gibt es hier nicht - nur ein paar Fehler-OB's, die in erster Linie auf Hardware-Fehler und ggf. Rechenfehler reagieren.
Ich kenne viele Anlagen. Die dauerbetreuung benötigen, weil es ständig Probleme gibt.


Exception's gibt es viele. Zum Beispiel auf ein Array von 1 bis 2. Auf den Bereich 0 zuzugreifen. Oder bei Referenzen, die Referenz vorher nicht belegen und dann steht die SPS im Nirwana!

Ich schaffe das ab und zu.
 
Mal ganz ehrlich:
Mir gehen so Buzzwords wie eben Resilienz mittlerweile furchtbar auf den Zeiger.
SPS-Programmierung gibt es nun seit mehr als 40 Jahren.
Fast genauso lange gibt es die Diskussion um Programmierstil.
Die Grundregeln für sauberes Programmieren aus den 1980ern gelten auch heute noch.
In der SPS-Programmierung gab es - meiner Meinung nach - keine großartige Revolution.
Es ist eigentlich eine stetige Evolution.
Also ganz einfach sauber und strukturiert arbeiten, programmieren und kommentieren.
 
Hallo Zusammen,

Gerne würde ich mit euch das Thema Software Resilienz im Bereich SPS diskutieren!

Glaub ihr es ist ein Bereich der für SPSen Sinn ergibt? Glaub ihr es gibt generell Programmierstrategien die eine Software stabiler macht? Und glaubt ihr es ist messbar, wenn man diese anwendet?


Ich habe sehr oft den Eindruck, dass in meinem Bereich so programmiert wird: "Hauptsache die Anlage läuft und besteht die Abnahme - egal wie!"

Auch jeder programmier hat seinen eigenen Stil und hält den für den besten!?

Aber gibt es Herangehensweisen die man Newbys mitgeben kann, damit eine Software stabiler läuft? Und welche sind diese?


Freue mich auf eure Ideen!
Absolut! Ich habe das schon häufiger gesehen, z.B. Handshake-Signale die über Flanken abgefragt wurden. Nach Not-Aus oder ähnlichen "abnormalen" Situationen macht dann die Maschine z.B. nicht weiter und bleibt ohne erkennbaren Grund stehen.
(Natürlich meistens während der Inbetriebnahme zu beobachten).

Ich programmiere am liebsten über Schrittketten und 3-Bool-Handshakes.
Hat sich für mich sehr gut bewährt.

Da ich ausschließlich mit Beckhoff arbeite kann ich viele Schrittketten in Methoden kapseln, welche wiederum als Rückgabewert eine Strukur haben in der die Handshakes stecken (einfache Art: Execute (Input, Bool), Busy, Done und Error als Rückgabestruktur (Bool))

Eine Maschine teile ich meistens in Stationen auf, Hamdshakes unter den Stationen dann über Properties.

Dadurch bleibt auch das Projekt sehr übersichtlich und aufgeräumt.

Bezüglich Messbarkeit ist das denke ich aber eher schwierig zu beurteilen.


-Stirni
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mal ganz ehrlich:
Mir gehen so Buzzwords wie eben Resilienz mittlerweile furchtbar auf den Zeiger.
SPS-Programmierung gibt es nun seit mehr als 40 Jahren.
Fast genauso lange gibt es die Diskussion um Programmierstil.
Die Grundregeln für sauberes Programmieren aus den 1980ern gelten auch heute noch.
In der SPS-Programmierung gab es - meiner Meinung nach - keine großartige Revolution.
Es ist eigentlich eine stetige Evolution.
Also ganz einfach sauber und strukturiert arbeiten, programmieren und kommentieren.
Hört sich gerade so an, als hätte sich die Softwarewelt in den letzten 40 Jahren nicht entwickelt.


Bin ich ganz anderer Meinung. Aber das ist ja auch wichtig. Unterschiedliche Meinungen.


Aber eine Revolution war vielleicht Implementierung von Objektorientierter Programmierung in die IEC61131-3 im Jahre 2013
 
Zuletzt bearbeitet:
Aber eine Revolution war vielleicht Implementierung von Objektorientierter Programmierung in die IEC61131-3 im Jahre 2013
Das war wirklich eine Revolution, der Anteil im Feld ist in welchem Promilleanteil, wenn überhaupt?

Das A und O ist doch lesbarer, einfacher und gut dokumentierter Code. Vernünftige Beschriftung, keine Merkerorgien, Kommentare, Datensicherung.....
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Natürlich hat sich die Software weiterentwickelt.
Du nennst aber hier als Beispiel fehlerhafte Arrayzugriffe und nicht initialisierte Referenzen.
Das sind Fehler aus den Anfangszeiten der Programmierung.
Üblicherweise sollten solche Fehler bei der Inbetriebnahme schon beim Testen gefunden werden.
Du kannst natürlich versuchen mit Unittests sowas aufzudecken … Aber wer hat schon die Zeit die Tests zu entwickeln?
 
Das Thema hier erinnert mich an folgendes Thema:
https://www.sps-forum.de/threads/sps-mit-c-c-ohne-editor-ide-programmieren.100360/

Da kam auch jemand hochmotiviert mit der großen Revolution an, wirft zig Buzzwords in den Raum, ist schlauer als alle anderen und nach ein paar Tagen hört man nie wieder was von ihm.
Wieviel Buzzwords habe ich benützt?

Ich würde gerne beim Thema bleiben und evtl konstruktive Ideen sammeln.


Sorry, ich verwende nie wieder fachwörter.

Warum heißt das forum eigentlich SPS und nicht Relais? 😉


Und sorry, das ich 100% arbeite, Familie habe und ein Hobby. Ich lese gerne in dem Forum.


Aber für eigene Beträge fehlt mir die Zeit. Versucht man es einmal. Wird man beim ersten meiner Beträge wurde ich als jemand hingestellt der zu neu ist. Und jetzt jemand der zu selten schreibt.

Sind nur die Anzahl der Wörter in diesem Forum Beweis für Fachkompetenz ?
 
Zuletzt bearbeitet:
Es gibt halt viele verschiedene Programmierstile und dass ist ja auch gut so. Es gibt zig verschiedene Anwendungsfälle und Bedürfnisse an die SPS. Wie soll man das vereinheitlichen. Für jede Aufgabe das richtige Werkzeug.
 
Zurück
Oben