PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : FMS und VB???



D.Taufall
04.10.2007, 22:22
Hallo,
hat irgend einer ne Ahnung, wie ich die Daten aus FMS Pro in VisualBasic bekomme? Habe vor nen Server auf zumachen und dann die Daten mit VB abzugreifen und in VB auszugeben. Oder weiß einer, wie man vielleicht auf andere Art und Weise nen Programm selberschreiben kann, was die Daten per Netzwerk aus FMS Pro holt?

Gruß Daniel

Sweety2211
05.10.2007, 08:34
Hallo Daniel,

also direkt mit FMS zu kommunizieren ist im Prinzip möglich, wir benutzen aber aus "Altlasten" eine andere Methode: Zwei VB-Programme. Im FMS sind unter globale Aktionen die Status und ZVEI-Kennungen eingetragen, die wir in der eigenen Anwendung brauchen, als Aktion wird meine "Input.exe" gestartet, und ihr die jeweiligen Parameter "Kennung, Status, Folgetext" übergeben.

Die Input.exe erkennt jetzt zunächst aufgrund der Länge, ob es sich um ZVEI oder FMS handelt, und formatiert die Daten entsprechend. (Bei uns "Z-12345" oder F-12345678-5"). sie verbindet sich per Winsock mit der "Display.exe" und schickt ihr diese Daten rüber. Anschließend beendet sie sich von selber wieder.
Naja und die Display.exe erledigt dann ihr übriges und stellt die Daten optisch dar.

Ist wahrscheinlich die simpelste Lösung, die Netzwerkkommunikation ist ja wie bei den ganzen "Einfaches Chatprogramm"-Codebeispielen im Netz.

Ich hoffe dir damit ein wenig weiter geholfen zu haben.

Schöne Grüße,
Sebastian

D.Taufall
05.10.2007, 19:40
Ja, vielen Dank schon mal. Mir ist bloß noch nicht ganz klar, wie man die Werte von FMS an VB Übergibt und in VB annimmt. Hättest du da vielleicht ne beispiel datei von VB, wo ich mir das mal angucken kann? Ich kopiere dass dann auch nicht da raus. Nur als Denkanstöße! Habe auch nicht die Absicht das kommerziell zu nutzen.

Vielen Dank

Daniel

Sweety2211
05.10.2007, 22:28
Hallo Daniel,
habe es gerade leider nur in kompilierter Form da, und denn Quellcode nur grob im Kopf, aber ich versuche mal, was ich noch so hinbekomme.
Also zur Übergabe: Wenn du als Aktion einträgst dass im Pfad C:\Ordner\Programm.exe gestartet werden soll, dann trägst du dahinter einfach die Variablen mit Leerzeichen ein. Ich hoffe ich sage nichts falsches, zur Not schau einfach mal hier im Forum nach Parameterübergabe FMS32, da gibt es einen Thread wo die genau beschrieben sind: Wenn ich nicht irre, ist bei ZVEI-Daten %1 die Fünftonfolge, bei FMS-Daten %1 die Kennung, %3 der Status.

In der Praxis:
-Globale Aktion unter ZVEI für alle Schleifen C:\Ordner\Programm.exe %1
-Globale Aktion unter FMS für alle Status C:\Ordner\Programm.exe %1 %3

In VB steht dir der Startparameter im gesamten Projekt (ich spreche immer von VB6, mit .NET kann ich mich nicht wirklich anfreunden ;-) global als Command$ zur Verfügung.

Wieder in der Praxis:
Die Parameter werden mit Leerzeichen getrennt eingelesen.
Wenn der Melder 12345 ausgelöst wird, ist Command$="12345", wenn das Fahrzeug 12345678 Status 5 drückt, ist Command$="12345678 5". Über die Länge kannst du quasi ermitteln was es ist, und bei FMS auch noch splitten.

Dim Kennung As String
Dim Status As Integer
Dim Schleife as String
Dim Temp As String

Private Sub Form1_Load()
Temp=Command$
If Len(Temp)=5 Then
Schleife=Temp
Else
Kennung=Left(Temp,8)
Status=Right(Temp,1)
Endif
End Sub

Hoffe das war jetzt einigermaßen verständlich. Solltest du noch Fragen haben, helfe ich gern noch weiter.
Schöne Grüße,
Sebastian

D.Taufall
07.10.2007, 17:29
Ja schonmal vielen Dank. Hat mir sehr weitergeholfen. Bin gerade dabei das zu programmieren samt der weiterverarbeitung der Daten und hoffe, dass ich es nächste Woche testen kann. Bis hier her schon mal Vielen Dank.

Firefighter82
20.07.2009, 02:28
Kann mir da mal nochmal jemand weiter helfen habe diese erklärung nicht verstanden!

Gruss

Sweety2211
26.07.2009, 03:00
Hallo Firefighter,
ich versuch mal in meinem Hirn zu kramen um was es da vor zwei Jahren ging, glaube mich aber wieder damit zurechtzufinden. Wo genau liegt den das Problem?
Ich lasse von FMS mein VB-Programm aufrufen und die Parameter mitgeben. Das Programm prüft nur, ob die mitgegebenen Daten fünfstellig oder länger sind, um zu unterscheiden, ob es ein ZVEI-Alarm, oder ein FMS-Status ist. Bei letzterem muss es schließlich noch Kennung des Fahrzeugs und gedrückten Status auseinandernehmen.
Schöne Grüße,
Sebastian