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

Ergebnis 1 bis 9 von 9

Thema: TCP/IP zu einer Kamera

  1. #1
    Registriert seit
    14.08.2004
    Beiträge
    824
    Danke
    45
    Erhielt 73 Danke für 66 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wir haben hier so ein Vision System von Cognex, um Kabelfarben zu überprüfen. Das ist eine kleine Kamera inkl. Prozessor für die Bildverarbeitung im Gehäuse mit den Massen 12cmx 5cm x 4 cm. Ich wollte mich per LabView per TCP/IP an die Kamera koppeln, was mit einem einfachen Telnet-Programm auch klappte, nur nicht mit LabView. Zuerst öffnete ich die Verbindung, dann schrieb ich ein Kommando und nichts passierte.

    Nach einem Tag mit vielem Ausprobieren, fand ich dann heraus, dass ich nach dem Öffnen der Verbindung erstmal lesend zugreifen musste, um ein Kommando schreiben zu können. Ich verstehe leider nicht warum?
    Zitieren Zitieren TCP/IP zu einer Kamera  

  2. #2
    Registriert seit
    11.07.2004
    Beiträge
    1.597
    Danke
    10
    Erhielt 213 Danke für 183 Beiträge

    Standard

    Welche Kamera von Cognex verwendest Du?
    Vor allem welches Protokoll soll verwendet werden? Wir verwenden da beispielsweise Ethernet/IP:
    http://www.ethernetip.de/
    und betreiben das Ding an einer Rockwell CLX.

  3. #3
    drfunfrock ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.08.2004
    Beiträge
    824
    Danke
    45
    Erhielt 73 Danke für 66 Beiträge

    Standard

    Das ist eine SmartImageSensor SC für die Spektralanalyse noch von DVTSensors bevor die von Cognex übernommen wurden. Im Prinzip muss ich per TCP/IP nur den String #Yi<CRLF> zur Kamera schicken und die wird getriggert. Als Ergebnis kommt eine Zeile wie

    PASS FAIL FAIL PASS<CRLF>

    heraus.

    Ich habe das so angefangen:

    1) Öffnen der Verbindung
    2) Ein Dummyread mit Timeout 100 ms/ Warum der sein muss weiss ich nicht, habe ich experimentell ermittelt
    3) Senden des Kommandostrings
    4) Warten auf Resultat und lesen

    Bei 4) gibt es manchmal Probleme, dass heisst es wird nichts gelesen und es kommt zu einem Timeout, aber eben nur manchmal. Anscheinend ist mir etwas über TCP/IP nicht so klar, aber die herkömmlichen TCP/IP-Bücher fahren immer auf das Unix-Interface ab und solche Problem sind denen unbekannt.

    Ich hatte lange hier nicht geschrieben, weil ein Projekt mir einfach keine Zeit liess, aber für eine Antwort wäre ich echt dankbar

  4. #4
    Registriert seit
    11.07.2004
    Beiträge
    1.597
    Danke
    10
    Erhielt 213 Danke für 183 Beiträge

    Standard

    Ist das als Script in der Kamera? Falls ja, vielleicht hilft das Manual dazu:
    http://www.dvtsensors.com/support/Do...5d31695314fa13

  5. #5
    drfunfrock ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.08.2004
    Beiträge
    824
    Danke
    45
    Erhielt 73 Danke für 66 Beiträge

    Standard

    Ja wir haben 4 Scripts in der Kamera, die jeweil eine Pass oder Fail ausgeben. Ich habe dann einen Datalink (Siehe DVT Intellect Programm) in der Kamera eingerichtet, der nichts weiter macht, als die Ergebnisse der 4 Scripte in der Form

    <Result> <Result> <Result> <Result><CRLF>

    zur Verfügung zu stellen. Das heisst:

    1) Kamera triggern
    2) Ergebnis kommt als ASCII-Format per TCP/IP z.B.

    Das geht auch per Telnet und selbst mit dem Telnet auf WindowsXP funktioniert das. Nur wenn ich das per TCP/IP und Labview machen möchte, bekomme ich ab und zu Probleme, weil es zu einem Timeout beim Lesen desTCP-Streams kommt. Ich mache also etwas beim Protokoll falsch. Meine Strategie ist die dass ich ein Kommando sende und dann eine Pause einlege, um dann den Lesevorgang zu starten. Die Frage ist nun, ob dieses Vorgehen dem TCP-Protokoll angemessen ist.

  6. #6
    drfunfrock ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.08.2004
    Beiträge
    824
    Danke
    45
    Erhielt 73 Danke für 66 Beiträge

    Standard

    Ach ja, seit Heute gibt es auch die Anforderung, die Produktauswahl über TCP zu machen.

  7. #7
    Registriert seit
    11.07.2004
    Beiträge
    1.597
    Danke
    10
    Erhielt 213 Danke für 183 Beiträge

    Standard

    Hast Du schon mal Ethereal gestartet um zu sehen worin der Unterschied zwischen Telnet und Labview besteht?

    Produktauswahl machen wir auch über Ethernet/IP, explizites Messaging, da "sehen" wir in unserer SPS virtuelle Ein-/Ausgangsworte.

  8. #8
    drfunfrock ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.08.2004
    Beiträge
    824
    Danke
    45
    Erhielt 73 Danke für 66 Beiträge

    Standard

    Jah ich habe ja Wireshark gestartet und festgestellt, dass sich der TCPIPBuilder mehrfach connected. Daraufhin habe ich meine Strategie geändert:

    1) Connect mit Timeout 3s und Wiederholung wenns nicht klappt
    2) Lesezugriff: 0 Bytes, Timeout 10ms (Frage mich nicht warum das so sein muss)
    3) Senden des Kommandos. Bei einem Fehler wird der Vorgang wiederholt.
    4) Lesen der Antwort, Timeout=10ms. Bei Timeout wird der Vorgang max. 2s lang wiederholt
    5) Disconnect

    Das scheint so zu klappen. Bei TCP/IP wird anscheinend nichts im System-Buffer gespeichert, so dass bei einem zu späten Lesezugriff der Kram weg ist. Ich habe auch noch eine Doku erhalten, die mir sämliche Kommandos dokumentiert, wie sie das Windowsprogramm zum Programmieren verwendet, somit kann ich jetzt auch verschiedene Konfigurationen verwenden.

    Jedenfalls hoffe ich, dass diese Struktur auch die nächsten Tests überstehen wird. Ich will in Zukunft auch andere Geräte so steuern, weil es einfach jede Menge Arbeit spart. Dieselbe Struktur kann ich auch mit TwinCat (Beckhoff) realisieren und möchte eine Kommunikation mit LabView (Dient der Steuerung eines Funktionstestes.) aufbauen, um den Funktionstest damit zu steuern.

  9. #9
    Registriert seit
    13.03.2006
    Beiträge
    428
    Danke
    5
    Erhielt 43 Danke für 43 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Kann euere Kamera FTP ?
    Es gibt Kameras, die FTP können !
    Die Kamera dürfte anonymous FTP erlauben.
    http://de.wikipedia.org/wiki/Ftp_(Software)

    ###################################
    Oder noch besser HTTP GET

    Wenn HTTP GET geht:

    wget http://kamera/bild.jpg

    Geht unter Linux und Windows
    http://de.wikipedia.org/wiki/Wget

Ähnliche Themen

  1. Antworten: 14
    Letzter Beitrag: 05.01.2010, 22:34
  2. CP341-1 TPC Verbindung zu einer Cognex Kamera
    Von M_a_t_t_h_i_a_s im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 26.03.2009, 14:51
  3. Schutzgehäuse für Kamera
    Von PeterEF im Forum Stammtisch
    Antworten: 11
    Letzter Beitrag: 13.03.2007, 23:02
  4. Kamera an TP
    Von Flo im Forum HMI
    Antworten: 0
    Letzter Beitrag: 22.08.2006, 21:28
  5. CP 343-1 mit einer Kamera verbinden
    Von sps-martin im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 29.06.2004, 20:31

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •