Jens_Ohm
Level-1
- Beiträge
- 180
- Reaktionspunkte
- 31
-> Hier kostenlos registrieren
Hallo Allerseits,
ich habe da ein kleines Problem. Ich habe eine Prozessdaten-Visualisierungs- und Archivierungs- Software übernommen.
Das System nennt sich Webfactory (Version 1.9.14) und stellt in meinem Fall über OPC empfangene Daten einer Inter/Intranet-Seite zur Verfügung.
Momentan werden von 10 Steuerungen je 83 Variablen verarbeitet.
Die Daten werden von einem Webfactory-Modul in eine SQL-Datenbank geschrieben.
Der Datenfluss sieht so aus:
SPS stellt einen Datenbaustein zur Verfügung:
Auf dem PC laufen:
PVI (Process Visualization Interface): greift auf die Steuerungen (SPS) zu und macht den Datenbaustein dem PC zugänglich.
OPC-Server: macht die Datenbausteine vom PVI über OPC anderen Win-Anwendungen zugänglich
OPC Client: In diesem Fall ein Webfactory-Modul das bestimmte Daten umrechnet, weiter reicht oder loggt.
Internet Explorer: Die Daten werden mittels call Befehlen an die im Browser benutzten Variablen/Objekte gebunden. Beispiel:
call idSFA1.Bind(sollTempB01,"value","Soll_Temp_BF")
Das ganze funktioniert ganz gut.
Auf den Steuerungen gibt es einen Datenbaustein, in dem verschiedene Steuer und Regel- aufgaben gespeichert sind. Diesen Datenbaustein soll ich nun über die Prozessdaten Visualisierung (auf dem Internet Explorer) editierbar machen.
Eine Steuersequenz umfasst 6 numerische 16-Bit Variablen (-32768 bis 32767) und 1 String (640 Bit). 50 Sequenzen bilden ein Rezept. Auf jeder Steuerung können 30 Rezepte hinterlegt werden.
Bei 10 Steuerungen kommen so 105000 Variablen zusammen.
Da es über den OPC Server nicht möglich ist mit Arrays zu arbeiten, kann ich kein Abbild auch nur eines Rezeptes komplett über OPC verfügbar machen.
Normalerweise würde ich mit Visual Studio eine Anwendung schreiben, die direkt auf die Steuerungen zugreift, aber das PVI arbeitet nur mit einer Anwendung auf einmal zusammen.
Jetzt habe ich zwei Ideen für eine Lösung.
Eine davon ist, das ich mir ein eigenes Kommunikations-Protokoll über OPC bastle und die Rezepte Sequenz für Sequenz übertrage. Dazu müsste ich die Bedienung über den Internet Explorer (und das wird eigentlich auch gewünscht) machen und die Daten von dort aus in eine Datenbank schreiben und laden können. Normalerweise ist ein Browser für so etwas ehr ungeeignet, da man von dort aus eigentlich keine schreib/lese Zugriffe auf die Platte haben soll.
Ist das evtl. mit Perl oder PHP machbar?
Interessant wäre es auch zu wissen, ob ich unter Perl oder PHP direkt OPC Daten lesen und schreiben kann.
Oder hat vielleicht jemand eine andere Idee wie man so etwas angehen kann?
viele Grüße Jens
ich habe da ein kleines Problem. Ich habe eine Prozessdaten-Visualisierungs- und Archivierungs- Software übernommen.
Das System nennt sich Webfactory (Version 1.9.14) und stellt in meinem Fall über OPC empfangene Daten einer Inter/Intranet-Seite zur Verfügung.
Momentan werden von 10 Steuerungen je 83 Variablen verarbeitet.
Die Daten werden von einem Webfactory-Modul in eine SQL-Datenbank geschrieben.
Der Datenfluss sieht so aus:
SPS stellt einen Datenbaustein zur Verfügung:
Auf dem PC laufen:
PVI (Process Visualization Interface): greift auf die Steuerungen (SPS) zu und macht den Datenbaustein dem PC zugänglich.
OPC-Server: macht die Datenbausteine vom PVI über OPC anderen Win-Anwendungen zugänglich
OPC Client: In diesem Fall ein Webfactory-Modul das bestimmte Daten umrechnet, weiter reicht oder loggt.
Internet Explorer: Die Daten werden mittels call Befehlen an die im Browser benutzten Variablen/Objekte gebunden. Beispiel:
call idSFA1.Bind(sollTempB01,"value","Soll_Temp_BF")
Das ganze funktioniert ganz gut.
Auf den Steuerungen gibt es einen Datenbaustein, in dem verschiedene Steuer und Regel- aufgaben gespeichert sind. Diesen Datenbaustein soll ich nun über die Prozessdaten Visualisierung (auf dem Internet Explorer) editierbar machen.
Eine Steuersequenz umfasst 6 numerische 16-Bit Variablen (-32768 bis 32767) und 1 String (640 Bit). 50 Sequenzen bilden ein Rezept. Auf jeder Steuerung können 30 Rezepte hinterlegt werden.
Bei 10 Steuerungen kommen so 105000 Variablen zusammen.
Da es über den OPC Server nicht möglich ist mit Arrays zu arbeiten, kann ich kein Abbild auch nur eines Rezeptes komplett über OPC verfügbar machen.
Normalerweise würde ich mit Visual Studio eine Anwendung schreiben, die direkt auf die Steuerungen zugreift, aber das PVI arbeitet nur mit einer Anwendung auf einmal zusammen.
Jetzt habe ich zwei Ideen für eine Lösung.
Eine davon ist, das ich mir ein eigenes Kommunikations-Protokoll über OPC bastle und die Rezepte Sequenz für Sequenz übertrage. Dazu müsste ich die Bedienung über den Internet Explorer (und das wird eigentlich auch gewünscht) machen und die Daten von dort aus in eine Datenbank schreiben und laden können. Normalerweise ist ein Browser für so etwas ehr ungeeignet, da man von dort aus eigentlich keine schreib/lese Zugriffe auf die Platte haben soll.
Ist das evtl. mit Perl oder PHP machbar?
Interessant wäre es auch zu wissen, ob ich unter Perl oder PHP direkt OPC Daten lesen und schreiben kann.
Oder hat vielleicht jemand eine andere Idee wie man so etwas angehen kann?
viele Grüße Jens
Zuletzt bearbeitet: