Technical Forum

STEP 7 (TIA Portal)

Mittels Button Variable auf 1 setzen

Thread Starter: _R_A_L_F_   Started: 6/17/2011 10:12 AM   Replies: 7

« Previous thread Next thread »
Page 1 of 1 (8 items)
  6/17/2011, 10:12 AM
Joined 6/17/2011
Last visit: 4/10/2014
Posts: 79
Rating:
Rated: Excellent [4.29 out of 5 / rated 7 time(s)]. (7) 
Rated: no ratings [0 out of 5 / rated 0 time(s)]. (0) 
Hallo,

ich möchte mittels Webserver, der auf der S7-1200 sich befindet, durch die Betätigung eines Buttons auf einer Website ein eine boolsche Variable auf eins setzen solange ich den Button betätige. Gibt es hierfür eine Javascript Lösung die euch einfällt?

Falls die Beschreibung nicht ganz eindeutig ist, hier das konkrete Beispiel:

Ich habe mittels S71200 eine Klimaanlage automatisiert. Über die Website kann ich mir schon sämtliche Werte (Istwerte von der Raumtemperatur usw.) anzeigen lassen, und auch Sollwerte über den Webserver in die Variablen eines DB's reinschreiben.
Nun möchte ich aber noch einen Button auf der Seite einfügen, mit dem ich die Klimaanlage einschalten kann. Ein anderer Button soll sie wieder ausschalten. Die Klimaanlage wird mittels RS-Flip FLop eingeschalten. Das Setze- und Rücksetzebit rangiere ich über einen Global-DB.

Ich hoffe mein Problem ist soweit verständlich und ich bekomme eine hilfreiche Antwort.

Vielen Dank schon mal

Gruß

Hardware:
S71200 FW 2.0
HMI Panel KTP600

Software:
TIA V11
Top
  6/17/2011, 11:18 AM
Joined 4/6/2011
Last visit: 4/11/2014
Posts: 150
Rating:
Rated: Outstanding [3.58 out of 5 / rated 12 time(s)]. (12) 
Rated: no ratings [0 out of 5 / rated 0 time(s)]. (0) 

Hallo,

wenn der Webserver W3 konform ist, wie es im Handbuch beschrieben ist, dann versuche mal hier nachzulesen:

http://de.selfhtml.org/javascript/sprache/eventhandler.htm

Gruß
Johannes

Top
  6/17/2011, 11:27 AM
Joined 5/28/2008
Last visit: 4/8/2014
Posts: 1012
Rating:
Rated: Excellent [4.03 out of 5 / rated 66 time(s)]. (66) 
Users with special expertise supervising conferences
Rated: no ratings [0 out of 5 / rated 0 time(s)]. (0) 
Also dass die Variable auf 1 bleibt, so lange du den Button drückst, wird glaube nicht funktionieren, da du ja durch das drücken/loslassen des Buttons einen Submit auf der Webseite antriggerst. 
Am besten du machst 2 Buttons, ein für ON und einen für OFF. Bei betätigung setzt du den Wert auf jeweils auf "1". Im Steuerungsprogramm fängst du das ganze ab und setzt die Variable wieder zurück auf "0" (z.B. nach einem Zyklus).
Hier mal der Code für die Buttons:



Top
  6/17/2011, 11:29 AM
Joined 6/17/2011
Last visit: 4/10/2014
Posts: 79
Rating:
Rated: Excellent [4.29 out of 5 / rated 7 time(s)]. (7) 
Rated: no ratings [0 out of 5 / rated 0 time(s)]. (0) 
Danke für die Info.

Hab mir die Seite mal angeschaut und folgendes jetzt geschrieben:



Nur irgendwie hat es keine Funktion und eine Fehlermeldung kommt auch nicht.

Muss auch dazu sagen, dass ich mit Javascript noch nicht all zu lange zu tun hab und deshalb in der Hinsicht noch Anfänger bin.
Top
  6/17/2011, 12:00 PM
Joined 4/6/2011
Last visit: 4/11/2014
Posts: 150
Rating:
Rated: Outstanding [3.58 out of 5 / rated 12 time(s)]. (12) 
Rated: no ratings [0 out of 5 / rated 0 time(s)]. (0) 

Schau dir mal das Beispiel von Robster an. Du musst die AWP-Befehle einbinden, sonst geht nix.

Edit:

Im Handbuch S7-1200 ab Seite 534 "13.3.2 Vom S7-1200 Webserver unterstützte AWP-Befehle"




=== Bearbeitet von Jonny9 @ 17.06.2011 12:01 [GMT ] ===


Top
  6/17/2011, 12:15 PM
Joined 4/6/2011
Last visit: 4/11/2014
Posts: 150
Rating:
Rated: Outstanding [3.58 out of 5 / rated 12 time(s)]. (12) 
Rated: no ratings [0 out of 5 / rated 0 time(s)]. (0) 
Hier mein Beispiel ohne Anbindung an die S7-1200, da ich keine zur Hand hab.
Wenn du klickst, dann erscheint im Input-Feld "EIN".

Wenn du loslässt, dann erscheint "AUS".

Jetzt musst du nur noch die S7-1200 anbinden.

 

<html>
<head>
<script type="text/javascript">
function Ein()
{
var klima = false;
klima === true;
document.getElementById('input').value='EIN';

}
function Aus()
{
var klima = false;
klima === true;
document.getElementById('input').value='AUS';

}
</script>

</head>
<body>
<!-- AWP_In_Variable Name='"Daten_DB".EIN_Klima'-->
<form method="post">
<input type="button" value="Einschalten" onmousedown="Ein()" onmouseup="Aus()">
<p>Vorname:<br><input id="input" name="vorname" type="text" size="30" maxlength="30"></p>
</form>

</body>
</html>

Top
  6/17/2011, 1:29 PM
Joined 6/17/2011
Last visit: 4/10/2014
Posts: 79
Rating:
Rated: Excellent [4.29 out of 5 / rated 7 time(s)]. (7) 
Rated: no ratings [0 out of 5 / rated 0 time(s)]. (0) 
Danke für eure schnelle Hilfe.

Ich hab mich jetzt für die Variante von Robinson entschieden und einfach im nächsten Zyklus die Variable wieder auf Null gesetzt.

Funktioniert bestens zwinkern
Top
Thank you for this post from:
  6/27/2011, 1:25 PM
Joined 5/28/2008
Last visit: 4/8/2014
Posts: 1012
Rating:
Rated: Excellent [4.03 out of 5 / rated 66 time(s)]. (66) 
Users with special expertise supervising conferences
Rated: no ratings [0 out of 5 / rated 0 time(s)]. (0) 
Welcher Robinson? Rnf:lblSmileyTooltip_  think
Top
Page 1 of 1 (8 items)
Actions