Codegenerierung in der Praxis

Zuviel Werbung?
-> Hier kostenlos registrieren
@Draco Malfoy : Stringent schreibt man mit "t" am Ende. Ist Standard.
;-) immer schön cool bleiben, am Ende wird alles gut.
Edit.: @Draco M. :
Deine Beschreibung der herrschenden Strukturen ist einwandfrei formuliert! Dem ist nichts hinzuzufügen.
 
Zuletzt bearbeitet:
Mal ein Feedback aus der Praxis.

Ich frage mich: Wer bezahlt sowas ? Sind die Ingenieure, die sowas veranstalten, völlig bescheuert ? Brauchts denn hier einen Codegenerator oder eher einfach mal ne Schulklasse zum Thema "Umgang mit Librarys" ?

Verrückterweise denkt da niemand über ein redesign des aktuellen Quellcodes nach. Das passiert meist nur im Zusammenhang mit einem Wechsel
des Steuerungslieferanten wenn der alte Code nicht mehr verwendet werden kann. "Gewachsene Strukturen" sieht man ja recht häufig... ich muss
mich selber immer mal wieder maßregeln das reingehackte auch mal wieder in Frage zu stellen.

Code generieren ist nicht für jede Applikation ein Vorteil, aber mit der richtigen Architektur kann das gut und leserlich funktionieren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe zufällig eure Diskussion gelesen. Ich beschäftige mich selbst schon seit Jahren mit dem Thema code aus einem Modell zu generieren.
Ich schaffe es den Prozess in Logikablauf - Systemaufbau - parameter - und Display Layer zu modellieren und dann ein fertige Schrittkette erzeugen. keine mauelles tippen und immer gleich strukturiert.
Nix kopiert und 100 % ausprogrammiert.

Ich weiß nicht wie weit ich hier unsere Technologie ansprechen soll, aber es funktioniert. Besonder gut bei Retrofit -anlagen wo nur die SW und HMI getauscht wird.
Wenn jemand näheres wissen möchte oder uns helfen will Meinungen zu sammeln bin ich dankbar.

Ein SPS Programmierer

selmo steht für sequence logic modelling (ablauflogisches modellieren) ist eine absolut cool lösung

lg
 
Besonder gut bei Retrofit -anlagen wo nur die SW und HMI getauscht wird.
Nur die SW und HMI getauscht? Die PLC bleibt dieselbe? Das ist wohl eher ungewöhnlich bei Retrofits.
Wozu dann überhaupt die SW tauschen? Um sie zum neuen HMI passend zu machen?
Welche Informationen müssen die alte PLC und das alte HMI mitbringen bzw. von sich geben, um sie "maschinell" analysieren zu können, so dass man daraus etwas modellieren kann?
Oder analysiert ihr nur bzw. auch den SchaltPlan?
 
Hallo zusammen,

ich habe zufällig eure Diskussion gelesen. Ich beschäftige mich selbst schon seit Jahren mit dem Thema code aus einem Modell zu generieren.
Ich schaffe es den Prozess in Logikablauf - Systemaufbau - parameter - und Display Layer zu modellieren und dann ein fertige Schrittkette erzeugen. keine mauelles tippen und immer gleich strukturiert.
Nix kopiert und 100 % ausprogrammiert.

Ich weiß nicht wie weit ich hier unsere Technologie ansprechen soll, aber es funktioniert. Besonder gut bei Retrofit -anlagen wo nur die SW und HMI getauscht wird.
Wenn jemand näheres wissen möchte oder uns helfen will Meinungen zu sammeln bin ich dankbar.

Ein SPS Programmierer

selmo steht für sequence logic modelling (ablauflogisches modellieren) ist eine absolut cool lösung

lg

Na, ist doch gernial. Noch ein paar Jahre und du hast dich und den Rest der Programmierer hier im Forum mal eben so abgeschafft.
Ich kenn mindestens 4 Chefs, die genau das denken, wenn sie das hier lesen und sich schon die Hände reiben. Die wissen auch nicht wirklich, was wir so tun, mich fragte einer, warum ich mit TIA jetzt nicht viel schneller bin und meine Angebote nicht in Preis und Stunden runtergehen. Der hatte einer Marketing-Veranstaltung von Siemens beigewohnt. :ROFLMAO: Vielleicht solltest du bei Siemens anheuern, dann müssen die sich nicht mehr mit uns dummen Programmieren rumärgern und könnten ihr TIA auch gleich einstampfen. Mit deiner neuen Software verdienst du dann woran genau? Ach ja, du verkaufst das an unsere Chefs :) Viel Spaß.
Integriere das doch am Besten ins CAD (auch hier gibt es schon Ansätze), dann fällt das fertige Programm gleich bei der Konstruktion mit ab.
Weiß zwar kaum noch jemaand wie das geht oder wie man was ändert und anpaßt, aber schau dich um, davon gibt es überall immer mehr.

/Ironie aus

Ich denke mal, es gibt sicher Aufgaben für die das ganz gut funktioniert und sicher kommt der Tag, da braucht uns Alle niemand mehr, aber das werde ich wohl nicht mehr miterleben, ich bin zu alt, um mich nochmal völlig umorientieren zu wollen. Und Fortschritt kann man ja bekanntermaßen kaum aufhalten. ;-)

PS: Der Deutsche Name für deine Lösung gefällt mit jedenfalls besser als dieser englische Sch...

Grüße, noch ein SPS-Programmierer
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe zufällig eure Diskussion gelesen. Ich beschäftige mich selbst schon seit Jahren mit dem Thema code aus einem Modell zu generieren.
Ich schaffe es den Prozess in Logikablauf - Systemaufbau - parameter - und Display Layer zu modellieren und dann ein fertige Schrittkette erzeugen. keine mauelles tippen und immer gleich strukturiert.
Nix kopiert und 100 % ausprogrammiert.

Ich weiß nicht wie weit ich hier unsere Technologie ansprechen soll, aber es funktioniert. Besonder gut bei Retrofit -anlagen wo nur die SW und HMI getauscht wird.
Wenn jemand näheres wissen möchte oder uns helfen will Meinungen zu sammeln bin ich dankbar.

Ein SPS Programmierer

selmo steht für sequence logic modelling (ablauflogisches modellieren) ist eine absolut cool lösung

lg

Gibt es denn mehr Referenzen ( oder nur die 5 auf genannten auf eurer Website, wo eine Schule dabei ist ), Videos oder Handbücher wo man sich dass mal etwas anschauen kann?
 
Extrahiert man Comics und Marketingversprechen von der Selmo-Website und den YouTube-Videos, dann ist es wohl ein Framework / Toolkit ähnlich Bosch Neexed Control plus. Das Ganze kann in vielen Fällen funktionieren.
 
Demo einer Beta Version

Gibt es denn mehr Referenzen ( oder nur die 5 auf genannten auf eurer Website, wo eine Schule dabei ist ), Videos oder Handbücher wo man sich dass mal etwas anschauen kann?

Ja, wir haben selber eine Maschine mit 300 Eingängen - 250 Ausgängen, 12 Servo Achsen, 15 FU Antriebe -- 23 Schrittketten gemacht. INFO werden wir Online stellen.

In der Demo kann man sich anmelden. Wir sind im Moment selber überzeugt, dass es eine Vereinfachung ist.

Ab 15.9 geht eine erste Release Online. DEMO - TEST und Doku

https://selmo-modeler.eprozess.org/account/register (link Demo BETA )

lg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, Ironie aus :p,

wir wollen in der SPS Programmierung die lästige copy und paste sparen. SPS Programmierung fokussiert bei uns auf die wichtigen Funktionen - umsetzten der Steuerungsaufgabe und das schon so früh wie möglich und programmieren der TREIBER - Logik der Schrittkette steuert die Funktion - diese Treiber sind wie die FB oder PRG die wir sowieso immer verwenden und Anpassen.

Es geht um die Aufwertung von Software in der Maschine - ich kenne es so- wenn alles fertig ist brauchst es noch jemanden der es programmiert - Meist bei der IBN der erste und der Letzte - und am Ende nie wirklich fertig - weil bei Problemen ist es immer zuerst ein Software Problem.

Es ist auch lästig wenn ich die Variablen in der PLC deklariere - dann noch in der HMI und so weiter...

Wir machen so einfach eine Standardstruktur und sind in der Lage eine statemachine 100% zu beschreiben - das ist einfach der Grund - damit wird eine Software sicher!
Ich habe vor 30 Jahren schon immer wieder befürchtet, dass SPS Programmierer ersetzt werden - bin heute immer noch am Programmieren ;)

Ich nutze einfach für allgemeine Struktur einen Generator - SELMOtino
 
ja, natrürlich wird die PLC getauscht. habe ich hier bei Experten vorausgesetzt.

SW tausch wegen der Digitalen Anbindung - schlechtes Bedienkonzept - Auslauf von Produkten (S5 Siemens) - Bedienkonzepte standardisieren

Wir filmen die laufende Maschine - Prozess beschreiben
Wir setzten die E/A in den SYSTEM Layer um und verknüpfen diese über das Bitcontrol
Parameter erfassen (Eingaben Ausgaben) Flexibilisierung der Schrittkette
Fertig
HMI generieren wir aus dem Modell - Anpassung der Übersichtbilder und spezial Bilder auf Basis der Datenpunkte aus dem Modell (kann nur eingeben und anzeigen was in der Software ist :))
 
Ja, wir haben selber eine Maschine mit 300 Eingängen - 250 Ausgängen, 12 Servo Achsen, 15 FU Antriebe -- 23 Schrittketten gemacht. INFO werden wir Online stellen.

Das heißt die Referenz ist erst eine Maschine??


Sorry aber ich melde mich da jetzt nicht an um mir dass mal 10 Minuten anschauen zu können.

Ich persönlich würde euch auch empfehlen, die Comics wegzulassen. Das macht nicht unbedingt einen professionellen Eindruck
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wir machen so einfach eine Standardstruktur und sind in der Lage eine statemachine 100% zu beschreiben - das ist einfach der Grund - damit wird eine Software sicher!

So 100%, na das ist ja mal eine Behauptung. Lassen wir uns überraschen. Kann mit kaum vorstellen, dass das wirklich so 100% funktioniert, wenn man Werkstückträger, Schreib- Leseeinheiten mit strukturierten Daten, Deltapicker, Siemens-Servos, Keyence-Scanner, Keyence-Kameramodule usw. in einer Anlage zu bedienen hat. Wieviel Zeit benötigt man für das Erstellen von Standardmodulen, die deine Softwarecdann verwenden kann? Ich kann das ja auch von der Boch-Seite her, aber da muß man auch mal sagen, Kosten und Aufwand sind erheblich. Auch das Korsett ist extrem starr. Vorteil, es ist eine Art Standardisierung.
 
So 100%, na das ist ja mal eine Behauptung. Lassen wir uns überraschen. Kann mit kaum vorstellen, dass das wirklich so 100% funktioniert, wenn man Werkstückträger, Schreib- Leseeinheiten mit strukturierten Daten, Deltapicker, Siemens-Servos, Keyence-Scanner, Keyence-Kameramodule usw. in einer Anlage zu bedienen hat. Wieviel Zeit benötigt man für das Erstellen von Standardmodulen, die deine Softwarecdann verwenden kann? Ich kann das ja auch von der Boch-Seite her, aber da muß man auch mal sagen, Kosten und Aufwand sind erheblich. Auch das Korsett ist extrem starr. Vorteil, es ist eine Art Standardisierung.

Das war auch mein erster Gedanke, Beispiel unsere Ablüffanlagen für Flaschen, 60.000ér Stundenleistung.
Es gibt Sorten, pro Sorte Eigenheiten im Ablauf, SAP Anbindung, spezielle Seiten für Wartung, Diagnose,
jede Maschine anders da individuell für Kunde produziert wird. CSV Handling über Panel und so weiter und so fort.

100% halte ich mal für unmöglich denn wir liefern funktionierende Anlagen aber der Kunde hat trotzdem
immer noch Wünsche für Programmablauf / Stauschaltungen / Kontaktaustausch / Bedienung usw. usw.
100% bedeutet für mich, Programm wird generiert, geladen, funktioniert und muss nicht mehr angefasst werden.
Daran zweifel ich jetzt einmal.

Und vor allem F-Steuerung, wird der F-Teil etwa auch automatisiert generiert?
 
So 100%, na das ist ja mal eine Behauptung. Lassen wir uns überraschen. Kann mit kaum vorstellen, dass das wirklich so 100% funktioniert, wenn man Werkstückträger, Schreib- Leseeinheiten mit strukturierten Daten, Deltapicker, Siemens-Servos, Keyence-Scanner, Keyence-Kameramodule usw. in einer Anlage zu bedienen hat. Wieviel Zeit benötigt man für das Erstellen von Standardmodulen, die deine Softwarecdann verwenden kann? Ich kann das ja auch von der Boch-Seite her, aber da muß man auch mal sagen, Kosten und Aufwand sind erheblich. Auch das Korsett ist extrem starr. Vorteil, es ist eine Art Standardisierung.

Eine 100%ige generierte Lösung ist denke ich aus der Luft gegriffen. Ich finde das muss aber auch nicht zwingend sein. Die Generierung eines soliden Korsetts, dass die Möglichkeit bietet entsprechende Module aufzurufen vereinfacht unser Leben schon ungemein. Das ein Standardisiertes Korsett starr ist, ist immer so ein Nachteil. Hast du tiefergehende Erfahrungen mit Bosch? Ich habe mir das mal zeigen lassen und fand es auf jeden Fall klasse, weil ich bis dato leider auch nichts vergleichbares kenne.
Wie sind da deine Erfahrungen was die Erweiterbarkeit von Standardmodule angeht? Genau daa war mein größte Sorge, da von den Nexeed Jungs immer nur gesagt wurde das es einfach geht und das Nexeed Team das auch übernehmen könne.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich finde automatisierte Codegenerierung vor allem ( in meinem Fall ) interessant im Bereich Logistig. Wir bauen auch viel Palettentransport /
Transportbänder / Kommissionieranlagen für Paletten. Da ist die Programmerstellung / Visu tatsächlich eine reine Kopierarbeit bei der
natürlich auch Fehler passieren da irgendwann alles gleich aussieht. Da wären für mich 80% der Codeerstellung schon völlig ausreichend,
den Rest würde ich selber manuell für den Kunden anpassen.

EDIT:
Aber dann brauche ich einen Lieferant für eine solche Generiersoftware, der etwas realistisches liefert und mir auch ehrlich sagt: "100% werden nicht möglich sein, vielleicht 90/95%"
 
Zuletzt bearbeitet:
S Wieviel Zeit benötigt man für das Erstellen von Standardmodulen, die deine Software dann verwenden kann? Ich kann das ja auch von der Boch-Seite her, aber da muß man auch mal sagen, Kosten und Aufwand sind erheblich. Auch das Korsett ist extrem starr. Vorteil, es ist eine Art Standardisierung.

Letzlich funktioniert das auch nur mit einer starren Standardisierung.
Bosch wollte uns auch schon zu OpCon bzw. jetzt Neexed Control Plus "bekehren".
Als wir unsere Standardbausteilelisten vorgelegt haben, war das Thema schnell erledigt.
Für Scanner, Antriebe und vieles mehr müssten Module geschrieben werden.
Das Ganze bietet Bosch als Dienstleistung an. Ist natürlich das Geschäftsmodell.
Das Toolkit verkaufst du einmal ... Jedes Modul ausserhalb des Standards kostet Geld.
Klar kannst du selber Module schreiben, wenn du tiefgreifende Kenntnisse des Frameworks hast.
Und das nicht nur auf der SPS-Seite sondern besonders in der PC-Entwicklung.
Jetzt kannst du natürlich auf die Idee kommen, deine "Nicht-Standard-Hardware" direkt in das SPS-Programm einzubinden.
Bei der nächsten großen Änderung fällt dir das auf die Füsse weil dein Projekt nicht mehr kompatibel ist.

Nächster Punkt ist der erzeugte SPS-Code.
In wie weit ist er "menschenlesbar"?
In wie weit kann man mit Tia oder Codesys Fehlersuche betreiben?

Also das Thema Codegenerierung ist spannend und sicher wird es in diese Richtung gehen.
Aber die Aspekte und Rahmenbedingungen sind vielfältig.

@selmotino
Ich persönlich würde euch auch empfehlen, die Comics wegzulassen. Das macht nicht unbedingt einen professionellen Eindruck

Dem schliesse ich zu 100% an!
Durch so was fühle ich mich ehrlich gesagt verars...
Für mich persönlich ist das typisches Startup-Gehabe.
Vom fertigen Produkt weit entfernt, aber Comics und Präsentationen sind schon fertig :ROFLMAO:

Gruß
Blockmove
 
Das heißt die Referenz ist erst eine Maschine??


Wir haben mit unserem Tool nun eine Maschine gemacht. Ich persönlich mache solche Maschinen schon seit 20 Jahren. Früher eben manuell, aber immer auf Basis von verschiedenen erprobten Standards aus der Automobil und Luftfahrt.


Sorry aber ich melde mich da jetzt nicht an um mir dass mal 10 Minuten anschauen zu können.


Selmotino: Ok, schau dir im TechBlog die Zusammenhänge an, für jeden Programmierer leicht zu greifen :p

Ich persönlich würde euch auch empfehlen, die Comics wegzulassen. Das macht nicht unbedingt einen professionellen Eindruck

Unser Selmotino ist unser Generator - vielleicht Freund und Helfer für Programmierer. Professionell ist das Thema (patent - Produkt - akademisch)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Durch die Trennung der Logik von der Funktion ergibt sich ein neuer Blickwinkel.

Für eine Schrittkette gilt: Ablauflogik = Wann eine Achse von a nach b fährt - wenn ein Druck druckt - wenn was bewegt wird ....
Der Treiber organisiert die Umsetzung - Wie beim PC -- egal welcher Drucker die Logik sagt drucken = Treiber übersetzt für Funktion
Wir haben im letzten Projekt 4 Treiber verwendet (Generisch für DS402 SoftMotion Servo Achsen Position, FU ansteuerung generisch, SternDreisck anlauf und einen Drucker für Schrit RS232)
Diese Treiber verwenden wir nun weiter für die Zukunft. Die Treiber haben alle ERROR Meldung, Daten vom Kontroller usw. beim laden dieser Treiber werden automatisch die Datenpunkte definiert.

Wir haben einen Prototypen bei uns der hat 5 Zylinder und 4 Tasten: die Programmierung für den reine Schrittkette mit HMI fix fertig ca. 25min ;)
 
Das war auch mein erster Gedanke, Beispiel unsere Ablüffanlagen für Flaschen, 60.000ér Stundenleistung.
Es gibt Sorten, pro Sorte Eigenheiten im Ablauf, SAP Anbindung, spezielle Seiten für Wartung, Diagnose,
jede Maschine anders da individuell für Kunde produziert wird. CSV Handling über Panel und so weiter und so fort.

100% halte ich mal für unmöglich denn wir liefern funktionierende Anlagen aber der Kunde hat trotzdem
immer noch Wünsche für Programmablauf / Stauschaltungen / Kontaktaustausch / Bedienung usw. usw.
100% bedeutet für mich, Programm wird generiert, geladen, funktioniert und muss nicht mehr angefasst werden.
Daran zweifel ich jetzt einmal.

Und vor allem F-Steuerung, wird der F-Teil etwa auch automatisiert generiert?

Nein Sicherheitsrelevante SPS darf nicht generiert werden!! Ist wohl ein Test:D

Das Modell beschreibt den Prozess - wenn der Prozess klar ist dann ist der Ablauf klar
Das System ergibt sich aus den notwendigen Baugruppen (Sensoren, Aktoren) alles diskret aufgetragen und beschrieben
Parameter sind Eingabe und Ausgabe Daten (REAL, INT, Bool usw....)
Display alle Datenpunkte und Bits werden im HMI angezeigt

Änderungen, wenn der Prozess sich verändert im Modell - ein klick import und läuft :cool:

Geht. 60.000 = 16,6 / Sekunde = 60ms / Flasche bei einer Zylkuszeit von 1ms schon leistbar:D
 
Aber dann brauche ich einen Lieferant für eine solche Generiersoftware, der etwas realistisches liefert und mir auch ehrlich sagt: "100% werden nicht möglich sein, vielleicht 90/95%"
Ich schätze, Michael, der Lieferant kann sich eigentlich nicht auf eine halbwegs präzise Angabe festlegen, da er die SonderWünsche Deiner Kunden nicht kennt und deren ErfinderGeist regelmässig unterschätzen wird. ;)

Neben der Vielfalt der KundenWünsche wäre sicherlich auch die Vielfalt der Steuerungs- und CPU-Typen, der ProgrammierSprachen, der (oft zu häufigen) updates etc., der auf- und abtauchenden Notwendigkeit von Workarounds ein Faktor, der nicht spurlos am ProgrammGenerator vorüber gehen kann.
Der generierte Code sollte deshalb schon "menschenlesbar" sein, da sich jederzeit ein Grund für "Handarbeit" ergeben kann, auch wenn der generierte Code schon fünf Jahre fehlerfrei funktioniert hat.
 
Zurück
Oben