INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

XML direkt aus einer TCP Verbindung verarbeiten?



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

10.03.2009, 17:06
Beitrag #1

bhopke Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Aug 2006

8.0.1, 8.6 und 9.0
2006
en

87...
Deutschland
XML direkt aus einer TCP Verbindung verarbeiten?
Hallo,
ich suche nach einer Möglichkeit um XML Daten aus einer TCP Verbindung auszulesen um sie sofort weiterverarbeiten zu können. Die TCP Geschichte ist schon am laufen.
Das größere Problem ist die Verarbeitung der XML Daten. Es gibt ja im Nicht-Echtzeit-Teil von LabVIEW den XML-Parser(Zu finden unter Funktionen->Programmierung->Datei-I/O->XML). Der funktioniert aber leider nur mit Dateien. Das einzigste was ich bisher gefunden habe ist folgende Seite: http://thinkinging.com/2008/01/21/using-xm...abview-is-hard/
Jetzt stellt sich für mich die Frage ob das auch einfacher geht? Hat von euch schon jemand ein ähnliches Problem gehabt oder eine bessere Idee? Hier im Forum sind XML-Einträge noch sehr rar und bei Google hab ich bisher nichts besseres als den obigen Link gefunden.

Freue mich über jeden Hinweis und Tipp!
Vielen Dank, mfG,
Bernhard.


P.S.: Ich benutze LabVIEW 8.6
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.03.2009, 09:36
Beitrag #2

Wulfi Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 126
Registriert seit: Jan 2007

2012 DeveloperSuite + MathScript
2006
DE

45xxx
Deutschland
XML direkt aus einer TCP Verbindung verarbeiten?
' schrieb:P.S.: Ich benutze LabVIEW 8.6

Offtopic2
Bitte Profil ergänzen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.03.2009, 09:46
Beitrag #3

Wulfi Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 126
Registriert seit: Jan 2007

2012 DeveloperSuite + MathScript
2006
DE

45xxx
Deutschland
XML direkt aus einer TCP Verbindung verarbeiten?
Schau am besten mal hier.
Das könnte dir helfen:
http://jkisoft.com/easyxml/docs/
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.03.2009, 20:49 (Dieser Beitrag wurde zuletzt bearbeitet: 15.03.2009 20:51 von rolfk.)
Beitrag #4

rolfk Offline
LVF-Guru
*****


Beiträge: 2.302
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
XML direkt aus einer TCP Verbindung verarbeiten?
' schrieb:Hallo,
ich suche nach einer Möglichkeit um XML Daten aus einer TCP Verbindung auszulesen um sie sofort weiterverarbeiten zu können. Die TCP Geschichte ist schon am laufen.
Das größere Problem ist die Verarbeitung der XML Daten. Es gibt ja im Nicht-Echtzeit-Teil von LabVIEW den XML-Parser(Zu finden unter Funktionen->Programmierung->Datei-I/O->XML). Der funktioniert aber leider nur mit Dateien. Das einzigste was ich bisher gefunden habe ist folgende Seite: http://thinkinging.com/2008/01/21/using-xm...abview-is-hard/
Jetzt stellt sich für mich die Frage ob das auch einfacher geht? Hat von euch schon jemand ein ähnliches Problem gehabt oder eine bessere Idee? Hier im Forum sind XML-Einträge noch sehr rar und bei Google hab ich bisher nichts besseres als den obigen Link gefunden.

Freue mich über jeden Hinweis und Tipp!
Vielen Dank, mfG,
Bernhard.
P.S.: Ich benutze LabVIEW 8.6

Die XML Funktionen in der File IO Palette sind keine komplette XML Library sondern speziell auf ein Schema implementiert dass dazu gedacht ist um LabVIEW Daten als XML abzuspeichern. Als universeller XML Parser taugen die überhaupt nichts.

Die Lösung von Jim Kring ist wohl die Beste für Dein Vorhaben. Die ist in pur LabVIEW geschrieben. Die meisten anderen Lösungen basieren entweder auf der MS XML Library und verwenden ActiveX (ein absolutes NoNo unter LabVIEW RT) oder das LabXML Projekt verwendet die Gnome XML Library. Dieses Projekt wird aber nicht mehr aktiv unterstützt und ist nur für Windows und Linux kompiliert worden soweit ich weiss. Wenn Du ein Pharlap RT System hast könntest Du eventuel die Windows Variante darauf zum laufen bringen (das hängt davon ab welche C Runtime und Windows API Funktionen verwendet werden da das Pharlap OS nur ein Subset des Windows APIs unterstützt). Bei PPC basierten RT Controllern geht das halt nicht, da die erstens keine x86 CPUs verwenden und zweitens VxWorks als OS, und das macht beides ein komplet anderes Shared Library Modell notwendig so dass die LabXML Windows DLL speziell für VxWorks rekompiliert werden müsste.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.03.2009, 15:39
Beitrag #5

bhopke Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Aug 2006

8.0.1, 8.6 und 9.0
2006
en

87...
Deutschland
XML direkt aus einer TCP Verbindung verarbeiten?
Vielen Dank für die Antworten!
Werds mal mit der EasyXML versuchen(Die RT läuft auf VxWorks und somit scheidet fast alles andere aus). Werd das Ergebnis dann kund tun.

Grüße, Bernhard.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.03.2009, 16:31
Beitrag #6

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
XML direkt aus einer TCP Verbindung verarbeiten?
' schrieb:Die XML Funktionen in der File IO Palette sind keine komplette XML Library sondern speziell auf ein Schema implementiert dass dazu gedacht ist um LabVIEW Daten als XML abzuspeichern. Als universeller XML Parser taugen die überhaupt nichts.

Die meisten anderen Lösungen basieren entweder auf der MS XML Library und verwenden ActiveX (ein absolutes NoNo unter LabVIEW RT) oder das LabXML Projekt verwendet die Gnome XML Library.
Stimmt das noch für LabVIEW > 8.6 ?
Dort wird doch der XML-Parser von Xerces verwendet (siehe Hilfe) und es kann nun auch ein mit einem eigenen Schema (nur DTD) validiert werden. (Dachte ich) Hatte leider damals zuwenig Zeit (hatte nur Beta), da mal etwas rumzutesten.

Ob das zur Problemlösung was beiträgt, weis ich jetzt auch nichtCool

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
16.03.2009, 20:03
Beitrag #7

rolfk Offline
LVF-Guru
*****


Beiträge: 2.302
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
XML direkt aus einer TCP Verbindung verarbeiten?
' schrieb:Stimmt das noch für LabVIEW > 8.6 ?
Dort wird doch der XML-Parser von Xerces verwendet (siehe Hilfe) und es kann nun auch ein mit einem eigenen Schema (nur DTD) validiert werden. (Dachte ich) Hatte leider damals zuwenig Zeit (hatte nur Beta), da mal etwas rumzutesten.

Ob das zur Problemlösung was beiträgt, weis ich jetzt auch nichtCool

Diese DOM die auf Xerces basiert ist Teil des Internet Toolkits. Ich kann sie in meiner Pro 8.6 Installation ohne weitere Toolkits nicht finden!
Funktioniert auch glänzend unter Windows, und wahrscheinlich den anderen Desktop Versionen von LabVIEW. Aber leider kann ich auch nirgendwo die Portierung davon auf die RT Targets finden!

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.03.2009, 11:46
Beitrag #8

bhopke Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Aug 2006

8.0.1, 8.6 und 9.0
2006
en

87...
Deutschland
XML direkt aus einer TCP Verbindung verarbeiten?
Hab diese Xerces Variante auch nicht gefunden(Internet Toolkit habe ich nicht installiert).
Habe mitlerweile EasyXML ausprobiert. Es funktioniert in der Echtzeitumgebung, macht jedoch leider nicht allzu viel Sinn. Ich habe eine Periodendauer von 10 ms und da ist der Rechner(zw. 800 und 900 MHz) dann zu 90% ausgelastet wenn er in jedem Zyklus EasyXML nutzt. Mein Baum ist realtiv klein aber ich brauche die häufige und auch schnelle Auswertung.

Hier der Baum(vom Prinzip):
<Tag1>
<Tag2>
</clientNr>234</clientNr>
<symbolLib>
<readSymbolValue>
<name>xyz</name>
<value>123</value>
</readSymbolValue>
<symbolLib>
</Tag2>
</Tag1>

Werde jetzt selbst ein kleines VI schreiben das auf meine Bedürfnisse zugeschnitten ist.

Nochmal vielen Dank für eure Hilfe.

Bernhard.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.03.2009, 13:14
Beitrag #9

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
XML direkt aus einer TCP Verbindung verarbeiten?
' schrieb:Diese DOM die auf Xerces basiert ist Teil des Internet Toolkits. Ich kann sie in meiner Pro 8.6 Installation ohne weitere Toolkits nicht finden!
Funktioniert auch glänzend unter Windows, und wahrscheinlich den anderen Desktop Versionen von LabVIEW. Aber leider kann ich auch nirgendwo die Portierung davon auf die RT Targets finden!
Du hast vermutlich Recht, aber so steht das (lese ich das) nicht in der Hilfe. (Habe leider kein 8.6 mehr, daher Links zur Online-Hilfe)
LabVIEW 8.6 Features and Changes
und
XML Parser VIs and Functions

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.05.2009, 06:59
Beitrag #10

dlambert Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 89
Registriert seit: May 2009

2010
2007
en

12359
Deutschland
XML direkt aus einer TCP Verbindung verarbeiten?
Hallo, ich hatte ähnliches vor um einer statischen Datenstruktur vorzubeugen. Ging nur leider wie erwähnt wegen fehlendem XML Support auf dem RT ( cRIO) System nicht. Da ich auf Host (PC) Seite nicht auf XML verzichten wollte, habe ich mich für eine temporäre Konfigurationsdateikonvertierung (ini) entschieden. Diese können vom RT verarbeitet werden. Das Format ist zwar von vorgestern aber immer noch besser als ein Array mit fixed Positions zu verwenden. Die temporäre ini Datei wird per FTP in ein festes Verzeichnis kopiert und vom RT mit festem Namen verarbeitet. Der Zugriff erfolgt dann über die Sections und Keys.

Hope it helps !

Christian
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Gehe zu: