# eCockpit Visu zoomen



## Passion4Automation (26 Mai 2022)

Hallo zusammen,

Meine erstellte Visu ist leider in der Wago Visu App nicht zum zoomen.
Wie geht ihr damit um?

Eine Möglichkeit wäre, auf dem Controller liegt ja die .htm Datei, hier muss eine Zeile für den viewport eingetragen werden, dann funktioniert es, beim nächsten Download ist es aber wieder alles überschrieben.

2te Möglichkeit.
Nochmal 30 Visuseiten erstellen und die speziell fürs Handy einrichten.

Wie macht ihr das.?

Danke


----------



## KLM (27 Mai 2022)

Moin, geht es denn nicht, wenn Du im Visu-Manager "Multitouch" aktivierst?
Edit: Wenn Du wirklich die htm Datei verändern willst, musst Du das applikativ mit WagoAppFileDir Funktionen machen. Für ein z.B. ein Favicon ist das der einzige Weg. Für zoom ist das aber nicht erforderlich.


----------



## holgermaik (27 Mai 2022)

goifalracer schrieb:


> Wie macht ihr das.?


zwei komplett von einander unabhängige Visu. Eine für PC und eine für mobile Endgeräte.


----------



## Passion4Automation (27 Mai 2022)

Danke für die Tipps.
Werde jetzt vorerst mal die Variante mit der angepassten .htm machen.
Die Datei muss halt nach jedem Download  erneut editiert werden.

Mir ist der Aufwand zu groß um nochmal 30 visupages zu erstellen, vermutlich werden es noch mehr weil am handy weniger Platz ist. Zu 98% wird bei mir  die Visu am Tablet genutzt.

@ KLM mit Multitouch funktioniert es nicht.


----------



## KLM (27 Mai 2022)

Welche e!C Version mit welcher Firmware setzt Du ein? In älteren Versionen gab es an dieser Stelle mal Probleme, wenn ich mich recht erinnere.
Ich überschreibe wegen dem Favicon auch bei jedem Reboot/Reset/Download die htm Datei. Anstelle die htm einzulesen und einzelne Teile zu editieren, überschreibe ich die aber einfach immer vollständig. Ist auch kein Hexenwerk.


----------



## KLM (27 Mai 2022)

Hab noch mal in meinen Notizen nachgesehen. Also ab FW(13) ist das wohl so. Ob das bis heute so ist, kann ich nicht sagen, weil ich die die Datei ja überschreibe.
Für das Zoomen musst Du folgendes ändern.
<meta name="viewport" content="user-scalable=yes">
Ich mache das in einem Programm wie folgt. Bitte beachten, dass da das Favicon mit drin ist und die Auflösung der Visu.

VAR
    sFileName            : WagoAppFileDir.FileName := '/home/codesys/PlcLogic/visu/webvisu.htm';
    sNewContent            : STRING(1024) := 
'<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="initial-scale=1.0">
    <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
    <script language="javascript" src="webvisu.js"></script>
    <script language="javascript" src="browsercontrol_ext0.js"></script>
    <link rel="icon" href="favicon.png" type="image/png">
</head>
<body onload="new Webvisu($'background$', $'foreground$', false, false)">
    <div id="cdsRoot" style="position: absolute; left: 0px; top: 0px; width: 360px; height:780px; overflow:hidden">
        <canvas id="background" width="360" height="780" style="position: absolute; left: 0px; top: 0px;">Webvisu not supported due to missing browser feature HTML5-Canvas</canvas>
        <canvas id="foreground" width="360" height="780" style="position: absolute; left: 0px; top: 0px;">Webvisu not supported due to missing browser feature HTML5-Canvas</canvas>
    </div>
</body>
</html>';

    fbFile                : WagoAppFileDir.FbGeneralFile;
    usiStep                : INT;
    xStart                : BOOL:=TRUE;
END_VAR

VAR_OUTPUT
    xDone                : BOOL;
    xError                : BOOL;
    eError                : WagoAppFileDir.eResultCode;
END_VAR
===========================================================
fbFile();

CASE usiStep OF 
    0: //open file with write rights
        IF xStart THEN
            fbFile.Open(sFileName, WagoAppFileDir.eFileAccessMode.FAM_Write, WagoAppFileDir.eFileSyncMode.FSM_Regular, FALSE);        
            usiStep := 10;
            xDone := FALSE;
            xError := FALSE;                        
            xStart := FALSE;
        ELSE
            xDone := TRUE;
        END_IF
    10: //overwrite file
        IF fbFile.xIsOpen THEN
            fbFile.Write(ADR(sNewContent), WagoAppString.StrLength(sNewContent, SIZEOF(sNewContent)));
            usiStep := 20;
        ELSIF fbFile.xError THEN
            usiStep := 99;    
        END_IF
    20: //close file
        IF fbFile.xTerminated THEN
            fbFile.Close();
            usiStep := 30;
        ELSIF fbFile.xError THEN
            usiStep := 99;    
        END_IF
    30: //is closing finished ?
        IF fbFile.xTerminated THEN
            usiStep := 0;
        ELSIF fbFile.xError THEN
            usiStep := 99;    
        END_IF
    99: //error counter
        xError := TRUE;
        usiStep := 0;
        eError := fbFile.eResult;        
END_CASE


----------



## Passion4Automation (27 Mai 2022)

Danke.
Also funktionieren tut es, weil ich es schon am laufen habe. Habe nur nach einer eleganteren Lösung  gesucht.
Ich hab das aktuelle eCockpit und die aktuelle Firmware drauf..
Ich teste deine Lösung auch mal.


----------



## holgermaik (27 Mai 2022)

Das Problem ist halt wenn deine Visu für ein 12Zoll Touchpannel (oder größer) erstellt wurde ist die Bedienung auf einen Handy schon sehr unübersichtlich.
Auf der Visu für Handy habe ich maximal 10% der Eingabemöglichkeiten realisiert (Grundfunktionen) für alles andere muss dann das Pannel her.


----------



## Hirschi (18 November 2022)

Hallo,

diverse Viewporteinträge, Multitouch usw. helfen leider nicht. Auch wird beim Download, wie öfter zu lesen, wird die Webvisu.htm vom System nicht überschrieben. Hat sich da schon wieder etwas geändert? Hab PFC200G2 mit FW17 in 1.11.02 am Testen.
Generell liest man ja nicht allzu viel über die Zoom-Problematik. Ist das für die meisten nicht wichtig oder nur in Ausnahmefällen nicht funktionstüchtig?
Hat noch jemand weitere Tipps, was ich noch testen könnte?

Danke und Gruß
Andreas


----------



## Passion4Automation (18 November 2022)

Frag mal beim Wago Support nach, normal haben die eine Lösung für Dich.
Es muss im Grunde der Viewport geändert werden. Ist ein bisschen HTML in ST mit Stringoperationen. 

Im Allgemeinen ist die Visu nicht für kleine Displays ausgelegt, deswegen kommen hier und da Probleme auf.


----------

