표준으로 발전하는  머신비전
표준으로 발전하는  머신비전
  • 신현성 기자
  • 승인 2019.03.18 23:59
  • 댓글 0
이 기사를 공유합니다

표준으로 업체간 호환성 확보 … 손쉽게 머신비전을 시작한다

지난 10년 동안 산업용 카메라를 보다 쉽게 사용하기 위해 GenICam, GigE Vision, USB3 Vision 등의 명칭을 가진 표준 인터페이스가 등장했다. 머신비전 업체들은 이러한 표준을 활용하여 머신비전 애플리케이션의 카메라에 대한 설계 단계를 간소화함으로써 개발에 따른 시간과 비용 절감을 꾀했으며, 기기 호환성과 완벽한 플러그 앤 플레이 기능이 항상 강조되고 있다.  

표준의 이점은 호환성에 있다. 표준을 준수하는 머신비전 구성 요소는 이전보다 많은 애플리케이션에서 머신비전을 사용할 수 있게 한다. 이에 기업들은 표준 비전 프로토콜을 사용하여 자동으로 호환성이 향상되기를 원하고 있다. AIA와 EMVA의 표준화는 머신비전 환경에서 인터페이스의 혼란을 종식시키는 의미를 지닌다.

하지만 제조업체에겐 공급자 차별화도 중요한 요소이다. 따라서 제조 업체들은 SFNCStandard Feature Naming Convention의 범위 바깥에서 추가 기능을 구현하여 차별화를 꾀한다. 일반적으로 제조업체의 기능 세트를 사용하는 경우, 소프트웨어 개조없이 제조업체 변경이 불가능할 수 있지만, 프로그래밍 인터페이스 측면에서 GenICam보다 훨씬 높은 수준의 편의성과 사용자 편의성을 제공할 수 있다. 따라서 산업용 카메라 제조업체는 표준화된 인터페이스를 기반으로 하면서 동시에 자체 프로그래밍 인터페이스를 제공하는 방식을 취하고 있다. 

표준화 시스템의 세부 사항
애플리케이션에 대한 요구 사항과 목적을 효과적으로 구현하려면 일반 시스템의 중요한 세부 사항을 알고 있어야 하며, 올바른 범위에서 사용해야 한다.

먼저 시스템 아키텍처는 GigE Vision, 혹은 USB3 Vision 인터페이스가 장착된 머신비전 표준 카메라가 제조업체별 소프트웨어 패키지없이 작동하더라도 필수적으로 유지되어야 한다. 하드웨어 레벨은 카메라 데이터 전송을 위한 설정 기술과 연결 방법, 그리고 통신 프로토콜(USB, 기가비트 이더넷 등)을 기반으로 하며, 장치 소프트웨어(드라이버 및 사용자 공간 라이브러리)는 카메라의 전송 채널과 사용자 응용 프로그램 간의 통신을 위해 API를 사용한다.

[그림 1] 인터페이스 표준화는 애플리케이션에서 표준 카메라를 사용할 수 있는 기회가 된다.
[그림 1] 인터페이스 표준화는 애플리케이션에서 표준 카메라를 사용할 수 있는 기회가 된다.

표준, 새로운 기회의 제공
GenCam을 기반으로 시스템 아키텍처의 여러 인터페이스에서 표준화가 이뤄짐으로써 머신비전 표준 카메라 사용을 위한 명확하고 정의된 수많은 시작점이 만들어졌다. 사용자 응용 프로그램과 장치 소프트웨어간의 통신 링크로 GenICam을 사용하면, 제조업체의 프로그래밍 인터페이스가 일반적으로 적용되는 단일 인터페이스로 제한된다. 

GenICam은 여러 제조업체와 전송 프로토콜 전반의 모든 카메라 기능에 대한 액세스를 추상화하는 점이 특징이다. 이에 카메라 모델에 따라 변경되거나 펌웨어 업데이트로 확장될 수 있는 기능과 관련된 애플리케이션에 이상적인 토대가 된다.

전송 레벨에서 GigE Vision 및 USB3 Vision과 같은 프로토콜은 카메라 펌웨어 측면에서의 제고를 의미한다. AIA 표준 전송 프로토콜을 사용하는 카메라는 장치 소프트웨어에 표준 언어를 사용한다. 즉 카메라 펌웨어, 전송 프로토콜, 장치 소프트웨어간의 긴밀한 연결을 해제하며, 단일 제조업체의 소프트웨어가 독립적으로 제공될 수 있는 것이다.

머신비전과 호환되는 카메라는 이제 제조업체에 독립적인 GenTLGeneric Transport Layer로 작동될 수 있다. GenAPIGeneric Application Program-ming Interface를 사용하면 카메라의 표준 호환 XML 파일을 분석하여 사용 가능한 카메라의 기능을 나열하고 구성할 수 있다. 이 파일에서는 GenICam 사양의 GenAPI 모듈에 정의된 구문을 사용하여 구현된 모든 카메라 기능을 설명하며, 함수 이름·매개 변수 목록·확장 정보·기능 설명 등 애플리케이션에서 기능에 대해 표시할 도구 설명도 XML 파일에 담겨 있다. 

다시 말해 카메라가 자체 프로그래밍 설명서를 제공한다고 할 수 있다. 이는 GenICam SFNCStandard Feature Naming Convention에 정의된 표준 기능, 특정 제조업체에서만 제공되는 특수 사용자 지정 기능에 상관 없이 표준에 따라 실행된다.

기술적으로 하드웨어와 소프트웨어 제조업체간 독립적 협력은 표준에 의해 정의되며 ‘바람직한’ 것으로 간주되고 있다. 그런데 카메라만 100% 독립적이다. 일부 제조업체의 GenICam 제작자는 사용자에게 협조하고 싶은 카메라를 알려주는 것처럼 보이는데, 이로 인해 사용자에게 호환성 문제가 발생할 수 있다.

[그림 2] GenAPI는 정의된 기능 이름을 사용하여 장치별 레지스터 주소를 전달할 수 있다.
[그림 2] GenAPI는 정의된 기능 이름을 사용하여 장치별 레지스터 주소를 전달할 수 있다.

독립성은 자동으로 카메라 제조업체와 사용자 모두에게 새로운 가능성을 제공한다. 예컨대 새로운 카메라 모델 또는 새로운 카메라 펌웨어를 공개할 때, 이를 작동시키기 위한 호스트 소프트웨어의 적용, 혹은 문서화가 필요 없으므로 훨씬 더 짧은 시간 내에 제공될 수 있다. 

마찬가지로 호스트 소프트웨어 또는 다른 모델과 독립적으로 개별 카메라 모델에 대한 업데이트도 훨씬 쉽고 빠르게 완료될 수 있다. 실제로 EMVA 회원들은 표준 호환 소프트웨어를 사용하여 제조업체별 업데이트 패키지로 비전 카메라를 업데이트하는 방법을 정의하는 업데이트 규격을 이미 마련하고 있다. 

독립성으로 인한 플랫폼 호환성 향상도 표준의 이점이다. GigE Vision 또는 USB3 Vision과 같은 표준 전송 프로토콜을 사용하면 전송 계층을 포함하여 제조업체에 독립적인 표준 호환 소프트웨어가있는 모든 플랫폼과 운영 체제에서 카메라를 실행할 수 있다. 같은 회사 제품이 아니여도 어울려 동작할 수 있는 독립성이 상호호환성의 전제이기 때문이다.


주요기사
이슈포토