• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

JS-Editor für WebServer

Fehlerkonsole ... aha :-/

Die " " haben jedenfalls Wirkung gezeigt. Bekomme jetzt die Meldung (Popup) mit dem Inhalt %%PDP,,I1,B%;

Die Anfrage ist somit nicht "geparst" ? Kann ich also vorerst vergessen und muss mit dem Hersteller die Umsetzung verhandeln !?
 
Die .js Dateien mit zu parsen führt zu einer Erhöhung der Reaktionszeit, ob sich der Hersteller darauf einlässt bleibt abzuwarten...
Ein Kompromiss wäre, int. + ext. js zu mischen, etwa so:
(intern nur die PDP-Variablen)

Code:
<html>
<head>
<script type="text/javascript">
 var allPDP = {
  I16_Y:  %%PDP,,I16,Y%,
    :
  }
</script>
<script type="text/javascript" src="MyContainer.js"></script>
   :
</head>
</html>

in MyContainer.js dann auf allPDP bezug nehmen
Code:
x: 130,
y: 50,
value: allPDP.I16_Y,
name: 'Out 16',
 
Die meisten Register sind Temperaturwerte. Es gibt z.B. Live-Diagramme die damit sekündliche Werte darstellen müßen.

Das würde aber bedeuten, dass ich in der *.html sämtliche (ca. 2000) Register/Flags abfragen muss (zyklisch) um sie dann in der *.js dynamisch darstellen zu können.

Richtig ?
 
Ja. Jetzt werden die SPS-Werte nur beim Einlesen der Seite einmalig aktualisiert. Zyklisch zu aktualisieren, da wird es mit einer SPS problematisch. Ich kenn dein Teil nicht, aber 2000 Werte /Sekunde halte ich für unrealistisch, da die Webserver mit niedriger Priorität als die Steuerungsteile laufen . Für "normale" Webserver wäre hier Ajax das Stichwort, für eine SPS muss das von Fall zu Fall probiert werden.
 
Habe schon'mal Kontakt zum Hersteller aufgenommen und hoffe auf eine brauchbare Lösung.

Vielen Dank für den "Support" !

PCD
 
Die meisten Register sind Temperaturwerte. Es gibt z.B. Live-Diagramme die damit sekündliche Werte darstellen müßen.

Das würde aber bedeuten, dass ich in der *.html sämtliche (ca. 2000) Register/Flags abfragen muss (zyklisch) um sie dann in der *.js dynamisch darstellen zu können.
Ich denke damit verläßt Du den Bereich "ich spiele mal hobbymäßig mit einer SPS rum und bastel mir mal ein HTML Formular das mir die wichtigsten Daten anzeigt". Solche Anforderungen dürften auch echte SPS-Programmierer (also solche, die mit professionellen Tools im Gegensatz zum eingebauten Spielzeug-Webserver arbeiten) herausfordern.
 
Das ist vollkommen richtig !

Ich suche nur nach einer Lösung und verschiedenen Meinungen. Umgesetzt wird das dann von Profis. Das Problem hierbei ist erst einmal herauszufinden welche Lösungen ich überhaupt und am schnellsten umsetzen kann.
Einfaches Zahlenwerk zu übertragen ist langweilig, Live-Daten direkt vom Mini-WebServer abzurufen in einer ansprechenden Optik jedoch eine riesen Aufgabe.

Dass hier auch die Profis an ihre Grenzen stoßen ist der Grund warum ich nach einer Lösung suche. Ich habe Gespräche mit WebDesignern, SPS-Programmierern, dem Hersteller und Softwarelieferanten geführt ... und KEINER hat hierfür etwas aus dem Ärmel schütteln können oder gar eine Lösung dafür gehabt.

Es gibt einfach zuviele Hindernisse in diesem Bereich. Der größte Knackpunkt ist hier jedoch die Hardware mit ihren Möglichkeiten.

Wir haben uns "Tod und Teufel" angesehen, Regler mit integrierten WebServern. Stellenweise sind die weit weit entfernt von solch einer Lösung. Die brauchen noch Jahre. Dort fehlt stellenweise noch die Erkenntniss der sinnhaftigkeit für solch ein Projekt.

Gerade war die ISH in Frankfurt. Die weltweit größte Leitmesse der Heizungsbranche. Der Trend in die WebTechnologie war dort bereits durch hunderte iPad/Phone klar zu sehen. Und mit reinen html-Seiten kommt man hier nicht weit ... das muss schon "schick" werden.

Hier ein Beispiel eines Reglers der zusammen mit uns bereits entwickelt wurde. Das ist ein AJAX/JavaScript-Frontend ... Live

Hier erkennt man schon ungefähr von was ich rede und was wir vorhaben.
 
Zuletzt bearbeitet:
Du kannts deine Variablen schon in die JS bekommen: Die JS nicht mit .js, sondern mit .js.html enden lassen - damit sollte sie geparst werden.
Wenn du Livedaten haben willst, musst du mit AJAX arbeiten und dabei auf eine .html zugreifen, die die ganzen Variablen enthält (entweder als JSON oder als XML). Warum bei SPS AJAX nicht funktionieren sollte, ist mir nicht klar - das sind ja ganz normale HTTP-Requests...
 
Einfaches Zahlenwerk zu übertragen ist langweilig, Live-Daten direkt vom Mini-WebServer abzurufen in einer ansprechenden Optik jedoch eine riesen Aufgabe.

Dass hier auch die Profis an ihre Grenzen stoßen ist der Grund warum ich nach einer Lösung suche. Ich habe Gespräche mit WebDesignern, SPS-Programmierern, dem Hersteller und Softwarelieferanten geführt ... und KEINER hat hierfür etwas aus dem Ärmel schütteln können oder gar eine Lösung dafür gehabt.

Es gibt einfach zuviele Hindernisse in diesem Bereich. Der größte Knackpunkt ist hier jedoch die Hardware mit ihren Möglichkeiten.
Das Hauptproblem dürfte in der Tat sein, dass die ganzen Geräte zwar allesamt mit tollen "Web-Funktionen" aufwarten, der jeweilige Webdienst auf den Systemen aber eher mit minimalen Features ausgelegt ist.
Wenn man das ordentlich machen will, müßte man einen eigenen PC / Server daneben stellen, welcher die direkte Kommunikation mit der SPS übernimmt und in der Lage ist Webseiten mit allen Schnörkeln auszuliefern. Nur welcher (Privat-)Kunde stellt sich einen eigenen Webserver in den Keller und wer wartet den? Bei größeren Kunden könnte das dann schon eher Sinn machen.

Eventuell könnte man statt eines fetten PCs ein ARM basiertes System dranhängen. Das könnte alle notwendigen Schnittstellen liefern (Netzwerk, USB, RS232 - und mit entsprechendem Adapter dürfte auch eine Anbindung an CAN-Bus (oder was die SPS halt spricht) möglich werden). Mit Linux auf dem Gerät stehen Webserver, serverseitige Programmiersprachen und Möglichkeiten zum Zwischenspeichern der Daten zur Verfügung. Wie performant das dann läuft, kann ich allerdings nicht sagen - kommt aber auch darauf an, wieviele Leute da parallel darauf zugreifen sollen.
Und so ein ARM System ist klein genug, um es neben die Steuerung zu tackern.
Ob es da fertige Hardware gibt, weiß ich nicht; an Software müßte zumindest eine Kommunikationsschnittstelle erstellt werden, welche den Datenverkehr mit der Steuerung ermöglicht (wenn es eine Hardware zur Anbindung an CAN-Bus gibt, könnte es dafür auch schon Software geben, so dass dieser Part einfacher ausfällt, man könnte es so auslegen, dass die Messdaten zyklisch ausgelesen werden und in eine Datenbank gespeichert werden, wo sie vom Webpart ausgelesen werden können), die restliche Software wäre quasi normale Webentwicklung (also Perl oder PHP).

Das war jetzt nur mal so "gebrainstormt", ohne dass ich jetzt großartig die technische Verfügbarkeit und Machbarkeit geprüft hätte.
 
Warum bei SPS AJAX nicht funktionieren sollte, ist mir nicht klar - das sind ja ganz normale HTTP-Requests...
Funktioniert schon, ich hab geschrieben das man das für eine SPS von Fall zu Fall probieren muß. Damit meine ich die konkrete Applikation. Wie Albu richtig schreibt sind diese Systeme "eher mit minimalen Features ausgelegt". Dafür ein Beispiel aus meiner Erfahrung:
http: //192.168.0.1/index.html liefert eine Webseite richtig aus, aber bei http: //192.168.0.1/index.html?p=1 kommt Fehler 404 - Seite nicht gefunden !

Albu schrieb:
Und so ein ARM System ist klein genug, um es neben die Steuerung zu tackern.
Ob es da fertige Hardware gibt, weiß ich nicht..
Genau so etwas gibt es schon. Ein Linux-System in Zigarettenschachtelgröße, mit Webserver, PHP, MySQL-Datenbank, FTP,Cron-Jobs...(Wen das Gerät interessiert einfach mal nach purebox2 googeln)
 
Genau so etwas gibt es schon. Ein Linux-System in Zigarettenschachtelgröße, mit Webserver, PHP, MySQL-Datenbank, FTP,Cron-Jobs...(Wen das Gerät interessiert einfach mal nach purebox2 googeln)
Also ich weiß schon, dass es diverse ARM basierte "Kistchen" gibt (deswegen ja mein Vorschlag in diese Richtung), kenne mich dort zu wenig aus, um eine konkrete Empfehlung zu geben. Es hängt ja auch vom gewünschten Einsatz ab, z.B. wäre es denkbar ein Gerät mit Display einzusetzen, so dass man sich auch direkt vor Ort die bunten Grafiken angucken kann, bzw. eine abgespeckte Version davon.

Was diese purebox2 angeht, so hat sie z.B. keine Möglichkeit direkt mit der Steuerung zu reden, man braucht also einen weiteren "Kasten", der die Übersetzung "Bus-System der SPS" zu Ethernet vornimmt, wenn die Steuerung sowas schon selbst kann und man dann mit PHP direkt per TCP/IP mit ihr reden kann, dann wäre man natürlich schon ein Riesenstück weiter.
 
Man kann die SPS per cgi ansprechen ... aber das bringt mich nicht weiter.

Ich brauche ja eine Oberfläche die mit der SPS kommuniziert zum Lesen und Schreiben. Die SPS hat lediglich *.csv zur Verfügung und kennt weder json noch xml.
Ich muss also sowieso auf das vorhandene "Backend" zurückgreifen und habe keinen Nutzen von all den schönen Möglichkeiten die es noch gibt (PHP, SQL, json, xml ...).
Um für das Frontend irgendwelche Dinge zwischenzuspeichern kann man ja json benutzen (Sencha) ... klappt man den Laptop zu ist alles wieder weg. Das muss der SPS dann auch egal sein ... sie lebt mit ihren *.csv.

Dass es funktionieren kann sieht man ja an dem LINK den ich eingefügt hatte. Die Frage ist jetzt nur noch WIE man es mit der vorhanden Hardware umsetzen kann.

Was die Mini-PCs angeht muss man auch bedenken, dass sehr häufig mehrere dieser SPS als Master/Slave installiert werden ... die müßen also untereinander kommunizieren. Und wenn dann noch die PCs dazwischen hängen ... Klar die SPS können ohne PC kommunizieren aber die Bedienung und Parametrierung wird dadurch nicht einfacher.
Traumhaft wäre natürlich "ein PC" als SPS :) ... die Tendenz dorthin ist auch schon bei diversen Herstellern zu sehen und im Kommen, mit all seinen Vor- und Nachteilen !

Ich versuche gleich noch einmal den Tipp mit der .js.html -Endung ... mal sehen was da passiert.

Interessant wäre für mich nochmal das MiniScript jedoch mit AJAX.

PCD
 
Zuletzt bearbeitet:
Das die Steuerung von PCD per Tcp/IP angesprochen werden kann, davon bin ich immer ausgegangen. Ansonsten gibt es die purebox2 auch mit serieller Schnittstelle.
 
Was die Mini-PCs angeht muss man auch bedenken, dass sehr häufig mehrere dieser SPS als Master/Slave installiert werden ... die müßen also untereinander kommunizieren. Und wenn dann noch die PCs dazwischen hängen ... Klar die SPS können ohne PC kommunizieren aber die Bedienung und Parametrierung wird dadurch nicht einfacher.
Traumhaft wäre natürlich "ein PC" als SPS :) ... die Tendenz dorthin ist auch schon bei diversen Herstellern zu sehen und im Kommen, mit all seinen Vor- und Nachteilen !
Nunja, wie die SPSen untereinander kommunizieren oder verknüpft sind, spielt ja dabei nicht wirklich eine Rolle. Der PC ist ja nur das "Gesicht" nach außen, sprich er muss sich nicht in diese Kommunikation einklinken, sondern lediglich die Daten und Merkerwörter von den entsprechenden Systemen auslesen, bzw schreiben. Wie das genau funktioniert, hängt von den verfügbaren Schnittstellen ab. CSV und HTML sind dabei nicht wirklich ideal, es sollte schon ein tieferer Eingriff möglich sein.

Das die Steuerung von PCD per Tcp/IP angesprochen werden kann, davon bin ich immer ausgegangen. Ansonsten gibt es die purebox2 auch mit serieller Schnittstelle.
Durch den Webserver kann das Ding bestimmt TCP/IP, die Frage hier ist daher: kann man mit einem entsprechenden Protokoll direkt auf Daten und Funktionen zugreifen, ohne dabei über den Webserver oder den CSV-Exporter zu gehen?
 
Mit dem entsprechenden Protokoll kann man immer direkt auf Daten (+Funktionen) der Steuerung zugreifen. Dieses Protokoll muß man aber erstmal realisieren. Wenn es sich um ein offengelegtes Standardprotokoll handelt, ist das in der Regel machbar. Leider benutzen einige Firmen immer noch herstellerspezifische Protokolle, die das Ganze extrem erschweren oder unmöglich machen. Da ich das Teil von PCD nicht kenne, möchte ich ihn hier auch nicht in eine bestimmte Richtung drängen.
 
Mittlerweile weiss ich, dass die Befehle GET und PUT die Befehle sind die hier fehlen.

Kann es also sein, dass man hierfür noch die Class.Ext.data.Connection mit in das Script aufnehmen muss. Diese Befehle kennt die SPS nämlich und somit sind diese Zwei für mich die Schlüssel zum "Glück" (Register).

Wenn ich bloß Ahnung hätte (von JS) :icon8:

PCD
 
Zurück
Oben