# WinCCflexible: interne Variable abfragen



## vita-2002 (5 Oktober 2009)

Ich habe ein kleines Problem: ich möchte eine interne Variable beim MP277 mit WinAC MP abfragen (im Steuerung auswärten), leider funktioniert es nicht. Ich habe mit einem Script versucht, ohne Erfolg.



> If (SmartTags("WLC_LED_EXTF")) = True Or
> (SmartTags("WLC_LED_BUSF1")) = True Then
> SmartTags("TEST") = True
> Else SmartTags("TEST") = False
> If End


Wie kann ich überhaupt eine interne Variable abfragen?


----------



## volker (5 Oktober 2009)

zu winac mp kann ich nichts sagen.

aber grundsätzlich kannst du im script eine interne var genauso benutzen wie eine an die steuerung gebundene.

wird das script denn bearbeitet?
sind genannte vars alles 'interne' ?


----------



## vita-2002 (5 Oktober 2009)

Die Variablen "WLC_LED_EXTF" und "WLC_LED_BUSF1" sind intern. Nichts anders als die LED's beim normalem Steuerung. "TEST" ist eine externe Variable (Merker), die im Steuerung abgefragt wird.
Script wird im Starbild aktiviert.


----------



## Paule (5 Oktober 2009)

Rufe doch mal zum testen das Script öfter auf.
Z. B.: im Sekundentakt oder so, ob es überhaupt geht.


----------



## vita-2002 (5 Oktober 2009)

Upps, wie kann ich das alles prüfen?


----------



## Paule (6 Oktober 2009)

vita-2002 schrieb:


> Upps, wie kann ich das alles prüfen?


Was meinst Du mit "alles prüfen"? 

Ich hatte auch schon mal Probleme bei Startereignissen, da habe ich zum Testen einfach einen Analogwert genommen der sich die ganze Zeit ändert und habe gesagt:
Bei Wertänderung > Ausführen Script
So konnte ich den Fehler schneller finden.


----------



## Larry Laffer (6 Oktober 2009)

... werde doch mal etwas konkreter ... was hast du mit dieser internen Variablen vor ?
Soll sie einen Zwischenwert von etwas speichern und anzeigen ? - Das geht ...
Soll bei Wertänderung von ihr ein Script ausgeführt werden ? - Das geht bei internen Variablen nicht ...

Gruß
LL


----------



## vita-2002 (6 Oktober 2009)

Problem gelöst. Script sollte so aussehen:



> If (SmartTags("WLC_LED_EXTF")) > 0 Or
> (SmartTags("WLC_LED_BUSF1")) > 0 Then
> SmartTags("TEST") = True
> Else SmartTags("TEST") = False
> End If



Wird mit Lebensbit vom OP aufgerufen.

Mit dem Script will ich abfragen, ob WinAC MP und Slave's komplekt hochgelaufen sind.


----------



## Larry Laffer (6 Oktober 2009)

... das könntest du dann allerdings auch so machen :
	
	



```
SmartTags("TEST") = (SmartTags("WLC_LED_EXTF") > 0) or (SmartTags("WLC_LED_BUSF1") > 0)
```
Gruß
LL


----------

