Bilder aktualieren in WebVisit

BeelzeBubi

Level-1
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallöchen,

ich bin auf ein Problem gestoßen, für welches ich seit einiger Zeit keine Lösung finde.
Zu meinem Vorhaben: Ich möchte für ein Web-Panel eine GUI erstellen. Da alle Daten dieser GUI aus einem anderen Programm kommen (MATLAB), sollen die Daten vorher in eine Bilddatei geschrieben werden, das das Display darstellen soll. Mein Problem ist allerdings, dass ich nicht weiß, wie ich diese Aktualisierung programmieren soll.
Als Trigger zur Aktualisierung habe ich in PC Worx (Ver. 6.30 mit der Demo Lizens) einen simplen Timer gebaut, der für ein festes Interval ein Signal geben soll. Alles schön und gut, aber wie implementiere ich das in WebVisit?
Hier ein Screenshot meines WebVisit und PC Worx Projekts:
Unbenannt.jpg
Ich war davon überzeugt, dass ich unter dem Punkt "Repaint" die Bilddatei angeben kann und unter "Condition" die Bedingung für die Aktualisierung angeben kann. Das hat aber nicht so funktioniert :D. Die Variablen habe ich ordnungsgemäß aus meinem PC Worx Projekt implemiert (@GV.Display_Trigger). Als ich die HMI simuliert habe, bekam ich mit der eingestellten Condition aber nur eine leere Seite zurück.

Habe ich einfach nur einen Denkfehler oder sogar den völlig falschen Ansatz gewählt?


PS: Das Bild, was momentan dargestellt wird, ist lediglich zu Testzwecken. Ich will später noch über eine FTP-Verbindung die Bilddatei überschreiben, aber erstmal eine Sache nach der anderen.
 
Hallo,

zunächst beruht Dein Ansatz auf einem Missverständnis der Visualisieungsfunktion. Die Bedingung in deinem Bild ist dicht für eine Aktualisierung, zu verstehen als Update eines Alten Bildes auf einen neuen Bildinhalt mit altem Namen. Vielmehr ist das einfach eine Bedingung dafür, ob dieses Bild angezeigt werden soll. So geht das also schon mal nicht. Ich habe das zwar noch nie probiert, glaube aber vom Hörensagen zu wissen, dass das auch gar nicht geht.

Mir ist ehrlich gesagt aber auch noch völlig unklar was du da vor hast. "Daten vorher in eine Bilddatei geschrieben werden"???? Was für Daten? Messwerte? Und warum sollen die in eine Bilddatei geschrieben werden? Ist es wirklich notwendig, einen Bildinhalt zur Laufzeit zu ändern?

Ehe wir jetzt eine Doktorarbeit über Pferd-von-hinten-aufzäumen schreiben stell doch bitte genauer dar,
  • Was für Daten (und Bilder?) MATLAB zur Laufzeit der Visu erzeugt, in einer Art, die uns klar macht, was der Sinn der Übung ist und warum Du beispielsweise MATLAB einsetzen willst / musst
  • wo (Pfadangabe) diese Daten und oder Bilder für die Visu verfügbar sind
  • was du als Ergebnis auf dem Bildschirm sehen möchtest . Wechselnde Zahlen-Werte in einem Bild? Schreiberlinien? Bargrafen?
  • Webpanel-Typ und Art der Visu (Java oder HTML5)

Dann findet sich auch eine Möglichkeit, wie das erreicht werden kann. Bilderaktualisierung ist schwierig, da wirst Du eher die Visu neu Starten müssen, sinngemäß steht etwas dazu hier. Das wäre aber vermutlich arg unelegant.

Gruß

Rainer
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe fast vermutet, dass ich dabei etwas missverstanden habe. Das erklärt zumindest, warum es nicht funktioniert.

Das besagte Web-Panel ist ein TPE057ATQ der Firma Sütron und stellt die Visu über ein Java-Applet dar.
Ziel des Ganzen ist es, eine Visualisierung einer Ladesäule für Elektrofahrzeuge zu entwickeln. Die gesamte Steuerung der Säule habe ich während meiner Bachelorarbeit (in MATLAB) geschrieben, aus dem einfachen Grund, weil es mir so aufgetragen wurde. Im Endeffekt sollen aktuelle Daten eines Ladevorgangs wie Ladeleistung, Gesamtverbrauch, angemeldeter Nutzer und sonstiges dargestellt werden. Also einfache Textfelder und ein oder zwei Farbfelder, die Fehler, etc. signalisieren.
Für die Bilddatei habe ich mich lediglich entschieden, weil mir das einfachste Lösung erschien um die Daten von MATLAB in WebVisit zu bekommen. Da MATLAB schon alle Daten hat, erstellt es einfach eine Bilddatei, die ich per FTP-Verbindung, vom Rechner in den Flashspeicher des Panels schreiben wollte.

So wie du das beschrieben hast, scheint mir allerdings keine andere Wahl zu bleiben, als die Daten auf einem anderen Weg an WebVisit weiterzuleiten.
 
Da ich noch nichts über die Komplexität der Aufgabenstellung uvam weiß ist es etwas schwierig, einen Rat zu geben. Kannst du die Daten nicht beispielsweise einem Modbus-Server auf dem PC (oder wo arbeitet MATLAB?) zur Verfügung stellen, von dem Sie deine ILCxxx dann einliest? Dann wäre die Visu kein Problem. Es gibt sicher weitere Möglichkieten, aber ich verstehe die Aufgabenstellung noch nicht genug. Wer steuert denn nun was an dieser Säule, was macht die SPS, was macht MATLAB ...

Gruß


Rainer
 
Ja, ich drücke mich auch vermutlich auch ziemlich ungeschickt aus. Ich bin seit über einem Jahr mit der Ladesäule beschäftigt und das macht mich ein wenig mürbe. Sorry dafür.

MATLAB steuert den Controller in der Ladesäule (eine EWS-Box). Die SPS (ILC 130 ETH) steuert momentan nichts, da sie erst seit Montag da ist. Hauptgrund, weswegen sie überhaupt angeschafft wurde, ist, dass das Panel "dumm" ist. Ohne SPS kann nur ein statisches Bild dargestellt werden.
Ich bin etwas ratlos, was du mit Modbus-Server meinst. Informatik ist nicht wirklich meine Spezialität. Funktioniert so eine Modbus Verbindung über Ethernet oder eine serielle Schnittstelle? Momentan sind PC und Säule lediglich per Ethernet verknüpft und weitere Kabel verlegen, ist nicht mehr möglich.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Tja, wenn es keine andere Anzeige sein kann (2. Bildschirm, was weiß ich), sondern das Webpanel sein muss, würde ich mal darüber nachdenken, die anzuzeigenden Daten irgendwie in die Phoenix ILC(?) zu bekommen. MODBUS TCP Slave für Phoenix ILC ist nicht allzu kompliziert, wenn Du eine Lösung für den PC findest, kann ich Dir SPS-Seitig weiter helfen. Ich würde aber auf jeden Fall auch noch mal Sütron ansprechen.

Gute Nacht erst mal


Rainer
 
Andere Anzeige fällt leider aus. Die Ladesäule ist bereits in Betrieb und ohne Display wäre ein ziemliches Loch drin. Ansonsten wäre das Panel längst rausgeflogen, weil es bisher nur Probleme bereitet hat...

Ich danke dir auf jeden Fall sehr für deine Hilfe. Jetzt hab ich ein paar neue Ansätze und versuche nicht weiter, das Unmögliche möglich zu machen :).
 
Hallo BeelzeBubi,

ich fürchte die ausgewählten Komponenten passen nicht zum (zumindest derzeitigen) Konzept.

D.h. das WP (TPE057ATQ) ist ausgelegt mit einer Phoenix Contact Steuerung zu kommunizieren, die Werte kommen dann aus der SPS Applikation.
Das Refreshen von Bildern zur Laufzeit ist dementsprechend nicht vorgesehen, da sich die Prozesswerte aus der Applikation ergeben.

Ich sehe hier im Grunde lediglich zwei Möglichkeiten:
1) Die Phoenix Contact Steuerungen sind Ethernetseitig sehr Kommunikations offen. D.h. am besten übertragen Sie die gewünschten Werten von dem Matlab System auf die ILC.
Eine sehr einfache möglichkeit ist hier tatsächlich Modbus TCP (Server oder Client ist eigentlich egal, beides möglich)
Nach kurzem googeln scheint Simulink auch Modbus TCP zu unterstützen.
2) Falls das Matlab Simulink Gerät (mir ist unklar ob das eine Steuerung oder PC ist) eine Oberfläche oder Webserver bietet, könnten Sie mit einem passenden Panel direkt die Werte/Seiten anzeigen.
Für beides bietet Sütron Lösungen, auch wenn Ihr TP dann nicht mehr das richtige ist.

a) TP mit standard Browser. Hier greift der Browser dann auf den Webserver der Simulink Steuerung zu.

b) IP mit Remote Lösung. Hier greift das TP dann über eine Remotelösung (z.B. Remote desktop) auf die Simulink Steuerung zu.
Für weitere Fragen ist sicherlich eine kurze Skizze der Komponenten und Kommunikationswege hilfreich.

Der Fall wird bei uns unter der Ticketnummer 67757 geführt.


Gruß


Frank
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank Frank für die Vorschläge. Ein anderes TP ist leider nicht möglich.
Ich stelle mir momentan nur die Frage, wie ich die Daten mit der SPS einlesen kann. Gibt es außer dem Modbus TCP Server noch eine Möglichkeit? Die attraktivste Lösung für mich wäre eine .txt Datei, die ich einfach einlese. Nach kurzem googeln habe ich zumindest heraus gefunden, dass ich solche Dateien schreiben kann, aber noch nichts wirkliches zum einlesen. Lediglich den Funktionsblock "FILE_ReadIni" aus dem FileHandling Packet. Die Beschreibung las sich allerdings, als würde man damit nur ini-Dateien lesen können.
 
Hallo BeelzeBubi,

du kannst auch Dateien auf den Flash Speicher der Steuerung laden bzw. austauschen und dort auch in die Applikation auslesen.

Ich kenne zwar deinen genannten Funktionsbaustein nicht, aber mit den Grundfunktionsbausteinen FB_Read/Write kannst du nahezu jedes Format bearbeiten.

Anbei findest du ein kleinens Applikationsbeispiel.

Die Frage ist sicherlich was einfacher umzusetzen ist. Gefühlt würde ich zu einer Modbus TCP Lösung tendieren, aber viele Wege führen nach Rom :p

Gruß

Frank
 

Anhänge

  • pc_worx_5_x_examples_general_v1_20.zip
    3,7 MB · Aufrufe: 11
Hallo, die Flash-Speicher-Datei-Variante hatte ich schon mal für ein grob ähnlich gelagertes Problem in Betracht gezogen, die Frage, was passiert, wenn beide seiten (hier PC und SPS) gleichzeitig auf die "Übergabedatei" auf dem Flash zugreifen, war mir dann aber zu heikel.

Inspiration für eine Lösung könnte evtl. auch diese Diskussion bieten. Mit cgi-Befehlen kannst Du Daten in die Visu-Variablen schreiben. Mit einem script, das cgi-Befehle runterrattert und so die Daten vom PC zur SPS (oder vice versa) transferiert, ließe sich das Problem auch lösen.
Von Ininet gibt es einen Scada-Server, der evtl beim Datenaustausch zwischen SPS und PC hilfreich wäre - ob das allerdings preislich hinhaut ....

Gruß


Rainer
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Skoro som tušil, že som niečo zle pochopil. To aspoň vysvetľuje, prečo to nefunguje.

Predmetný webový panel je TPE057ATQ od Sütron a zobrazuje vizualizáciu cez Java applet.
Cieľom celej veci je vyvinúť vizualizáciu nabíjacej stanice pre elektromobily. Celé ovládanie stĺpca som napísal počas bakalárskej práce (v MATLABE) z jednoduchého dôvodu, že mi bol pridelený. V konečnom dôsledku by sa mali zobrazovať aktuálne údaje z procesu nabíjania, ako je nabíjací výkon, celková spotreba, registrovaní používatelia a iné. Čiže jednoduché textové polia a jedno alebo dve farebné polia, ktoré signalizujú chyby atď.
Rozhodol som sa len pre súbor s obrázkom, pretože som si myslel, že je to najjednoduchšie riešenie, ako dostať dáta z MATLABu do WebVisit. Keďže MATLAB už má všetky dáta, jednoducho vytvorí obrazový súbor, ktorý som chcel zapísať z počítača do flash pamäte panelu cez FTP pripojenie.

Z toho, ako ste to opísali, sa mi však zdá, že nie je iná možnosť, ako preposlať údaje na WebVisit iným spôsobom.
Dobrý deň, chcem si kúpiť TPE 057ATQ ponuku!
Veľká vďaka
 
Zurück
Oben