Netzwerkvariable address already in use

NetFritz
2015-03-25
2015-04-02
  • NetFritz - 2015-03-25

    Hallo
    Ich habe auf meinen Pi Netzwerkvariable eingerichtet. (GVL_send und NVL_read)

    Auf einem anderen Debian PC kann ich über ein Script die Variablen empfangen und auch senden.

    Will ich aber die Variablen auch auf den gleichen Pi empfangen wo auch CODESYS läuft bekomme
    ich immer vom Script eine Fehlermeldung "address already in use".

    Ich kann mir auch die Daten in der Konsole auf den Debian PC mit socat anzeigen lassen.
    "socat -u -x udp-recv:1202 -"

    Rufe ich das aber auf den Pi mit CODESYS auf bekomme ich auch immer die gleiche Fehlermeldung.
    Wie kann ich das verhindern?

    Das senden der Netzwerkvariablen vom Pi Script an CODESYS Port:1203 geht (gleicher Pi),
    warum das empfangen nicht?

    Gruß NetFritz

     
  • NetFritz - 2015-03-27

    Hallo

    Ich habe im Netz nach Server-Client Anwendungen auf einem PC im Web gegoogelt.

    Danach muss es möglich sein beides zusammen auf einem PC zu betreiben,
    Wenn ich Netzvars zu CODESYS sende geht es ja.
    Nur der Empfang von CODESYS geht nich auf einem PC.

    Deshalb bin ich der Meinung, das es sich um einen Bug in CODESYS für den RPi handelt.
    Ich bitte mal von 3S-Smart Software Solutions dazu Stellung zu nehmen.

    Vielen Dank schon mal im voraus dazu.

    Gruß NetFritz

     
  • eschwellinger

    eschwellinger - 2015-04-01

    Hi,

    denke das kein Fehler das die Meldung kommt,
    du kannst ja bei keinem Betriebssystem den Receive-Port zweimal öffnen.
    Wenn ich das richtig interpretiere, willst du deine KNX Daten die auf dem selben PI laufen irgendwie
    in den KNX (Stack?) rein und raus bekommen , sehe ich das richtig?
    Vielleicht ist wenn du auf der selben Maschine bleibst Netvars als Kommunikation nicht die richtige Wahl und sharedmemory wäre geeigneter (dazu findest du ein Beispiel im Forum, l viewtopic.php?f=18&t=4711 l )?

    Hast du mal versucht die Receiver Liste und dein Perl Script (Sender)auf 1204 du ändern?

    Grüße
    Edwin

     
  • NetFritz - 2015-04-02

    Hallo

    Zitat:
    denke das kein Fehler das die Meldung kommt,
    du kannst ja bei keinem Betriebssystem den Receive-Port zweimal öffnen.

    So sollte es sein, CODESYS öffnet zum senden 255.255.255.255:1202
    und zum lesen 255.255.255.255:1203,
    mein Script öffnet zum lesen 255.255.255.255:1202 und ein zweites Script zum
    schreiben 255.255.255.255:1203.
    Ich sehe nicht darin das der Recv Port 2 mal geöffnet ist.

    Es geht ja CODESYS 255.255.255.255:1203 zum lesen und mein Script auf
    255.255.255.255:1203 zum senden.

    Es geht nicht CODESYS 255.255.255.255:1202 zum senden und mein Script auf
    255.255.255.255:1202 zum lesen, dann kommt immer der Fehler in meinen Script.

    Zitat:
    Hast du mal versucht die Receiver Liste und dein Perl Script (Sender)auf 1204 du ändern?

    Ja habe ich auch schon versucht.

    Zitat:
    Vielleicht ist wenn du auf der selben Maschine bleibst Netvars als Kommunikation nicht die richtige Wahl und sharedmemory wäre geeigneter

    Ich habe das Script auf einen anderen Linux Rechner entwickelt und dann über UDP auf den RPi auf die Netvars zugegriffen,
    das geht wunderbar.
    Ich werde mir mal sharedmemory anschauen.
    Ich habe auch schon inzwischen mit 3S-Support schon ein paar E-Mails gewechselt.
    Gruß NetFritz

     

Log in to post a comment.