Web-Visualisierung, Problem mit Tasten von globalen BOOL-Variablen

Sireth

Level-1
Beiträge
24
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Forumsgemeinde,

Ich möchte über ein Tast-Element einer Webvisualisierung eine globale BOOL-Variable tasten. Das hat eigentlich alles schon mal funktioniert und ich habe keine Ahnung was nun anders ist, dass es nicht mehr klappt.
Folgende Situation:
globale Variable über Input, tap funktioniert in der PLC-Visualisierung, jedoch nicht in der Webvisualisierung
Variable in MAIN über Input, tap, welche die globale Variable überschreibt funktioniert auch in der Webvisualisierung
globale Variable über Textinput mit NumPad funktioniert nicht in der Webvisualisierung
globale Variable über Textinput mit KeyPad funktioniert

In der PLC-Visualisierung funktioniert alles...

Hat jemand eine Ahnung woran das liegen kann? Gibt es irgendwelche speziellen Einstellungen, die beispielsweise das Tasten globaler Variablen über die Webvisualisierung verhindern? :confused:
 
Ok, ich habe die Webvisualisierung einmal disabled und wieder enabled... mysteriöserweise funktioniert es jetzt wieder größtenteils.
Ich habe nur noch ein Problem: Ich verwende Einschaltverzögerungen und Trigger für fallende Flanken um mit einer Taste leicht verschiedene Funktionen auszuführen. Wenn Ich die Taste betätige wird im Timer die Startzeit angezeigt, die Zeit läuft aber nicht los. Auch der Trigger gibt kein Signal aus wenn ich die Taste wieder loslasse. Das funktioniert weder in der Webvisualisierung, noch in der PLC-Visualisierung. Hat da jemand ne Idee woran so etwas liegen kann? Ich habe Hardware-Tasten die auf dieselben Variablen zugreifen und damit funktioniert es
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Meine Glaskugel sagt: Du rufst Deine Timer nur bei Tastendruck auf und nicht immer, so wie sie es eigentlich verlangen. Dadurch bekomen sie keine 0-1 Flanke mit.
Wie wäre es, wenn Du mal ein Stück Code zeigst?

Harald
 
Meine Glaskugel sagt: PN/DPs Glaskugel hat recht!

Welche Steuerung?

Wenn die Web-Visu im Gegensatz zur PLC-Visu nicht funktioniert, dann kann es auch an einer defekten Visu liegen. Dafür dann wie webvisu.htm löschen und neu laden lassen. (Beispiel für WAGO)

Grundsätzlich immer die Web-Visu schließen vor dem Laden eines neuen Programms/Visu.
 
So, ok hier etwas Code. Ich setze die "Software-Taste" im Programm zurück. Ich weiß, dass das für die Web-Visu nicht erforderlich ist. Das ist nur für eine andere Schnittstelle. Ohne dieses Rücksetzen funktioniert das mit der Visualisierung auch. Aber dann habe ich ein Problem mit der anderen Schnittstelle... .

Ich vermute ich habe gerade meinen Fehler erkannt: Wenn ich die Software-Taste gedrückt halte, wird die Variable wahrscheinlich nur einmal True gesetzt und nicht wie ich zunächst annahm zyklisch wiederholt, kann das sein? Dann wäre meine Variable genau einen Zyklus lang True und wird dann sofort zurückgesetzt.

Aber müsste dann nicht wenigstens der Trigger funktionieren??

Wie dem auch sei, für die eine Schnittstelle muss ich die Variable im Programm zurücksetzen, für die WebVisu scheine ich das nicht zu dürfen. Weiß jemand einen eleganteren Lösungsweg als eine zusätzliche Variable zu verwenden?



(*Einlesen der Tasten, Softwareentprellung in globalen Variablen "MIN_PUSH_CYCLES" einstellbar*)
IF IX_START OR bRCstart_G THEN
IF iCountStart_G >= MIN_PUSH_CYCLES THEN
bStart_G:=TRUE;
END_IF
iCountStart_G:= iCountStart_G + 1;
bRCstart_G:=FALSE; (*Rücksetzen der "Software-Taste" Start*)
ELSE
iCountStart_G:= 0;
bStart_G:=FALSE;
END_IF

CASE iState OF

0: (*Testkonfigurationen aus CSV-Dateien einlesen*)
IF NOT bLoad THEN
(*Leuchtmelder blitzen um anzuzeigen, dass Parameter geladen werden können*)
fbLoadflash(tPulse:= T#100ms, tPause:= T#1500ms);
QX_LOAD:= fbLoadflash.bOut;
(*****************************************************)
(*Einlesen von CSV-Parametern starten*)
fbTONbutton(IN:= bStart_G, PT:= T#2s); (*2s gedrückt halten um alle Konfigurationen neu einzulesen*)
(*kurz drücken um bestehende Konfigurationen zu behalten und neue Konfigurationen hinzuzufügen*)
fbFtrig(CLK:= bStart_G);
END_IF

(*2s gedrückt halten um alle Konfigurationen neu einzulesen*)
IF fbTONbutton.Q AND NOT bLoad THEN
fbSetParam(stTC:= stTC, bAdd:= FALSE);
bLoad:= TRUE;

(*kurz drücken um bestehende Konfigurationen zu behalten und neue Konfigurationen hinzuzufügen*)
ELSIF fbFtrig.Q AND NOT bLoad THEN
fbSetParam(stTC:= stTC, bAdd:= TRUE);
bLoad:= TRUE;
END_IF
 
Zurück
Oben