TIA Codegenerierung (KOP/FUP) mit TIA Openness

Zuviel Werbung?
-> Hier kostenlos registrieren
@Jochen Kühner: Ich habe nochmals den Code-Beispiel mir angeschaut. Ihr habt Hilfsklassen erstellt um den Zusammenbau von KOP Operationen (And, Not, ...) und PLC Tags/Globalen Variablen in CompileUnits zu abstrahieren. Könntest du bitte noch ein paar Details geben, wie ihr das aufgebaut habt?

Darf die Klassen leider nicht veröffentlichen, da dort nun einige Wochen Entwicklungszeit drinstecken
 
Ja aber wozu im Moment? Solange TIA noch auf FullFarmework setzt wozu wird das dann benötigt?
Ich versuche alle neuen Klassenbibliotheken als .Netstandard zu erstellen, damit wird mehr Kompatibilität für die Zukunft gewährleistet. Die meisten OpenSource sowie Microsoft Klassenbibliotheken wurden auf .Netstandard angepasst. Ich denke dass ist die Richtung die von Microsoft angestrebt wird, irgendwann werden neue Klassen nur für .Netstandard verfügbar sein.

@inspectorgadjet: Starte einfach xsd.exe ohne Parameter, dann werden alle Optionen angezeigt
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich versuche alle neuen Klassenbibliotheken als .Netstandard zu erstellen, damit wird mehr Kompatibilität für die Zukunft gewährleistet. Die meisten OpenSource sowie Microsoft Klassenbibliotheken wurden auf .Netstandard angepasst. Ich denke dass ist die Richtung die von Microsoft angestrebt wird, irgendwann werden neue Klassen nur für .Netstandard verfügbar sein.

Ich glaube nicht das TIA in nächster Zeit auf NetCore switchen wird, daher denke ich das ganze ist nicht so wichtig.
 
Ich denke (ohne 100% sicher zu sein) dass es reichen würde nur die TIA Openness DLLs .Netstandard kompatibel zu "verpacken"
 
Danke für die Klassenstruktur. Könntest du bitte ein besser lesbare Variante posten? Ich habe Schwierigkeiten den Inhalt zu lesen.
 
Weiss jemand, ob es eine Liste mit den möglichen Werten für Part Name gibt? Gleiche Frage für den NameCon Namen in Wire (es handelt sich um Elemente aus dem Export eines KOP/FUP FBs als xml).
 
Denke nicht das es die Liste gibt, zumindest hab Ich noch keine gesehen.

Wir haben einfach immer das exportiert was wir gebraucht haben. Bei den NamendCon Namen ist oft auch wichtig was die vorig bzw. die nächste Anweisung ist.
 

Anhänge

  • ClassStructure.zip
    128,1 KB · Aufrufe: 45
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

der letzte Eintrag ist schon eine her...ich versuch das mal wieder aufzugreifen.
Ich habe mich auch bei meinem letzten Arbeitgeber der Entwicklung eines Softwarestandards und darauf aufgesetzt einem Codegenerator für die SPS über TIA.Openess gewidmet.

Leider, wie ich hier auch schon gelesen habe wurde das Projekt als zu pflege-intensiv eingestuft und eingestampft. Das aber momentan ein E-Konstrukteur / Sofwareler mind. 3 Wochen pro Anlage für Vorbereitungen und "abtippselarbeit" vergeudet und dieser Aufwand auf wenige Stunden hätte reduziert werden können wollte keiner einsehen.

Die Projekt-Durchlaufzeit und die Qualität von Schaltplan und Software wäre sicherlich deutlich besser geworden...

Wir hatten dort das E-CAD ELTime im Einsatz. Sehr rudimentär im vergleich zu EPlan, aber immerhin mit einem Schaltplangenerator ausgestattet den ich auch noch gleich angebunden habe.

Somit konnte ich aus einer Excel-Datei (Export aus der mech. Konstruktion) Schaltplan und SPS Software auf Knopfdruck erzeugen. Also durchaus sinnvoll, aber leider verkannt. Auch bei Kollegen hatte ich teilweise den Ruf ihre Arbeitsplätze wegrationalisieren zu wollen :smile:

Ich habe mein Tool in das von Siemens zur Verfügung gestellte TIA Openess Demo integriert. Wen's interessiert, aus Youtube gibt's ein Bildschirmvideo von einer frühen, etwas rudimentären Version:

https://www.youtube.com/watch?v=f43TARWnrlk

Wer ist denn aktuell auch an solchen Themen dran?
Hallo zusammen,

der letzte Eintrag ist schon eine her...ich versuch das mal wieder aufzugreifen.
Ich habe mich auch bei meinem letzten Arbeitgeber der Entwicklung eines Softwarestandards und darauf aufgesetzt einem Codegenerator für die SPS über TIA.Openess gewidmet.

Leider, wie ich hier auch schon gelesen habe wurde das Projekt als zu pflege-intensiv eingestuft und eingestampft. Das aber momentan ein E-Konstrukteur / Sofwareler mind. 3 Wochen pro Anlage für Vorbereitungen und "abtippselarbeit" vergeudet und dieser Aufwand auf wenige Stunden hätte reduziert werden können wollte keiner einsehen.

Die Projekt-Durchlaufzeit und die Qualität von Schaltplan und Software wäre sicherlich deutlich besser geworden...

Wir hatten dort das E-CAD ELTime im Einsatz. Sehr rudimentär im vergleich zu EPlan, aber immerhin mit einem Schaltplangenerator ausgestattet den ich auch noch gleich angebunden habe.

Somit konnte ich aus einer Excel-Datei (Export aus der mech. Konstruktion) Schaltplan und SPS Software auf Knopfdruck erzeugen. Also durchaus sinnvoll, aber leider verkannt. Auch bei Kollegen hatte ich teilweise den Ruf ihre Arbeitsplätze wegrationalisieren zu wollen :smile:

Ich habe mein Tool in das von Siemens zur Verfügung gestellte TIA Openess Demo integriert. Wen's interessiert, aus Youtube gibt's ein Bildschirmvideo von einer frühen, etwas rudimentären Version:

https://www.youtube.com/watch?v=f43TARWnrlk

Wer ist denn aktuell auch an solchen Themen dran?
 
Da es dich ja zu interessieren scheint, hab Ich auch mal ein Video gemacht wie wir arbeiten.

https://youtu.be/5vhzbbDP6IY


  • Wir bereiten das Projekt in unserem Designer Tool vor (Symbolik einlesen, Layout zeichnen)
  • Danach erzuegen wir die Import Files über T4 Templates welche wir mit einem Objektbaum aus unserem Designer Tool versorgen
  • In den Generierten Files gibts noch eine TextDatei in der man sieht welche Ein bzw. Ausgänge aus der Symbolik nicht verarbeitet wurden.
  • Nun zieht man das Vorlagenprojekt auf eine Batch datei, und wir erzuegen damit ein Openness Scripter file, starten den scripter und importieren alles.

P.S. zum starten des TIA Portals nutzen wir auch noch ein kleines extra Programm, da man über Openness nicht den Benutzernamen & das Passwort eingeben kann wenn im Projekt Security einstellungen aktiv sind
 
Hallo Jochen,

geniale Sache. So in etwa hatte ich mir den Endausbau des Tools auch vorgestellt. Momentan kann ich nur für alle Objekte in der Export-Excel aus einem P&ID Standard-Funktionen mit den Attributen, die eben in der Excel enthalten sind versorgen und entsprechend für's TIA Portal aufbereiten. Durch einen grafischen Editor, wie er in deinem Video zu sehen ist könnte auch logische Verknüpfungen und Abhängigkeiten zwischen den Objekten erstellt werden um diese ebenfalls gleich ins TIA Portal zu jagen. Was ganz schön war, das auch der Schaltplan aus den Daten des P&ID generiert werden konnte.

Aber wie gesagt, wurde eingestampft. Deshalb ist es auch mein ehemaliger Arbeitgeber :)

Wenn ich das dem Video richten entnommen habt macht ihr damit Fördertechnik bzw. Hochregallager o.ä.? Das Tool HRL2 ist eure Eigenkreation nehme ich an?

VG
Sebastian
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja wir erzeugen Fördertechnik Programme damit. Eplan erzeugen steht dieses Jahr auch noch auf der Agenda.
Was bei uns halt viel bringt sind die T4 scripte, so können wir die Codegenerierung Kundenspezifisch anpassen.

Und mit 15.1 können wir auch ein großteil der ganzen Safety Logik erzeugen.

Das Tool heißt nicht HRL2, das ist unser Lager :)

Als Designer nutzen wir den WPF Editor von SharpDevelop, da ich den sowieso Maintaine.
 
das ist schön, aber die tia openness dll's sind nicht netstandard kompatibel! und z.b. der nächste netstandard wird vom full framework gar nicht mehr supported werden.

Meine Toolbox lib ist nun eine NetStandard Library, aber die TIA Extension DLLs dafür nicht. Weiß aber nicht was passiert wenn meine Bib die nun per Reflection in einer NetCore App nachläd. Müsste mal jemand testen.
 
es gibt verschiedenste anwendungen.
von net 4.5 ab
oder netstandard2.0
die siemens helper dlls werden dann dynamisch nachgeladen.
ich schätze das schlägt bei falscher version dann fehl.
 
Danke für die Info.
Ich hätte eine zusätzliche Frage: besteht die Möglichkeit Objekte in TIA Projekten zu erstellen (importieren), ohne unbedingt XML Dateien vorher zu erstellen? Ich meine ob es möglich wäre die zu importierenden XML Inhalte als MemoryStreams in RAM zu halten statt als physikalische Dateien.
 
Zurück
Oben