# TIA openness (V13SP1): Automatisierung Import



## dornbe (23 Juni 2015)

Hi liebe Forengemeinde

Bin neu hier und beschäftige mich seit kurzem mit der TIA Openness Schnittstelle (leider mittlerweile ein wenig ernüchtert).
Mein Ziel ist es via Openness Gerätekonfigs , sowie Bausteine automatisiert zu importieren.

ad Geräte:
 #Ansehen und Enumerieren, ja, aber export nur proprietär, import überhaupt nicht?
 FRAGE: Gibt es hier ev eine undok. Möglichkeit eine Gerätekonfig zu importieren (oder zumindest eine minimale CFG automatisiert zu erstellen.?

ad Code:

Da es sich um SCL Code handelt, fällt der XML Import schon mal aus.
Der API basierte Import über externe Quellen ist jedoch unflexibel und praktisch ohne jedes programmatisch auswertbare Feedback (abgesehen von Exceptions bei Fehlschlag).

# Bei Import von abhängigen Bausteinen (Baustein A ruft Baustein B auf) muss ein externes Management der Dependencies erfolgen, d.h. man muss zuerst B importieren, dann A.
# Man kann einen SCL Baustein nur im Root ProgramBlockfolder erstellen. Die entsprechenden Methode von ExternalSource hat keine Parameter und gibt auch kein Feedback. Ein nachträgliches Verschieben mit dem ProgramBlockFolder/IBlockAggregation-API ist hier auch nicht möglich, weil die API auf der Bausteinstruktur nur lesen lässt (Löschen eines Bausteins geht, aber ein Einfügen ist nicht möglich).

FRAGE: Gibt es hier doch eine (undokumentierte) Möglichkeit via API oder Annotation des Quellcode, die das Platzieren eines generierten Bausteins in einer Untergruppe des Root ProgramBlockFolder ermöglicht?

FRAGE: Gibt es seitens Siemens irgendwo eine Roadmap zu TIA Openness, d.h. wann sind welche Features zu erwarten (oder wars das schon? ).

Vielen Dank für Eure Infos!
Bernhard


----------



## mayk (15 Oktober 2015)

>> FRAGE: Gibt es hier doch eine (undokumentierte) Möglichkeit via API oder Annotation des Quellcode, die das Platzieren eines generierten Bausteins in einer Untergruppe des Root ProgramBlockFolder ermöglicht?


   Auf diese Frage ein klares Jain. Ich habe auch keinen API-basierten Weg gefunden. Aber einen Workaround: Wenn es den Baustein einmal gibt, kann man ihn in den Ordner* seiner Wahl verschieben. Wenn man dann später nochmal importiert, dann bleibt der Zielbaustein in dem Ordner, in den man ihn verschoben hatte. 


   Im Angesicht der verpatzten Chance, die TIA-innovativen Ordner als Namespaces zu benutzen ist der Workaround wahrlich alles andere als perfekt aber immer noch das kleinere von vielen Übeln. 


   *augenscheinlicher Siemens-Sprech für Ordner: auf englisch „Folder“, auf deutsch „Gruppe”; vgl. Projektstruktur -> RMT -> „Gruppe hinzufügen“ *ROFL*


   nb: Der Blick auf Undokumentiertes lohnt sich in TIA.


----------



## blue_sky (4 August 2017)

Hallo Bernhard,
stehe vor dem exakt gleichen Problem (benutze allerdings V14 SP1). Bin gerade noch am einlesen und Informationen sammeln.
Wie hast du das mittlerweile gelöst?

Vielen Dank im Voraus!
Alex


----------

