Podstawy programowanie systemów wizyjnych InSight firmy Cognex Środowisku InSight Explorer / Spreadshee
Opis zadania: Wykrycie umownych różnic pomiędzy wzorcową płytką testową i płytkami zawierającymi umowne defekty. OK NOK
Opis zadania: 1) Kompensacja zmiany położenia obiektu (lokalizacja obiektu lokalizacja wzorca) 2) Histogram - Kontrola obecności i wielkości otworów 3) Blobs - Zliczanie obiektów 4) Find Line, Find Circle - Pomiar głębokości wycięcia 5) FindSegment - Pomiar szerokości szczeliny 6) FindCircleMinMax - Kontrola średnicy i owalności 7) Narzędzia pomiarowe - Pomiar kąt 8) Czytanie kodu Datamatrix 9) OCR 10) Interfejs operatora 11) Komunikacja na przykładzie ProfiNet
1) Kompensacja zmiany położenia obiektu (lokalizacja obiektu lokalizacja wzorca) Korzystając z narzędzia Pat Max zlokalizuj obiekt (wstępna lokalizacja) Jeżeli to konieczne to do precyzyjniejszego wyznaczenia położenie kątowego lokalizujemy dwa przeciwległe otwory. Środki otworów posłużą jako początek i koniec odcinka, którego położenie kątowe wyznaczamy. Do lokalizacji otworów możemy wykorzystać jedną z kilku opcji. Np. Wzorzec, Blobs bądź znajdź okrąg. W naszym zadaniu zastosujemy FindPatterns (znajdź wzorzec).
2) Histogram - Kontrola obecności i wielkości otworów Histogram obrazu cyfrowego jest funkcją przyporządkowującą każdemu stopniowi skali jasności (0-255) ilość zliczonych pikseli obrazu o takiej jasności. Narzędziem wykorzystywanym do badania histogramu w zdefiniowanym regionie jest ExtractHistogram Najważniejsze parametry wyjściowe: HistContrast: Oblicza kontrast w zdefiniowanym regionie. HistCount: Oblicza ilość pikseli w zdefiniowanym regionie których jasność mieści się określonym przedziale HistHead: Określa najmniejszej wartości skali szarości powyżej której ilość zliczonych pikseli jest nie zerowa HistMax: Określa wartości skali szarości, dla której ilość zliczonych pikseli jest największa HistMean: Wylicza średnia wartość skali szarości HistMin: Określa wartości skali szarości, dla której ilość zliczonych pikseli jest najmniejsza HistTail: Określa największą wartości skali szarości poniżej której ilość zliczonych pikseli jest nie zerowa HistThresh: Oblicza optymalny próg binarny.
2) Histogram - Kontrola obecności i wielkości otworów Zdefiniowanym analizowanym regionem będzie okrąg. Podłącz w ExtractHistogram / External Region komórkę, w której umieściłeś EditCircle dla każdego z ośmiu otworów. Określamy zakres skali szarości dla otworu. Zakres Ilości zliczonych pikseli funkcją HistCount gdy otwór jest OK Ilość zliczonych pikseli, których jasność mieści się w zdefiniowanym zakresie
3) Blobs - Zliczanie obiektów Funkcja ExtractBlobs umożliwia wyodrębnienie obszarów w formie Plam w zdefiniowanym regionie "analiza łączności". Podczas analizy łączności piksele w zdefiniowanym regionie dzielone są na dwie kategorie Plama lub Tło bazując na określonym progu w skali szarości (0-255). Wszystkie piksele poniżej progu traktowane są jako czarne a powyżej jako białe. Dalej piksele o podobnych wartościach są grupowane na podstawie ich koloru (poziomu jasności) i czy stykają się z sąsiadującymi pikselami. Po analizie obrazu nastąpi podzielenie na grupy stykających się pikseli będące blobsami i na piksele będące tłem. Dla określonego blobsa możemy określić szereg jego cech takich jak współrzędne (Row i Col) obszar, obwód bądź wydłużenie. Przykłady blobsów
3) Blobs - Zliczanie obiektów Do lokalizacji obiektów wykorzystamy narzędzie ExtractBlobs (Number to Sort proszę podać conajmniej 10) Dalej z zakładki Vision Data Acces wybieramy funkcję GetNFound odwołując się do komórki, w której znajduje się narzędzie ExtractBlobs.
Jeżeli musimy wyznaczyć również wysokość i szerokość każdego z elementów to należy spowodować aby kontrolowany obszar był właściwie zorientowany. Do tego celu można posłużyć się filtrem ScaleImage. Korzystając z dodatkowych funkcji z zakładki VisionDataAccess (GetHigh i GetWide) mierzymy wysokość i szerokość Blobsów.)
4) Find Line, Find Circle - Pomiar głębokości wycięcia Środek odcinka możemy wyznaczyć korzystając z następujących funkcji: Mean(Row0,Row1) Mean(Col0,Col1) Wyznaczamy środek najmniejszego okręgu a następnie krawędź w miejscu położenia wycięcia. Dalej mierzymy odległość od środka okręgu do wyznaczonego odcinka. Najpopularniejsze funkcje geometryczne / pomiarowe
5) FindSegment - Pomiar szerokości szczeliny Jednym z najprostszych rozwiązań do pomiaru odległości pomiędzy krawędziami tak jak w naszym przykładzie jest zastosowanie narzędzia FindSegment:
6) FindCircleMinMax - Kontrola średnicy i owalności Do pomiaru samego promienia okręgu możemy użyć narzędzia FindCircle, jednak aby wyznaczyć punkt znajdujący się najdalej i najbliżej środka okręgu posłużymy się funkcją FindCircleMinMax. Innym parametrem, który możemy wykorzystać do określenia jak bardzo okrąg jest odkształcony jest odchylenie standardowe (Sdev). 0 to idealny okrąg.
7) Narzędzia pomiarowe - Pomiar kąt Przy większych kątach niż 10 st wyznaczamy dwa punkty (np. za pomocą narzędzia FindLine). Szerokość ROI dla każdego z punktów powinna wynosić 1 pkseli wówczas narzędzie zwróci nam jeden punkt. W naszym przypadku musimy wyznaczyć dwa odcinki czyli cztery punkty.
8) Czytanie kodu Datamatrix 9) OCR
10) Interfejs użytkownika Custom View Przełączenie w tryb wizualizacji. Custom View Setting konfiguracja trybu wizualizacji (wybór obszaru arkusza służącego za interfejs operatora)
11) Komunikacja Obsługa we / wy dyskretnych Bufor wejściowy i wyjściowy Komedy powodujące odebranie i wysłanie buforów