Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Page 2 of 2 FirstFirst 12
Results 11 to 16 of 16

Thread: Hyper Terminal -> C#

  1. #11
    Joerg123 is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    03.04.2004
    Posts
    128
    Danke
    11
    Erhielt 14 Danke für 10 Beiträge

    Daumen hoch


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Im Nachhinein ist es halt immer leicht

    Nur da ich letztens ein paar Stunden gebraucht hab um über Ethernet mit einer S7 zu kommunzieren, hab ich bei diesem Projekt wieder mit ein paar Stunden Arbeit gerechnet. Aber anscheinend gibt es doch noch Industrieunternehmen die Standart-TCP Kommunikation unterstützen (Omron). Bei Siemens arbeite ich mit libnodave.



    Nochmal vielen Dank für die Tipps!

  2. #12
    Joerg123 is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    03.04.2004
    Posts
    128
    Danke
    11
    Erhielt 14 Danke für 10 Beiträge

    Default

    Hallo,

    habe jetzt noch einmal ein kleines Problem mit der Kommunikation zur Omron-Kamera. So lange das Netzwerkkabel gesteckt ist funktioniert alles wunderbar, doch starte ich die Anwendung wenn das Kabel nicht gesteckt ist versucht die Software minutenlang eine TCP-Verbindung aufzubauen!
    Gibt es eine Möglichkeit diese Zeit zu verkürzen, so dass ich bereits nach kurzer Zeit 'Verbindungsfehler' melden kann??

    Mein Code an der Stelle ist entweder:

    TcpClient tcp = new TcpClient("192.168.202.241",23);

    oder:

    TcpClient tcp = new TcpClient();
    tcp.Connect("192.168.202.241",23);

    dass ganze jeweils in einem Try/Catch-Block. Jedoch dauert es immer mehrere Minuten bis ich die Exception bekomme.

    Gruß Jörg

  3. #13
    Join Date
    29.03.2004
    Posts
    7,253
    Danke
    165
    Erhielt 2,176 Danke für 1,557 Beiträge

    Default

    Beim .Net TcpClient kann man wohl für ein Connect kein Timeout angeben.
    Bleibt nur der Umweg über die etwas aufwändiger zu programmierenden asynchronen Sockets:

    http://msdn.microsoft.com/en-us/library/bbx2eya8(vs.71).aspx

    Warum lässt du dir die Werte denn nicht einfach mittels Telnet in eine Datei schreiben?

    Gruß

  4. #14
    Joerg123 is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    03.04.2004
    Posts
    128
    Danke
    11
    Erhielt 14 Danke für 10 Beiträge

    Default

    Quote Originally Posted by Thomas_v2.1 View Post

    Warum lässt du dir die Werte denn nicht einfach mittels Telnet in eine Datei schreiben?

    Gruß
    Wie meinst du das? Gibt es dafür fertige Programme??

  5. #15
    Joerg123 is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    03.04.2004
    Posts
    128
    Danke
    11
    Erhielt 14 Danke für 10 Beiträge

    Default

    Hallo,

    also der Kunde möchte gerne einen PC bei den Anlagen stehen haben wo er auch einen aktuellen Status der Anlagen einsehen kann. Im Endeffekt werden von fünf Kameras gleichzeitig Daten eingelesen, da ich nicht weiß von welcher Anlage als nächstes Daten kommen mache ich Multi-Threading. So lange alle Netzwerkverbindungen 'OK' sind funktioniert alles wunderbar, ich kann die Anwendung schliessen und öffnen, alles wunderbar.
    Sobald aber eine Netzwerkverbindung nicht OK ist, funktioniert scheinbar auch alles, nur beim schliessen der Anwendung blockiert anscheinend der Thread, der noch versucht eine Netzwerkverbinung aufzubauen dass korrekte Schliessen der *.exe-Datei im Task-Manager unter den Prozessen. Auch nach mehreren Minuten ist die *.exe noch vorhanden. Versuche schon mit Thread.Abort-Befehlen die 'hängenden' Threads abzuwürgen, aber ohne Erfolg.
    Wie gesagt es funktioniert alles prima so lange alle Netzwerkverbindungen 'OK' sind. Davon kann ich aber im Dauerbetrieb nicht ausgehen, da es immer mal vorkommen kann dass eine Anlage nicht produziert und somit ausgeschaltet ist.

    Ich hoffe ihr habt mein Problem verstanden, vielleicht hat ja jemand noch einen Guten Tipp was ich anders machen kann!

    Gruß Jörg

  6. #16
    Join Date
    29.03.2004
    Posts
    7,253
    Danke
    165
    Erhielt 2,176 Danke für 1,557 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Quote Originally Posted by Joerg123 View Post
    Wie meinst du das? Gibt es dafür fertige Programme??
    Telnet ist fast so etwas wie Hyperterminal. Kannst ja mal eine Eingabeaufforderung starten und "telnet" eintippen.
    Also damit könntest du auch eine Netzwerkverbindung zu deinem Server herstellen.

    Aber wenn der Kunde die Daten auch in einem Programm dargestellt haben möchte fällt das sowieso flach.

    Sollen die Daten nur in eine Textdatei geschrieben werden ginge das auch mit einer Batch-Datei die im Hintergrund abläuft.
    Hier mal ein Beispiel:
    Anstatt Telnet wird plink genutzt (kann außer Telnet auch SSH). Bei erfolgreicher Verbindung werden in eine Datei mit aktuellem Zeitstempel als Dateiname die empfangenen Daten geschrieben. Nach 100 Fehlversuchen bricht es aber ab.

    Code:
    rem ###################################################
    rem # Schreib die von plink empfangenen Daten in      #
    rem # eine Datei mit dem aktuellen Zeitstempel.       #
    rem # Bei jeder neuen Verbindung wird eine neue Datei #
    rem # geschrieben. Anzahl der Wiederholversuche bis   #
    rem # Programmende einstellbar (100)                  #
    rem ###################################################
    @echo off
    set /a errcount=0
    :loop
    set datum=%date:~-4%%date:~-7,2%%date:~-10,2%
    set stunde=%time:~0,2%
    if %time:~0,2% GTR 9 goto stundeOK
    set stunde=0%time:~1,1%
    :stundeOK
    set zeit=%stunde%%time:~3,2%%time:~6,2%
    set filename=C:\Temp\data_%datum%_%zeit%.txt
    plink -telnet 192.168.1.1 -P 9000 > %filename%
    rem # echo Plink returned: %ERRORLEVEL%
    rem # Datei von 0 KB Groesse loeschen
    for %%F in (%filename%) do set size=%%~zF 
    if %size% EQU 0 (del %filename%)
    set /a errcount=%errcount%+1
    if %errcount% GEQ 100 (goto :exit)
    goto :loop
    :exit
    @echo on
    echo Maximale Anzahl an Verbindungsversuchen erreicht

Similar Threads

  1. Step 7 Terminal Module
    By biofranz in forum Simatic
    Replies: 0
    Last Post: 04.02.2018, 13:17
  2. Replies: 2
    Last Post: 20.12.2016, 11:08
  3. Replies: 0
    Last Post: 07.09.2015, 12:34
  4. Microsoft Hyper-V
    By Rosenberger in forum PC- und Netzwerktechnik
    Replies: 8
    Last Post: 10.04.2014, 07:43
  5. CP 343-1 Lean an Hyper-Terminal
    By Guste in forum Simatic
    Replies: 12
    Last Post: 23.05.2012, 13:49

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •