Cognex Kamera

Trötschi

Level-1
Beiträge
61
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen ich muss eine Komunikation zu einer Cognex Kamera aufbauen über RS232! Da die Komunikation über Zeichen funktioniert weiss ich nicht genau ob das so gut ist wie ich das mache, oder ob es was besseres gibt! Ich habe mir einen DB angelegt mit "CHAR" in den ich allerdings maximal 4 Zeichen schreiben kann. Gibt es da noch eine andere Lösung?
Danke schon mal!
 
... Gibt es da noch eine andere Lösung?

Bestimmt ...

Allerdings :
- ich kenne nicht das Kommunikations-Protokoll der Cognex-Kamera
- ich weiß nicht, was du wie gemacht hast

Um so etwas ans Laufen zu bekommen würde ich allerdings so vorgehen :
Auf meinem Schreibtisch eine SPS mit serieller Schnittstellenkarte aufbauen. An die Karte die Cognex-Kamera anschließen. Dann anfangen das Ganze anhand einfacher Abfragen zu starten.

Wie isses ?

Gruß
larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit dem Block_Move-Baustein aus der Standard-Library kannst du auch längere Datenstücke umkopieren. Entweder du nutzt Strings, was in diesem Fall eher hinderlich ist, wegen der 2 kopf-Byte, die die Cognex sicher nicht haben will oder du hantierst mit Any-Zeigern. Allerdings findest du hier im Forum auch einen Baustein, der von Ziel und Quelle nur die DB-Nummer, das Startbyte und die Länge in Byte entgegennimmt und dann die Daten (beliebiger Inhalt) umkopiert.

Siehe z.Bsp. hier: http://www.sps-forum.de/showthread.php?t=19583&highlight=BlkMove
 
Die Cognex erwartet doch ein Standardprotokoll (Angabe welche Cognex wäre vieleicht nicht verkehrt)
Wenn man den DB einmal angelegt hat , braucht man selten merh als die 4Byte, und wenn dann z.B. das Ergebnis vom z.B. DMC per Blockmove umkopieren wie Ralle es vorschlägt.

Wie man den Aufruf macht hängt von der Aufgabe ab.
Meistens ist der simpel, weil man nur einen Trigger mit der Programmnummer schickt und auf das ergebnis wartet.
Also z.B. TR;5 für Trigger Programm 5
Hier müßte ja nur die Programmnummer von z.B. in in ASCII gewandelt werden.
Die Antwort wird ja in der Cognex selber definiert, so das man hier frei ist.
Also stehen (wenn man es richtig deklariert) die Ergebnisse immer an der gleichen Stelle, so das man z.B. ein Byte hat wo steht ob ein Code erkannt wurde und kann diese dann per Blockmove kopieren.
Um Fehler auszuschliessen, lösche ich immer den Empfangsdb beim Triggern wieder ab.
 
Zurück
Oben