Codesys 3 Variable via Name schreiben

BitShift

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

Kann man bei Codesys 3 eine Variable via deren Name als String schreiben? Also +/- so, dass ich eine Datei öffne, dort drin steht dann z.B. myVar="TRUE", diese Werte lesen ich dann z.B. in die Variablen «string name» und «bool value», in Codessys will ich dann die Variable so schreiben: WriteSymbolValueByName(name, value).

Danke für eure Hilfe im Voraus

BitShift
 
Moin, ich bin nicht sicher, ob das der richtige Zugang ist, bzw. ich überhaupt richtig verstehe, was das eigentliche Ziel ist, aber mit der Funktion __VARINFO() bekommst Du auch den symbolischen Namen der Variable sowie einen Pointer auf den Wert. Was Du suchst ist aber glaube ich eher die Rezeptverwaltung. In der Rezeptur definierst Du Variablen und kannst dann zur Laufzeit deren Werte aus einer Rezeptdatei auf den Wert der Variable schreiben. Oder andersherum den Wert der Variablen in eine Datei.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
wie KLM schon schreibt, bekommst du über varinfo den namen und wert der var ...
das könnte man in ein file schreiben ...
beim einlesen bleibt dir aber wohl nichts anders übrig als den string varname zu parsen und den wert dann zuzuweisen ...

es gibt auch bausteine für xls / csv - export und import - vll ist das der einfachere weg ...
 
Danke euch beiden. Das mit dem Rezepturverwalter habe ich versucht. Funktioniert relativ einfach und gut. Das einzige Problem, es gibt «nur» eine Fehlermeldung, wenn in der Rezeptdatei eine definierte Rezept-Variable fehlt. Ist eine Rezept-Variable zu viel in der Datei, ist der Rückgabewert von RecipeManCommands LoadAndWriteRecipe gleich 0 (Null). Das mit der «Pars-Liste» wäre auch nicht schlecht. So könnte beim Neu-Start (Kalt/Warm) die Liste jeweils aktualisiert werden, dann könnte man in der Liste die Variable suchen und via Adresse schreiben. Wird die Variable nicht gefunden, gibt es eine Fehlermeldung.
 
Bevor Du die ganze Rezeptverwaltung nachbaust, bist Du sicherlich einfacher unterwegst, wenn Du die Rezeptverwaltung verwendest und nur im Fehlerfall die Rezeptdatei mit Dateifunktionen (open, read, close) ausliest und applikativ, z.B. in Kombination mit __VARINFO() überprüfst.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
naja, ich muss zugeben, ich habe mir auch schon einmal eine rezept-verwaltung-light selbst gebaut ..es war mir einfach lästig, dass für jede rezeptur eine eigene datei erzeugt wird, und in meinem fall die anzahl der rezepte miemals mehr als 20 werden konnte ... bei somachine war die rezeptverwaltung auch etwas buggy - läuft erst seit machineExpert sauber.
 
Zurück
Oben