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

Results 1 to 4 of 4

Thread: Openess Project-Instanz bei Anhängen an Prozess

  1. #1
    Join Date
    16.11.2018
    Location
    Aachen
    Posts
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Die TIA Openess API V15 stellt eine Möglichkeit bereit, sich an laufende Prozesse des TIA Portals anzuhängen (via Attach()), was problemlos funktioniert. Es ist auch möglich, dass in TIA bereits ein Projekt geöffnet ist.

    Leider finde ich keine Möglichkeit in diesem Fall an die Project-Instanz zu gelangen, die man benötigt, um projektspezifische Funktionalität anzusteuern. Die mir bekannten Wege eine Project-Instanz zu erhalten sind die Funktionen Create(), Open() und OpenWithUpgrade(), die jedoch allesamt nicht zu funktionieren scheinen, wenn bereits ein Projekt in TIA geöffnet ist. Dies gilt auch für den Projektpfad des bereits geöffneten Projektes, das über die ProjectPath-Eigenschaft abgefragt werden kann, bevor man sich über Attach() an einen Prozess anbindet.

    Ich würde ungern selbst ein Projekt über die API anlegen bzw. öffnen, da ich zu diesem Zweck eine Eingabemöglichkeit erstellen müsste, die ohnehin schon in TIA umgesetzt ist. Kennt jemand eine Möglichkeit für ein bereits geöffnetes Projekt eine Project-Instanz abzurufen?

    Code:
    var process = TiaPortal.GetProcesses().First();
    var projectPath = process.ProjectPath;
    
    using (TiaPortal portal = process.Attach())
    {
        // var project = ?
        // var project = portal.Projects.Open(projectPath); -> Exception
    }
    Reply With Quote Reply With Quote Answered: Openess Project-Instanz bei Anhängen an Prozess  

  2. "portal.Projects.First(); sollte denke ich funktionieren."


  3. #2
    Join Date
    18.05.2017
    Posts
    182
    Danke
    4
    Erhielt 38 Danke für 25 Beiträge

    Default

    portal.Projects.First(); sollte denke ich funktionieren.

  4. #3
    lu.koerfer is offline Neuer Benutzer
    Themenstarter
    Join Date
    16.11.2018
    Location
    Aachen
    Posts
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default

    Ich kann es wohl erst im neuen Jahr validieren, aber ja, Projects.First() bzw. allgemein die Verwendung der IEnumerable ProjectComposition dürfte die Lösung sein. Ich kann mir gerade selbst nicht erklären, wie ich nicht darauf kommen konnte, da ich zuvor noch versucht hatte, bei keinem geöffnetem Projekt über diese Aufzählung die zuletzt aufgerufenen Projekte abzufragen. Da eine Project-Instanz jedoch immer ein geöffnetes Projekt beschreibt, hätte diese andere Bedeutung keinen Sinn gemacht

  5. #4
    lu.koerfer is offline Neuer Benutzer
    Themenstarter
    Join Date
    16.11.2018
    Location
    Aachen
    Posts
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Quote Originally Posted by Häns View Post
    portal.Projects.First(); sollte denke ich funktionieren.
    Funktioniert wie erwartet!

Similar Threads

  1. TIA Openess Scripter -> V15 support
    By Jochen Kühner in forum Simatic
    Replies: 8
    Last Post: 11.02.2018, 00:26
  2. Mal wieder TIA-Openess
    By Matze001 in forum Hochsprachen - OPC
    Replies: 0
    Last Post: 22.03.2017, 19:32
  3. Replies: 0
    Last Post: 28.04.2009, 18:38
  4. DB-Nr vom Instanz-DB bei Anypointern?
    By Mangokind in forum Simatic
    Replies: 9
    Last Post: 05.02.2009, 08:28
  5. Replies: 13
    Last Post: 18.01.2008, 12:47

Tags for this Thread

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
  •