# Codesys Visualisierung durch Variable aufrufen



## Hinnnas (29 Januar 2015)

Moin Moin,

ich habe soeben meine erste CoDeSys-Target-Visualisierung mit 2.3.9...fertig gestellt. Nun fehlt mir nur eine Kleinigkeit und hoffe, dass mir hier jemand helfen kann: 

Ich möchte auf meinem Target eine bestimmte Visualisierung öffnen, sofern eine bestimmte Netzvariable den Wert TRUE annimmt. Also eigentlich nur auf eine globale Variable reagieren, durch Wechseln der Visu. 

Pseudocode:

IF umschaltung=TRUE THEN
    ZOOM_TO_VIS(visu_seite2)
END_IF

Jemand eine Idee? Hab die libs schon durchforstet, leider nicht fündig geworden... Danke im Voraus!!!


----------



## shrimps (29 Januar 2015)

Hi,
in meinen ersten Testings hatte ich es so hinbekommen:


```
IF bVisu_SchalterHome = TRUE THEN
    (* Homescreen *)
    CurrentVisu := 'MAIN';
END_IF;
```

LG
Shrimps


----------



## Hinnnas (30 Januar 2015)

Juhuu, Danke vielmals, das funktioniert!

Dabei scheint wichtig zu sein, dass der Name der Visualisierung in GROßBUCHSTABEN geschrieben wird.

Viele Grüße


----------



## Niklas96 (26 November 2015)

Hey hätte dazu nochmal eine Frage,
ich möchte einen Button in die Visualisierung einbinden, um auf den Desktop zurück zu kehren, bzw. das Programm komplett zu schließen. Ist das ebenfalls mit dem oben genannten möglich?

Gruß Niklas


----------



## Morymmus (26 November 2015)

Wenn ich Dich recht verstehe möchtest Du die Visualisierung beenden?
Mit der Variable CurrentVisu läßt sich meines Wissens nur die aktuell angezeigte Visu auslesen bzw. vorgeben.


Die Codesys-Hilfe sagt hierzu: 


> EXITPROGRAM
> 
> 
> Der Befehl zum Beenden
> ...



In wie weit man mit diesen INTERN LINK Befehlen das Beenden der Visu auslöst erschließt sich mir allerdings gerade nicht.


----------



## Niklas96 (26 November 2015)

So wie ich das richtig verstehe, ist das Exit Programm für eine Web-Visu ausgelegt oder?
Bei mir geht es darum, dass die Visu auf einem Touch Bildschirm/Computer ausgeführt wird und ohne Tastatur (somit durch einen Button) wieder geschlossen werden soll.


----------



## Morymmus (26 November 2015)

Wenn Du mal in der CoDeSys-Hilfe nach "Intern Link" suchst findest Du die Liste, die ich zitiert habe - was ich nicht mit kopiert habe ist der Hinweis, das der Befehl "Exitprogram" weder für die Web- noch für die Target-Visualisierung zur Verfügung stehen.

Wie gesagt, wie man die entsprechende Funktion durch "INTERN LINK" nachbauen können soll, verstehe ich gerade noch nicht.


----------



## Hamsi (26 November 2015)

Hallo,

das mit EXITPROGRAM funktioniert auch bei einer "normalen" nicht WebVisu.
Verwende es selber bei mir.




Beendet aber nur die Visu, es beendet/ stoppt nicht das Programm im Hintergrund
Hoffe das hilft dir weiter.

... ist bei TwinCAT so, da dies ebenfalls auf CoDeSys besiert solte es ebenfalls klappen.


----------



## egro (9 Mai 2017)

Ich habe den Code von Shrimps ausprobiert.

Das funktioniert bei mir nicht.
Ich habe den in ein PRG geschrieben und im PLC_PRG aufgerufen.

Ich möchte wenn eine bestimmte Variable auf TRUE geht, in der Visu auf eine andere Visu wechseln (von Visu_1 auf Visu_2).

Was muss ich noch machen?


----------



## holgermaik (9 Mai 2017)

```
IF bVisu_SchalterHome = TRUE THEN
    (* Homescreen *)
    CurrentVisu := 'MAIN';
END_IF;
```

Um bei dem Code zu bleiben
Die Variable " bVisu_SchalterHome" musst du z.B. bei einem Button unter Eigenschaften -> Eingabe ->  Variable tasten angeben.
"CurrentVisu" ist eine Systemvariable, die du unter Zielsystem -> Einstellungen -> Visu freigeben musst.

Holger


----------



## egro (10 Mai 2017)

Der kleine Haken bei den Einstellungen im Zielsystem war der grosse Haken!!!
Vielen Dank...


----------

