TIA S7-1500 Objektorientierte programmierung

Zuviel Werbung?
-> Hier kostenlos registrieren
Müsste der Kunde dann nicht auch alle CAD Zeichnungen bekommen?
Wir entwickeln 2 Jahre an einer Software. Stecken hier mehrer 100000€ rein. Der Kunde kauft eine Maschine und wenn er die Software als gut empfindet, darf er diese dann einfach für weitere Projekte nutzen oder unsere Maschine ggf. selber in Betrieb nehmen.
Ich persönlich habe noch nie bei einem Maschinenbauer gearbeitet, der insolvent gegangen ist. Wir ersticken eher in Arbeit. Daher rühert auch der Wunsch, die Software effizienter zu gestalten.

Ich kann die Angst verstehen, dass die Software zu schwer werden kann. Aber dann sollte der Kunde auch keine großen Entwicklungen in Richtung Geschwindigkeit oder Bedienerfreundlichkeit erwarten.

Aber hier gibt es einfach zu unterschiedliche Maschinen und Kunden.

Die Grundsätzliche Diskussion kann aber eh nicht gelöst werden, da es keine Lösung gibt;)

Die Frage ist trotzdem, ob es Kollegen gibt, die den Reiz verspüren das Programm so zu Modularisieren, dass man es am Ende primär parametrieren kann. Und ob diese sich mal austauschen wollen.
Um z.B. die Übersichtlichkeit zu erhöhen und das wissen im Machinenbau zu verteilen.

Grüße
 
Die Frage ist trotzdem, ob es Kollegen gibt, die den Reiz verspüren das Programm so zu Modularisieren, dass man es am Ende primär parametrieren kann. Und ob diese sich mal austauschen wollen.
Um z.B. die Übersichtlichkeit zu erhöhen und das wissen im Machinenbau zu verteilen.

Ich bin jetzt über 30 Jahre in der SPS-Programmierung.
Den Ansatz Programme bzw. Bausteine voll zu parametrieren kenne ich fast schon ebenso lange.
Angefangen von S5 bis hin zur "richtigen" OOP unter Codesys 3.x
Was ich bisher nie gesehen habe, war eine bessere Übersichtlichkeit (aus Sicht des Kunden)

Ich kenne einige Firmen, die ihren eigenen Framework entwickelt haben und genau das umgesetzt haben, was dir vorschwebt.
Dein Ansatz wird also sicherlich funktionieren.
Du kannst dir z.B. mal Control Plus von BCI (Bosch Connected Industries) anschauen. Ist allerdings Codesys.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Frage ist trotzdem, ob es Kollegen gibt, die den Reiz verspüren das Programm so zu Modularisieren, dass man es am Ende primär parametrieren kann. Und ob diese sich mal austauschen wollen.
Um z.B. die Übersichtlichkeit zu erhöhen und das wissen im Machinenbau zu verteilen.
Du ... im Prinzip ist alles vorstellbar. Du kannst halt nur nicht DAS PROGRAMM erstellen - ein Framework (wie @Blockmove schon geschrieben hat) sicherlich schon. Am Ende bleibt dann aber immer noch der spezifische Ansatz : Programmierer A möchte den Baustein lieber so und Programmierer B halt anders.

Ein grundsätzliches Programm zu erstellen halte ich, zumindestens aus heutiger Sicht, für unmöglich. Eine Spritzgussmaschine benötigt ein ganz anderes Drum-Herum wie z.B. ein Rundschalttisch oder eine Fördertechnik ... oder oder ...
Aber auch für die genannten verschiedenen Typen kann (und wird) das Framework auch schon wieder unterschiedlich sein - es sei denn du bleibt auf der untersten Ebene.
Was also ist dein realer Ansatz ?
 
Die Entwicklung und der Einsatz eines Frameworks erfordern zu allererst Organisation und Disziplin.
Nimm als Beispiel mal Betriebsarten:
Ich kenne Bausteine mit 5 Netzwerken genauso wie Bausteine mit über 50 Netzwerken.
Was ist nun richtig?
Einem Community-Projekt gebe ich da wenig Chancen.
Ich lass mich da aber gerne vom Gegenteil überzeugen.
 
Also egal ob Spaghetticode oder Supermonstereierlegendewollmilchsaubausteine.
So viel Projektierungszeitunterschiede gibts da nicht. Spaghetticode kannst Du genauso von einem Projekt ins nächste kopieren wie die Spezialstandardbausteine.
Ich hab da auch schon vieles gesehn.
Wenn man sich da was neues ausdenken will, sollte man von hinten denken, also was braucht man wirklich, was sind die wichtigsten Anforderungen.
Bei uns z.B. Änderungsfähigkeit stoßfrei im laufenden Betrieb ohne Aktualdatenverlust...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mir geht es eigentlich weniger darum das beste Programm der Welt in einer Community zu entwickeln. Mir geht es primär darum Leute zu finden die ähnliche Gedankengänge habe und Lust haben ihr eigenes Programm auf die nächste Stufe zu heben.
Projektierungszeitspielraum gibt da sehr wohl. In meiner alten Firma haben wir die Projektierungszeit von 6 auf 2 Wochen verringert. Dadurch, dass man den SPS Code modularisiert, kann man Codegeneratoren verwenden und stupide Arbeit verringern. Geht natürlich nur bei gleichbleiben Maschinenteilen. Bei meinem aktuellen Arbeitgeber sehe ich die Vorteile eher bei der gleichbleibenden Softwarequalität....
Auch die bessere Einarbeitungszeit von neuen Kollegen und die beruhigende Gewissheit, dass man beim Projektieren nichts vergessen hat wäre toll.

Mein konkreter Ansatz wäre: Wer Lust hat daran Teilzunehmen, schreibt mich an. Und alle zwei, drei Wochen trifft man sich via Teams und bespricht konkrete Beispiele bzw. konkrete Probleme oder man stellt einfach mal seinen aktuellen Stand vor.
Ähnlich einer Intervisionsgruppe.

Das müsste natürlich eine eingefleischte Gruppe werden, die sich vertrauen kann.

Grüße
Hans
 
Mir geht es eigentlich weniger darum das beste Programm der Welt in einer Community zu entwickeln. Mir geht es primär darum Leute zu finden die ähnliche Gedankengänge habe und Lust haben ihr eigenes Programm auf die nächste Stufe zu heben
Siehe Simatic AX community
 
Durchgesetzt hat es sich noch nicht, da noch genügend Programmierer da sind. Ein neues Gerät hinzufügen, ist mir übrigens auch schon passiert. Hier kann ich durch die Programmierung meist einen großteil Kopieren und bin viel schneller fertig als früher. Ich haben bereits 10Jahre Berufserfahrung und seit 5Jahren in der Entwicklung. Also auch kein Anfänger mehr.
bei welchem SPS Hersteller bist du in der Entwicklung tätig ? Wenn ich fragen darf.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wer Lust hat daran Teilzunehmen, schreibt mich an. Und alle zwei, drei Wochen trifft man sich via Teams und bespricht konkrete Beispiele bzw. konkrete Probleme oder man stellt einfach mal seinen aktuellen Stand vor.
Ähnlich einer Intervisionsgruppe.
Das müsste natürlich eine eingefleischte Gruppe werden, die sich vertrauen kann.
Ich will jetzt nicht unken ... kann mir aber so recht nicht vorstellen, dass daraus etwas wird ...
 
@HansSattel Modularisieren und bilden von Frameworks, machen wir natürlich. Sofern es sich zusammen fassen läßt.

Wenn es dir um eine Generalisierung geht, dann sei gesagt, dass es sehr schwierig bis gar unmöglich wird alles unter einen Hut zu bringen.

Siehe gerade MTP im Bereich der Prozessindustrie an. Hier wird pei à peu eine Schnittstelle umgesetzt, das Maschinen erst einmal miteinander können.
Dabei hat die Prozessindustrie einen gravierenden Vorteil. Hier ist vieles bereits reguliert und in Normen gefasst und so gibt es bereits bestimmte Untermengen, die immer wieder verwendet werden (sollen).
In der diskreten Industrie sieht es aber durchweg anders aus. Einerseits, weil die Maschinen nicht genormt sind, andererseits, weil sie weniger Regulierungen erfüllen müssen.

Es gibt aber bereits einige Ansätze getrieben durch OMAC, Weihenstephan, VDI, VDMA und weitere Organisationen. Würde empfehlen sich hier in den verschiedenen Arbeitsgruppen zu engagieren.
 
Noch ein weiterer Punkt:
Bei vielen Kunden gibt es Liefervorschriften.
Sowas kollidiert dann ganz schnell mit einem eigenen Framework.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok,
vielen Dank für die Beiträge.
Es geht mir nicht darum irgendwelche Programme zu verallgemeinern, oder Bestimmungen auszuhebeln. Da wo es nicht geht oder nicht sinnvoll erscheint ist es halt so. Diese Bereiche sind dann raus.

In den letzten Firmen in denen ich gearbeitet habe, schien es mit nur so zu sein, dass sich seit S5 nicht viel verändert hat. Trotz der Bemühungen von Siemens usw. Es scheint mir aber auch schwer zu werden auch nur eine Person zu begeistern, daher warte ich einfach mal ab, was dir Zeit bringen wird.
Ich arbeite ja noch etwa 30Jahre;)
Aber Simatic AX kannte ich noch nicht, daher hat sich das hier schon gelohnt.

Grüße
 
... dass sich seit S5 nicht viel verändert hat. Trotz der Bemühungen von Siemens usw. Es scheint mir aber auch schwer zu werden auch nur eine Person zu begeistern ...
Du solltest jetzt nicht annehmen, dass die Leute hier im Forum (vor Allem die Älteren - wie auch ich) auf dem Stand von Step5 stehen geblieben sind. Das ist schon in einigen Firmen so - hier aber beileibe nicht ...
Die Schwierigkeit deiner grundsätzlichen Idee ist, dass hier alle auch so ihre Erfahrungen haben und auch stellenweise ihre Frameworks. Naja ... und ganz oft ist es sogar so, dass es schon schwierig ist innerhalb derselben Firma bei mehreren Programmierern einen relativ einheitlichen Stil zu halten. Da helfen dann auch Styleguides und Pflichtenheft und und und gar nichts ...
 
@HansSattel Einfach am Ball bleiben. Würde nur sagen, dass man mehr bewegt, wenn man sich in den Gremien engagiert, weil man dort mehr Mitstreiter findet und einen größeren Hebel hat.

Deine Erfahrungen decken sich zum Teil auch mit einigen meiner. Aber es gibt auch sehr viele Firmen (beziehungsweise deren Mitarbeiter), die auch über den Tellerrand schauen und offen für neues sind. Weil es gerade die Automatisierungsprogrammierer sind, die die Umsetzung machen sollen/müssen. Nach dem Motto, Vertrieb verspricht das blaue vom Himmel und der Automatisierer muss es umsetzen, egal wie.

Was Bemühungen von Siemens und anderen Herstellern angeht, haben sie immer den Makel, dass sie evtl. nur auf deren Produkte gemünzt sind (was ja nicht verwerflich ist). Da sind Standards, die durch Gremien/Verbände/Vereine etabliert werden oft offener.

So langsam bildet sich aber das Verständnis bei den Herstellern dafür, dass die Systeme offener werden müssen. Z.B. EPLAN und TIA - Austausch im AML format oder auch Oppeness. Was aber nur ein Anfang sein kann.

@Larry Laffer habe mir in der letzten Zeit mal die Test Suite vom TIA Portal angesehen. Ist ein erste Schritt zur Durchsetzung von Firmen- oder Projektstyleguides und so genannten Unit Tests. Ähnlich dem Gated Check-In und UnitTest bei z.B. MS Team Foundation Server.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich glaube dass hier viele „Alte“ innovativer sind als so manch Junger.
Ist ja vielleicht auch der Grund warum viele von uns hier aktiv sind.
Wenn man lange im Job ist, dann hat man einfach schon viel gesehen und ist kritisch gegenüber allzu kernigen Versprechungen. Bei uns würde eine geänderte Programmierweise sicherlich keine Verkürzung von 6 auf 2 Wochen bringen. Genauso wenig würde es uns auf einen anderen Level bringen.
Codegeneratoren gab es schon zu S5-Zeiten.
TIA ist gerade in der Hinsicht ein Rückschritt.
Der Umgang mit Quellen ist deutlich schlechter als bei Classic.
Selbst das Thema Unit-Tests wurde schon oft durchgekaut.
 
Mir ist aktuell überhaupt nicht klar, was der TE will. Wenns um Erfahrungsaustausch geht, mach halt hier nen Thread zum Thema OOP auf.
Aber gehts wirklich um OOP oder um ne modulare Standard-FBs/FCs-Bibliothek vs Spaghetticode?

Und vielleicht mal konkret werden, poste mal ein Projekt was Deiner Meinung nach ordentlich in OOP programmiert wurde, dann kann sich jeder ein Bild machen, wovon hier überhaupt geredet wird.
 
Bei uns würde eine geänderte Programmierweise sicherlich keine Verkürzung von 6 auf 2 Wochen bringen. Genauso wenig würde es uns auf einen anderen Level bringen.
Es macht überhaupt keinen Sinn, eine eingespielte Programmierweise zu ändern, nur weil alle 2 Jahre jemand meint, wir müssen alles anders machen.
Standard heisst ja in erster Linie, überall identisch.
Wenn, dann konkret schauen, wo sind eklatante Problemstellen und wie kann man die Ändern ohne den existierenden Standard auf den Kopf zu stellen.
Bei uns z.B. sind die Schnittstellen DBs zw. SPS und HMI seit über 20 Jahren unverändert. Das macht riesen Vorteile!
Und zum Thema Codegeneratoren, mann kann jede SPS neu generieren und dann anpassen, oder man nimmt eine fertige/ähnliche und passt die an. Wenn man die Entwicklungszeit/Pflegezeit mit einrechnet, spart der Codegenerator nicht so wirklich viel.
Die meiste Zeit geht eh dabei drauf rauszufinden, was der Verfahrenstechniker/Maschinenbauer/Kunde/Chef eigentlich will. Parallel versuch ich dem dann noch ne Lösung einzureden, die sich einfach programmieren lässt. Das spart am meisten Programmierzeit😂
 
Zuletzt bearbeitet:
Zurück
Oben