Beckhoff, TwinCAT Vision– 자동화 기술에 간단하게 이미지 처리 통합하기 [마쉬넨마르크트코리아 2018년 2월]

PLC에서 직접 이미지 처리
TwinCAT Vision–
자동화 기술에 간단하게 이미지 처리 통합하기

모든 생산단계에서 제품의 자동탐지, 추적가능성, 품질모니터링이 점차 중요해지고 있다. 이에 맞추어 저비용 카메라와 고성능컴퓨터로 점점 더 많은 영역에서 이미지처리가 시도되고 있다. 이미지처리는 품질관리를 위해 사람의 육안검사보다 몇 가지 장점을 가지고 있다. 무엇보다 이미지검사가 결과에 있어서 결정적이고 재현 가능하다. 인간에게는 불가능한, 마이크로미터 범위의 부품측정을 보완할 수 있다.


  자동화 기술에서 이미지 처리는 지금까지 별도로 취급되었고, 외부 시스템 통합 업체에 외주를 주는 경우가 많았다. 그 동안 PLC 프로그래머가 모션 컨트롤, 안전 기술, 측정 기술, 로봇 공학을 제어하며 이를 컴퓨터에서 컨트롤 시스템에 통합할 수 있다. 지금까지 이미지 처리는 다른 구성 도구와 프로그래밍 언어를 사용하는 별도의 고성능 컴퓨터에서 알 수 없는 부분으로 남아 있거나 또는 특별히 구성된 스마트 카메라에서 실행되었다. 추가의 컴퓨터를 통해 시행하거나 사소한 변경도 PLC 프로그래머 대신 전문가를 통해 피할 수 없는 비용이 발생하였다. 시스템 통합 업체를 이용하는 경우 노하우가 외부에 존재한다. 또한 이미지 처리 장치와 컨트롤 시스템 간의 통신을 제어해야 하기 때문에 프로세스가 취약하였다. 더불어 지금까지의 이미지 처리는 시간을 계획하여 진행할 수 없었다. 운영 체제와 같은 외부 프로세스가 처리 시간과 전송 시간에 영향을 미칠 수 있어서, 결과가 제때 컨트롤 시스템에 도달하지 못했다.
  TwinCAT은 이러한 두 가지를 소프트웨어 측면에서 하나의 시스템에 통합하였다. 특히 카메라의 구성이 필드 버스나 축의 구성과 같은 도구에서 이루어진다. 프로그래밍은 PLC 프로그래밍 언어로 이루어진다. 이는 엔지니어링에서 많은 비용을 절감한다. 특수 프로그래밍 언어와 특수한 구성 도구를 배울 필요가 없기 때문이다. 이미지 처리 장치와 컨트롤 시스템 간의 통신 문제만 없어지는 것이 아니라, 이미지 처리 콤포넌트와 모션과 같은 컨트롤 콤포넌트가 직접 상호 통신할 수 있고, 완전히 새로운 가능성을 열어 준다. 모든 것이 하나의 도구와 하나의 런타임 환경에 통합되었다. 이것은 TwinCAT Vision이 보여주는 새로운 길이다.


아키텍처
  PC를 기반으로 하는 이 자동화 시스템은 컨트롤 기능을 하나의 PC에 통합하고, 기본적으로 기가비트 이더넷 인터페이스를 이용한다. 기가비트 이더넷을 기반으로 GigE Vision은 카메라와 카메라의 이미지 데이터가 안정적이고 신속하게 통신할 수 있는 전송 표준을 제공한다. 이를 위해 TwinCAT Vision은 컨트롤러의 메모리에 직접 이미지 데이터를 제공하는 이더넷 인터페이스용 실시간 드라이버를 제공한다. 또한 TwinCAT Vision은 GigE Vision을 통해 수많은 제조업체의 포트폴리오에 속한 카메라를 이용할 수 있는 개방형 시스템이기도 하다.연결을 설정하면 일반적으로 카메라 구성이 이루어진다. GigE Vision 인터페이스가 있는 카메라의 제조사는 Gen Api 형식으로 구성 설명도 제공한다. TwinCAT Vision 구성 마법사는 이 정보를 읽고, 사용자에게 매개 변수를 일목요연하게 제공한다. 노출시간 조정과 관심 지역 설정과 같은 구성 변경은 간단하게 할 수 있고 카메라의 라이브 이미지에서 찾아볼 수 있다.
  TwinCAT Vision은 카메라 구성 마법사 외에 기하학적 카메라 보정을 위한 다른 보조 기능을 제공한다. 이 기능은 이미지 좌표와 월드 좌표 간의 관련성을 설명하는 매개변수를 산출한다. 이를 통해 이미지 내에서 위치를 실제의 점과 관련되어 제시하고, 픽셀의 길이를 미터 시스템으로 환산할 수 있다. 원근 왜곡과 이미지에서 왜곡 형태로 관찰되는, 렌즈의 비선형 이미지 결함이 고려된다.
  카메라 보정의 범위에서 하나 또는 다수의 해당 보정패턴을 촬영해야 한다. 이 촬영은 엔지니어링 툴에서 바로 실행하거나 기존 이미지를 불러 들일 수 있다. 사용하는 보정 패턴의 정보에 따라 매개변수가 자동으로 계산된다. 체스판 패턴, 대칭 또는 비대칭 원형 패턴과 같은 표준 2D 패턴 외에 자체 패턴을 불러올 수도 있다. 3D 패턴일 수도 있다(10/11 페이지 그림 참조). 보정 마법사를 사용하는 대신, PLC에서도 카메라 보정이 이루어진다.


PLC에서 이미지 처리
  미가공 이미지는 GigE Vision을 통해 카메라에서 바로 PLC의 라우터메모리로 전송된다. 이를 위해 카메라는 이미지 캡처 상태이어야 하고, 카메라 구성에 따라 이미지를 트리거링해야 한다. 이를 위해 기능 모듈 FB_VN_GevCameraControl을 사용할 수 있다.
  시간적으로 매우 정밀한 트리거링을 위해 Beckhoff 자동화 구성 키트에는 타임 스탬프 기반 출력 단자 EL2262를 사용할 수 있고, 이를 이용하여 마이크로초 단위로 정확하게 하드웨어 트리거 신호를 카메라에 전송할 수 있다. 모든 것이 실시간으로 고도로 정확하게 시간적으로 관련되어 일어나기 때문에, 이미지 촬영과 축 위치를 고도로 정확하게 동기화할 수 있다. 이는 PLC 프로그래머가 자주 수행해야 하는 작업 가운데 하나이다.
  또한 많은 카메라들이 이미지 촬영 시작과 같은 사전에 정의된 이벤트에 대해 출력 신호를 전송할 수 있다. 이 신호는 Beckhoff의 디지털 입력 단자로 포착할 수 있고 이어지는 프로세스를 정밀하게 동기화 하기 위해 PLC에서 사용할 수 있다.
  이미지 처리를 위해 TwinCAT Vision에는 PLC에 새로운 이미지 처리 라이브러리가 있으며, 이 라이브러리에는 수많은 이미지 처리 알고리즘이 있다. 예를 들어 전처리 영역에서 이미지 크기를 조정하고, 원하는 색상 공간으로 변환할 수 있으며 필터 기능을 이용하여 특정 기능을 강조하거나 억제할 수 있다. 이어서 임계값 연산에 의해 이미지의 바이너리화가 이루어질 수 있 고 , 결과적으로 이미지에서 윤곽 추적을 실시할 수 있다. 이렇게 발견된 윤곽은 특성을 바탕으로 필터링되어 흥미로운 이미지 윤곽과 이미지 영역이 선택되고, 이렇게 선택된 이미지 윤곽 또는 이미지 영역은 재차 객체 식별 및 측정에 적합하다. 카메라가 사전에 보정되어 있는 경우 피쳐 포인트를 다시 월드 좌표계로 변환할 수 있어 위치와 치수 정보를 실제 월드 좌표로 표시할 수 있다. TwinCAT Vision을 TwinCAT 실시간 환경에 통합하여 이미지 처리 기능의 시간을 이른바 워치독으로 모니터링 할 수 있다. 워치독은 정의된 시간 주기 또는 프로세싱 사이클 시작과 관련하여 정의된 시점 이후에 기능을 중단한다. 이때 사용자에게 경우에 따라 존재하는 부분 결과를 제공한다. 또한 적합한 이미지 처리 기능이 이른바 잡태스크를 이용하여 다수의 코어에서 자동으로 동시 처리되므로, TwinCAT Vision은 TwinCAT의 멀티코어 능력을 최적으로 활용할 수 있다.
  분석 및 결과 시각화를 위해 모든 중간 상태를 이미지 형태로 출력할 수 있다. 사전에 이미지에 쓰고 이미지에 그릴 위치 정보와 같은 결과를 얻을 수 있고, 이미지 위치에 그릴 정보는 필터링 된 이미지 윤곽의 컬러 표시 또는 부품의 우수/불량 표시에 이용할 수 있다. 이때 사용자는 이미지 한계만 설정하면 된다. 이미지는 이른바 ADS 이미지 워치 또는 최종 사용자를 위해서는 TwinCAT HMI로 바로 볼 수 있다.



PLC와 이미지처리가 하나의 툴에
  TwinCAT Vision은 전통적인 자동화 기술을 간단하게 이미지 처리와 결 합 한 다 . 엔지니어링 측면에서 카메라 구성과 기하학적 카메라 보정은 바로 TwinCAT 엔지니어링에서 실시된다. 다른 도구를 사용할 필요가 없 다 . 이미지 처리 프로그래밍은 PLC 프로그래머 언어 IEC61131로 이루어진다. 따라서 특수한 프로그래밍 언어를 배우지 않아도 된다. 또한 PLC의 이미지 처리 결과와 그 다음 코드 라인에서도 바로 대응할 수 있다.실시간으로 카메라가 트리거링되어 이미지 촬영 및 PLC 또는 모션을 완전히 동기화하여 작동할 수 있다. 이미지 처리 알고리즘은 TwinCAT 실시간에서 계산되므로 태스크가 동기화되고 워치독을 통해 실시간으로 모니터링 된다. 이때 TwinCAT Vision은 TwinCAT의 멀티코어 기능을 사용하며 가능한 경우 알고리즘을 자동으로 다수의 코어에서 실행한다. 사용자 측에서 특별히 프로그래밍할 필요가 없다. 
  TwinCAT Vision은 컨트롤러 내에서 비전을 처리해야 하거나 처리하고자 하는 사용자를 기준으로 한다. 통합에 의해 TwinCAT Vision을 간단하게 조작 프로그래밍할 수 있다. 이미지 처리와 PLC 그리고 모션 간 고도의 동시성을 필요로 하는 사용자도 당연히 긍정적으로 반응한다. 더 이상 지연되지 않고 시간적으로 알고리즘을 모니터링하여 직접적으로 반응할 수 있다. 부품 찾기 및 인식 또는 부품 측정과 같은 전통적인 작업은 TwinCAT Vision으로 간단하게 이용할 수 있다. TwinCAT 사용자에게는 PLC, 모션, 로봇 공학, 측정 기술 외에 이미지 처리도 TwinCAT 시스템에 통합하여 제공된다.

공학박사 요제프파펜포르트, TwinCAT 제품매니저

[출처] 마쉬넨마르크트코리아 2018 FEBRUARY

댓글

이 블로그의 인기 게시물

[IPC 메뉴얼] BECKHOFF PC 기본 설정 방법

트라이텍, EtherCAT과 DeviceNet [월간CONTROL 2013/11]

[쉽고 간단한 안내서] TwinCAT PLC HMI와 TwinCAT HMI