TC3: Wann nutzt Ihr Methoden und wann "nur" den FB

Zuviel Werbung?
-> Hier kostenlos registrieren
Trotzdem halte ich die OOP-Erweiterungen durchaus für sinnvoll. Man muss sie halt mit Augenmass nutzen, und wenn man merkt, dass man es übertrieben hat, auch mal einen Schritt zurück gehen.
*ACK*
Augenmaß ist hier genau das Stichwort ...
Das von Wollvieh im Beitrag #17 dargestellte Szenario wäre auch für mich ein absolutes No-Go ...

Gruß
Larry
 
Habt ihr mal an einer OOP Maschine im Produktionsbetrieb versucht, online Fehler zu finden? Man sieht nur Adressen und Pointer auf Speicherberiche, wenn man Inhalte sehen möchte, nur mit Breakpoint, d.h. die Maschine steht. Sehr geil. Vom Grundgedanken einer einfachen Programmiersprache entfernt man sich, aber das scheint grad trendy?

Also ich muss sagen, dass ich ziemlich viel mit den OOP-Elementen arbeite. Ich verstecke dabei allerdings viel in Bausteinen, die eh in einer verschlossenen Bibliothek sind. Im Anwendungsprogramm nutze ich eigentlich fast auschließlich FUP/SFC. Insgesamt ergeben sich daher viele Vorteile was z. B. die "Cleanheit" des Anwendungsprogramms, die Analysemöglichkeiten, hohe Flexibilität und auch im Bereich der Codegenerierung. Ich stimme dir bei dem was du schreibst allerdings vollkommen zu:
- Wieso werden in Methoden deklarierte Variablen im Online View mit einem Wert "???" angezeigt?
- Wieso kann man in Referenzinstanzen springen, in Interfacepointer aber nicht?
- Vererbungsketten lassen sich einfach schlecht nachvollziehen (Ich lasse Vererbung deswegen generell Weg oder limitiere sie auf eine Vererbungsstufe)
- etc.
Allerdings hat das weniger etwas mit der Anwendung der durch die OOP-Elemente geschaffenen Möglichkeiten zu tun, sondern mit den Möglichkeiten der Entwicklungsumgebung. Es ist als Gesamtkonzept einfach nicht hinreichend umgesetzt.

Zur Eingangsfrage von Oliver, ich nutze Methoden wie folgt:
- In Bibliotheksbausteinen nutze ich oftmals klassische OOP Design patterns (Command, Observer etc.). Hier nutze ich Methoden mit Interfaces entsprechend der Pattern.
- Mein Programmiertemplate sieht vor auch die "Anwendungs"-Module (Modulstruktur im Stil der ISA88 ) mit Methoden zu strukturieren. Dabei gibt es zyklisch aufgerufene Methoden die z. B. unterlagerte Module aufrufen, Interlocks verarbeiten etc. Dann gibt es auch nicht zyklisch aufgerufene Methoden, die in der Regel die von dir angesprochenen Funktionen umsetzen (open/close, drive to etc.). Diese Methoden können auch von extern aufgerufen werden (z. B. über Interfaces). Ich limitiere das allerdings nicht wie z. B. StructuredTrash geschrieben hat auf einen Zyklus. Die Methoden werden aufgerufen und geben dann eine Rückmeldung das diese fertig sind.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
- Wieso werden in Methoden deklarierte Variablen im Online View mit einem Wert "???" angezeigt?
Weil sie temporär sind und nur während des Methodenaufrufs auf dem Stack existieren. Ist halt genauso wie bei Funktionen. Allerdings kann man Methodenvariablen mittlerweile als VAR_INST deklarieren, um sie statisch an den FB anzuhängen. Habe ich selbst aber noch nicht ausprobiert.
- Wieso kann man in Referenzinstanzen springen, in Interfacepointer aber nicht?
Da wurde offenbar nachgebessert. Ich bin gerade am Basteln (4024.12). Ich kann online ein Interface aufklappen, dann wird der Instanzname des FBs angezeigt, auf den das Interface zeigt. Und den kann ich auch wieder aufklappen und sehe die Variablen des FBs.
- Vererbungsketten lassen sich einfach schlecht nachvollziehen
*ACK*
In Borland Pascal (Gott hab es selig) gab es einen Objektbrowser, mit dem man zu jedem Vorgängerobjekt einer Vererbungshierarchie gelangen konnte. Würde CodeSys/TwinCat auch gut zu Gesicht stehen.
 
Vielleicht ist es ja vielen SPS-Programmierern nicht aufgefallen. Die Programmierung hat sich seit der S5 weiter entwickelt. Schon mit der S7 hat sich sogar Siemens in eine Richtung entwickelt wo CODESYS schon lange ist. Ob einem gefällt oder nicht. Die Modularisierung geht weiter und OOP ist State of the Art. Wird es auch in der Automatisierungstechnik. Vielleicht auch ohne IEC 61131.
Der Vorteil liegt bei der Rationalisierung der Programmierung(Kosten).
Der Trend geht Richtung KI die programmiert. Durchgetestet Module brauchen weniger Fehlersuche. So einfach ist das. Auch wenn man es nicht mag, die Zukunft findet statt. 😉
 
Vielleicht ist es ja vielen SPS-Programmierern nicht aufgefallen. Die Programmierung hat sich seit der S5 weiter entwickelt. Schon mit der S7 hat sich sogar Siemens in eine Richtung entwickelt wo CODESYS schon lange ist. Ob einem gefällt oder nicht. Die Modularisierung geht weiter und OOP ist State of the Art. Wird es auch in der Automatisierungstechnik. Vielleicht auch ohne IEC 61131.
Der Vorteil liegt bei der Rationalisierung der Programmierung(Kosten).
Der Trend geht Richtung KI die programmiert. Durchgetestet Module brauchen weniger Fehlersuche. So einfach ist das. Auch wenn man es nicht mag, die Zukunft findet statt. 😉
Ja und vielen Dank für die Belehrung.
Wir sind nicht ganz so doof, wie du vielleicht denkst und wir hatten diese Diskussionen hier im Forum auch schon häufiger.
Ich kenne mehr Maschinen mit "OOP-Ansatz", die überhaupt nicht gut liefen, als schlechte "normal" "s5-like" (Das sollen Ironie-Tags sein : ;) ) programmierte Maschinen, die überhaupt nicht gut liefen. Und was die Zeitersparnis betrifft, das muß mir erst mal jemand vorführen, mit einer halbwegs großen Sondermaschine. Also; dann programmiere doch OOP, ist ja die Zukunft, ich hab da nichts dagegen. Ich komm dann, schmeiß den Scheiß raus und bringe das Teil zum laufen, wie so oft!!!
 
Vielleicht ist es ja vielen SPS-Programmierern nicht aufgefallen. Die Programmierung hat sich seit der S5 weiter entwickelt. Schon mit der S7 hat sich sogar Siemens in eine Richtung entwickelt wo CODESYS schon lange ist. Ob einem gefällt oder nicht. Die Modularisierung geht weiter und OOP ist State of the Art. Wird es auch in der Automatisierungstechnik. Vielleicht auch ohne IEC 61131.
Der Vorteil liegt bei der Rationalisierung der Programmierung(Kosten).
Der Trend geht Richtung KI die programmiert. Durchgetestet Module brauchen weniger Fehlersuche. So einfach ist das. Auch wenn man es nicht mag, die Zukunft findet statt. 😉
Mit deinen Marketing-Buzzwords kannst du sofort bei jedem agilen I4.0-Startup anfangen.

Durchgetestete Module ... Was soll jetzt daran neu sein?
Selbst wenn du jetzt mit Unit-Tests kommst, so ist auch das in der SPS-Welt bekannt.
Und du wirst lachen, ich hab davon schon vor 30 Jahren bei der S5 gehört.
Code-Generatoren, Programmerstellung aus Excel oder CAD-Daten. Auch nicht neu.
Lustigerweise war's sogar mit S5 einfacher als heute mit Codesys oder TIA.

Und eine vielleicht für dich neue Erkenntnis:
Rationalisierung der Programmierung ist gar nicht wichtig.
Eine Anlage oder Maschine wird im Büro programmiert. Da hat man Zeit.
Viel wichtiger ist Wartbarkeit, klar strukturierter Aufbau der Software und vorallem einfache Fehlersuche.
Und da ist nicht KI, sondern menschliche Intelligenz gefragt.

Achja:
Ich verwende OOP bei Codesys, wo es sinnvoll ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit deinen Marketing-Buzzwords kannst du sofort bei jedem agilen I4.0-Startup anfangen.

Durchgetestete Module ... Was soll jetzt daran neu sein?
Selbst wenn du jetzt mit Unit-Tests kommst, so ist auch das in der SPS-Welt bekannt.
Und du wirst lachen, ich hab davon schon vor 30 Jahren bei der S5 gehört.
Code-Generatoren, Programmerstellung aus Excel oder CAD-Daten. Auch nicht neu.
Lustigerweise war's sogar mit S5 einfacher als heute mit Codesys oder TIA.

Und eine vielleicht für dich neue Erkenntnis:
Rationalisierung der Programmierung ist gar nicht wichtig.
Eine Anlage oder Maschine wird im Büro programmiert. Da hat man Zeit.
Viel wichtiger ist Wartbarkeit, klar strukturierter Aufbau der Software und vorallem einfache Fehlersuche.
Und da ist nicht KI, sondern menschliche Intelligenz gefragt.

Achja:
Ich verwende OOP bei Codesys, wo es sinnvoll ist.
Ihre Haltung kenne ich auch schon 30 Jahre. Damals bei Opel Bochum. Selbst 2008 hat man mir versichert, dass sich nie etwas ändern wird. 2012 war das Werk zu und heute ist alles weg. Wer sich nicht bewegt, wird bewegt.
 

Ihre Haltung kenne ich auch schon 30 Jahre. Damals bei Opel Bochum. Selbst 2008 hat man mir versichert, dass sich nie etwas ändern wird. 2012 war das Werk zu und heute ist alles weg. Wer sich nicht bewegt, wird bewegt.
Werden die gestellten Fragen noch beantwortet oder ist das ein Opel-Werk geschlossen wurde jetzt deine Begründungsgrundlage?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja und vielen Dank für die Belehrung.
Wir sind nicht ganz so doof, wie du vielleicht denkst und wir hatten diese Diskussionen hier im Forum auch schon häufiger.
Ich kenne mehr Maschinen mit "OOP-Ansatz", die überhaupt nicht gut liefen, als schlechte "normal" "s5-like" (Das sollen Ironie-Tags sein : ;) ) programmierte Maschinen, die überhaupt nicht gut liefen. Und was die Zeitersparnis betrifft, das muß mir erst mal jemand vorführen, mit einer halbwegs großen Sondermaschine. Also; dann programmiere doch OOP, ist ja die Zukunft, ich hab da nichts dagegen. Ich komm dann, schmeiß den Scheiß raus und bringe das Teil zum laufen, wie so oft!!!
Und Verzeihung, ich wollte Ihnen weder auf den Schwanz treten, noch Sie belehren. Aber scheinbar fühlten Sie sich angesprochen. 🤷🏻‍♂️
 
@Frank_Martin

Zu meinen Aufgaben gehört unter Anderem auch I4.0.
Ich kenne also neue Technologien und neue Trends im Bereich Steuerungstechnik und Automatisierung.
Und das nicht in einer kleiner Klitsche sondern in einem Kornzern mit 60000 Mitarbeitern und knapp 50 Fabriken weltweit.

Unsere Neuanlagen haben alle Cloud-Anbindung.
Wir haben Teams für Big-Data und KI.
Sowohl für unsere Produkte, als auch für unsere Fabriken

Ich denke, dass ich über die technischen Möglichkeiten durchaus im Bilde bin.
Was jedoch wichtiger ist als die ganzen Zukunftsvisionen, ist eine stabile, technisch beherrschbare Fertigung mit all ihren Randbedingungen, wie z.B. Bedien- und Instandhaltungspersonal.
Nur wenn in den Fabriken Geld verdient wird, kann mein Gehalt bezahlt werden.
Beispiel:
Normalerweise sind unsere Maschinen untereinander vernetzt und tauschen Informationen und Stati über Netzwerk aus.
Wir haben jedoch Standorte, die noch klassische Relais-Schnittstellen wollen, weil die Instandhaltung nicht mit Netzwerk zurecht kommt.
An diesen Standorten sind auch kaum Roboter installiert, dafür jede Menge manuelle Einrichtungen.
Wir verdienen dort aber genauso Geld und die Fabriken sind wirtschaftlich.

An deutschen Standorten lösen wir z.B. die ersten alten 1500er Steuerungen ab und ersetzten sie durch neue leistungsfähigere Steuerungen.
Hintergrund ist die Umstellung auf OPC UA als Kommunikationsprotokoll. Und auch hier muss die Qualifikation der Instandhaltung berücksichtigt werden. Wir haben leider erst vor ein paar Jahren mit einem I4.0 Qualifizierungsprogramm für Instandhalter begonnen.
Es ist zwar in mancher Hinsicht ein "Henne - Ei - Problem", aber letztlich kann ich neue Technologien erst einsetzten, wenn sie beherrschbar sind und geeignete Werkzeuge zur Verfügung stehen.

Aus meiner Sicht hast du aktuell nur Buzzwords ohne Hintergrund geliefert.
Sei doch bitte so nett und liefere mal ein paar Details zur KI-unterstützten SPS-Programmierung.


Gruß
Blockmove
 
Und Verzeihung, ich wollte Ihnen weder auf den Schwanz treten, noch Sie belehren. Aber scheinbar fühlten Sie sich angesprochen. 🤷🏻‍♂️
Nein, das ist gar nicht das Problem. Aber ich liebe Leute, die in Themen reinkommen, mit ein paar Buzzwords um sich werfen und dann meinen, als große Fachleute wahrgenommen werden zu müssen. Du klingst nach Unternehmensberatung, da werd ich halt allergisch :ROFLMAO:

@Blockmove
Wir liefern i.d.R., ws unsere Kunden wünschen. Meißt bekommt man dann ohnehin einen gewissen Standard vorgeschrieben, an den man sich halten muß. Wenn das so ist, finde ich es besser, als so wischi-waschi-Anforderungen, die sich anschließend noch x Mal ändern. Daher ist es gut, wenn ein Kunde sich auch selbst mit diesen Dingen auseinandersetzt. Arbeitet ihr auch mit OPC-UA Clients in der 1500-er. Das kommt mir irgendwie reichlich kompliziert vor in der Handhabung. Da muß man sicher ein paar Standards firmenseitig einführen oder? Lohnt das, wenn man 1500-er untereinander verbinden will oder ist das eher für Fremdsysteme gedacht?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das neue Factory Automation Studio von Grollmus geht ganz klar in diese Richtung.
Im Übrigen muss man nicht Beispiele für Entwicklungen bringen die in der Zukunft liegen. Beispiele lassen sich nur rückwärts gewandt sicher definieren. Bis dahin ist es wie in der Kirche. Glaube. Und Ich glaube daran, dass wir vor disruptiven Veränderungen stehen. Mit meinen 60 Jahren muss ich die zum Glück nicht mehr alle in der Praxis umsetzen, aber ich werde die nächsten 10 Jahre noch aktiv mit denen arbeiten die davon betroffen sind.
 
Nein, das ist gar nicht das Problem. Aber ich liebe Leute, die in Themen reinkommen, mit ein paar Buzzwords um sich werfen und dann meinen, als große Fachleute wahrgenommen werden zu müssen. Du klingst nach Unternehmensberatung, da werd ich halt allergisch :ROFLMAO:
Gute Intuition. Chapeau.
Allerdings bin ich kein klassischer Unternehmensberater. Sonst wäre ich 25 Jahre alt, hätte noch nie eine Produktion von innen gesehen und noch nie eine Schraube festgezogen. Aber in der European Business School studiert.
Mit anderen Worten, ich unterscheide mich von einem Unternehmensberater dadurch das ich weiß wie es geht. Diese Allergie teile ich.

Zum Wochenende meinen Lieblings Beraterwitz:
Es war einmal ein Schäfer, der in einer einsamen Gegend seine Schafe hütete. Plötzlich tauchte in einer großen Staubwolke ein nagelneuer grauer Audi Quattro auf und hielt direkt neben ihm.

Der Fahrer, ein junger Mann in Brioni Anzug, Cerutti Schuhen, Ray Ban Sonnenbrille und einer YSL Krawatte steigt aus und fragt ihn: "Wenn ich errate, wie viele Schafe Sie haben, bekomme ich dann eins?" Der Schäfer schaut den jungen Mann an, dann seine friedlich grasenden Schafe (es ist eine große Herde), und sagt ruhig "In Ordnung".
Der junge Mann verbindet sein Notebook mit dem Handy, geht im Internet auf eine NASA-Seite, scannt die Gegend mit Hilfe seines GPS-Satellitennavigationssystems, öffnet eine Datenbank und 60 Excel Tabellen mit einer Unmenge Formeln. Schließlich druckt er einen 150seitigen Bericht auf seinem Hi-Tech-Minidrucker, dreht sich zu dem Schäfer um und sagt:

"Sie haben hier exakt 742 Schafe."

Der Schäfer sagt "Das ist richtig, suchen Sie sich ein Schaf aus." Der junge Mann nimmt ein Schaf und lädt es in den Audi Quattro ein.
Der Schäfer schaut ihm zu und sagt: "Wenn ich Ihren Beruf errate, geben Sie mir das Schaf dann zurück?" Der junge Mann antwortet: "Klar, warum nicht." Der Schäfer sagt: "Sie sind Consultant einer Unternehmensberatung."
"Das ist richtig, woher wissen Sie das?" will der Berater wissen.
"Ganz einfach," erklärt der Schäfer,
  • "Erstens: kommen sie hierher, obwohl Sie niemand gerufen hat.
  • Zweitens: wollen Sie ein Schaf als Bezahlung haben dafür, dass Sie mir etwas sagen, was ich ohnehin schon weiß.
  • Drittens: haben Sie keine Ahnung von dem, was ich tue.
  • Und jetzt geben Sie mir meinen Hund zurück!"
 
Das neue Factory Automation Studio von Grollmus geht ganz klar in diese Richtung.
Im Übrigen muss man nicht Beispiele für Entwicklungen bringen die in der Zukunft liegen. Beispiele lassen sich nur rückwärts gewandt sicher definieren. Bis dahin ist es wie in der Kirche. Glaube. Und Ich glaube daran, dass wir vor disruptiven Veränderungen stehen. Mit meinen 60 Jahren muss ich die zum Glück nicht mehr alle in der Praxis umsetzen, aber ich werde die nächsten 10 Jahre noch aktiv mit denen arbeiten die davon betroffen sind.

Sorry, erst kommst du mit Zukunft, KI, Programmierung jenseits der IEC61131 und nun mit Grollmus?
Was bitte ist daran KI?
Es handelt sich um einen Code Generator, der Templates nutzt.
Sowas gibt es seit Jahren, wenn nicht seit Jahrzehnten.
Schau dir mal z.B. Bosch Nexeed Control Plus an.
 
Zurück
Oben