Zurück   IP-Symcon Community Forum > IP-Symcon Hardware > SPS Automatisierungstechnik

Antwort
 
LinkBack Themen-Optionen Thema durchsuchen
  #1 (permalink)  
Alt 08.12.09, 22:02
Junior Member
 
Registriert seit: Sep 2009
Beiträge: 11
Question Wago steuerung per HTML und JavaScript?

Hallo Leute,
ich habe mir auch eine Wago 750-841 und eine 750-342. Von den Anschlüssen her passt alles. Nur jetzt bin ich dabei mir zu überlegen wie ich das mit dem UI realisiere, jedoch ohne einen extra Rechner. Bis jetzt habe ich nur Steuermöglichkeiten gefunden wenn noch ein Rechner im Spiel ist.

Meine Überlegung ist, dass ich statische HTML Seiten baue und dann über Ajax Daten von der Wago lese oder sende. Wenn also jemand auf einen Button klickt würde ich einen HTTP Request an die Wago senden. Die Wago soll dann anhand der empfangenen Daten eine bestimmte Aktion ausführen.
Um die angezeigten Elemente aktuell zu halten würde ich entsprechend einen Request an die Wago senden und diese soll mir dann den Staus der Elemente zurück geben.

Ich habe mir entsprechend das Java Applet angeschaut und dort wird es genau so gemacht, nur eben mit Java. Ich denke ich würde es auch hin bekommen die Daten, die das Applet sendet zu simulieren, aber dazu müsste ich immer erst ein UI für das Applet bauen und schauen was gesendet wird (im Moment machen nicht alle Details der Daten Sinn). Dann könnte ich die Requests per JavaScript nachbauen.

Meine Fragen sind:
  • Weiß jemand nach welchem Prinzip das Applet Daten aufbaut und an die Wago sendet? Die Daten sehen ungefähr so |1|1|563|0| (das ist an was ich mich gerade erinnere).
  • Fällt jemand von euch noch eine Möglichkeit ein, wie ich die Wago noch ohne einen extra Rechner steuern könnte?
  • Kann ich ein eigenes/anderes Wago Programm schreiben, dass auf Requests reagiert? In diesem könnte ich selbst definieren welche Daten ich senden muss und welche nicht. Dabei habe ich schon die Bibliothek WagoLibEthernet_01.lib gefunden, aber ich glaube nicht, dass mir diese wirklich helfen kann.

Ich bin für alle Vorschläge dankbar.

Viele Grüße,

zambot
Mit Zitat antworten
  #2 (permalink)  
Alt 09.12.09, 08:11
Benutzerbild von cat
cat cat ist offline
Senior Member
 
Registriert seit: Apr 2008
Beiträge: 201
Standard

Hi zambot,

ich hab mir dazu auch schon mal Gedanken gemacht. das ist aber bis dato nur theoretischer Natur, da ich noch nicht dazugekommen bin.

Du musst nicht das Applet nachbauen. Es gibt f.d. Wago sog SSI (Server Side Includes). Such mal bei Wago danach. Damit kannst Du Ein- und Ausgaben per normaler Website machen - und besonders Ajax-freundlich dir auch die Daten per XML hin und herschieben.

Gruss
Chris
Mit Zitat antworten
  #3 (permalink)  
Alt 09.12.09, 09:40
Senior Member
 
Registriert seit: Nov 2008
Beiträge: 258
Standard

Das wäre ja mal geil
Mit Zitat antworten
  #4 (permalink)  
Alt 09.12.09, 10:33
Benutzerbild von cali
Senior Member
 
Registriert seit: Sep 2006
Ort: Rhein-Main
Beiträge: 151
Standard

Hallo Zambot,

da bin ich sofort dabei. Dieser Link dürfte Dir weiter helfen: CoDeSys :: Thema anzeigen - NORMALE Webseite als Visu

Wie können wir das gemeinsam angehen? Ich werde heute abend mal versuchen per SSI die Wago anzusprechen.

Grüße
Cali
__________________
Ist: Wago 750-841, 80 DO, 68 DI, Siemens M20 Terminal, Temperaturerfassung über 1-Wire mittels LinkTH

Das Leben ist ein seltsames Spiel - aber die Grafik ist geil.
Mit Zitat antworten
  #5 (permalink)  
Alt 09.12.09, 10:52
Benutzerbild von cat
cat cat ist offline
Senior Member
 
Registriert seit: Apr 2008
Beiträge: 201
Standard

Mein kleiner Beitrag dazu. (siehe Anhang).
wäre durchaus an einem "echten" Beispiel interessiert.
V.a. einem mit schickem Design
Angehängte Dateien
Dateityp: zip WAGO SSI Samples.zip (32.5 KB, 517x aufgerufen)
Mit Zitat antworten
  #6 (permalink)  
Alt 09.12.09, 11:08
Benutzerbild von cali
Senior Member
 
Registriert seit: Sep 2006
Ort: Rhein-Main
Beiträge: 151
Standard

Hier ein Ajax-Link Galileo Computing :: JavaScript und AJAX – 18 AJAX .

Im Anhang noch ein "Hello World"-Ajax Beispiel.

Bilder für die Visu sollten wir auf einem Webspace ablegen, da der Speicherplatz der Wago begrenzt ist und damit die Seite auch von außerhalb darstellbar bleibt. Webspace hätte ich.

Ich habe zwar eine Visu, will aber nicht den Rechner dafür ständig laufen haben. Das bringt mich dann wieder dazu das ich die Werte irgendwo speichern muß. Dann wären wir auch wieder bei to-pass oder dem Speichern in einer DB. Soll das auch Teil dieses Projektes werden? Ein Webservice könnte ja die Werte zyklisch auslesen und in eine DB schreiben.

Cali
Angehängte Dateien
Dateityp: zip ajax.zip (1.1 KB, 198x aufgerufen)
__________________
Ist: Wago 750-841, 80 DO, 68 DI, Siemens M20 Terminal, Temperaturerfassung über 1-Wire mittels LinkTH

Das Leben ist ein seltsames Spiel - aber die Grafik ist geil.

Geändert von cali (09.12.09 um 11:26 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 09.12.09, 18:06
Junior Member
 
Registriert seit: Sep 2009
Beiträge: 11
Standard

Hallo Leute,
ihr seid ja klasse , so viel Resonanz habe ich nicht erwartet. Danke auch für die Dateien. Ich bin dabei mir diese Anzuschauen.
Auf jeden Fall freut es mich, dass es die Includes gibt. Damit kann man fast alles realisieren. Man muss sich nur mit der Syntax vertraut machen. Da ich noch ein Wago Neuling bin, werde ich etwas Zeit dafür brauchen.

Eine Idee wie man das UI aufbauen kann ist:
  1. Man muss die SSI Dateien mit HTML entwerfen (Der Prototyp kann man aus den Beispielen bauen)
  2. Einen Ajax Wrapper
    Dieser Wrapper würde nur dafür da sein, Ajax Anfragen zu verarbeiten und die entsprechenden Informationen an den Client zurück zusenden.
Ich würde mich sehr gerne gleich an die Arbeit machen, aber leider komme ich diese Woche nicht mehr dazu.

@Cali: Für Ajax brauchst du nicht auf der grünen Wiese anfangen. Benutze am Besten die JS Bibliothek jquery (jQuery: The Write Less, Do More, JavaScript Library). Damit ersparst du dir wirklich viel Arbeit

Ich versuche mich mal nächste Woche dran.

Viele Grüße,

zambot
Mit Zitat antworten
  #8 (permalink)  
Alt 11.12.09, 13:32
Benutzerbild von cali
Senior Member
 
Registriert seit: Sep 2006
Ort: Rhein-Main
Beiträge: 151
Standard

Nachdem ich mit SSI ein bisschen gespielt habe, weiss ich wieder warum ich meine Visu mit ModbusTCP realisiert habe. Die Aufrufe sind echt langsam. Hoffe das es für meine mobile Anwendung schnell genug ist, da pro Seite immer nur ein paar I/Os ausgelesen werden müssen.
Was sind Eure Erfahrungen?
Kann mir noch jemand etwas vorgekautes zu Ajax liefern?

Was SSI-mäßig auch geht ist z.B.
http://WAGOIP/READPI?ADR=IX0.0&FORMAT1=%x
das liefert den Zustand des ersten digitalen Eingangs. Cool kannte ich gar nicht.

Grüße
Cali
__________________
Ist: Wago 750-841, 80 DO, 68 DI, Siemens M20 Terminal, Temperaturerfassung über 1-Wire mittels LinkTH

Das Leben ist ein seltsames Spiel - aber die Grafik ist geil.
Mit Zitat antworten
  #9 (permalink)  
Alt 18.12.09, 12:22
Benutzerbild von cali
Senior Member
 
Registriert seit: Sep 2006
Ort: Rhein-Main
Beiträge: 151
Standard

So, damit der Thread nicht einschläft mal ein bisschen Code. Klar im Code passiert noch nicht viel, aber ich dachte mir das hier nun jeder seine Verbesserungen einbringen kann. Einer kann sich ja am Design (CSS) und ein anderer am Ajax versuchen.
Im rot markierten Bereich einfach den auszulesenden Ausgang eintragen, fertig. Schon sieht man ob z.B. das Licht eingeschaltet ist (benötigt noch reload).

Achso, die Datei muss mit Änderung .ssi auf der Wago gespeichert werden!

Eure mitarbeit wäre toll.

Code:
<html>
<body>
<body bgcolor="#000000" text="#C0C0C0">
  <H2>
     Licht
  </H2>
  

<br><br>

    
  <script language="JavaScript">
	document.write("<table> <tr>");
	document.write('<td><a href="">Licht rechts</a></td>');
	document.write("<td>");
	  if (<!--#READPI ADR=QX4.5&FORMAT=%X-->==1){
		document.write('<td style="background-color:#008000"> ein');
		}else{
		document.write('<td style="background-color:#800000"> aus');
		}
	document.write("</td>");
	document.write("</tr>");
	document.write('<td style="background-color:#313131">Licht links:</td>');
	document.write("<td>");
	  if (<!--#READPI ADR=QX4.6&FORMAT=%X-->==1){
		document.write('<td style="background-color:#008000"> ein');
		}else{
		document.write('<td style="background-color:#800000"> aus');
		}
	document.write("</tr></table>");
	
		
  </script>

</body>
</html>
Was mir noch Probleme bereitet, ist das setzten der Modbusvariablen. Da ich diese auf mit auf eine Schalterfunktion gelegt habe, benötige ich einen Impuls. D.h. auf 1 setzten ,300 ms warten und wieder auf 0 setzten. Doch wenn ich das mittels writepi mache verliere ich die Verbindung zur Wago.

Grüße
Cali
__________________
Ist: Wago 750-841, 80 DO, 68 DI, Siemens M20 Terminal, Temperaturerfassung über 1-Wire mittels LinkTH

Das Leben ist ein seltsames Spiel - aber die Grafik ist geil.

Geändert von cali (18.12.09 um 14:44 Uhr)
Mit Zitat antworten
  #10 (permalink)  
Alt 19.12.09, 19:01
Junior Member
 
Registriert seit: Dec 2009
Beiträge: 4
Standard

Hallo,

ich hoffe ich verstoße nicht gleich in meinem ersten Beitrag gegen alle Regeln.
Ich werde folgend auf ein anderes Forum verlinken, ist dies nicht erwünscht bitte den Link entfernen und mir dies mitteilen.

Warum ich dies tue? Ich werde nur in diesem Forum den Beitrag bis zur "Vollendung" pflegen und dann in allen Foren in denen ich auf diesen hingewiesen habe anschließend das Ergebnis präsentieren.
Ich bin nicht in der Lage, und hege auch nicht die Lust 5 gleiche Beiträge zu erstellen und alle auf dem gleichen Stand halten zu müssen.

Ich habe zusammen mit einem Freund ein Beispiel erstellt in dem mittels Javascript Variablen von der SPS gelesen, und auch geschrieben werden können. Wir sind noch in der Beta-Phase. Mal schauen, vielleicht kann ich während des Urlaubs weitere Ergebnisse präsentieren.

Hier ist der Link:

SPS@home :: Thema anzeigen - Visualisierung HTML Java für die Wago 750 841

Zum Thema zurücksetzen nach Writepi:

ich schreibe durch das senden einmal einen Merker, z.B. Merker 200.0 und setze ihn in der letzten Zeile des PLC_PRG auf False. Somit ist dieser merker nur einen Zyklus aktiv, und steht allen aufgerufenen Instanzen und PRGs des PLC_PRG zur verfügung. Werden mehrere Tasks verwendet muss das Rücksetzen an geeigneter Stelle passieren, nicht das das PLC_PRG schneller ist und das Programm das Signal nicht mitbekommt.

MfG

Marcel
Mit Zitat antworten
Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
FS20 Steuerung per µC (ATMEGA)? huelke Bastel-Ecke 8 19.02.10 23:38
Neue Wago 750-342 was nun? Hollowman SPS Automatisierungstechnik 7 08.10.09 09:06
Wago Steuerung hängt sich auf cat SPS Automatisierungstechnik 6 17.10.08 10:33
Neuvorstellung: Phoenix Module anstelle von Wago? wesso Haustechnik 37 14.05.07 07:34
Wago Jalousiesteuerung oder nicht ? elektrofreak Allgemeine Diskussion 3 25.01.06 21:21


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:41 Uhr.


Powered by vBulletin® Version 3.8.4 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0