TCP und String

Antworten
Micha
Beiträge: 16
Registriert: Mittwoch 25. September 2013, 11:16

TCP und String

Beitrag von Micha » Mittwoch 25. September 2013, 13:33

Hallo an alle,

wie ist es möglich einen String von Projekt A nach Projekt B zu Senden alle meine Versuche sind gescheitert.

Ich versuche von einem Betriebsstundenzähler (Profilab Projekte) den Stringausgang von Projekt a nach Projekt B zu Senden.

Mit TCP wie auf dem Bild zu sehen geht es nicht.

Wie bekomme ich das hin?

Danke im voraus.

Gruß Micha
Dateianhänge
bd.png
bd.png (51.05 KiB) 11565 mal betrachtet

tom_g
Beiträge: 215
Registriert: Freitag 31. Oktober 2008, 14:59

Re: TCP und String

Beitrag von tom_g » Mittwoch 25. September 2013, 17:12

Hi,

Jede Instanz von ProfiLab TCP erlaubt "nur" einen analogen Wert oder 16 bits binäre Werte zu übertragen. Du hast für Dein Beispiel die TCP-Instanz auf binärsignalübertragung konfiguriert. Hiermit kann kein String, sondern allenfalls nur ein einzelnes decodiertes ASCII-Zeichen (Buchstaben) übertragen werden.
Ein String besteht aus vielen Werten (oder Buchstaben), welche "halt" von Dir sequentiell = nacheinander durch eine TCP-Verbindung durchgeschoben werden müssen.

Das Problem: es kann nicht einfach erkannt werden, wenn sich gleiche Werte aufeinanderfolgen, dass es sich um diese einzelnen Werte handelt. (Nur bei nacheinander immer verschiedenen Werten könnte man einen Differenzdetektor auf der Empfängerseite bauen, welcher die Aenderung erkennt und das Zeichen packt.)

Ich denke nur mal laut und theoretisch, tut mir leid, dass ich nicht gleich ein Beispiel habe....

Man könnte sich zu diesem Zweck eine parallele 2. TCP-Leitung öffnen, worüber ein Synchronisationssignal geschickt wird. Hiermit liesse sich nun erkennen, das aktuell ein Zeichen (Wert) übermittelt wird, welcher gepuffert (z.B. mit StringBuffer) oder gesampelt oder... wird.

Vielleicht gehts auch nur mit einem einzelnen TCP-Kanal, mit dem BEwusstsein, dass "normale" Buchstaben (ASCII-Zeichentabelle ansehen) bei 122 enden (falls Dir das reicht).
Trick: Ein bekannter Offset , z.B. 128, könnte nun immer wechselnd, (0, 128, 0...) quasi als Taktgeber auf das Zeichen "aufmoduliert" werden und auf der Empfängerseite diskriminiert werden. Somit wäre die Dynamik gegeben, um jeweils das übertragene Zeichen zu "packen".

Vielleicht gibts auch einfachere Lösungen ?

Viele Grüsse von Thomas
Curiousity makes us progress !

Micha
Beiträge: 16
Registriert: Mittwoch 25. September 2013, 11:16

Re: TCP und String

Beitrag von Micha » Mittwoch 25. September 2013, 17:30

tom_g hat geschrieben:Hi,

Jede Instanz von ProfiLab TCP erlaubt "nur" einen analogen Wert oder 16 bits binäre Werte zu übertragen. Du hast für Dein Beispiel die TCP-Instanz auf binärsignalübertragung konfiguriert. Hiermit kann kein String, sondern allenfalls nur ein einzelnes decodiertes ASCII-Zeichen (Buchstaben) übertragen werden.
Ein String besteht aus vielen Werten (oder Buchstaben), welche "halt" von Dir sequentiell = nacheinander durch eine TCP-Verbindung durchgeschoben werden müssen.

Das Problem: es kann nicht einfach erkannt werden, wenn sich gleiche Werte aufeinanderfolgen, dass es sich um diese einzelnen Werte handelt. (Nur bei nacheinander immer verschiedenen Werten könnte man einen Differenzdetektor auf der Empfängerseite bauen, welcher die Aenderung erkennt und das Zeichen packt.)

Ich denke nur mal laut und theoretisch, tut mir leid, dass ich nicht gleich ein Beispiel habe....

Man könnte sich zu diesem Zweck eine parallele 2. TCP-Leitung öffnen, worüber ein Synchronisationssignal geschickt wird. Hiermit liesse sich nun erkennen, das aktuell ein Zeichen (Wert) übermittelt wird, welcher gepuffert (z.B. mit StringBuffer) oder gesampelt oder... wird.

Vielleicht gehts auch nur mit einem einzelnen TCP-Kanal, mit dem BEwusstsein, dass "normale" Buchstaben (ASCII-Zeichentabelle ansehen) bei 122 enden (falls Dir das reicht).
Trick: Ein bekannter Offset , z.B. 128, könnte nun immer wechselnd, (0, 128, 0...) quasi als Taktgeber auf das Zeichen "aufmoduliert" werden und auf der Empfängerseite diskriminiert werden. Somit wäre die Dynamik gegeben, um jeweils das übertragene Zeichen zu "packen".

Vielleicht gibts auch einfachere Lösungen ?

Viele Grüsse von Thomas

Hi und danke für deinen Beitrag.

Kann mir denn sonnst keiner einen weg zeigen wie ich den String von Projekt A nach Projekt B bekomme???

mstaudi
Beiträge: 43
Registriert: Samstag 9. Oktober 2010, 23:17

Re: TCP und String

Beitrag von mstaudi » Mittwoch 25. September 2013, 19:09

Hi Micha,
muss es denn wirklich ein String sein? In deinem Beispiel hast du ja einen "konstanten" String hinzugefügt. Der Wert an sich ist doch analog, nämlich Betriebsstunden, oder? Den analogen Wert kannst du ja ganz simple übertragen... und in Projekt b den Rest dazu schreiben?

Gruß, martin

Micha
Beiträge: 16
Registriert: Mittwoch 25. September 2013, 11:16

Re: TCP und String

Beitrag von Micha » Donnerstag 26. September 2013, 06:48

mstaudi hat geschrieben:Hi Micha,
muss es denn wirklich ein String sein? In deinem Beispiel hast du ja einen "konstanten" String hinzugefügt. Der Wert an sich ist doch analog, nämlich Betriebsstunden, oder? Den analogen Wert kannst du ja ganz simple übertragen... und in Projekt b den Rest dazu schreiben?

Gruß, martin

hi mstaudi,

klar hab ich das auch schon Versucht aber dann bekomme ich nur zahlen wie diese >> 185635289<< ich brauche aber die Anzeige in z.b. in 00:38 wie sie sonnst ist als String.
Und ich weiss nicht wie ich das realisieren soll???
Hat jemand eine Idee oder ein Beispiel für mich??!!

Danke im voraus.

Gruß
Micha

wb77
Beiträge: 13
Registriert: Sonntag 9. Juni 2013, 01:04

Re: TCP und String

Beitrag von wb77 » Donnerstag 26. September 2013, 11:30

Hi Micha,

ich verwende dafür virtuelle COM-Port ein simples Programm findest du hier:

http://www.heise.de/download/com0com-1149731.html

Somit kannst du Byte, Zahlen, Strings hin und her senden vorausgesetzt es läuft auf dem gleichen PC.
oder PC 1 Com zu PC 2 Com geht auch.

Mike D
Beiträge: 528
Registriert: Dienstag 14. Oktober 2008, 14:48
Wohnort: Elbe- Weser-Dreieck

Re: TCP und String

Beitrag von Mike D » Donnerstag 26. September 2013, 11:35

oder mit com2tcp auf verschieden PCs

Micha
Beiträge: 16
Registriert: Mittwoch 25. September 2013, 11:16

Re: TCP und String

Beitrag von Micha » Donnerstag 26. September 2013, 11:43

Mike D hat geschrieben:oder mit com2tcp auf verschieden PCs

Hi und danke für den Hinweis.
Werde es mal testen ob ich damit zurecht komme, und melde mich dann wieder. :D

tom_g
Beiträge: 215
Registriert: Freitag 31. Oktober 2008, 14:59

Re: TCP und String

Beitrag von tom_g » Donnerstag 26. September 2013, 19:58

Hi,

ich habe hier gemäss meinem vorgängigen Vorschlag hier im Forum ein rudimentäres Beispiel für einen "String-Serializer" aufgebaut, welcher Buchstabenketten (=strings oder andere Daten) über ProfiLab-TCP (hier mittels localhost in meinem eigenen Rechner) übertragen kann.

Das Beispiel benötigt nur einen analogen Profilab-TCP-Kanal, weil das synch-Signal im Sender auf die Nutzdaten aufmoduliert wird und im Empfänger wieder zurückgewonnen wird, sowie die Nutzdaten wieder aufbereitet werden.

Ich verwende momentan 50Hz als synch-Signal. Das geht locker via localhost. Habe nicht mehr probiert. Ob das zuverlässig über ein Firmennetzwerk oder gar über das Internet funktioniert ?

Würde mich freuen, wenn das jemand probiert und seine Erfahrungen publiziert !

Grüsse von Thomas
Dateianhänge
string_through_TCP_1.prj
(6.71 KiB) 668-mal heruntergeladen
Curiousity makes us progress !

Mike D
Beiträge: 528
Registriert: Dienstag 14. Oktober 2008, 14:48
Wohnort: Elbe- Weser-Dreieck

Re: TCP und String

Beitrag von Mike D » Freitag 27. September 2013, 13:15

@tom_g
interessante Lösung

Mike

Antworten

Zurück zu „STRING-Verarbeitung“