TwinCat3: Globale Variablen können mit .net-Bibliothek nicht ausgelesen werden- 0x710

rabjen.iwes

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

ich bin ziemlich neu in diesem Bereich und habe ein Problem mit globalen Variablen. Aus der SPS habe ich eine globale Variable vom Typ INT mit dem Namen ".intJens", siehe Screenshot.
2015-11-09 10_51_59-ADSNET_Testprojekt_VBSample07 - Microsoft Visual Studio.jpg

Wenn ich nun mit der .net-Bibliothek folgendes versuche:
Code:
var client = new TcAdsClient();
client.Connect("1.2.3.4.5.6", 851); // 1.2.3.4.5.6 sei die NetId von meiner SPS
var hInt = client.CreateVariableHandle(".intJens");

dann bekomme ich bei dem CreateVariableHandle eine Exception, und zwar: 0x710 : Symbol could not be found.

Habe ich irgendwas vergessen? Wenn ja, was?

EDIT: Ich habe etwas weiter herumgespielt, und wenn ich nicht nur einen Punkt, sondern GVL davor stelle, also GVL.intJens benutze, geht es. Jetzt stellt sich aber die Frage, warum im Infosys immer nur der führende Punkt angegeben wird...
 
Zuletzt bearbeitet:
.intJens ist die TwinCAT2 Notation. D.h. alle Variablen in einer globalen Variablenliste hatten keinen weiteren Präfix unabhängig wo sie definiert wurden.
Das kann man in TwinCAT3 auch so definieren (->sichtwort Pragma), aber per Default musst du nun den Namen der Globalen Variablenliste angeben. Bei dir eben "GVL".

Ach ja: NetID 1.2.3.4.5.6 provoziert zu Problemen. Jedes System hat eine Hauptadresse die da heisst a.b.c.d.1.1 . Je nach HW-Konstellation kann dann über die Bussysteme noch auf bis auf die einzelne Klemmen explizit adressiert werden. Das erfolgt dann über die Abänderung von 1.1.
Tu dir und anderen einen gefallen und setze die ADS-ADresse deines Rechners auf irgendwas mit .1.1
Sonst fährst du eine Ausnahme von der Regel und irgendwann mal geht was schief.
Guga
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

1.2.3.4.5.6 ist nur ein Beispiel, meine "echte" NetID endet tatsächlich auf .1.1.

Aber danke für die Erklärung mit der Variablenliste. Konnte im Infosys auf die Schnelle nichts passendes dazu finden, aber da weiß ich bescheid. Das GVL-Präfix zu nutzen ist auch nicht so schlimm, man muss es nur wissen...
 
Zurück
Oben