Sonstiges Steueroberfläche mit Siemens 1200 (Webserver)

Basti92

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


Mein Name ist Sebastian und befinde mich aktuell im 2 Semester zum Techniker für Automatisierungtechnik.
Für meine anstehende Techniker Arbeit möchte ich mich im Vorfeld mit dem Thema "Webserver der Siemens 1200" und dem Steuern einer kleinen Anlage über das Handy beschäftigen.
Leider sind meine ersten Anfänge mit dem Webserver nicht so gut verlaufen... Webserver einrichten und Verbindung aufbauen hat alles sehr gut geklappt. Nur das Steuern einer Variable (lediglich 1 und 0) funktioniert leider nicht.


Zum ersten Test habe ich eine Vorlage von Siemens genutzt, hier zu sehen.


<!-- AWP_In_Variable Name='"Start"' -->
<!-- AWP_In_Variable Name='"Stop"' -->


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>


<head>
<title>Userdefined Website - Application Start Stop</title>
<meta http-equiv="Content-Language" content="en" >
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
<meta http-equiv="Content-Script-Type" content="text/javascript" >
<!-- <meta http-equiv="refresh" content="10; URL=Start_Stop_buttons.htm"> -->
<link rel="stylesheet" type="text/css" href="Stylesheet/siemens_Stylesheet.css"/>
<script src="Script/siemens_script.js" type="text/javascript"> </script>
</head>


<body bgcolor="#D0D3DA">


<table border="0" >
<tr>
<td class="static_field_button">
<form method="post" action="">
<input type="submit" value="Start" style="height: 30px; width: 100px">
<input type="hidden" name='"Start"' value="1">
<input type="hidden" name='"Stop"' value="0">
</form>
</td>
</tr>
<tr>
<td class="static_field_button">
<form method="post" action="">
<input type="submit" value="Stop" style="height: 30px; width: 100px">
<input type="hidden" name='"Stop"' value="1">
<input type="hidden" name='"Start"' value="0">
</form>
</td>
</tr>
</table>


</body>


</html>



Diese oben beschriebenen Variablen:

<!-- AWP_In_Variable Name='"Start"' -->
<!-- AWP_In_Variable Name='"Stop"' -->

habe ich dann im "Programm" in der Variablentabelle deklariert und dann verwenden wollen... aber dort habe ich leider kein Signal in der SPS.

Was ich aber bereits am "HTML" Code erkenne das diese 2 Buttons sich gegenseitig wieder deaktivieren bzw. 0 setzten, ist das irgendwie auch als "Taster" Realisierbar um beispielsweise einen Zyklus zu Aktivieren oder wie wird das normal realisiert wenn man nicht immer ein EIN und AUS Taster hat ?


Ich hoffe mir kann jemand bzgl. diesem Thema ein wenig Start Hilfe geben :)


Liebe Grüße vom Bodensee
Sebastian



 
Damit du über die Webseite Werte schreiben kannst, musst du am Webserver angemeldet sein. Das geht über die Startseite der 1200er, Standardbenutzer ist admin ohne Passwort. Dann solltest du schreiben können, hab das Beispiel bei mir getestet, funktioniert.

Einen Button zu erstellen der eine Variable toggelt ist etwas aufwändiger, denn dazu muss der Button den aktuellen Zustand der Variable vorher kennen. Da gibt es mehrere Möglichkeiten, z.B. über etwas Javascript, oder über die AWP Enum-Anweisung ist das mit etwas Trickserei auch ohne Javascript möglich, das ist dann aber etwas "durch die Brust von hinten ins Auge".

Die einfachere Variante ist das toggeln in der SPS umzusetzen. Dann hast du z.B. eine Variable "StartStopp" die du über den Button beim Drücken ausschließlich setzt. Im SPS-Programm setzt du das toggeln um. D.h. ist "Start" gesetzt und das Bit kommt, dann werden "Start" und das Bit "StartStopp" zurückgesetzt, ist "Start" nicht gesetzt und das Bit kommt, dann wird "Start" gesetzt und das Bit "StartStopp" zurückgesetzt. Ob "Start" gesetzt ist kannst du dann separat anzeigen lassen.
 
Damit ich das richtig verstehe, du möchtest einfach einen Vorgang starten?

Z.B.: Durchlauf eines einzelnen Arbeitszyklus?

Wenn ja, dann ist das ganz einfach:

Du setzt die Variable mit dem "Knopfdruck" auf 1, so wie im Beispiel.

Dann, in der Steuerung:

IF Variable THEN
Variable := False;
//Hier fügst du zusätzlich ein was du mit der Variable machen möchtest. Wird nach dem Drücken ein mal aufgerufen.
END_IF;


Falls du etwas umschalten ("toggeln") möchtest, kannst du dass auch in der Klammer machen. In etwa so:

Option := NOT Option;
 
Einfaches Beispiel mit Javascript welches deine Variable "Start" toggelt, so zwar nicht universell wiederverwendbar ist, aber das Prinzip zeigt:
Code:
<!DOCTYPE html> 
<html> 
<head> 
<title>Testseite Togglebutton mit Javascript</title>
<script type="text/javascript">
function toggleButtonBoolValueFrm()
{
    if (document.ButtonForm.ButtonValue.value == 1) {
        document.ButtonForm.ButtonValue.value = 0;
	} else {
		document.ButtonForm.ButtonValue.value = 1;
    }
	document.ButtonForm.submit();	
}
</script>
<style type="text/css" rel="stylesheet">
.StartButton0 { background-color: rgb(218,218,218); }
.StartButton1 { background-color: rgb(  0,255,  0); }
</style> 
</head>	
<body>
<!-- AWP_In_Variable Name='"Start"' -->
<h1>Togglebutton mit Javascript</h1>
<p>Start Wechselbutton mit Farbumschlag</p>
<form id="ButtonForm" name="ButtonForm" method="post">
	<input type="button" class="StartButton:="Start":" value="Start" style="height: 30px; width: 100px" onclick="toggleButtonBoolValueFrm()">
	<input type="hidden" id="ButtonValue" name='"Start"' value=:="Start":>
</form>
</body>
</html>

Der Button wechselt je nach Zustand von "Start" die Farbe, das wird über class=... realisiert, in dem die oben definierte css-Eigenschaft gesetzt wird.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Und der Vollständigkeit halber unter Verwendung einer AWP enum. Außerdem wird in dem Beispiel über eine weitere Enum der Text im Button je nach Zustand von "Start" geändert. Ist Start=1 dann steht im Button Stopp.
Code:
<!DOCTYPE html> 
<html> 
<head> 
<title>Testseite Togglebutton mit AWP enum</title>
<style type="text/css" rel="stylesheet">
.StartButton0 { background-color: rgb(218,218,218); }
.StartButton1 { background-color: rgb(  0,255,  0); }
</style> 
</head>	
<body>
<!-- AWP_In_Variable Name='"Start"' -->
<!-- AWP_In_Variable Name='StartInvertiert' Use='"Start"' -->
<!-- AWP_In_Variable Name='StartInvertiertText' Use='"Start"' -->

<!-- AWP_Enum_Def Name='eInvertierung' Values='0:"1",1:"0"' -->
<!-- AWP_Enum_Def Name='eStartText' Values='0:"Start",1:"Stopp"' -->

<!-- AWP_Enum_Ref Name='StartInvertiert' Enum='eInvertierung' -->
<!-- AWP_Enum_Ref Name='StartInvertiertText' Enum='eStartText' -->
 
<h1>Togglebutton</h1>
<p>Start Wechselbutton mit Farbumschlag</p>
<form method="post" action="">
	<input type="submit" class="StartButton:="Start":" value=":=StartInvertiertText:" style="height: 30px; width: 100px">
	<input type="hidden" name='"Start"' value=":=StartInvertiert:">
</form>
</body>
</html>
 
Zurück
Oben