상호 교환성 또는 호환성?

1. 머신 비전 표준

머신 비전 표준의 출현으로 업계는 전례 없는 방식으로 협력에 동의하게 되었습니다. 지난 10년 동안 이로 인해 GenICam, GigE Vision 및 USB3 Vision의 형태로 표준화된 기능 이름과 정의된 기능 범위를 가진 산업용 카메라를 사용하기 위한 일반적인 인터페이스가 탄생했습니다. 이는 개발 비용 절감을 목표로 머신 비전 어플리케이션에서 카메라 설계 단계를 단순화하고 단축해야 합니다. 장치의 상호 교환성과 완전한 플러그 & 플레이 기능은 항상 핵심 기능으로 강조됩니다.

그러나 이것이 어플리케이션을 구현하는 데 중요한 요소일까요? 모든 어플리케이션을 위한 완전히 일반적인 솔루션이 올바른 방법입니까? 상황에 따라 정말 다릅니다.

성공적인 어플리케이션을 만들려면, 제조업체 상호 교환성이 중요한 이점이 될 수 있습니다. 그러나, 분명한 것은 이러한 이점을 유지하는 것이 충족되어야 하지만 어플리케이션을 설정할 때만 정의되는 조건과 관련이 있다는 것입니다.

그에 반해서, "비전 표준"의 사양을 준수하는 머신 비전 구성 요소의 개발은 이전보다 더 많은 어플리케이션에서 사용될 수 있을 만큼 중요합니다. 따라서 제조업체의 경우, 원하는 목표는 표준 비전 프로토콜을 사용하여 자동으로 달성되는 "향상된 호환성"인 경향이 있습니다.

AIA (Global Association for Vision Information) 및 EMVA (European Machine Vision Association) 조직의 표준화는 머신 비전 환경에서 인터페이스의 혼란을 없애기 위한 중요한 단계를 나타냅니다. 그럼에도 불구하고, 표준은 제조업체가 SFNC 외부에서 추가적인 특정 기능을 구현할 수 있는 충분한 범위를 허용하여 공급자가 자신을 차별화할 수 있도록 합니다(구현 품질). 이러한 제조업체-별 기능 세트를 사용하는 경우, 소프트웨어 조정 없이 제조업체를 변경할 수 없습니다.

프로그래밍 인터페이스 측면에서도, 독점 방식은 비전 표준에 포함되지 않은 편의 기능을 통합하여 GenICam보다 더 높은 수준의 편의성과 사용자 친화성을 확실히 제공합니다. 산업용 카메라 제조업체는 이를 알고 있으므로 표준화된 인터페이스를 기반으로 하더라도 자체 프로그래밍 인터페이스를 제공하는 경우가 많습니다.

이러한 "독점 표준"을 사용할 때 어플리케이션이 제조업체 간에 계속 호환되나요? 아니면 표준 인터페이스를 독점적으로 사용해야 할까요?

2. 표준화된 시스템 세부사항

어플리케이션에 대한 요구 사항과 목표를 효과적으로 구현하려면, 일반 시스템 솔루션의 중요한 세부 사항도 알고 올바른 범위로 사용해야 합니다.

시스템 구조

GigE Vision 또는 USB3 Vision 인터페이스가 있는 현재 머신 비전 표준 카메라가 제조업체-별 소프트웨어 패키지 없이 "작동"하더라도 기본 시스템 아키텍처는 반드시 유지되며 시스템에 있어야 합니다.

하드웨어 수준은 카메라 데이터 및 통신 프로토콜 (예: USB, 기가비트 이더넷) 전송을 위해 확립된 기술 및 연결 방법을 기반으로 합니다. 장치 소프트웨어 (드라이버 및 사용자 공간 라이브러리)는 카메라의 전송 채널과 사용자 어플리케이션 간의 통신을 위해 API를 사용합니다.

그림 1 – 인터페이스 표준화는 어플리케이션이 머신 비전 표준 카메라를 사용할 수 있는 수많은 기회를 제공합니다.

GenICam을 기반으로 하여, 시스템 아키텍처의 여러 인터페이스에서 표준화가 이루어졌으며, 이는 머신 비전 표준 카메라 사용을 위해 명확하게 정의되고 문서화된 수많은 시작점을 만들었습니다.

N을 1로, 1을 N으로 변경

GenICam (Generic Interface for Cameras)을 사용자 어플리케이션과 장치 소프트웨어 간의 통신 링크로 사용하면, 많은 제조업체 별 프로그래밍 인터페이스가 일반적으로 적용되는 단일 프로그래밍 인터페이스로 제한됩니다. GenICam은 제조업체 및 전송 프로토콜 전체에서 모든 카메라 기능에 대한 액세스를 추상화합니다. GenICam은 기술 언어입니다. 사용 가능한 기능들은 사용자 자신도 모르게 사용할 수 있도록 제공됩니다. 따라서 모든 카메라 모델에 따라 변경되거나 펌웨어 업데이트로 확장될 수 있는 기능을 포함하는 어플리케이션에 이상적인 기반이 됩니다.

전송 레벨에서 GigE Vision 및 USB3 Vision과 같은 프로토콜의 도입은 카메라 펌웨어 측면에서 재고가 필요하다는 것을 의미합니다. AIA 회원이 정의한 이러한 표준화된 전송 프로토콜을 사용하는 카메라는 장치 소프트웨어에 표준 언어를 사용합니다. 이것은 카메라 펌웨어, 전송 프로토콜 및 장치 소프트웨어 간의 엄격한 연관성을 깨뜨립니다. 카메라는 단일 제조업체의 소프트웨어와 독립적입니다.

독립성은 새로운 기회들을 가져옵니다

이제 비전-호환 카메라를 제조업체에 독립적인 "Generic Transport Layer"(GenTL)로 동작할 수 있습니다. GenAPI (Generic Application Programming Interface)를 사용하면 카메라에 대한 표준 호환 XML 파일을 분석하여 사용 가능한 카메라 기능을 나열하고 구성할 수 있습니다. 이 파일의 내용은 GenICam 사양의 GenAPI 모듈에 정의된 구문을 사용하여 구현된 모든 카메라 기능을 설명합니다. 기능 이름, 파라미터 리스트, 확장된 정보, 기능 설명. 어플리케이션에서 기능에 대해 표시할 도구 설명도 XML 파일에 설명되어 있습니다. 카메라가 자체 프로그래밍 설명서를 제공한다고 말할 수 있습니다.

GenICam SFNC (Standard Feature Naming Convention)에 정의된 표준 기능을 처리하는지 아니면 한 제조업체에서만 사용할 수 있지만 표준을 준수하여 구현된 특수 "고객 특징"을 처리하는지 여부는 차이가 없습니다.

그림 2 – GenAPI는 정의된 기능 이름을 사용하여 장치-별 레지스터 주소를 전달합니다.

기술적으로, 하드웨어와 소프트웨어의 제조업체 독립적 협력은 표준에 의해 정의되며 "바람직한"것으로 간주됩니다. 그러나, 카메라만 100% 독립적입니다. 일부 제조업체의 GenICam 생산자는 어떤 카메라와 협력할 것인지 사용자에게 조언하는 것처럼 보입니다. 이로 인해 때때로 사용자에게 상호 교환성이 약간 불투명해질 수 있습니다.

독립성은 자동으로 카메라 제조업체와 사용자 모두에게 하드웨어와 소프트웨어 출시의 분리와 같은 수많은 새로운 가능성을 제공합니다. 카메라를 동작시키기 위해 호스트 소프트웨어의 수정, 문서화 및 게시가 필요하지 않으므로 새 카메라 모델 또는 새 카메라 펌웨어를 훨씬 더 짧은 시간에 제공할 수 있습니다.

마찬가지로 호스트 소프트웨어 또는 다른 모델과 관계없이 개별 카메라 모델에 대한 업데이트를 훨씬 쉽고 빠르게 완료할 수 있습니다. EMVA 조직의 구성원은 이미 모든 표준 호환 소프트웨어를 사용하여 제조업체-별 업데이트 패키지로 비전 카메라를 업데이트 할 수 있는 방법을 정의하기 위해 업데이트 사양을 작업하고 있습니다. GenICam 표준에 대한 추가 업데이트 모듈 사양은 2017년 여름 후반부에 출시될 예정입니다.

독립성은 자동으로 향상된 플랫폼 호환성을 수반합니다. gE Vision 또는 USB3 Vision과 같은 표준 전송 프로토콜을 사용하여 카메라는 전송 계층을 포함하여 표준을 준수하는 제조업체-독립적 소프트웨어가 있는 모든 플랫폼 및 운영 체제에서 실행할 수 있습니다. 같은 회사에서 온 것이 아니더라도.

따라서 이러한 독립성은 "상호 교환성"의 기초입니다.

모든 GenTL이 동일하지는 않습니다.

GenTL은 확실히 모두 동일하지 않습니다. 단순히 카메라와 사용자 어플리케이션에 대한 표준화된 인터페이스를 가지고 있고(그림 1의 흰색 요소 참조), 실제로 이미지 획득을 포함한 장치 식별 및 주소 지정을 담당할 목적으로만 의도된 사실만으로 모든 비전 카메라와 호환될 필요는 없습니다.

표준화된 GenTL은 HALCON과 같은 머신 비전 라이브러리에 매우 유용한 추가 기능이며, 모든 제조업체의 비전 카메라에 개방되어 있습니다. 이것의 장점은 제조업체-별 타사 라이브러리를 설치할 필요 없이, 모든 카메라에 대한 완전한 플러그 & 플레이 기능입니다. 이러한 이유로, MVTec 개발자는 HALCON에 제조업체 간 호환 가능한 GenTL (그림 3 참조)을 장착하여 특별한 제조업체 소프트웨어 없이 어떤 비전 호환 카메라도 사용할 수 있습니다.

카메라 제조업체의 경우 표준 사양에도 불구하고 자체 GenTL을 사용하면 고객에게 자체 카메라와 "최적"으로 상호 작용하는 소프트웨어 구성 요소를 제공할 수 있는 기회를 제공하고 제조업체 지원도 적용됩니다. 머신 비전 어플리케이션에서 카메라 문제가 발생한다면, 이는 중요한 문제입니다. 만약 어플리케이션, MV 라이브러리, GenTL 및 카메라가 각각 다른 제조업체에서 제공된다면 누구의 책임입니까? 모든 구성 요소들이 동일한 제조업체로부터 온 경우에는 이 질문은 발생하지 않습니다.

3. 카메라 균일성?

표준을 따르는 카메라는 동일한 프로토콜을 사용하여 데이터를 통신하고 전송하며, 정의된 표준 기능을 제공합니다. "당신이 하나를 안다면, 그것들 모두를 알고 있습니까?" 절대로 아닙니다!

이전에는 카메라와 호스트 간의 이해를 위해 다른 드라이버 소프트웨어가 필요했지만 이제는 하나의 "언어"만 필요합니다. 각 제조업체가 자신의 고유한 방식으로 작업을 수행했던 곳에서는, 오늘날 모두 인터페이스에서 협력하고 정의된 사양들을 준수하기 위해 카메라 기능을 구현합니다. 모든 사용자는 이러한 트렌드로부터 혜택을 받습니다. 제조업체는 어떻게 차별화할 수 있을까요? 표준화된 카메라는 성공에 중요한 수많은 구성 요소로 구성된 복잡한 제품으로 남아 있습니다.

하우징 (안정성, 치수, 재질, 무게, 커넥터, 광학, 액세서리), 전자 (EMC 동작, 간섭 동작, 열 축적, 메모리, 성능, 서비스 수명), 소프트웨어 (센서 지식, 기능 구현, 모듈성, 유지 보수, 지원), 몇 가지만 말하면 됩니다. 전체 패키지는 어플리케이션에서 사용하기 위해 여전히 중요합니다.

비전 카메라를 빠르고 쉽게 시연할 수 있는 완벽한 소프트웨어 지원은 이미 비전을 처음 접하거나 비전으로 전환하는 사람들을 위한 선택 기준입니다. IDS Imaging Development Systems GmbH는 항상 고객에게 제품에 대한 모든 면에서 걱정 없는 패키지를 제공했습니다. 설치 후, 편리한 카메라 평가를 위한 그래픽 인터페이스가 있는 IDS Vision Cockpit 외에 제조업체-별 GenTL도 사용자가 사용할 수 있습니다. 이를 통해 시장에 나와 있는 모든 표준 호환 머신 비전 라이브러리와 완벽하게 호환됩니다.

비전 구성 요소의 가능한 상호 호환성에도 불구하고, 이러한 종류의 올인원 패키지는 카메라 하드웨어에서 사용자 어플리케이션에 이르기까지 완전한 제조 지원을 포함하기 때문에 머신 비전 프로젝트에 중요한 이점입니다.

4. 시작하기 쉬울까요?

가장 쉬운 방법은 HALCON, LabView, Cognex VisionPro와 같은 표준 호환 머신 비전 소프트웨어를 사용하여 비전 표준 구성 요소로 시작하는 것입니다. 잘 알려진 많은 머신 비전 소프트웨어 패키지는 이제 자체 GenTL 공급자와 함께 제공되며, 이는 제조업체-별 소프트웨어 없이 비전 카메라를 실제로 교체하는 것을 보여줍니다. 제조업체의 자체 GenTL을 사용하여 카메라를 통합하기 위해, 이러한 머신 비전 소프트웨어 패키지 중 일부에는 해당 GenICam 커넥터가 있습니다.

그림 3 – HALCON은 자체 GenTL 생산자 덕분에 직접 GigE Vision 인터페이스를 가지고 있습니다. GenICam은 또한 다른 비전 표준 인터페이스에 연결할 수 있습니다.

머신 비전 소프트웨어 제조업체는 표준화의 모든 이점을 활용하고 있습니다. 사용자는 프로그래밍 작업 없이 즉시 카메라를 머신 비전 시스템과 통합하는 것을 시작할 수 있습니다. 사용자는 관련 머신 비전 프레임 워크에 대한 동적 GUI를 사용하여 표준 인터페이스와 만 접촉하게 됩니다. 기본적으로, 사용자-친화적인 그래픽 "독점적인" 인터페이스를 나타내므로, 사용자가 가능한 쉽게 작업을 수행할 수 있습니다.

그러나 모든 타사 머신 비전 회사가 해당 GenTL 공급자를 제공하는 것은 아닙니다. 이것은 플러그 & 플레이 규칙을 다소 흐리게 합니다.

두 번째 방법을 선택하고 처음부터 어플리케이션을 개발하는 사람은 누구나 추가 작업을 기대할 수 있습니다. 이것은 프로그래밍 인터페이스로 초점을 이동합니다. 이 경우, 어플리케이션을 구현하는데 다른 요소가 중요합니다.

GenICam을 사용하는 일반 프로그래밍은 매우 엄격하고 복잡한 원칙으로 인해 매우 힘들 수 있습니다. 모든 상황을 올바르게 처리하려면, 카메라 파라미터들을 변경하기 전에 먼저 각 기능과 각 값 범위를 쿼리해야 합니다. 각 GenICam 구성 요소에 대한 필터링 되지 않은 액세스는 매우 원자적이며 이러한 원칙에 대한 심층적인 이해가 필요합니다. 특정 장치에 대한 빠른 진행을 원하고 복잡한 옵션에 그다지 관심이 없다면, API로 간단하고 축소된 요약을 원할 것입니다. 이러한 사용자는 전적으로 "독점적" 접근 방식을 선택해야 하므로 비전 표준을 통해 누렸던 모든 이점을 놓쳐야 할까요?

5. 독점 표준들

정의된 인터페이스로 인해 비전 표준 카메라는 한 가지 이상의 방식으로 사용될 수 있습니다. 보조 또는 편리 기능으로도 알려진 편의 기능의 사용은 개발자를 지원하기 위해 독점적인 프로그래밍 인터페이스에서 널리 사용되는 디자인 개념입니다. 원자 함수 호출을 선택적으로 캡슐화 하여 코드를 단순화하고 더 명확하게 만드는 데 도움이 됩니다. 따라서 "정의된" 목표는 적은 수의 함수 호출로 훨씬 더 빠르고 쉽게 달성할 수 있습니다.

카메라에 대한 이러한 종류의 "독점 API"가 표준에 따라 작동한다면, 사용자 어플리케이션에 대한 추가 액세스 옵션이 될 수도 있습니다.

그림 4 – 독점 인터페이스는 비전 표준 카메라 사용 기회를 확장합니다.

독점 수준의 제조업체가 자체 장치에 대한 필터링을 통합하지 않는 한, 이 접근 방식이 제조업체-간 어플리케이션에서 사용을 방지해야 할 이유가 없습니다.

HALCON과 같은 머신 비전 라이브러리를 위한 독점 GUI는 이 정확한 접근 방식을 따릅니다. HALCON은 자체 사용자 인터페이스와 함께 비전 표준을 사용합니다. 따라서 프로그래밍 인터페이스를 단순화하는 것은 여전히 가능하며 고객의 이점을 향상시킵니다.

6. 어플리케이션은 중요합니다

표준 인터페이스를 사용하면 다양한 카메라와 다양한 기능을 포함하는 어플리케이션에 유리합니다. USB3 Vision 또는 GigE Vision과 같이 서로 다른 전송 기술을 사용하는 표준 카메라의 혼합 작동은 GenICam 인터페이스를 사용하는 표준화된 통신으로 인해 훨씬 더 쉽습니다. 어플리케이션은 이러한 장치-별 기능에 대해 알 필요가 없으므로 모든 표준-호환 장치와 호환됩니다.

완전히 동적인 GUI는 추가 프로그래밍 작업 없이 비전 카메라에 대한 연결 및 다양한 기능을 제공합니다. 사용자 또는 머신 비전 운영자의 실제 작업은 관련 어플리케이션에 맞게 카메라를 조정하여 즉시 시작할 수 있습니다.

어플리케이션에 자체 GenTL도 포함되어 있다면, 새 카메라를 통합하기 위해 제조업체-별 소프트웨어를 설치할 필요가 없습니다.

머신 비전 카메라 제조업체의 경우, 비전 표준은 상호 교환 가능성 뿐만 아니라 개발된 모든 표준-호환 어플리케이션과의 호환성 향상을 의미합니다.

그러나 비전 표준의 USP (universal selling propositions)가 이차적으로 중요한 시장에서 사용자 어플리케이션 안정적인 비율이 남아 있습니다. 이러한 사용자는 포괄적인 제조업체 지원을 제공하고, 필요한 경우, 어플리케이션에 유연하게 조정할 수 있는 간단한 인터페이스와 함께 특수 카메라를 신속하게 사용하기를 원합니다.

궁극적으로 성공하고, "비전 시장에서 최고의 사용자 경험"을 제공하기 위해 어떤 제조업체로부터의 인터페이스와 장치를 사용할지에 대한 결정은 항상 고객과 고객의 어플리케이션에 달려 있습니다.