TIA Siemens Openness Felermeldung NullReferenceException

marcel02

Level-1
Beiträge
12
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe folgendes Problem und hoffe, dass mir jemand von euch helfen kann.

Ich versuche HMI Daten mittels Openness API und Visual Studio aus einem Projekt zu exportieren. Allerdings bekomme ich als Wert bei hmiTarget (gelb markiert) immer nur Null zurück gegeben, sodass eine Ausnahme entsteht und das Programm nicht zum Export der Datei kommt.

Weiß jemand von euch was ich hier falsch mache und kann mir eventuell helfen das Problem zu lösen?

Grüße
Rückgabewert Null.PNGMarcel
 
Noch eine kurze Anmerkung, die Screens und HMI Variablen sollen von einem Unified Panel exportiert werden
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, wenn ich das richtig verstehe gehst du eigentlich durch deine verschiedenen Typen innerhalb eines Projekts.

Du prüfst anhand der SoftwareBase ob das aktuell durchgeloopte Objekt wirklich ein HMITarget ist, in deinem Fall hast du vermutlich davor noch ein SPS-Programm oder ein anderes Projekt in deiner TIA Applikation.

Du solltest noch einmal eine If-Anweisung machen und prüfen ob das aktuell durchgeloopte Objekt wirklich das HMITarget ist.


Eventuell so:
C#:
if hmiTarget.GetType() == typeof(HmiTarget)
{
    // Do something
}

MfG
 
Vielen Dank schonmal für die schnelle Antwort!
Hallo, wenn ich das richtig verstehe gehst du eigentlich durch deine verschiedenen Typen innerhalb eines Projekts.

Du prüfst anhand der SoftwareBase ob das aktuell durchgeloopte Objekt wirklich ein HMITarget ist, in deinem Fall hast du vermutlich davor noch ein SPS-Programm oder ein anderes Projekt in deiner TIA Applikation.

Du solltest noch einmal eine If-Anweisung machen und prüfen ob das aktuell durchgeloopte Objekt wirklich das HMITarget ist.


Eventuell so:
C#:
if hmiTarget.GetType() == typeof(HmiTarget)
{
    // Do something
}

MfG

Ja also ich versuche aus meinem SPS- Programm die HMI Daten zu exportieren.
Ich habe nun den Code unter: HmiTarget hmiTarget = softwareContainer.Software as HmiTarget; eingefügt.
Leider erhalte ich aber das gleiche Ergebnis wie vorher, was ich allerdings nicht ganz verstehe, da der softwareContainer ja auch nicht null ist.
 
Interessant wäre wenn du mal einen Breakpoint dort setzt und eventuell den Inhalt von der softwareBase prüfst.
Wäre interessant welches Objekt er dort enhält.
 
Zurück
Oben