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

Ergebnis 1 bis 4 von 4

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

  1. #1
    Registriert seit
    16.11.2018
    Beiträge
    3
    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
    }
    Zitieren Zitieren Gelöst: Openess Project-Instanz bei Anhängen an Prozess  

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


  3. #2
    Registriert seit
    18.05.2017
    Beiträge
    145
    Danke
    3
    Erhielt 33 Danke für 20 Beiträge

    Standard

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

  4. #3
    lu.koerfer ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.11.2018
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    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 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.11.2018
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Häns Beitrag anzeigen
    portal.Projects.First(); sollte denke ich funktionieren.
    Funktioniert wie erwartet!

Ähnliche Themen

  1. TIA Openess Scripter -> V15 support
    Von Jochen Kühner im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 11.02.2018, 01:26
  2. Mal wieder TIA-Openess
    Von Matze001 im Forum Hochsprachen - OPC
    Antworten: 0
    Letzter Beitrag: 22.03.2017, 20:32
  3. Antworten: 0
    Letzter Beitrag: 28.04.2009, 19:38
  4. DB-Nr vom Instanz-DB bei Anypointern?
    Von Mangokind im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 05.02.2009, 09:28
  5. Antworten: 13
    Letzter Beitrag: 18.01.2008, 13:47

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •