Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Page 3 of 3 FirstFirst 123
Results 21 to 26 of 26

Thread: Codegenerierung in der Praxis

  1. #21
    Join Date
    13.12.2011
    Location
    Bückeburg
    Posts
    2,273
    Danke
    265
    Erhielt 321 Danke für 283 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Äh, Draco, warst Du beim Schreiben/Lesen schon halb am Schlafen? Meine ganzen Kommentare beziehen sich auf Makros für EPLAN und die Generierung des Codes mit diesen.

    Von irgendwas mit Internetzugang gesendet.

  2. #22
    Join Date
    17.07.2009
    Location
    Am Rande der Ostalb
    Posts
    6,235
    Danke
    1,283
    Erhielt 1,448 Danke für 1,124 Beiträge

    Default

    Quote Originally Posted by Draco Malfoy View Post
    Alles andere führt sofort zu einem kompletten Chaos.
    Ich sehe es nicht ganz so negativ.
    Egal ob nun Sonder- oder Serienmaschine ... du hast immer viel Routineaufgaben.
    Wir nutzten z.B. einen Aktorbaustein zur Ansteuerung von Aktoren, Laufzeitüberwachung, Verriegelungen und Freigaben.
    Hier wäre ein automatisches Erstellen der Variablen und der Grundparametrierung durch einen Codegenerator durchaus sinnvoll und würde auch erheblich Arbeit sparen.

    Ich wollt sowas schon mal umsetzen, aber bisher hat mich die TIA-Versionshölle abgeschreckt

  3. #23
    Join Date
    06.10.2003
    Posts
    3,896
    Danke
    522
    Erhielt 621 Danke für 493 Beiträge

    Default

    Quote Originally Posted by Blockmove View Post
    .. Ich wollt sowas schon mal umsetzen, aber bisher hat mich die TIA-Versionshölle abgeschreckt
    Das ist im TIA-Portal gar nicht so schlimm. Man muss nicht alles importieren. Ein bisschen Code oder Meldetexte hat man auch schnell mal aus generierten Textdateien kopiert. Das war in Classic sehr viel schlechter möglich, vor allem wenn man spaltenweise kopieren wollte.


    Was das Generieren im Allgemeinen angeht, so gibt es ja grundlegend verschiedene Ansichten und Möglichkeiten, wie die Beiträge hier auch zeigen. Man kann auch Schaltpläne aus irgendwelchen Listen generieren und aus diesen wiederum hinterlegten Programmcode für die Steuerung erzeugen. Im Prinzip hört sich das alles sehr verlockend an. Gesehen habe ich so etwas bisher nur auf Messen. In der Praxis bedarf so etwas sehr viel Disziplin und Vorarbeit. Zudem muss das ganze Team mitziehen und sich streng an Regeln einhalten. Ich weiß nicht wie es euch geht, in meinem Umfeld ist das absolut nicht denkbar.

    Ich glaube, man sollte es als kleiner "Allrounder" mit dem Generieren auch nicht zu weit treiben. Einfach die Routineaufgaben damit erschlagen und man hat im Handumdrehen ein perfektes Grundgerüst für sein Programm. Das projektspezifische Programmieren kann ein Generator so wie so nicht übernehmen. Je allgemeingültiger der generierte Code ist, um so flexibler kann man den Generator einsetzen. Ich mache es seit vielen Jahren so, dass ich in Excel die Symbolik der Eingänge und Ausgänge erstelle. Jedes Symbol besteht aus drei Teilen (z.Bsp. Anlage, Ort, BMK). Zu jeden dieser drei Teile gibt es einen Kurztext und einen Langtext, nebeneinander in Spalten angeordnet. In einer weiteren Tabelle setze ich aus diesen drei Teilen meine E/As zusammen. Aus den Kurztexten entsteht per Auswahl das Symbol, aus den Langtexten automatisch der Kommentar. Somit hat man schon mal eine fehlerfreie und einheitliche Syntax, egal wie groß das Projekt auch wird. Auf Knopdruck werden aus diesen Daten eine Hand voll Textdateien erzeugt. Einmal für die Symbolik, für die Analogwerte, für Störungsmeldungen, jeweils mit FBs, DBs und UDTs, alles einheitlich und fehlerfrei kommentiert. Dann noch eine Datenbasis für mein persönliches System und natürlich eine Liste mit den Störmeldetexten. Für jeden dig. Eingang wird eine Störmeldung vorgesehen, für analoge Signale jeweils vier. Die Bausteine für die Analogwerte und für die Störmeldungen werden anschließend händisch überarbeitet. Ich hatte auch schon die Normierung der Analogwerte und die verschiedenen Auswertungen für Störungen generierbar gemacht. Aber selbst das war meistens schon zu spezifisch und musste spätestens zur IBN so wie so noch einmal überarbeitet werden. Ein sauberes Grundgerüst mit Kommentaren, vollständig und fehlerfrei ist hingegen schon eine sehr zuverlässige Grundlage.

    Für die Classic-Welt haben alle diese Text-Dateien das entsprechende Format zum Importieren. Für TIA handhabe ich es so, dass ich aus den Textdateien oder aus Excel den Code, die Symbole oder die Meldetexte kopiere. Nach dem ich alles übernommen habe, ist das Generieren beendet. D.h., die Quellen sind ab diesen Zeitpunkt hinfällig.


    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  4. Folgende 3 Benutzer sagen Danke zu Onkel Dagobert für den nützlichen Beitrag:

    Blockmove (20.04.2019),Heinileini (20.04.2019),rostiger Nagel (20.04.2019)

  5. #24
    Join Date
    09.08.2006
    Posts
    4,024
    Danke
    1,013
    Erhielt 729 Danke für 592 Beiträge

    Default

    tja, sehr viel interessante Dinge. Zwei Sachen noch von mir.
    Wenn man eine ordentlich Strukturierte Programmierweise in der SPS hat, ist das die Grundvoraussetzung für ne Codegenerierung. Aber genau dann ist die "händische" Programmerstellung auch nicht so irre langwierig bzw. fehleranfällig. Vor allem wenn man aus ähnlichen Anlagen kopiert und bestimmte Dinge/Texte aus der Excel oder Eplan kopiert.

    Zweites hab ich die Erfahrung gemacht, dass dann eher minder erfahrene und bezahlte SPS Programmierer eingestellt werden, wenn doch so ein toller Codegenerator vorhanden ist. Wie Draco schon schreibt, geht dann mal schnell alles den Bach runter, wenn man nicht aufpasst...

  6. #25
    Join Date
    22.07.2007
    Posts
    93
    Danke
    16
    Erhielt 31 Danke für 22 Beiträge

    Default

    Aus aktuellem Anlass habe ich mir das Osterwochende gegönnt um mir Openness mal wieder anzuschauen.

    Vorweg:
    Einen Codegenerator auf Excel-Basis entwickle, pflege und nutze ich seit fast 8 Jahren. (95% Fördertechnik)
    Generiert werden Projektspezifische Symbole, UDT, DB, und Bausteine in KOP (AWL-Quelle) und SCL.
    Das größte Manko seit TIA ist, dass die Generierung von KOP oder gar FUP (falls Kundenwunsch) per Quelle nicht mehr "einfach" möglich ist.
    Grade die Logik-Bausteine und unsere Aufrufstrukturen sollen nach Möglichkeit in KOP erstellt werden.

    Am Wochenende habe ich mir also, die Export/Import per Openness angeschaut, nicht für die gesamte SW, sondern hauptsächlich für die ca 30 verschiedenen Förderer-FB (im aktuellen Projekt) und die ca 90 (* 24 Anlagen) Verwendungsstellen.
    Beispielaufrufe erstellt und exportiert, anschließend Try&Error bei den Imports.

    Ergebnis:
    Mit minimalen Aufwand lassen sich brauchbare Templates erstellen, aus dehnen wiederum wieder importierbare XML-Quellen entstehen...
    Falls sich jemand hiermit noch nicht beschäftigt hat, folgende Tipps:
    • Alle Tags mit ReadOnly="true" und Informative="true" können direkt gelöscht werden
    • Selbiges gilt für die kompletten <sections>-Bereiche im Deklarationsbereich der Instanzierten FB oder UDT
    • Eigene Kennungen und Identifikatoren in den Variablen/Parametern durch Platzhalter ersetzt.
    • Die UID sind nur Netzwerk-weise Unique, können also belassen werden
    • Die ID ist muss im kompletten XML Unique sein und kann von Anfang bis Ende hochgezählt werden (Hexa-Formatierung beachten)
    • Wer will kann den Openness Scripter zum Export und Import nutzen am Anfang reicht der allemal



    Bei der Hardware CAxx Import sind ist mir noch 2 Makel aufgefallen:
    • Die Position zuvor Exportierter Komponenten wird beim Import wahllos bestimmt, auch bei bereits vorhandenen, zu überschreibender Komponenten (Super bei bereits fertigen Topologie-Strukturen )
    • Ich habe keine Möglichkeit gefunden die Busadresse zu übergeben, im Gegensatz zu bestimmbaren Adressbereiche, IP und DNS-Namen, wird diese bei mir beim Import vom Portal neu vergeben... Da die Bus-ID Teil unserer E-Doku und auch Fehlertexte ist, heißt das an allen Teilnehmern immer wieder neu zuordnen


    Vielleicht kennt ja jemand nen Workarround o.a., da ich mich hiermit nur sehr kurz beschäftigt habe, habe ich bestimmt was übersehen.


    Gruß Semo
    Last edited by Semo; 23.04.2019 at 22:29. Reason: Korrektur

  7. Folgende 3 Benutzer sagen Danke zu Semo für den nützlichen Beitrag:

    Blockmove (24.04.2019),DeltaMikeAir (24.04.2019),Howard (24.04.2019)

  8. #26
    Join Date
    09.07.2013
    Posts
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Servus,

    ich bin aktuell bei einem Kunden an einem größeren Projekt dran.

    Dabei wird aus Eplan ein XML exportiert und daraus über Powershell die Applikation komplett generiert. Das Ganze
    zieht einen größeren Kreis da die gesamte Applikation zusätzlich über einen Jenkins Server automatisiert getestet wird.
    Continous Delivery, Digitaler Zwilling usw. ist da ganz stark Fokus.

    Ziel ist es das der Endkunde seine Maschine konfigurieren kann, die Elektrokonstruktion den Schaltplan erstellt (was
    auch schon teilweise automatisiert passiert) und dann der Quellcode inklusive Simulationsumgebung erstellt wird.
    Die Maschine sozusagen schon im Büro "getestet" werden kann.

    Dafür hab ich mir ein kleines Framework ausgedacht das es ermöglicht Maschinenmodule unabhängig voneinander
    zu erstellen. Die Basis ist streng objektorientiert und die Bausteine haben keine direkte Verbindung zueinander.
    Dadurch können diese recht einfach per Skript eingebunden werden.

    Nachträglich können Bausteine ebenso noch angepaßt werden, bzw können trotzdem schnell Sonderwünsche
    für Kunden einfließen.

    Die Visualisierung bekommt die gleiche XML Datei und kann sich entsprechend die Infos zur Maschine auslesen
    und sich anpassen.

    Allerdings arbeite ich nicht mit TIA Portal sondern mit Beckhoff (Twincat3) und Sigmatek (Lasal2) Steuerungen.
    Da dort die Objektorientierte Entwicklung recht gut umgesetzt ist.

Similar Threads

  1. Schulung: „Industrie 4.0 Kommunikation“ in der Praxis
    By Softing_IA in forum Werbung und Produktneuheiten
    Replies: 0
    Last Post: 15.04.2019, 12:38
  2. Profinet-Abnahme in der Praxis
    By IVG Göhringer in forum Werbung und Produktneuheiten
    Replies: 0
    Last Post: 23.06.2016, 07:47
  3. Hausautomatisierung in der Praxis mit Beckhoff?
    By Darkghost in forum Gebäudeautomatisierung
    Replies: 14
    Last Post: 20.06.2014, 15:37
  4. Bus-Schulungen aus der Praxis für die Praxis
    By Hans-Ludwig in forum Werbung und Produktneuheiten
    Replies: 0
    Last Post: 09.02.2014, 20:21
  5. Reglerdimensionierung in der Praxis
    By tokram in forum Stammtisch
    Replies: 2
    Last Post: 07.06.2012, 07:22

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •