TIA FOR Schleife im Script

aleXandroW

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

ich möchte gerne eine Schleife in mein Script einbauen um meine Rezepte als CSV Datei abzuseichern. In erster inie geht es um die Einbindung der Laufvariable in meine Rezetvariablen.

Mit der Schelife möchte ich meine Rezete durchlaufen, die als Array angelegt sind.
So sieht der Code aus.

Code:
For  i=1 To 2
    dateiname = SmartTags("Rezeptverwaltung_Rezept{1}.Rezeptkopf.Rezpetbezeichnung")
    
    'Datei mit Rezeptnamen anlegen
    ordner = "\Storage Card SD\Rezepte"
    datei = "\Storage Card SD\Rezepte\" & dateiname & ".csv"

Statt der {1} im Code will ich die Laufvariable verweden, aber einfach "i" reinzuschreiben funktioniert nicht.
 
Hallo aleXandroW,

mit folgender Änderung sollte es gehen:

Code:
For  i=1 To 2
   [COLOR=#FF0000] dateiname = SmartTags("Rezeptverwaltung_Rezept{" & i & "}.Rezeptkopf.Rezpetbezeichnung")[/COLOR]
    
    'Datei mit Rezeptnamen anlegen
    ordner = "\Storage Card SD\Rezepte"
    datei = "\Storage Card SD\Rezepte\" & dateiname & ".csv"
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich meine mich zu erinnern, daß SmartTags() es manchmal nicht mag, wenn der Tagname innerhalb der Klammer zusammengesetzt wird. Dann sollte es so gehen:
Code:
For  i=1 To 2
    [COLOR="#FF0000"]rezept = "Rezeptverwaltung_Rezept{" & i & "}.Rezeptkopf.Rezpetbezeichnung"
    dateiname = SmartTags(rezept)[/COLOR]

    'Datei mit Rezeptnamen anlegen
    ordner = "\Storage Card SD\Rezepte"
    datei = "\Storage Card SD\Rezepte\" & dateiname & ".csv"

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Damit das natürlich funktionieren kann muss in den Grundeinstellungen "Runtime-Einstellungen\Allgemein" noch "Namen laden" eingestellt/aktiviert sein.
Ansonsten kann die Visu sich die Variablen-Namen gar nicht zusammen-basteln ...

Gruß
Larry
 
Ok das geht soweit. Nun habe ich das Problem, dass er bei i=2 Fehler ausspuckt: No Tag. Kann es sein, dass er die Variable noch nicht gelesen hat? Diese Problematik gibt es ja öfters in dem Forum. Dann habe ich das mit diesem GetDataRecordFromPLC ausprbiert und dann ie Schleife laufen lassen. Leider gleiches Problem: No Tag.
 
Du mußt bei dieser Vorgehensweise beachten, dass der Zugriff auf die tatsächliche Variable über den TextString erfolgt, den du dir zusammenbastelst. Das heißt, dass der String inhaltlich GANZ GENAU so aussehen muss wie der eigentliche Variablenname.
Ich vermute, dass du in deinem Variablen-Namen(2) vielleicht noch ein Leerzeichen mit drin hast (oder eben umgekehrt nicht mit drin hast) und das System die Variable so nicht ansprechen kann.
Du könntest jetzt folgendes machen :
- du baust dir deinen String zusammen und läßt ihn dir mit ShowSystemAlarm anzeigen - so siehst du dann am ehesten, ob und wo ggf. etwas falsch laufen könnte ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
"No Tag" heißt, daß es in der HMI-Projektierung keine HMI-Variable mit dem in der Meldung angegebenen Name gibt, vermutlich "Rezeptverwaltung_Rezept{2}.Rezeptkopf.Rezpetbezeichnung"

Harald
 
Zurück
Oben