Problem beim auslesen von SPS-Variablen-Deklarationen

JoergHedt

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

wiedermal ein Anfängerproblem:

Kann kein Variablendeklarationen entsprechend VC++ ADS-Beispiel auslesen.
Als ADS-Returncode erhalte ich immer 1808=Symbol not found.

-Habe im Twincat System-Manager ein EtherCAT Gerät angelegt und eine Box hinzugefügt. Diese enthält einige (Dummy-)Variablen (in Eingangs- und Ausgangsgruppe).

-Im EtherCAT Gerät habe die Option Symbole erzeugen aktiviert.

-Weiterhin habe ich eine zusätzliche Task erzeugt (Prozessabbild, Port 301) und eine Variablenverknüpfung zur ersten Dummy-Variable (Port: 301, IGrp: 0xF020, IOffs: 0x0, Len: 4) sowie Zuordnung angelegt.

Meiner Meinung nach müsste ich diese Variablen jetzt auslesen können.
Doch schon die erste Funktion
nErr = AdsSyncReadReq(pAddr, ADSIGRP_SYM_UPLOADINFO, 0x0, sizeof(tAdsSymbolUploadInfo), &tAdsSymbolUploadInf)schlägt mit oben genanntem Fehler fehl.

Habe ich etwas falsch verstanden?

Grüße Jörg.
 
Problem gelöst

An alle die auch das Problem haben:

Offensichtlich kann man die Variablen einer Task nicht auslesen, wenn Twincat nicht läuft (im Config/Stop Mode), obwohl die Variablen und Tasks im System-Manager schon angezeigt werden.

Ich wollte also bis zum Eintreffen der Hardware (Ethercat-Slave) schon mal "auf Vorrat" implementieren und in diesem Zusammenhang die Deklaration der (bereits sichtbaren) Variablen auslesen.

Das aber funktionierte erst, nachdem ich testweise als Gerät den COM-Port meines PC's zur E/A Konfiguration hinzugefügt hatte (Das EtherCAT Gerät hatte ich zuvor wieder entfernt).
Danach konnte ich Twincat in den Running Mode bringen und siehe da, ich konnte auch die Variablendeklarationen auslesen!

Vielleicht hilft dem einen oder anderen diese Erkenntnis.

Herzliche Grüße.
 
Zurück
Oben