KR102306400B1 - 동적으로 구성 가능한 생산 및/또는 분배 라인 제어 시스템 및 이에 대한 방법 - Google Patents

동적으로 구성 가능한 생산 및/또는 분배 라인 제어 시스템 및 이에 대한 방법 Download PDF

Info

Publication number
KR102306400B1
KR102306400B1 KR1020167033007A KR20167033007A KR102306400B1 KR 102306400 B1 KR102306400 B1 KR 102306400B1 KR 1020167033007 A KR1020167033007 A KR 1020167033007A KR 20167033007 A KR20167033007 A KR 20167033007A KR 102306400 B1 KR102306400 B1 KR 102306400B1
Authority
KR
South Korea
Prior art keywords
peripheral device
scenario
control unit
configuration file
operable
Prior art date
Application number
KR1020167033007A
Other languages
English (en)
Other versions
KR20160147933A (ko
Inventor
제스퍼 스프링
이아코포 잔그란디
프란체스카 아체라
필리프 루바
프레드릭 디피버
Original Assignee
시크파 홀딩 에스에이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 시크파 홀딩 에스에이 filed Critical 시크파 홀딩 에스에이
Publication of KR20160147933A publication Critical patent/KR20160147933A/ko
Application granted granted Critical
Publication of KR102306400B1 publication Critical patent/KR102306400B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4188Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by CIM planning or realisation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33125System configuration, reconfiguration, customization, automatic
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34408Design real time control system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • General Factory Administration (AREA)
  • Stored Programmes (AREA)
  • Studio Devices (AREA)
  • Supply And Installment Of Electrical Components (AREA)

Abstract

본 명세서는 생산 라인을 동적으로 구성하고 제어하기 위한 제어 시스템에 관한 것이다. 생산 라인은 생산 라인에 결쳐서 각각 위치하는 하나 이상의 주변 장치를 포함한다. 일 실시예에서, 제어기 또는 제어 유닛은 제어기의 외부의 소스로부터 수신한 파일에 포함된 이진 명령어를 추출하고, 제어기는 파일에 임베디드된 이진 명령어에 기초하여 생산 라인 상의 각각의 장치를 동작시킨다.

Description

동적으로 구성 가능한 생산 및/또는 분배 라인 제어 시스템 및 이에 대한 방법 {DYNAMICALLY CONFIGURABLE PRODUCTION AND/OR DISTRIBUTION LINE CONTROL SYSTEM AND METHOD THEREFOR}
본원에 기재된 내용은, 자동화된 생산 및/또는 분배 라인에 대한 제어 시스템 및 방법의 기술분야에 관한 것이다. 보다 구체적으로, 본원에 기재된 내용은, 생산 및/또는 분배 라인을 제어하고 동적으로 구성하기 위한 제어 시스템에 관한 것이다.
본 출원은 2014년 5월 1일에 출원된 국제 출원 제PCT/US2014/036324호를 우선권 주장하며, 상기 국제 출원의 명세서에 기재된 내용의 전부는 참조로서 모두 본원 명세서에 명시적으로 포함된다.
(병이나 캔과 같은) 제품의 자동화된 생산 볼륨 추정을 위한 종래의 제어 시스템에서, (컨베이어 벨트와 같은) 전송 패스에 거쳐 운반되는 제품이 검출되고 카운트되며, 각각의 카운트된 제품을 식별하기 위해, 각 제품에 포함된 암호화된 식별 데이터가 독출(read out)되고 디코딩된다. 때때로, 암호화된 식별 데이터는 (예컨대, 특정 브랜드의 33cl의 맥주 병과 같은) 제품 식별 정보와 생산 타입에 대응하는 데이터를 포함하는 바코드(예컨대, UPC "Universal Product Code")이다. 더욱 일반적으로 말해, 암호화된 식별 데이터는 생산 타입 식별 정보에 대응하는 데이터를 포함한다. 이러한 생산 타입 식별 데이터의 다른 예로서, 제품 식별자의 분야에서 통상의 지식을 가진 자에게 널리 알려진 SKU("Stock Keeping Unit"), EAN("European Article Number"), GTIN("Golbal Trade Item Number"), APN("Australian Product Number") 등과 같은 식별자가 있다. 카운트 값과 독출된 생산 타입과 제품 식별 정보에 기초하여, 제어 시스템은 생산 타입 당 그리고 제품 당 제품 볼륨을 결정하고/하거나, 제어 시스템은 트래킹과 추적을 목적으로 제품에 마킹된 코드와 상기 제품에 대한 데이터를 데이터베이스에서 연관짓는다.
이와 같은 문맥에서 (그러한 문맥에 제한되는 것은 아님), 필요하다면 생산 및/또는 분배 라인을 재구성할 수 있는 것이 바람직하다.
미국 특허 제US8,413,578호는 점성 재료를 전자 기판에 인쇄하기 위한 모듈식의 인쇄 시스템 및 생산 라인에서 인쇄 기기와 기타 타입의 장비와 통신할 수 있는 제어 시스템과 관련되어 있다. 제어 시스템은 생산 라인에서의 하나 이상의 머신에게 어떠한 동작을 그리고 언제 동작을 수행할지 동적으로 통지할 수 있다.
이와 같은 종래 기술에 비추어 볼 때, 예컨대 생산 및/또는 분배 공정의 필요성이 효율적이고, 신속하고, 신뢰성 있는 재구성을 필요로 하는 경우, 생산 및/또는 분배 라인을 효율적으로, 신속하게 그리고 신뢰성 있게 재구성할 수 있도록 하는 것이 더욱 바람직하다.
종래기술에 대한 상기 논의된 문제를 해결하기 위해, 발명에 따른 시스템과 방법이 독립 청구항에서 정의된다. 특정 실시예는 종속 청구항에서 정의 된다.
일 실시예에서, 생산 또는 분배 라인을 제어하기 위해 시스템이 제공된다. 시스템은 상기 라인 상의 적어도 하나의 주변 장치 동작을 수행하도록 동작 가능한 적어도 하나의 주변 장치, 및 제어 프로그램을 저장하는 메모리 및 프로세서를 포함하는 제어 유닛을 포함한다. 상기 제어 유닛은, 상기 제어 프로그램의 제1 구성 파일에 따라서 필요한 상기 적어도 하나의 주변 장치 각각을 구동하여, 상기 제1 구성 파일에 따라 각각의 주변 장치 동작(들)을 수행하기 위해, 상기 제어 프로그램을 상기 프로세서 상에서 실행함으로써, 상기 적어도 하나의 주변 장치를 제어하도록 동작 가능하다. 상기 제1 구성 파일은 생산 또는 분배의 제1 시나리오에 대응된다. 상기 제어 유닛이, (i) 상기 제1 시나리오에 연관된 상기 적어도 하나의 주변 장치의 동작을 정지하고, 각각의 주변 장치를 비활성 상태로 설정하고, 이후 각각의 주변 장치가 비활성 상태에 있는지 검출하고, (ii) 외부 소스로부터 재구성 명령어를 수신하고, 각각의 주변 장치가 비활성 상태에 있다는 것을 검출하고, (iii) 상기 재구성 명령어를 수신한 경우, 상기 제어 프로그램의 제2 구성 파일에 따라서 필요한 적어도 하나의 주변 장치 각각을 구성하고, 상기 제2 구성 파일은 생산 또는 분배의 제2 시나리오에 대응되며, 상기 제2 시나리오는 상기 제1 시나리오와 상이하며, (iv) 상기 제2 시나리오를 위해 필요한 적어도 하나의 주변 장치 각각이, 상기 제2 구성 파일에 따라서 각각의 주변 장치 동작(들)을 수행할 준비가 된 것에 따른 상태(이하, "준비 상태"로 칭함)를 검출하고, (v)상기 준비 상태를 검출한 경우, 상기 제2 시나리오를 위해 필요한 상기 적어도 하나의 주변 장치 각각을 구동하여, 상기 제2 구성 파일에 따라서 각각의 주변 장치 동작(들)을 수행함으로써, 상기 제어 프로그램을 재시동하지 않고 상기 라인의 재구성을 야기하기 위해, 상기 프로세서 상에서 상기 제어 프로그램을 실행함으로써 상기 적어도 하나의 주변 장치를 제어하도록 더 동작 가능하도록 시스템이 이루어진다.
일 태양에서, (제2 시나리오에 연관된 주변 장치(들)이 제2 시나리오에 따라서 동작하도록) 상기 제2 구성 파일은 (제어 유닛의) 상기 메모리에 저장되고, 상기 재구성 명령어는 상기 제어 유닛의 상기 프로세서에 의해 실행될 상기 제2 구성 파일의 식별자 또는 이름을 포함한다.
다른 태양에서, (제2 시나리오에 연관된 주변 장치(들)이 제2 시나리오에 따라서 동작하도록) 상기 재구성 명령어는 상기 제어 유닛의 상기 프로세서에 의해 실행될 상기 제2 구성 파일에 대응하는 컴파일된 이진 파일(compiled binary file)을 포함한다.
다른 태양에서, (제2 시나리오에 연관된 주변 장치(들)이 제2 시나리오에 따라서 동작하도록) 상기 제어 유닛은 컴파일러를 더 포함하고, 상기 재구성 명령어는 상기 제2 구성 파일에 대응하는 비이진 파일(non-binary file)을 포함하고, 상기 제어 유닛은 상기 비이진 파일을 상기 컴파일러로써 컴파일하고, 상기 컴파일된 비이진 파일을 상기 제어 유닛의 상기 프로세서에서 실행하도록 동작 가능하다.
다른 태양에서, (제2 시나리오에 연관된 주변 장치(들)이 제2 시나리오에 따라서 동작하도록) 상기 제어 유닛은 인터프리터(interpreter)를 더 포함하고, 상기 재구성 명령어는 상기 제2 구성 파일에 대응하는 비이진 파일을 포함하고, 상기 제어 유닛은 상기 비이진 파일을 상기 인터프리터로써 인터프리트(interpret)하고, 상기 인터프리트된 비이진 파일을 상기 제어 유닛의 상기 프로세서에서 실행하도록 동작 가능하다.
다른 태양에서, 상기 제어 유닛에 재구성 명령어를 송신하도록 동작 가능한 상기 외부 소스는, 사용자에 의해, 상기 재구성 명령어를 입력하고, 이를 통신 링크를 통해 상기 제어 유닛으로 송신하도록 동작 가능한 사용자 단말과, 상기 재구성 명령어를 통신 링크를 통해 상기 제어 유닛으로 송신하도록 동작 가능한 원격 서버 중 적어도 하나를 포함한다.
또 다른 태양에서, 상기 적어도 하나의 주변 장치는, 컨베이어 상에서 전송되는 제품에 마킹하는 것인 주변 장치 동작을 수행하도록 동작 가능한 주변 장치와, 상기 컨베이어 상에서 전송되는 제품 상의 마킹을 이미징하거나 판독하는 것인 주변 장치 동작을 수행하도록 동작 가능한 주변 장치 중 적어도 하나를 포함한다.
또 다른 태양에서, 적어도 하나의 주변 장치는, 상기 제1 시나리오와 상기 제2 시나리오 모두에 전부가 연관된 복수의 주변 장치를 포함하고, 상기 제2 시나리오는, 상기 복수의 주변 장치 중 적어도 하나가, 상기 제1 시나리오에 따라서 구동될 때와 상이하게 상기 제2 시나리오에 따라서 적어도 하나의 주변 장치 동작을 수행하도록 구동되는 점에서, 상기 제1 시나리오와 상이하다.
또 다른 태양에서, 상기 적어도 하나의 주변 장치는 복수의 주변 장치를 포함하고, 상기 제2 시나리오는 상기 복수의 주변 장치가 상기 제1 시나리오에 연관된 적어도 하나의 주변 장치의 제1 서브세트와 상기 제2 시나리오에 연관된 적어도 하나의 주변 장치의 제2 서브세트를 포함하고, 상기 제1 서브세트가 상기 제2 서브세트와 적어도 일부 다른 점에서, 상기 제1 시나리오와 상이하다.
또 다른 태양에서, 상기 복수의 주변 장치는, 상기 컨베이어 상의 제품에 마킹을 인쇄하는 것인 주변 장치 동작을 수행하도록 동작 가능한 프린터, 상기 컨베이어 상의 제품에 마킹의 디지털 화상을 촬상하는 것인 주변 장치 동작을 수행하도록 동작 가능한 카메라, 및 상기 컨베이어로부터 제품을 추출하는(eject) 것인 주변 장치 동작을 수행하도록 동작 가능한 이젝터를 포함한다.
또 다른 태양에서, 상기 프로세서는 상기 카메라로부터 수신된 제품 상의 마킹의 디지털 화상에 대해 화상 처리 동작을 수행하고, 상기 화상 처리 동작으로부터의 결과인 데이터를 저장된 제품 데이터와 연관시키고, 연관된 데이터를 상기 메모리에 저장하도록 더 동작 가능하다.
또 다른 태양에서, 상기 프로세서는 상기 카메라로부터 수신된 제품 상의 마킹의 디지털 화상에 대해 화상 처리 동작을 수행하고, 상기 화상 처리 동작으로부터의 결과인 데이터를 저장된 레퍼런스 제품 데이터와 비교하고, 상기 비교의 결과를 상기 메모리에 저장하도록 더 동작 가능하다.
일 실시예에서, 생산 또는 분배 라인을 제어하기 위해 방법이 제공된다. 상기 방법은, 상기 라인 상의 적어도 하나의 주변 장치 동작을 수행하도록 동작 가능한 적어도 하나의 주변 장치, 및 제어 프로그램을 저장하는 메모리와 프로세서를 포함하는 제어 유닛을 수반한다. 상기 방법은, 상기 제어 프로그램의 제1 구성 파일에 따라서 필요한 상기 적어도 하나의 주변 장치 각각을 구동하여, 상기 제1 구성 파일에 따라서 각각의 주변 장치 동작(들)을 실행하기 위해, 상기 제어 프로그램을 상기 프로세서 상에서 실행함에 의해, 상기 적어도 하나의 주변 장치를, 상기 제어 유닛이, 제어하는 단계를 포함하고, 상기 제1 구성 파일은 생산 또는 분배의 제1 시나리오에 대응된다. 상기 방법은, 상기 제어 유닛이, (i) 상기 제1 시나리오에 연관된 상기 적어도 하나의 주변 장치의 동작을 정지하고, 각각의 주변 장치를 비활성 상태로 설정하고, 각각의 주변 장치가 비활성 상태에 있는지 검출하는 단계, (ii) 외부 소스로부터 재구성 명령어를 수신하는 단계, (iii) 각각의 주변 장치가 비활성 상태에 있다는 것을 검출하고, 상기 재구성 명령어를 수신한 경우, 상기 제어 프로그램의 제2 구성 파일에 따라서 필요한 적어도 하나의 주변 장치 각각을 구성하는 단계 - 상기 제2 구성 파일은 생산 또는 분배의 제2 시나리오에 대응되며, 상기 제2 시나리오는 상기 제1 시나리오와 상이함 -, (iv) 상기 제2 시나리오를 위해 필요한 적어도 하나의 주변 장치 각각이, 상기 제2 구성 파일에 따라서 각각의 주변 장치 동작(들)을 수행할 준비가 된 것에 따른 상태(이하, "준비 상태"로 칭함)를 검출하는 단계, 및 (v) 상기 준비 상태를 검출한 경우, 상기 제2 시나리오를 위해 필요한 상기 적어도 하나의 주변 장치 각각을 구동하여, 상기 제2 구성 파일에 따라서 각각의 주변 장치 동작(들)을 수행함으로써, 상기 제어 프로그램을 재시동하지 않고 상기 라인의 재구성을 야기하기 위해, 상기 프로세서 상에서 상기 제어 프로그램을 실행함으로써 상기 적어도 하나의 주변 장치를 제어하는 단계를 더 포함한다.
일 태양에서, 생산 및 분배의 제1 또는 제2 시나리오는 각각 생산 또는 분배 실행 오더(run order)에 대응된다.
일 태양에서, 구성 파일은 XML(extensible markup language) 파일이다.
도 1은 본 발명의 일 실시예에 따른 시스템을 개략적으로 도시하는 도면.
도 2는 본 발명의 일 실시예에 따른 방법의 흐름도.
도 3(a) 내지 (d)는 각각 본 발명의 네가지 실시예에 따른 생산 또는 분재 라인의 재구성의 네가지 상이한 타입을 개략적으로 도시하는 도면.
도 4는 본 발명의 다른 실시예에 따른 시스템을 개략적으로 도시하는 도면.
도 5 및 6은 각각 본 발명의 두 실시예에 따라 두 제어 유닛(16)의 제어 프로그램의 일부 기능 구성을 개략적으로 도시하는 도면.
도 7 내지 10은 본 발명의 네가지 실시예에 따른 시스템과 방법을 개략적으로 도시하는 도면.
도 11은 본 발명의 일 실시예의 시스템과 방법에서 사용되는 제어유닛의 상태 머신의 다이어그램.
도 12는 본 발명의 일 실시 태양에 따라, 네트워크된 장치 엑세스 제어를 위한 명령어 세트를 포함하는 예시적인 일반 컴퓨터 시스템을 개략적으로 도시하는 도면.
도 13은 본 발명의 일 실시예에 따라 예시적인 생산 및/또는 분배 라인 제어 시스템을 개략적으로 도시하는 도면.
도 14는 본 발명의 일 실시예에 따라 생산 및/또는 분배 라인을 제어하는 제어기 (또는 제어 유닛)을 구성하는 예시적인 다이어그램을 개략적으로 도시하는 도면.
도 15는 본 발명의 다른 실시예에 따라 생산 및/또는 분배 라인을 제어하는 제어기 (또는 제어 유닛)을 구성하는 예시적인 다이어그램을 나타내는 도면.
도 16은 본 발명의 또 다른 실시예에 따라 생산 및/또는 분배 라인을 제어하는 제어기(또는 제어 유닛)을 구성하는 예시적인 다이어그램을 나타내는 도면.
도 17 내지 19는 본 발명의 일부 실시예에서 사용될 수 있는 구성 파일의 일부 세그먼트의 예시를 나타내는 도면.
상기 사항을 고려하여, 본 명세서에서 하나 이상의 다양한 태양, 실시예 및/또는 특정한 특징 또는 하위 구성요소는 아래에서 구체적으로 적시하는 하나 이상의 장점을 도출하기 위해 제시된다.
도 1은 본원 발명의 일 실시예에 따른 생산 또는 분배 라인을 제어하는데 제공되는 시스템(50)을 개략적으로 도시한다.
시스템(50)은 예컨대 (도 1에 도시되지 않은) 하나의 주변 장치(15), 두개의 주변 장치(15) 또는 임의의 수의 주변 장치(15)와 같은 적어도 하나의 주변 장치(15)를 포함한다. 주변 장치(들)(15)은 라인에서 적어도 하나의 주변 장치 동작을 수행하도록 동작할 수 있다. 이는, 예컨대, M개(M은 0보다 큰 자연수)의 주변 장치(15)가 있는 경우, 제1 주변 장치(151)는 N1개(N1은 0보다 큰 자연수)의 구분되는 주변 장치 동작을 수행하도록 동작할 수 있고, 제2 주변 장치(152)는 N2개(N2은 0보다 큰 자연수)의 구분되는 주변 장치 동작을 수행하도록 동작할 수 있다. 일 실시예에 따르면, 각각의 주변 장치(15)는 라인에서 하나의 주변 장치 동작(또는 하나의 타입의 주변 장치 동작)을 수행하도록 동작할 수 있는데, 여기서 이 주변 장치 동작은 예컨대 제품 그룹 또는 제품 별로 반복될 수 있다.
주변 장치 동작은 예컨대 라인의 컨베이어 상에서 전송되는 제품에 마킹하는 것, 컨베이어 상에서 전송되는 제품의 마킹을 이미징하거나 판독하는 것, 또는 컨베이어로부터 제품을 추출하는 것을 포함할 수 있다.
시스템(50)은 제어 프로그램을 저장하는 메모리(19)와 프로세서(17)를 포함하는 제어 유닛(16)을 더 포함한다. 제어 유닛(16)은, 주변 장치(15) 각각 또는 전부로 명령어를 전송하고, 주변 장치(15)로부터 정보를 수신하는 것과 같이, 시스템(50)의 각각의 주변 장치(15)와 일반적으로 통신할 수 있다. 통신이 예컨대 제어 유닛(16)과 주변 장치(들)(15) 사이에서 어떻게 구현되는지는 아래에서 도 4를 참조하여 설명될 것이다. 구체적으로, 예시적인 I/O 카드가 시간이 중요한 응용 프로그램(time critical applications)에서 실시간 통신을 지원하기 위해 제어 유닛(16)과 주변 장치(15) 사이에 제공될 수 있다.
제어 유닛(16)은 예컨대, 제1 구성 파일 및 제2 구성 파일 또는 임의의 수의 구분되는 구성 파일(각각의 구성 파일은 별개의 생산 또는 분배의 라인의 시나리오에 대응됨) 등과 같은, 제어 프로그램의 구분되는 구성 파일들에 따라서 주변 장치(들)(15)를 제어하도록 동작 가능하다. 구체적으로, 라인은 먼저 (예컨대, 제1 나라, 클라이언트 또는 마켓을 위한, 제품/생산의 제1 배치(batch) 또는 제품/생산의 제1 타입을 라인 상에서 처리하기 위한) 제1 시나리오에 따라서 동작하도록 구성될 수 있고, 이후 라인이 재구성될 수 있고, 성공적인 재구성 이후에, 라인은 (예컨대, 제2 나라, 클라이언트 또는 마켓을 위한, 제품/생산의 제2 배치(batch) 또는 제품/생산의 제2 타입을 라인 상에서 처리하기 위한) 제2 시나리오에 따라서 동작할 수 있다. 각각의 구성 파일은, 일 실시예에서, 어떠한 주변 장치(들)(15)이 대응하는 시나리오에 연관되는지, 그리고 상기 대응하는 시나리오에서 주변 장치(들)(15)이 어떻게 명령되는지 (예컨대, 어떤 동작이 수행되는지, 어떤 방법으로, 또는 어떤 파라미터에 기초하여 및/또는 어떤 타이밍에 의하는지) 명시적으로 또는 암시적으로 특정할 수 있다.
구체적으로, 제어 유닛(16)은, 제1 시나리오에 연관된 각각의 주변 장치(15)가 제1 구성 파일에 따라서 그들 각각의 주변 장치 동작(들)을 수행하도록 구동한다는 의미에서, 제어 프로그램의 제1 구성 파일에 따라 필요한 (즉, 제1 시나리오에서 필요한) 주변 장치(들)(15) 각각을 구동시키기 위해, 제어 프로그램을 프로세서(17) 상에서 실행함으로써 주변 장치(들)(15)을 제어하도록 동작할 수 있다.
(예컨대, 대응하는 생산 작업(production run)이 완료되고 모든 제품들이 처리되어) 예컨대, 제1 시나리오가 완료될 때, 또는 구동자가 제1 시나리오를 종료한다고 결정했을 때, 제어 유닛(16)은 제어 프로그램을 재시작할 필요 없이, 라인의 성공적인 재구성을 이끌 수 있는 복수의 동작을 수행하도록 동작한다. 이 동작들은 본 발명의 일 실시예에 따른 방법의 흐름도인 도 2를 참조하여 설명될 것이다.
단계 S1에서 ("제1 시나리오에 따른 동작"), 제1 구성 파일에 따라 즉 이에 나타난 바에 따라 필요한, 제1 시나리오에 연관된 주변 장치(들)(15)은, 제어 유닛(16)에 의해, 제1 구동 파일에 따라서 그들 각각의 주변 장치 동작(들)을 수행하도록 구동된다.
이후, 단계 S2에서 ("제1 시나리오에 연관된 주변 장치(들)를 정지"), 제어 유닛(16)은 제1 시나리오에 연관된 주변 장치(들)(15)의 동작을 정지하도록 야기시킨다.
단계 S2에서, 주변 장치(15)가 제1 시나리오에 연관되었는지 여부에 상관 없이, 각각의 주변 장치(15)는 비활성 상태로 설정된다. 다시 말해, 복수의 주변 장치(들)(15) 중 하나의 서브 세트가 제1 시나리오에 연관되었고, 다른 서브 세트는 제1 시나리오에 연관되어 있지 않은 경우에도, 그들 모두가 비활성 상태로 설정된다. 주변 장치(15)를 비활성 상태로 설정하는 것은, 일 실시예에서, 제어 유닛(16)과 상기 주변 장치(15) 간의 일부 상호 작용이 연관되어 상기 주변 장치(15)가 그러한 상태에 놓여지도록 할 수 있다. 일 실시예에 따르면, 비활성 상태에서 주변 장치(15)는 "오프 라인"으로 설정된다. 어떻게 이것이 달성될 수 있는지는, 장치에 특유하다. 구체적으로, 주변 장치(15)가 "오프 라인" 모드를 지원한다면, 그 모드로 설정될 것이고, 이와 병렬적으로, 제어 프로그램은 장치 상태를 유지할 것인데, 여기서는, 장치 상태를 비활성으로 설정할 것이다.
또한, 단계 S2에서, 제어 유닛(16)은 각각의 주변 장치(15)가 비활성 상태인 것을 검출한다. 다시 말해, 복수의 주변 장치(들)(15) 중 하나의 서브 세트가 제1 시나리오에 연관되었고, 다른 서브 세트는 제1 시나리오에 연관되어 있지 않은 경우, 제어 유닛(16)은 그들 모두가 비활성 상태라고 검출한다. 각각의 주변 장치(들)(15)의 상태는, 예컨대 주변 장치(15)에 대해 유지되는 상태 머신을 경유하는 등을 통해, 제어 프로그램에 의해, 또는 제어 프로그램에서 유지된다.
단계 S3에서("재구성 명령어를 수신"), 제어 유닛(16)은 제2 시나리오에 따라서 라인을 구성하기 위하 외부 소스(30)로부터 재구성 명령어(32)를 수신한다. 일 실시예에서, 외부 소스(30)는, 상기 재구성 명령어를 입력하고, 이를 통신 링크를 경유하여 제어 유닛으로 송신하기 위한, 사용자에 의해 동작 가능한 사용자 단말; 상기 재구성 명령어를 통신 링크를 경유하여 제어 유닛으로 송신하도록 동작 가능한 원격 서버 중 적어도 하나를 포함한다. 사용자 단말은 데스크탑 컴퓨터, 노트북 컴퓨터, 태블릿, 넷북, 휴대폰, 스마트폰 등과 같은 임의 타입의 사용자 단말일 수 있다.
단계 S4에서 ("제2 시나리오에 연관된 주변 장치(들)을 구성"), 제어 유닛(16)은 상기 제어 프로그램의 제2 구성 파일에 따라서 필요한 주변 장치(들)(15), 즉 제2 시나리오에 연관된 주변 장치(들)(15)을 구성한다. 하지만, (단계 S2에 따라) 제어 유닛(16)이 각각의 주변 장치(15)가 비활성 상태에 있다는 것을 검출하고, (단계 S3에 따라) 제어 유닛(16)이 재구성 명령어를 수신하는 경우에만 단계 S4가 실행된다. 제2 구성 파일에 따라 필요한 주변 장치(들)(15)의 구성은, 프린터를 사용하여 인쇄하기 위한 특정 타입의 마킹의 선택, 카메라를 동작할 시점을 규정하는 규칙 또는 이젝터를 사용하여 캐리어(컨베이어)로부터 생산 제품을 추출하는 시점을 규정하는 규칙 등과 같은 것에 연관될 수 있지만, 이에 제한되는 것은 아니다.
단계 S5("제2 시나리오의 주변 장치(들)에 대한 준비 상태를 검출")에서, 제어 유닛(16)은, 제2 시나리오에 필요한 주변 장치(들)(15), 즉 제2 시나리오에 연관된 주변 장치(들)(15)가 성공적으로 구성되어, 제2 구성 파일에 따라서 그들 각각의 동작을 수행하기 위한 준비가 된 것을 검출한다.
이후, 단계 S6(제2 시나리오에 따른 동작)에서, 제2 시나리오에 연관된 주변 장치(들)(15), 즉 제2 구성 파일에 따라 필요한 주변 장치(들)(15)가, 제어 유닛(16)에 의해 구동되어, 제2 구성 파일에 따라서 그들 각각의 주변 장치 동작(들)을 수행한다. 하지만, 단계 S6은, 제어 유닛(16)이 (단계 S5에 따라서) 제2 시나리오에 연관된 각각의 주변 장치(15)가 준비상태에 있다는 것을 검출했을 때에만, 수행된다. 다시 말해, 프로세서(17) 상에서 실행되는 제어 프로그램은 제2 시나리오에 필요한 주변 장치(들)(15) 각각을 구동하여, 제2 구성 파일에 따라서 그들 각각의 주변 장치 동작(들)을 수행한다. 따라서, 제어 프로그램은 제어 유닛(16)과 주변 장치(들)(15)가, 제2 구성 파일에 대응하는 특정한 생산 실행을 위한 생산 라인의 동작을 동적으로 변경하도록 한다.
이에 따라, 상기 제어 프로그램을 재시작하지 않고, 라인의 재구성을 야기시키고, 또한 이를 가능하게 하여, 라인의 재구성이 효율적이고, 신속하고, 유연하고 신뢰성이 있도록 한다.
이는 특히 동일한 생산 라인에서 (생산 타입, 목표로 하는 국가 등에 따른)상이한 규칙에 따라서 인증 및/또는 식별을 위해 마킹된 제품 또는 생산품의 작은 배치(batch)의 경우 유리하다. 이는 통상, 제약 산업에 적용되지만, 이에 제한되는 것은 아니다. 제약산업에서, 마킹은 종종 신뢰성있는 트래킹과 추적이 가능하면서 법률 준수 또는 보안을 위한 엄격한 규칙을 따라야 한다. 예컨대, 일부 패키지는 특정 데이터에 관하여 측면과 상면에 마킹되고, (일부 판독기 등으로부터 데이터 판독을 연계함으로써) 추적과 트래킹을 목적으로 다른 부분이 마킹된다. 또한, 손상되거나 잘못 마킹된 패키지가 생산 라인에서 추출되는 것, 그리고 심지어 추출되는 결과 자체가 센서를 경유하여 제어되는 것이 보안 또는 법률상 중요할 수 있다. 이러한 응용례에서, 생산 라인에서 동작하는 다양한 주변 장치들(15)(예컨대, 마킹하거나, 판독하거나, 취급하는 장치)의 유연하고, 신속하며 동적인 재구성이 특히 유리할 수 있다.
(제1 재구성 파일에 따른) 제1 시나리오로부터 (제2 재구성 파일에 따른) 제2 시나리오로의 라인의 재구성 이후에, 라인이 (제3 재구성 파일에 따른) 제3 시나리오 등등이 수행될 수 있도록 더 재구성될 수 있다. 어떠한 경우에서도, 제1 시나리오가 라인 상에서 취급되는 가장 먼저번의 시나리오일 필요는 없고, 제1 시나리오에 앞서, 예컨대 다른 생산 또는 분배 실행 등의 다른 시나리오가 존재할 수 있다. 다시 말해, 예컨대, i번째 시나리오와 i+1번째 시나리오 사이의 전이에 있어서, i번째 시나리오가 첫번째 시나리오이고 i+1번째 시나리오가 두번째 시나리오이며, i+1번째 시나리오와 i+2번째 시나리오 사이의 전이에 있어서, i+1번째 시나리오가 첫번째 시나리오이고 i+2번째 시나리오가 두번째 시나리오일 수 있다.
도 3(a)에서 (d)는 각각 본 발명의 네가지 실시예에 따른, 세 주변 장치(15)(주변 장치가 세개 있는 것은 일 예시임)의 라인의 네가지 상이한 타입의 재구성을 개략적으로 도시한다. 각각의 도 3(a) 내지 (d)에서, 왼쪽의 시스템(50)은 (제1 재구성 파일에 따른) 라인의 재구성 이전의 구성을 나타내고, 오른쪽의 시스템(50)은 (제2 재구성 파일에 따른) 라인의 재구성 이후의 구성을 나타낸다. "Y"로 마킹된 주변 장치(15)는 도시된 구성에 연관되며, "N"으로 마킹된 주변 장치는 도시된 구성에 연관되지 않는다.
도 3(a)에서, 두 주변 장치들(15)은 제1 시나리오에 연관되고, 세 주변 장치들(15)은 제2 시나리오에 연관되는데, 이 세 주변 장치들 중 두개는 제1 시나리오에 연관된 것이다. 이 실시예에서, 제2 시나리오에서, 제1 시나리오에 연관된 두개의 주변 장치(15)는, 제2 시나리오에 따라서 그들 각각의 주변 장치 동작(들)을, 제1 시나리오에 따라서 구동될 때와는 달리, 수행하도록 구동되거나 구동되지 않을 수 있다.
도 3(b)에서, 세가지 주변 장치(15)가 제1 시나리오에 연관되고, 이 중 두가지 주변 장치(15)가 제2 시나리오에 연관된다. 이 실시예에서, 제2 시나리오에 연관된 두가지 주변 장치(15)는 제2 시나리오에 따라서 그들 각각의 주변 장치 동작(들)을, 제1 시나리오에 따라서 구동될 때와는 달리, 수행하도록 구동되거나 구동되지 않을 수 있다.
도 3(c)에서, 세가지 주변 장치(15)가 제1 시나리오에 연관되고, 동일한 세가지 주변 장치(15)가 제2 시나리오에 또한 연관될 수 있다. 이 실시예에서, 주변 장치들(15) 중 적어도 하나는 제2 시나리오에 따라서, 제1 시나리오에 따라서 구동될 때와는 달리, 그들 각각의 주변 장치 동작(들)을, 수행하도록 구동될 수 있다. 그렇지 않다면, 제1과 제2 시나리오가 다르지 않을 것이다.
도 3(d)에서, 하나의 주변 장치(15)가 제1 시나리오에 연관되고, 두 개의 다른 주변 장치(15)가 제2 시나리오에 연관된다.
도 4는 본 발명의 일 실시예에 따른 시스템(50)을 개략적으로 도시한다. 일 실시예에서, 시스템(50)은 아래의 구성요소에 연관된다.
- 컨베이어(12) 또는 생산 라인 상의 생산 제품을 움직이는 임의의 다른 타입의 캐리어와 같은, 전송 시스템(12)
- 예컨대, 제조된 생산품들, 병, 캔, 담배곽, 약 포장 팩, 상자(carton) 및 박스 등과 같은, 컨베이어(12) 상에서 전송되는 제품들(11)
- 예컨대, 트리거(trigger), 카메라, 프린터, 이젝터와 같은 주변 장치들(15)
- 임의의 운영 시스템을 구동하는 컴퓨터와 같은 제어 유닛(16)
- 제어 유닛(16)으로부터 주변 장치들(15)로의 시간 결정적인 이벤트(time critical event) 또는 제어 유닛(16)으로부터 주변 장치들(15)로의 실시간 명령어를 전송하는 것과 같은, 제어 유닛(16)과 주변 장치들(15) 사이의 실시간 통신을 허용하는 입출력(I/O) 카드(16''). 여기서 사용되는 통신 프로토콜은 예컨대 EtherCAT이 있음.
- 예컨대 카메라에 의해 캡쳐된 디지털 화상을 전송하는 등의, 제어 유닛(16)과 주변 장치들(15) 사이의 통신을 허용하는 인터넷 프로토콜(IP) 스위치(16')
- 라인의 상태를 조작자에게 시그널링하는 신호 라이트(signaling light; 16'')
- 예컨대 하나 이상의 IP 패킷, 메시지, 데이터그램 등에 의해 전달되는 메시지 등으로서, 외부 소스(30)(도 4에 도시되지 않음)로부터 재구성 명령어가 전송될 수 있도록 하는 백엔드 네트워크(30a)
일 실시예에서, 시스템(50)은 임의의 프로그램 가능한 로직 제어기(programmable logic controller; PLC)를 사용하지 않는다. 다시 말해, 이 실시예에서, 주변장치들(15) 중 어떠한 것도 PLC가 아니다. I/O카드들(16")이 존재함으로써, 보통 고가인 임의의 PLC들 없이 동작할 수 있도록 한다. 따라서, 이는 특히 장점이 된다.
도 5, 6은 본 발명의 두 실시예 각각에서, 제어 유닛(16)의 구성에 연관될 수 있는 두 세트의 기능 구성요소 및 모듈을 개괄적으로 도시한다.
구체적으로, 도 5는 본 발명의 일 실시예에서 제어 유닛(16)에서 실행되는 제어 프로그램의 로직 구조(또는 아키텍쳐)를 나타낸다. 코어(16a)는 제어 프로그램의 모든 요소 사이의 내부 통신의 스케줄링을 담당한다. 동작 로직 모듈(operational logic module; 16b)은 (예컨대, 생산품이 유지될 것인지 거부될 것인지 결정하기 위한 최종 품질 제어 등과 같은) 라인 상에서 행해지는 동작과 연관된 이벤트 등의 결과로서 라인의 동작을 지배하는 규칙을 시행하는 것 및/또는 주변 장치들(15)로의/로부터의 데이터 처리하는 것을 담당한다. 상태 머신(16c)은 제어 프로그램의 내부 상태를 관리하는 것을 담당한다. 각각의 카메라 드라이버(16d)는, 전용의 카메라 장치와의 통신 프로토콜을 담당한다. I/O 드라이버(16e)는 입/출력 카드 및, 이를 너머 주변 장치들(15)과의 실시간 통신 프로토콜을 담당한다. 각각의 프린터 드라이버(16f)는 전용 프린터 장치와의 통신 프로토콜을 담당한다.
도 6은, 본 발명의 일 실시예에서 제어 유닛(16)에서 실행되는 제어 프로그램의 다른 로직 구조(또는 아키텍쳐)를 나타내며, 이는 본 명세서에서 자세하기 서술되어 있지 않지 않을 수 있지만, 본 발명에서 통상의 지식을 가진 자가 도시된 기능을 쉽게 이해할 수 있는, 그 자체로 자명한 사항이다.
도 7은 본 발명의 일 실시예 따른 시스템과 방법을 개략적으로 도시한다. 예컨대 "B"로 불리는 구성 파일 등과 같은 제2 구성 파일이 제어 유닛(16)의 메모리에 저장되고, 상기 재구성 명령어(32)는 제어 유닛(16)의 프로세서(17)에 의해 실행될 상기 제2 구성 파일의 식별자 또는 이름을 포함한다. 다시 말해, 제어 유닛(16)이 외부 소스(30)으로부터 제2 구성 파일의 식별자 또는 이름을 수신("단계 I")한 이후에, 제2 시나리오의 근본이 되는 제2 구성 파일과 로직이 제어 유닛(16)에 의해 동적으로 로딩된다("단계 II"). 다시 말해, 단계 I에서 지시된 로직이 단계 II에서 로딩된다. 이후, 단계 III에서, 주변 장치들(15)은 제2 구성 파일에 따라서 구성된다 (도 2의 단계 S4).
도 8은 본 발명의 일 실시예에 따른 시스템과 방법을 개략적으로 도시한다. 재구성 명령어(32)은 제어 유닛(16)의 프로세서(17)에 의해 실행될 상기 제2 구성 파일에 대응하는 컴파일된 이진 파일을 포함한다. 다시 말해, 제어 유닛(16)에 제2 시나리오의 근본이 되는 로직과 제2 구성 파일을 동적으로 로딩("단계 II")할 수 있기 위해, 상기 제2 구성 파일에 대응하는 컴파일된 이진 파일이, 재구성 명령어(32)의 일부로서 제어 유닛(16)에 제공된다 ("단계 I"). 이후, 단계 III에서 주변 장치들(15)은 제2 구성 파일에 따라서 구성된다 (도 2의 단계 S4). 컴파일된 이진 파일은 예컨대 제어 유닛(16) 상의 로직을 구현하기 위한 미리 컴파일된 C 또는 C++ 파일일 수 있고, 장치 구성을 위해, 상기 컴파일된 이진 파일은 예컨대, 전매 포맷(proprietary format) 등의 장치에 특유할 수 있다.
일 실시예에서 재구성 명령어(32)은, 제2 시나리오와 연관된 별개의 동작을 수행하기 위한 및/또는 제어 유닛(16)이나 주변 장치(15) 상에서 실행을 위한, 하나 이상의 컴파일된 이진 파일을 포함할 수 있다. 예컨대, 일 컴파일된 이진 파일은 주변 장치(15)에서 실행될, (주변 장치인) 카메라로부터의 입력에 기초한 화상 처리 태스크에 전용될 수 있고, 다른 컴파일된 이진 파일은 제어 유닛(16)에서 실행될, 같은 주변 장치 또는 다른 주변 장치로부터의 입력에 기초한 에러 처리 태스크에 전용될 수 있다.
도 9는 본 발명의 일 실시예에 따른 시스템과 방법을 개략적으로 도시하는데, 본 실시예에 따르면, 상기 제어 유닛(16)이 인터프리터를 더 포함하고, 상기 재구성 명령어(32)이 상기 제2 구성 파일에 대응하는 비이진 파일을 포함하며("단계 I"), 제어 유닛(16)이, 비이진 파일을 인터프리터로써 인터프리트(interpret)하도록 동작 가능하고("단계 II"), 제어 유닛(16)이 제어 유닛(16)의 프로세서(17) 상에서 인터프리트된 비이진 파일을 실행할 수 있도록 동작 가능하여, 제2 시나리오를 위한 주변 장치(들)(15)를 구성한다("단계 III"). 재구성 명령어(32)는 일 실시예에서 제2 시나리오와 연관된 별개의 동작을 수행하기 위한 및/또는 제어 유닛(16) 또는 주변 장치(15) 상에서의 실행을 위한 하나 이상의 비이진 파일을 포함한다.
도 10은, 본 발명의 일 실시예에 따른 시스템과 방법을 개략적으로 도시하는데, 본 실시예에 따르면, 상기 제어 유닛(16)이 컴파일러를 더 포함하고, 상기 재구성 명령어(32)이 상기 제2 구성 파일에 대응하는 비이진 파일을 포함하며 ("단계 I"), 제어 유닛(16)이, 비이진 파일을 컴파일러로써 컴파일하도록 동작 가능하고("단계 II"), 제어 유닛(16)이 제어 유닛(16)의 프로세서(17) 상에서 컴파일된 비이진 파일을 실행할 수 있도록 동작 가능하여, 제2 시나리오를 위한 주변 장치(들)(15)를 구성한다("단계 III").
일 실시예에서 재구성 명령어(32)은 실행될 하나 이상의 컴파일된 이진 파일, 제어 유닛(16)에 의해 인터프리트될 하나 이상의 비이진 파일, 및 제어 유닛(16)에 의해 컴파일될 하나 이상의 비이진 파일 중 임의의 조합을 포함할 수 있다.
도 11은 본 발명의 일 실시예에서의 시스템과 방법에서 사용되는 제어 유닛(16)의 상태 머신의 다이어그램이다. 상태 머신은 S11에서 S14로 표시되는 네가지 상태와 연관되며, 제어 유닛(16)의 프로세서(17)에서 실행되는 컴퓨터 프로그램에 의해 유지될 수 있다.
상태 S11에서("업로딩"), (제1 구성 파일에 따른) 제1 시나리오에 연관된 주변 장치(들)(15)가 업로딩된다(즉, 비활성으로 설정된다). 제1 시나리오에 따른 생산이나 분배가 종료되었을 때 예컨대, 상태 S14에서 상태 S11로 전이될 수 있다.
상태 S12에서("대기(idle)"), 주변 장치(들)(15)은 모두 비활성 상태로 설정되고, 제어 유닛(16)은 각각의 주변 장치(15)가 비활성 상태에 있음을 검출할 수 있다. 다시 말해, 모든 사용되는 주변 장치(들)(15)이 비활성 상태로 설정된다. 상태 S11 및 S12는 앞서 도 2를 참조하여 설명된 단계 S2의 예시적인 구현을 구성한다.
제어 유닛(16)이 외부 소스(30)로부터 재구성 명령어(32)를 수신할 때, 상태 머신은 상태 S13("로딩")로 전이된다. 이 상태 전이는 도 2를 참조하여 앞서 설명된 단계 S3에 대응되고, 상태 S13는 도 2를 참조하여 앞서 설명된 단계 S4에 대응된다. 상태 S13에서, (제2 구성 파일에 따른) 제2 시나리오에 연관된 주변 장치(들)(15)가 구성되어 상기 제2 시나리오를 동작할 준비가 된다.
제어 유닛(16)이 외부 소스(30)로부터 재구성 명령어(32)을 수신할 때, 상태 머신은 이후 상태 S13("로딩")으로 전이된다. 이 상태 전이는 도 2를 참조하여 앞서 설명된 단계 S3에 대응되고, 상태 S13는 도 2를 참조하여 앞서 설명된 단계 S4에 대응된다. 상태 S13에서, (제2 구성 파일에 따른) 제2 시나리오에 연관된 주변 장치(들)(15)이 구성되어 상기 제2 시나리오를 동작할 준비가 된다.
제어 유닛(16)이 제2 시나리오에 필요한 주변 장치(들)(15)이 성공적으로 구성되고, 제2 구성 파일에 따라서 그들 각각의 동작을 수행할 준비가 되었을 때, 상태 머신은 상태 S13에서 S14로 전이한다 ("실행(Running)"). 이 상태 전이는 도 2를 참조하여 앞서 설명된 단계 S5에 대응되며, 상태 S14는 도 2를 참조하여 앞서 설명된 단계 S6에 대응된다. 상태 S14에서, 주변 장치(들)(15)이 이후 제어되어, 그들이 상태 S13에서 구성된 시나리오에 따라서 동작한다.
예시적인 일 실시예에서, 방법과 시스템은 아래와 같을 수 있다. 두개의 카메라 "카메라 1", "카메라 2"와, 두개의 프린터 "프린터 1"과 "프린터 2"인 네개의 주변 장치들(15)이 제공된다. 이는 시스템의 물리적인 구성에 대응된다. 네개의 주변 장치들(15) 각각에 대응되는 드라이버가 기동시 제어 유닛(16)에 로딩되고, 초기에는 비활성 상태에 있다. 제어 유닛(16)은 "대기(idle)" 상태에 있다 (도 11의 상태 머신에 따른 상태 S12).
제어 유닛(16)은 이후 외부 소스(30)으로부터 "카메라 1" 및 "프린터 1"이 연관된 시나리오에 따라 시스템(50)을 구성하기 위한 재구성 명령어(32)를 수신한다. 제어 유닛(16)은 상태를 "로딩"(도 11의 상태 머신에 따른 상태 S13)으로 변경하고, 각각의 주변 장치(15)는 그들의 새로운 구성을 수신하고, I/O 제어기와 제어 유닛(16)의 로직도 역시 구성된다. 모든 주변 장치(15)가 성공적으로 구성되면, 제어 유닛(16)은 그 상태를 "실행(run)"으로 변경하고, 생산이 시작될 수 있다 (도 11의 상태 머신에 따른 상태 S14).
제어 유닛(16)이 외부 소스(30)으로부터 "완료" 명령을 수신하면, 제어 유닛(16)은 그 상태를 "언로딩(unloading)" 상태(도 11의 상태 머신에 따른 상태 S11)로 바꾸고, 모든 주변 장치들(15)를 정지한다. 모든 주변 장치들(15)이 정지하면, 제어 유닛(16)은 대기 상태(상태 S12)로 다시 바꾸고, 제어 유닛(16)은 새로운 재구성 명령어(32)을 수신할 준비가 된다.
제어 유닛(16)이 이후 외부 소스(30)로부터 "카메라 1", "카메라 2", "프린터 1"이 연관된 새로운 시나리오에 따른, 시스템(50)을 구성하기 위한 새로운 구성 명령어(32)을 수신하면, 제어 유닛(16)은 그 상태를 "대기"(상태 S12)에서 "로딩(상태 S13)"으로 변경하고, 각각의 주변 장치(15)는 그들의 새로운 구성을 수신한다. I/O 제어기와 제어 유닛(16)의 로직도 역시 구성된다. 모든 주변 장치들(15)이 성공적으로 구성되면, 제어 유닛(16)은 그 상태를 "로딩(상태 S13)"에서 "실행(상태 S14)"으로 변경하고, 새로운 생산이 시작될 수 있다.
이 생산시에 "프린터(2)"가 동작을 멈추면, 제어 유닛(16)은 이 상태를 검출하고 이를 동작자에게 보고하지만, "프린터(2)"가 현재 구성, 즉 현재 시나리오에서 사용되지 않았기 때문에, 제어 유닛(16)은 그 상태를 변경하지 않을 것이다. 이에 반해, 현재 사용되는 "프린터(1)"에 문제가 발생하면, 생산을 계속할 수 없기 때문에, 제어 유닛(16)은 먼저 에러를 보고하고, 이후 대기 모드(상태 S12)로 변경한다. 이 오류 상태에서의 대기 모드(상태 S12)로의 변이는 언로딩 상태 또는 다른 상태를 거쳐서 수행될 수 있으나, 이는 도 11에 도시되어 있지 않다.
도 12는, 도면 번호 100으로 표시되어 나타난 네트워크화된 장치 액세스 제어의 방법이 구현될 수 있는 일반적인 컴퓨터 시스템의 예시적인 일 실시예이다. 컴퓨터 시스템(100)은 명령어의 세트를 포함할 수 있고, 이 명령어 세트가 실행되면, 컴퓨터 시스템(100)이 본 명세서에 기재된 임의의 하나 이상의 방법 또는 컴퓨터 기반 기능을 수행하도록 할 수 있다. 컴퓨터 시스템(100)은 단독 장치일 수 있고 또는 예컨대 네트워크(101)를 사용하여 다른 컴퓨터 또는 주변 장치들과 연결될 수 있다. 예컨대, 컴퓨터 시스템(100)은 제어 유닛(16)으로서 동작할 수 있고, 외부 소스(들)(30) 및 주변 장치(들)(15)에 연결되거나 연결 가능할 수 있다. 다른 예시에서, 컴퓨터 시스템(100)은 외부 소스(30)로서 동작할 수 있고, 제어 유닛(16)에 연결되거나 연결가능할 수 있다. 다른 예시에서, 컴퓨터 시스템(100)은 주변 장치(15)로서 동작할 수 있고, 제어 유닛(16)에 연결되거나 연결가능할 수 있다.
네트워크된 배치(networked deployment)에서, 컴퓨터 시스템(100)은 서버의 역할로서, 또는 서버-클라이언트 사용자 네트워크 환경에서 클라이언트 사용자 컴퓨터로서, 또는 피어-투-피어(또는 분산) 네트워크 환경에서 피어 컴퓨터 시스템으로서 동작할 수 있다. 컴퓨터 시스템(100)은 정적인 컴퓨터(stationary computer), 모바일 컴퓨터, 개인용 컴퓨터(PC), 랩톱 컴퓨터, 태블릿 컴퓨터, 무선 스마트폰, PDA, 통신 장치, 제어 시스템, 웹 기기(web appliance), 워크스테이션 컴퓨터, 체크포인트 제어 컴퓨터, 서버, 액세스 제어기, 인증 시스템 제어기, 제어 컴퓨터, 생체 입력 장치, 전자 카드 리더 또는 머신에 의해 수행될 액션을 지정하는 (시계열 혹은 시계열이 아닌) 명령어의 세트를 수행하는 임의의 다른 머신 등과 같은 다양한 장치들로서 구현되거나 포함될 수 있다. 컴퓨터 시스템(100)은 부가적인 장치를 포함하는 통합 시스템인 특정의 장치 내부에 혹은 특정 장치로서 포함될 수 있다. 특정 실시예에서, 컴퓨터 시스템(100)은 음성, 비디오 또는 데이터 통신을 제공하는 전자 장비를 사용하여 구현될 수 있다. 또한, 단일 컴퓨터 시스템(100)이 도시되었지만, 용어 "시스템"은 하나 이상의 컴퓨터 기능을 수행하는 명령어의 세트 또는 복수의 세트를 개별적으로 또는 함께 실행하는 시스템 또는 서브 시스템의 임의의 집합을 포함하는 것으로 취급되어야 한다.
도 12에 도시된 바와 같이, 컴퓨터 시스템(100)은 예컨대 CPU, GPU(graphics processing unit) 또는 이 둘과 같은 프로세서(110)를 포함할 수 있다. 또한, 컴퓨터 시스템(100)은 버스(108)를 통해 서로 통신할 수 있는 메인 메모리(120) 및 정적 메모리(130)를 포함할 수 있다. 살펴본 바와 같이, 컴퓨터 시스템(100)은 LCD, OLED(organic light emitting diode), 평판 패널 디스플레이, 고체 상태 디스플레이(solid state display) 또는 CRT(cathode ray tube) 등과 같은 비디오 디스플레이 유닛(150)을 더 포함할 수 있다. 추가적으로, 컴퓨터 시스템(100)은 키보드/가상 키보드 또는 터치 감지 입력 스크린 등과 같은 입력 장치(160), 및 마우스 또는 터치 감지 입력 스크린 또는 패드와 같은 커서 제어 장치(170)를 포함할 수 있다. 컴퓨터 시스템(100)은 네트워크 인터페이스 장치(140), 스피커 또는 원격 제어 등과 같은 신호 생성 장치(190) 및 디스크 드라이브 유닛(180)를 더 포함할 수 있다.
특정 실시예에서, 도 12에 도시된 바와 같이, 디스크 드라이브 유닛(180)은 소프트웨어와 같은 하나 이상의 명령어의 세트(184)가 임베디드될 수 있는 컴퓨터 판독가능 매체(182)를 포함할 수 있다. 컴퓨터 판독가능 매체(182)는 명령어들(184)이 판독될 수 있는 유형의 제조 물품이다. 또한, 명령어(184)는 본 명세서에 기술된 바와 같이 하나 이상의 방법 또는 로직을 구현할 수 있다. 특정 실시예에서, 명령어(124)는 컴퓨터 시스템(100)의 실행 동안 프로세서(110) 내부에, 정적 메모리(130), 및/또는 메인 메모리(120)에 온전히 또는 적어도 일부가 존재할 수 있다. 메인 메모리(120), 정적 메모리(130) 및 프로세서(110)는 명령어(184)가 컴퓨터 판독가능 매체에 저장되어 있는 동안에 유형(tangible)이고 비일시적(non-transitory)인 컴퓨터 판독가능 매체이거나, 이러한 컴퓨터 판독가능 매체를 포함할 수 있다. 여기서 사용된 용어 "비일시적인"은, 영원히 존재하는 영속적인 특성을 의미하는 것이 아닌, 본 발명에서 통상의 지식을 가진 자가 해석되는 바를 의미한다. 용어 "비일시적인"은 특히, 특정한 반송파, 신호, 또는 임의의 장소 또는 시간에 잠깐 존재하기만 하는 임의의 형태의 일시적인 특성(transitory characteristics)과 같은 순간적인 특성(fleeting characteristics)을 부인한다.
다른 실시예에서, 응용 프로그램 고유의 집적 회로, 프로그램 가능한 로직 어레이, 및 기타 하드웨어 장치와 같은 전용 하드웨어 구현이 본 명세서에 기술된 하나 이상의 방법을 구현하는데 구성될 수 있다. 다양한 실시예의 시스템과 장치를 포함할 수 있는 응용 프로그램은, 다양한 전자 장치 및 컴퓨터 시스템을 폭넓게 포함할 수 있다. 본 명세서에 기술된 하나 이상의 실시예는, 응용 프로그램 고유의 집적 회로의 일부로서, 또는 모듈들을 통해 그리고 모듈들 사이에서 통신될 수 있는 제어 및 데이터 신호와 연관된 둘 이상의 특정 상호 연결 하드웨어 모듈 또는 장치를 사용하는 기능을 구현할 수 있다. 따라서, 본 시스템은 소프트웨어, 펌웨어, 하드웨어 구현 등을 포함한다. 본 명세서의 어떠한 것도, 유형의 프로세서나 유형의 메모리와 같은 하드웨어가 아닌, 소프트웨어만을 이용하여 구현되거나 구현될 수 있는 것으로 해석되어서는 안된다.
본원 명세서의 다양한 실시예에 따라, 본 명세서에 개시된 방법은 소프트웨어 프로그램을 실행하는 하드웨어 컴퓨터 시스템을 사용하여 구현될 수 있다. 또한, 예시적인 비제한적 실시예 및 구현은 분산 프로세싱, 컴포넌트/객체 분산 프로세싱 및 병행 프로세싱를 포함할 수 있다. 다른 실시예에서, 가상 컴퓨터 시스템 프로세싱이 구성되어, 본 명세서에 기술된 하나 이상의 기능 및 방법을 구현할 수 있다.
본 명세서는, 네트워크(101)에 연결되는 장치가 네트워크(101)를 통해 음성, 비디오 및 데이터를 통신할 수 있도록 하기 위해, 전파되는 신호에 응답하는 명령어(184)를 수신하고 실행하거나, 명령어(184)를 포함하는 컴퓨터 판독가능 매체(182)에 대해 고려한다. 또한, 명령어(184)는 네트워크 인터페이스 장치(140)를 경유하여 네트워크(101)를 통해 전달되거나 수신될 수 있다. 컴퓨터 판독가능 매체(182) 또는 본 명세서에 고려된 임의의 다른 컴퓨터 판독가능 매체는, 명령어 및/또는 데이터가 저장되는 일정 기간 비일시적이며 유형인 제조 물품 또는 유형의 머신일 수 있다.
도 13은 일 실시예에 따른 예시적인 생산 및/또는 분산 라인 제어 시스템을 나타낸다. 도 13은 도 4에 도시된 동일한 시스템(50) 또는 다른 시스템(50)을 도시할 수 있다. 도 13에 도시된 예시에서, 제어 시스템(50)은 컨베이어(12), 데이터베이스(14), 제어 유닛(16)(본 명세서에서 "제어기"로도 칭함), 이미징(imaging) 및 화상 처리 장치(10, 13), 이젝터(20), 입출력(I/O) 장치(21), 프린터(22) 및 인증기(23)를 포함하지만, 이에 제한되는 것은 아니다. 이미징(imaging) 및 화상 처리 장치(10, 13), 이젝터(20), 입출력(I/O) 장치(21), 프린터(22) 및 인증기(23)는 주변 장치들(15)이거나, 주변 장치들(15)로 동작할 수 있다. 알려진 프로세스 또는 제어기 장치일 수 있는 제어기(16)는, 데이터베이스(14), 제어기(16), 이미징 및 화상 처리 장치(10, 13), 이젝터(20), 입출력(I/O) 장치(21), 프린터(22) 및 인증기(23) 각각으로부터 데이터를 수신하도록 동작할 수 있다. 후술할 제어기(16)는, 제어기(16)에 제공된 또는 제어기(16) 내의 명령어 세트에 기초하여 각각의 컴포넌트(즉, 각각의 주변 장치들(15))를 제어하도록 동작 가능하다. 임의의 수의 구성요소(즉, 주변 장치들(15))이 생산 및/또는 분배 라인에서 사용되고, 여기에 나열된 구성요소(즉, 주변 장치들(15))가 예시적인 것이며 이에 제한되지 않는 것임을 이해할 수 있다.
카메라나, 화상을 촬상할 수 있는 임의의 알려진 장치와 같은 이미징 장치(10)는 생산 및/또는 분배 라인(컨베이어(12)) 상의 제품(11)의 화상을 촬상하고, 이 화상을 화상 프로세서(13)로 전송하도록 동작 가능하다 (도 13의 예시에서, 화상 장치(10)와 화상 프로세서(13)는 동일한 화상 장치에 포함되어 있는 것으로 표시되어 있다. 하지만, 이들이 별도의 장치일 수 있음을 이해할 수 있다). 카메라는 I/O 장치(21)로부터의 트리거가 주어질 때, 라인 컨베이어(12)를 가로지르는 제품(11) 상의 (예컨대, 사람이 판독가능하거나, 1D, 2D, QR 등을 포함하지만 이에 제한되지 않는 임의의 포맷일 수 있는) 인쇄된 코드를 촬상하도록 동작할 수 있다. 카메라는 인쇄되거나, 데이터베이스에 저장되도록 구성되는 마킹 정보를 포함하는 화상을 촬상하고, 비교값이 데이터베이스(14)에서 정의된 미리 정해진 임계값보다 작은 경우, (후술하는) 이젝터(20)에게 상기 마킹 정보와 연관된 생산 제품(11)을 라인으로부터 추출하도록 명령할 수 있다.
화상 프로세서(13)는 화상 장치(10)로부터 화상을 수신하고, 수신된 화상의 패턴을 검출하고, 검출된 패턴에 대응하는 생산 타입을 식별하고, 식별된 생산 타입 데이터를 획득하도록 동작 가능하다. 화상 프로세서(13)는 수신한 화상에서 제품(11)을 식별하고 식별된 제품 데이터를 획득하도록 더 동작 가능하다. 생산 타입의 식별은 (예컨대, 화상 추출 및 특징 검출 등과 관련된) 디지털 데이터 프로세싱의 종래 기술에 의해 수행될 수 있다. 화상 프로세서(13)는 획득된 식별된 생산 타입 데이터와 식별된 제품 데이터를 제어기(16)에 전송하도록 동작 가능하다. 제어기(16)는 식별된 생산 타입 데이터와 식별된 제품 데이터를 화상 프로세서(13)로부터 수신하고, 수신한 식별된 생산 타입 데이터와 식별된 제품 데이터가, 대응하는 수신한 연관된 생산 타입 식별 정보와 제품 식별 정보에 매칭되는지 여부를 체크하고, 매칭하는 경우 생산 데이터를 데이터베이스(14)에 저장하도록 동작 가능하다.
I/O 장치(21)는 생산 라인 상의 각각의 다른 구성요소의 트리거를 제어하도록 구성된다. 구체적으로, 현재의 생산 실행(즉, 현재의 시나리오)을 위한 특정한 구성을 고려할 때, I/O 장치(21)는 센서(예컨대, 레이저)로부터 트리거된 입력 포트로부터 신호를 수신하고, 이 신호를 제어기(16)에 전달할 것이다. 이후, 제어기(16)는, 출력 포트 상의 주어진 장치가 트리거되도록 야기시키는 신호를 그 출력 포트로 송신하도록 I/O 장치(21)에게 다시 요청하기 전에, (예컨대, 주어진 시간 또는 거리 딜레이 동안 대기하는 등의) 생산 실행 구성에 따라서, 즉, 현재의 시나리오와 이에 대응하는 구성 파일에 따라서, 입력 신호를 처리할 것이다.
제어기(16)는, 임의의 식별된 생산 타입 데이터와 식별된 제품 데이터가 대응하는 연관된 생산 타입 식별 정보와 제품 식별 정보에 매칭하지 않는 경우, 대응하는 식별 에러 정보를 발행하고, 발행된 식별 에러 정보를 데이터베이스(14)에 저장하도록 동작할 수 있다. 추가적으로 또는 대안적으로, 아래에서 설명하는 바와 같이, 제어기(16)는 제품을 추출하기 위해 이젝터(20)에게 명령할 수 있다.
제어 시스템(50)은, 예컨대, 생산 정보, 인증 데이터 또는 임의의 타입의 정보를 생산 라인 제품(들)에 인쇄하기 위한 프린터(22)를 더 포함할 수 있다. 프린터(22)는 잉크젯 프린터, LED 프린터 또는 레이저 프린터와 같은 전자 사진 프린터, 또는 임의의 타입의 프린팅 시스템일 수 있다.
제어 시스템(50)은 예컨대, 제품(11)에 포함되어 있는 마킹 정보(인증 식별)을 검출하고 인증하는 인증 장치(23)를 더 포함할 수 있다. 인증은 예컨대 종래 알려진 기술에 따라, 제품(11) 상의 진품 보안 특징(genuine security feature)을 검출하는 것에 기초할 수 있다. 인증 장치(23)는 제어기(16)에 인증 결과를 전송하고, 제품이 인증되지 않았다면, 대응하는 인증 오류 메시지를 발행하고 이 메시지를 데이터베이스(14)에 저장한다. 또한, 제어기(16)는 제품(11)을 추출하기 위해 이젝터(20)에 명령어를 발행할 수 있다.
이젝터(20)는 제어기(16)에 의해 명령되었을 때 생산 라인 상의 제품(11)을 추출하기 위한 것이다. 이젝터(20)는 상술한 바와 같이 I/O 장치(21)를 통해 제어기(16)에 의해 트리거될 수 있고, 생산 라인으로부터 제품(11)을 추출하기 위한 규칙을 나타내는 명령어 세트에 반응한다. 이 규칙은 현재의 시나리오에 의존할 수 있고, 이 규칙은 도 2를 참조로 설명되는 바와 같이, 단계 S4 동안 이젝터(20)의 I/O 장치(21)에서 구성될 수 있다. 규칙은 상술한 바와 같이 단계 S4 동안 임의의 다른 컴포넌트(즉, 주변 장치(15))상에서 구성될 수 있다.
생산 및/또는 분배 라인 시스템의 예시적인 사용에서, 생산 라인은 컨베이어(또는 캐리어)(12), 프린터(22), 카메라(10, 13) 및 이젝터(20)로 이루어진 하드웨어 구성을 가질 수 있다. 컨베이어(12)는 생산 라인 상에서 생산 제품(11)을 이동할 수 있다. I/O 장치(21)는 적절한 시점에 다양한 구성요소가 트리거되도록 하는 것을 담당한다. 프린터(22)는, 트리거될 때, 컨베이어(12)를 따라 이동한 생산 제품 상의 복수의 코드 포맷을 인쇄할 수 있다. 카메라는, 트리거될 때, 컨베이어(12)에 의해 전방으로 이동된 생산 제품 상의 복수의 코드 포맷(사람이 인식 가능, 1D, 2D, QR)의 인쇄된 코드를 촬상할 수 있다. 이젝터(20)는, 트리거될 때, 컨베이어(12)로부터 생산 제품을 추출할 수 있다. 생산 라인이 동작하기 위해서는, 소프트웨어가 시스템을 구성할 것이 요구된다. 종래의 접근법에 따르면, 단일 사용 만을(single use-case only) 지원하는 시스템을 수용하는 것을 중심으로 되어 있다. 이러한 접근법에 따르면, 시스템에는, 생산 라인의 전체적인 정적 행동(static behaviour)을 정의하는, 이진으로 하드 코딩된(hard coded) 고정된 편성과 함께, (예컨대, 주어진 프린터가 인쇄해야하는 코드의 포맷, 카메라가 화상의 어떤 영역을 검색하고 주어진 포맷의 주어진 코드를 추출하는지 등과 같이) 개별적인 장치들이 어떻게 동작해야하는지 특정하는, 통상 미리 로딩된 장치 구성 파일이 제공된다. 생산 라인 소프트웨어가 로딩됨에 따라, 국지적으로 저장된 하드웨어 구성을 판독하고, 구성요소/장치(예컨대, 프린터, 카메라, I/O)를 위한 적절한 드라이버를 로딩하고, I/O 장치를 개시 및 시작하고, 장치와의 통신을 개시한다. 이후, 생산 라인 소프트웨어는 대기(idle) 상태로 존재한다. 이 상태에서, 생산 라인 소프트웨어는 장치들의 관리에 관한 상세사양(specification)/지식(knowledge)/명령어를 포함하지 않는다.
이에 반해, 본 발명의 일부 실시예에서, 제어유닛(16)이 (생산 또는 분배 시나리오, 즉 생산 분배 실행에 대응하는) 구성 파일을 포함하거나 가리키는 재구성 명령어를 수신할 때, 생산 라인 소프트웨어는 예컨대 (1) 어떤 주변 장치들(15)이 임의의 특정 시나리오나 생산 실행에서의 사용을 위해 구성되어야 하는지, (2) 시나리오나 생산 실행에 필요한 각각의 주변 장치(15)를 위한 구성, (3) 주변 장치들(15)을 개별적으로 어떻게 관리하는지, 그리고 서로 통신하도록 하기 위해 주변 장치들(15)을 어떻게 관리하는지, 등에 대해 정의하는 상세사양(명령어)을 수신할 수 있다. 시나리오나 생산 실행은 국지적으로 제공되거나, 또는 원격 시스템으로부터 제공될 수 있고, 컴퓨터, 모바일 장치, 태블릿 또는 이와 같은 액션을 수행할 수 있는 임의의 다른 장치, 즉 외부 소스(30)로부터 제공될 수 있다. 소프트웨어로 명령어를 제공하는 추가적인 사항은 아래에서 설명될 것이다. 각각의 주변 장치들(15)을 구성할 때, 각각의 주변 장치(15)를 위한 명령어들은 예컨대, 각각의 주변 장치(15)가 어떻게 동작하는지 정의한다. 예컨대, 이 명령어는 프린팅할 때 어떠한 코드 포맷을 사용할지, 카메라가 어떤 것을 촬상할지, 그리고 촬상한 화상 중 어떤 것을 추출할지를 특정할 수 있다. 구체적으로, 주변 장치들(15)의 관리는 시나리오나 생산 실행 동안 적용된 로직(명령어)을 기술한다. 예컨대, 프린터(22), 카메라(10, 13) 및 이젝터(20)가 연관된 하나의 시나리오 또는 생산 실행에서, 프린터(22)는 생산 제품에 코드를 인쇄할 수 있고, 이는 이후 카메라(10, 13)가 판독할 것이다. 인쇄된 코드와 생산 화상의 코드가 매치하는지 여부를 판단하는 (로직에서 정의된) 비교 알고리즘을 사용하면, 이젝터(20)는 비교가 실패한 경우 생산 제품(11)을 추출하도록 트리거될 수 있다. 다른 시나리오 또는 생산 실행에서, 예컨대 미리 정해진 임계치 분의 연이은 비교 실패 이후에, 추출하는 동작이 수행되어야 한다고 명령어가 정의할 수 있다. 또 다른 예시적인 시나리오 또는 생산 실행에서, 실패한 비교가 생산 라인에서 생산 제품(11)을 추출하지 않고 컨베이어(12)를 정지하도록 야기할 수 있다. 상기 예시는 제한적인 것이 아니며, 명령어가 생성 및 수정되어 임의의 수의 생산 라인 요청 또는 오더(order)를 만들 수 있다.
도 14는 도 9를 참조로 설명된 실시예와 같거나 같지 않을 수 있는 실시예에 따라 생산 및/또는 분배 라인을 제어하는 제어기(16)를 구성하는 예시적인 다이어그램을 나타낸다. 예시적인 실시예에서, XML 파일 내부에 임베딩된 DSL(domain specific language; DSL 34)를 포함하는 XML 파일(32)을 포함하는 컴퓨터, 모바일장치, 태블릿 등과 같은 외부 소스(30)와 같이 동작하는 처리 장치가 존재한다. DSL은 생산 및/또는 분배 라인에서 제어기(16)에 XML 파일과 함께 송신되는 명령어 또는 명령어 세트(24)로서 제공된다. 예컨대, 명령어 세트는 이하를 포함할 수 있다.
(1) 생산 제품 상에 인쇄될 다음 세트의 정보를 검색하는 명령어,
(2) 통과하는 생산 제품 상에 프린터로 하여금 일부 정보를 인쇄하도록 요청하는 명령어,
(3) 카메라로 하여금 통과하는 생산 제품의 화상을 취득하고 정보를 추출하도록 요청하는 명령어,
(4) 인쇄된 것과, 카메라로부터 추출된 것을 비교하는 명령어, 및
(5) 통과하는 생산 제품을 이젝터로 하여금 추출하도록 통지하는 명령어.
상기의 예시는 제한적인 것이 아니며 임의의 수의 명령어가 세트에 적용될 수 있음을 이해할 수 있다.
실행시간(runtime) 동안 DSL은 XML 파일로부터 추출될 것이고, 생산 라인 소프트웨어의 인터프리터에 의해 인터프리트될 것이다. DSL은 생산 제품(11)이 라인 상에서 이동할 때 발생하는 장치-특유의 또는 컴퓨터를 이용한(computational) 활동을 필터가 표시하는 스택 머신 패러다임(stack machine paradigm)에 기반한다. DSL은 또한 라운드-로빈 전략(round-robin strategy)과 결합 및 분리되는 것을 고려한다. 예를 들어, 스트림 처리 접근법(stream processing approach)과 같이 통상의 지식을 가진 자에게 알려진 다른 접근법도 고려될 수 있다. 따라서, 이 실시예에는, 단일의 물리적 생산 라인은 생산 실행(production run)에 기반해서 그에 따라 동작 로직 및 장치를 수용(accommodate)하기 위해 생산 라인 소프트웨어를 동적으로 구성 가능한 것에 의해 완수될 뿐만 아니라, 다양한 동작을 위해 사용될 수 있다.
도 15는 다른 실시예에 따른 생산 및/또한 분배 라인을 제어하기 위해 제어기(16)를 구성하는 것의 예시적인 다이어그램이며, 도 7을 참조하여 기술된 실시예와 동일하거나 동일하지 않을 수 있다. 예시적인 실시예에서, XML 파일 내부에 임베디드된 이진 식별자(34)를 포함하는 XML(32) 파일을 포함하는 컴퓨터, 휴대 기기(mobile device), 태블릿 등과 같이, 외부 소스(30)로서 동작하는 처리 장치(30)가 있다. 식별자는 제어기 이진(16)의 일부로서 묶여져 있던 이진(24)의 목록(catalogue)(목록 1 - X 또는 구성 파일 1 - X)으로부터 하나의 이진, 즉, 하나의 구성 파일을 식별한다. 예를 들어, 각 목록/구성 파일 1 - X는 실행시간 동안 생산/분배 라인 소프트웨어를 프로그래밍하기 위해 클라이언트(외부 소스(30))가 선택할 수 있는 생산 및/또는 분배 라인 오더(order)의 대표이다. XML 파일(32)이 처리 장치(30)(외부 소스)로부터 제어기(16)로 보내지면, 묶여진 이진/구성 파일(24)의 목록으로부터 선택된 이진을 식별하기 위해, 식별자가 추출되고 XML 내로 임베디드된다.
도 16는 다른 실시예에 따른 생산 및/또한 분배 라인을 제어하기 위해 제어기를 구성하는 것의 예시적인 다이어그램이며, 도 10을 참조하여 기술된 실시예와 같거나 그렇지 않다. 예시적인 실시예에서, XML 파일 내부에 임베디드된 특정 이진 명령어(36)를 포함하는 XML(32) 파일을 포함하는 컴퓨터, 이동 장치, 태블릿 등과 같이, 외부 소스(30)로서 동작하는 처리 장치(30)가 있다. 이진 명령어는 도 15와 관련하여 제공된 예시에 저장된 것들과 유사하다. 그러나, 이진의 목록을 제어기(16)와 묶는 것보다는, 이 경우의 이진의 목록은 처리 장치(30)와 묶인다. 일단 목록으로부터 이진이 선택되면, 목록과 관련된 이진은 XML 파일(32) 내로 임베디드된다. XML 파일이 처리 장치(30)(외부 소스(30))로부터 제어기(16)로 보내지면, 이진은 제어기(16)에 의해 추출되고 처리되어 생산 및/또는 분배 라인 내의 소프트웨어를 프로그래밍한다.
도 17은 본 발명의 일부 실시예에서 사용될 수 있는 구성 파일의 세그먼트(33)의 예시이다. 구성 파일은 라인의 물리적 구조(setup)를 규정하는 정적 구성을(static configuration) 포함한다. 이 구성은 하나의 시나리오에서 다른 시나리오로 변하지 않는다. 예를 들어, 정적 구성은 라인 상에서 물리적으로 존재하는 모든 주변 장치(15)를 나열한다. 도 17에 도시된 예에서, "printer 1"로 표시된 프린터, "cam 1"로 표시된 카메라, 및 "ejector"로 표시된 이젝터의 세 개의 주변 장치(15)가 물리적으로 존재한다. 예시적인 구성 파일은 다른 것보다 다음의 정보를 제공한다: (a) "printer 1"을 위한 드라이버 라이브러리("libprinter-driver-x.so")에 관한 정보로서, 제어 유닛(16)이 예컨대 범용 직렬 버스(USB) 직렬 버스 표준을 이용하여 "printer 1"과 통신하도록 하는 정보; (b) "cam 1"의 포트("1024")와 IP 주소("192.168.1.31")에 관한 정보로서, 제어 유닛(16)이 IP 통신 프로토콜을 통해 "cam 1"과 통신하도록 하는 정보; 및 (c) 제어 유닛(16)이 I/O 카드를 통해 "ejector"와 통신하도록 하는 "ejector"의 I/O 이름("OUTPUR_EJECTOR").
도 18은 본 발명의 일부 실시예에서 사용될 수 있는 구성 파일의 세그먼트(34)의 예시이다. 구성 파일은 동작 로직이 이미 제어 유닛(16)에 저장되어 있고 단지 선택되고 로딩될 것이 필요한 경우의 동적 구성을 포함한다. 이 예시에서 동작 로직은 "liboperational-logic-iss.so"라고 불린다. 다시 말해, 동작 로직은 라이브러리 "liboperational-logic-iss.so" 내에서 명시된다. 구성 파일은 생산 실행을 위해 사용되는 주변 장치(15) 즉, 이 시나리오, 다시 말해, "cam 1"로 표시된 카메라, "printer 1"로 표시된 프린터, 및 "ejector"로 표시된 이젝터, 및 예컨대 카메라를 위한 특정 드라이버와 관련된 구성 파라미터 "64CD6A9F"와 같은 이들 주변 장치(15)들 각각에 특수한 구성 파라미터를 나열한다.
도 19은 본 발명의 일부 실시예에서 사용될 수 있는 구성 파일의 세그먼트(34)의 예시이다. 구성 파일은 동작 로직이, (이 예에서 자바스크립트를 이용하여), 도 9 및 14를 참조하여 설명된 것과 유사한 방법 즉, 동작 로직이 재구성 명령어(32)(동작 로직이 이미 제어 유닛(16)에 저장되어 있는 경우를 도시하는 도 18에 대비하여)내의 비이진 파일로서 제공되는 방법으로 인터프리트되는 경우의 동적 구성을 포함한다. 코드 내에서 두 가지 방법이 선언되고 명시된다. "getItemCode(...)"라고 불리는 첫 번째 방법은 프린터가 제품 상에 인쇄될 코드를 필요로 하는 경우에 호출되고(invoked), 호출된 방법은 라인 상의 제품의 인덱스(index)와 관련하여 리스트에 코드가 저장되도록 한다. "onItemCode(...)"라고 불리는 두 번째 방법은 카메라가 화상을 디코딩할 때 호출되고, 호출된 방법은, 주어진 인덱스에 대해, 카메라에 의해 획득된 코드가 위에서 설명한 바와 같이 저장된 코드에 대응하는지에 대한 판단을 야기한다. 만약 대응하는 것(correspondence)이 없다면, 이젝터 상태는 이젝터가 라인에서 제품을 추출하도록 설정된다. 만약, 대응하는 것이 있다면, 이젝터 상태는 이젝터가 라인에서 제품을 추출하지 않도록 설정된다.
라인 제어 시스템 및 방법이 몇몇 예시적인 실시예와 관련하여 기재되었음에도, 사용된 용어들은 제한의 용어보다는 기재와 설명을 위한 용어로 이해할 수 있다. 본 발명의 사상과 범위에서 벗어나지 않고, 현재 서술된 대로 및 보정된 대로, 첨부된 특허청구범위의 범위 내에서 변화가 있을 수 있다. 본 발명이 특정 수단, 재료 및 실시예와 관련하여 기재되었음에도, 본 발명은 개시된 사항으로 한정하도록 의도된 것은 아니며, 오히려 본 발명의 범위는 균등한 구조, 방법, 및 용도와 같이 첨부된 특허청구범위의 범위 내의 것에까지 미친다.
컴퓨터 판독가능 매체가 하나의 매체인 것으로 보일 수 있지만, "컴퓨터 판독가능 매체"라는 용어는 단일 매체 또는 중앙집중된 또는 분산된 데이터베이스, 및/또는 관련된 캐쉬(cashes)와 같은 복수의 미디어를 포함하고, 하나 이상의 명령어의 세트를 저장하도록 한다. "컴퓨터 판독가능 매체"라는 용어는 또한 프로세서 또는 컴퓨터가 여기에 개시된 임의의 하나 이상의 방법 또는 동작을 수행하도록 하는 것에 의한 실행을 위한 명령어의 세트를 저장, 암호화 또는 운반하는 것이 가능하도록 하는 임의의 매체를 포함할 수 있다.
특정의 비제한적인, 예시적인 실시예에서, 컴퓨터 판독가능한 매체는 메모리 카드 또는 하나 이상의 비휘발성의 읽기 전용 메모리를 수용하는 다른 패키지와 같은 고체 상태 메모리(solid-state memory)를 포함하는 것이 가능하다. 나아가, 컴퓨터 판독가능 매체는 랜덤 액세스 메모리 또는 그 밖의 휘발성의 재기록 가능한 메모리일 수 있다. 추가적으로, 컴퓨터 판독가능 매체는 전송 매체를 통해 통신되는 신호와 같은 반송파 신호를 담기 위해 디스크 또는 테이프 또는 그 밖의 저장 장치와 같은 광자기 또는 광 매체를 포함할 수 있다. 따라서, 개시 내용은 데이터 또는 명령어가 저장될 수 있는 임의의 컴퓨터 판독가능한 매체 또는 그 밖의 균등물 및 계승하는(successor) 매체를 포함하는 것으로 고려된다.
본 명세서가 특정 표준 및 프로토콜과 관련한 특정 실시예에서 수행될 수 있는 구성요소 및 기능을 기술하고 있지만, 개시는 이러한 표준 및 프로토콜에 한정되지 않는다. 예를 들어, 인터넷과 다른 패킷 교환 방식의 네트워크 전송의 표준은 기술 상태의 예시를 나타낸다. 이러한 표준은 근본적으로 동일한 기능을 갖는 더 빠르거나 더 효율적인 균등물에 의해 주기적으로 대체된다. 따라서, 동일하거나 유사한 기능을 갖는 대체 표준 및 프로토콜이 이들의 균등물로 고려된다.
여기에 기재된 실시예들의 도면은 다양한 실시예의 구성의 일반적인 이해를 제공하기 위한 것이다. 도면은 여기에 기재된 방법 또는 구성을 이용하는 시스템 및 장치의 모든 특징과 구성요소의 완전한 설명을 제공하기 위한 것이 아니다. 이 기재를 본 통상의 지식을 가진 자에게는 많은 다른 실시예들이 자명할 것이다. 이 기재를 통해 다른 실시예들이 도출되고 이용될 수 있어서, 이 기재 내용의 범위에서 벗어나지 않고도 구조적이고 논리적인 대체물 및 변화가 만들어질 수 있다. 추가적으로, 도면은 단지 대표적인 것이고 축적이 일정하지 않을 수 있다. 도면의 어떤 부분이 확대되는 동안 다른 부분이 축소될 수 있다. 따라서, 개시 내용과 도면은 제한적이라기보다는 예시적인 것으로 간주되어야 한다.
개시 내용의 하나 이상의 실시예는 여기에서 단지 편의를 위해 그리고 이 출원의 범위를 특정 발명 또는 발명 사상으로 자진해서 한정하려는 의도 없이 개별적으로 및/또는 총괄하여 "발명"이라는 용어로 불릴 수 있다. 나아가, 특정 실시예가 여기에 도시되고 설명되었음에도 불구하고, 동일하거나 유사한 목적을 달성하기 위해 고안된 임의의 확장되는 방식(subsequent arrangement)이 제시된 특정 실시예를 대체할 수 있음이 이해되어져야 한다. 이 개시는 임의의 그리고 모든 다양한 실시예의 확장되는 개작(adaptation) 또는 변화를 수용하도록 의도된 것이다. 이 기재를 본 통상의 지식을 가진 자에게는 위 실시예들의 조합, 및 여기에 특정하여 기술되지 않은 그 밖의 실시예가 자명할 것이다.
이 개시의 요약서는 37 C.F.R §1.72(b)를 준수하기 위해 제공되었으며, 특허청구범위의 의미 또는 범위를 한정하거나 해석하기 위해 사용되지는 않는다는 이해하에 제출되었다. 덧붙여, 상기의 발명의 상세한 설명에서, 개시를 간소화하기 위한 목적에서 다양한 특징이 함께 그룹화되거나 단일의 실시예로 기재되었을 수 있다. 이러한 기재는 특허청구범위에 기재된 실시예가 각각의 청구항에 명확히 인용하는 것보다 많은 특징을 필요로 한다는 의도를 반영하는 것으로 해석되어서는 안된다. 오히려, 다음의 특허청구범위가 반영하듯이, 본 발명의 주제는 개시된 실시예의 모든 특징을 다 구비하지 않는 것일 수 있다. 따라서, 이하의 특허청구범위의 각 청구항은 스스로에 기초하여 각각에 기재된 발명 대상을 개별적으로 정의하며 발명의 상세한 설명에 통합된다.
상술한 발명의 대상은 예시적인 것이며 제한적이지 않은 것으로 고려되어야 하고, 첨부된 특허청구범위는 모든 그러한 변경사항, 향상, 및 본 개시의 범위 및 진정한 사상의 범위에 포함되는 그 밖의 실시예를 수용하는 것으로 의도된다. 따라서, 본 발명의 범위는 법에서 허용되는 한 최대한 넓게, 특허청구범위 및 그 균등물의 허용되는 가장 넓은 해석으로 결정되어야 한다.
주변 장치: 15
제어 유닛: 16
프로세서: 17
메모리: 19
시스템: 50

Claims (24)

  1. 생산 또는 분배 라인을 제어하기 위한 시스템으로서, 상기 시스템은,
    상기 라인 상의 적어도 하나의 주변 장치 동작을 수행하도록 동작 가능한 적어도 하나의 주변 장치, 및
    제어 프로그램을 저장하는 메모리 및 프로세서를 포함하는 제어 유닛을 포함하고,
    상기 제어 유닛은, 상기 제어 프로그램의 제1 구성 파일에 따라서 필요한 상기 적어도 하나의 주변 장치 각각을 구동하여, 상기 제1 구성 파일에 따라 그의 각각의 주변 장치 동작(들)을 수행하기 위해, 상기 제어 프로그램을 상기 프로세서 상에서 실행함으로써, 상기 적어도 하나의 주변 장치를 제어하도록 동작 가능하고 - 상기 제1 구성 파일은 생산 또는 분배의 제1 시나리오에 대응됨 -,
    상기 제어 유닛은,
    상기 제1 시나리오에 연관된 상기 적어도 하나의 주변 장치의 동작을 정지하고, 각각의 주변 장치를 비활성 상태로 설정하고, 이후 각각의 주변 장치가 비활성 상태에 있는지 검출하고,
    외부 소스로부터 재구성 명령어(reconfiguration instruction)를 수신하고,
    각각의 주변 장치가 비활성 상태에 있다는 것을 검출하고, 상기 재구성 명령어를 수신한 경우, 상기 제어 프로그램의 제2 구성 파일에 따라서 필요한 상기 적어도 하나의 주변 장치 각각을 구성하고 - 상기 제2 구성 파일은 생산 또는 분배의 제2 시나리오에 대응되며, 상기 제2 시나리오는 상기 제1 시나리오와 상이함 -,
    상기 제2 시나리오를 위해 필요한 적어도 하나의 주변 장치 각각이, 상기 제2 구성 파일에 따라서 각각의 주변 장치 동작(들)을 수행할 준비가 된 것에 따른 상태(이하, "준비 상태"로 칭함)를 검출하고,
    상기 준비 상태를 검출한 경우, 상기 제2 시나리오를 위해 필요한 상기 적어도 하나의 주변 장치 각각을 구동하여, 상기 제2 구성 파일에 따라서 각각의 주변 장치 동작(들)을 수행함으로써, 상기 제어 프로그램을 재시동하지 않고 상기 라인의 재구성을 야기하기 위해, 상기 프로세서 상에서 상기 제어 프로그램을 실행함으로써 상기 적어도 하나의 주변 장치를 제어하도록 더 동작 가능한 것을 특징으로 하고,
    상기 제2 구성 파일은 상기 메모리에 저장되고, 상기 재구성 명령어는 상기 제어 유닛의 상기 프로세서에 의해 실행될 상기 제2 구성 파일의 이름 또는 식별자를 포함하고, 상기 제어 유닛에 재구성 명령어를 송신하도록 동작 가능한 상기 외부 소스는:
    사용자에 의해, 상기 재구성 명령어를 입력하고, 이를 통신 링크를 통해 상기 제어 유닛으로 송신하도록 동작 가능한 사용자 단말; 및
    상기 재구성 명령어를 통신 링크를 통해 상기 제어 유닛으로 송신하도록 동작 가능한 원격 서버 중 적어도 하나를 포함하는 시스템.
  2. 제1항에 있어서,
    상기 재구성 명령어는 상기 제어 유닛의 상기 프로세서에 의해 실행될 상기 제2 구성 파일에 대응하는 컴파일된 이진 파일(compiled binary file)을 포함하는, 시스템.
  3. 제1항에 있어서,
    상기 제어 유닛은 컴파일러를 더 포함하고, 상기 재구성 명령어는 상기 제2 구성 파일에 대응하는 비이진 파일(non-binary file)을 포함하고,
    상기 제어 유닛은 상기 비이진 파일을 상기 컴파일러로써 컴파일하고, 상기 컴파일된 비이진 파일을 상기 제어 유닛의 상기 프로세서에서 실행하도록 동작 가능한, 시스템.
  4. 제1항에 있어서,
    상기 제어 유닛은 인터프리터(interpreter)를 더 포함하고, 상기 재구성 명령어는 상기 제2 구성 파일에 대응하는 비이진 파일을 포함하고,
    상기 제어 유닛은 상기 비이진 파일을 상기 인터프리터로써 인터프리트(interpret)하고, 상기 인터프리트된 비이진 파일을 상기 제어 유닛의 상기 프로세서에서 실행하도록 동작 가능한, 시스템.
  5. 제1항에 있어서,
    상기 적어도 하나의 주변 장치는, 컨베이어 상에서 전송되는 제품에 마킹하는 것인 주변 장치 동작을 수행하도록 동작 가능한 주변 장치와, 상기 컨베이어 상에서 전송되는 제품 상의 마킹을 이미징하거나 판독하는 것인 주변 장치 동작을 수행하도록 동작 가능한 주변 장치 중 적어도 하나를 포함하는, 시스템.
  6. 제1항에 있어서,
    상기 적어도 하나의 주변 장치는, 상기 제1 시나리오와 상기 제2 시나리오 모두에 전부가 연관된 복수의 주변 장치를 포함하고,
    상기 제2 시나리오는,
    상기 복수의 주변 장치 중 적어도 하나가, 상기 제1 시나리오에 따라서 구동될 때와 상이하게 상기 제2 시나리오에 따라서 적어도 하나의 주변 장치 동작을 수행하도록 구동되는 점에서,
    상기 제1 시나리오와 상이한, 시스템.
  7. 제1항에 있어서,
    상기 적어도 하나의 주변 장치는 복수의 주변 장치를 포함하고,
    상기 제2 시나리오는
    상기 복수의 주변 장치가 상기 제1 시나리오에 연관된 적어도 하나의 주변 장치의 제1 서브세트와 상기 제2 시나리오에 연관된 적어도 하나의 주변 장치의 제2 서브세트를 포함하고,
    상기 제1 서브세트가 상기 제2 서브세트와 적어도 일부 다른 점에서,
    상기 제1 시나리오와 상이한, 시스템.
  8. 제6항 또는 제7항에 있어서,
    상기 복수의 주변 장치는,
    컨베이어 상의 제품 상에 마킹을 인쇄하는 것인 주변 장치 동작을 수행하도록 동작 가능한 프린터,
    상기 컨베이어 상의 제품 상에 마킹의 디지털 화상을 촬상하는 것인 주변 장치 동작을 수행하도록 동작 가능한 카메라, 및
    상기 컨베이어로부터 제품을 추출하는(eject) 것인 주변 장치 동작을 수행하도록 동작 가능한 이젝터를 포함하는, 시스템.
  9. 제8항에 있어서,
    상기 프로세서는 상기 카메라로부터 수신된 제품 상의 마킹의 디지털 화상에 대해 화상 처리 동작을 수행하고, 상기 화상 처리 동작으로부터의 결과인 데이터를 저장된 제품 데이터와 연관시키고, 연관된 데이터를 상기 메모리에 저장하도록 더 동작 가능한, 시스템.
  10. 제8항에 있어서,
    상기 프로세서는 상기 카메라로부터 수신된 제품 상의 마킹의 디지털 화상에 대해 화상 처리 동작을 수행하고, 상기 화상 처리 동작으로부터의 결과인 데이터를 저장된 레퍼런스 제품 데이터와 비교하고, 상기 비교의 결과를 상기 메모리에 저장하도록 더 동작 가능한, 시스템.
  11. 생산 또는 분배 라인을 제어하기 위한 방법으로서, 상기 방법은, 상기 라인 상의 적어도 하나의 주변 장치 동작을 수행하도록 동작 가능한 적어도 하나의 주변 장치, 및 제어 프로그램을 저장하는 메모리와 프로세서를 포함하는 제어 유닛을 수반하며, 상기 방법은,
    상기 제어 유닛이, 상기 제어 프로그램의 제1 구성 파일에 따라서 필요한 상기 적어도 하나의 주변 장치 각각을 구동하여, 상기 제1 구성 파일에 따라 그의 각각의 주변 장치 동작(들)을 실행하기 위해, 상기 제어 프로그램을 상기 프로세서 상에서 수행함으로써, 상기 적어도 하나의 주변 장치를 제어하는 단계를 포함하고,
    상기 제1 구성 파일은 생산 또는 분배의 제1 시나리오에 대응되며,
    상기 방법은, 상기 제어 유닛이,
    상기 제1 시나리오에 연관된 상기 적어도 하나의 주변 장치의 동작을 정지하고, 각각의 주변 장치를 비활성 상태로 설정하고, 이후 각각의 주변 장치가 비활성 상태에 있는지 검출하는 단계,
    외부 소스로부터 재구성 명령어를 수신하는 단계,
    각각의 주변 장치가 비활성 상태에 있다는 것을 검출하고, 상기 재구성 명령어를 수신한 경우, 상기 제어 프로그램의 제2 구성 파일에 따라서 필요한 상기 적어도 하나의 주변 장치 각각을 구성하는 단계 - 상기 제2 구성 파일은 생산 또는 분배의 제2 시나리오에 대응되며, 상기 제2 시나리오는 상기 제1 시나리오와 상이함 -,
    상기 제2 시나리오를 위해 필요한 적어도 하나의 주변 장치 각각이, 상기 제2 구성 파일에 따라서 각각의 주변 장치 동작(들)을 수행할 준비가 된 것에 따른 상태(이하, "준비 상태"로 칭함)를 검출하는 단계, 및
    상기 준비 상태를 검출한 경우, 상기 제2 시나리오를 위해 필요한 상기 적어도 하나의 주변 장치 각각을 구동하여, 상기 제2 구성 파일에 따라서 각각의 주변 장치 동작(들)을 수행함으로써, 상기 제어 프로그램을 재시동하지 않고 상기 라인의 재구성을 야기하기 위해, 상기 프로세서 상에서 상기 제어 프로그램을 실행함으로써 상기 적어도 하나의 주변 장치를 제어하는 단계를 더 포함하는 것을 특징으로 하고,
    상기 제2 구성 파일은 상기 메모리에 저장되고, 상기 재구성 명령어는 상기 제어 유닛의 상기 프로세서에 의해 실행될 상기 제2 구성 파일의 이름 또는 식별자를 포함하고, 상기 제어 유닛에 재구성 명령어를 송신하도록 동작 가능한 상기 외부 소스는:
    사용자에 의해, 상기 재구성 명령어를 입력하고, 이를 통신 링크를 통해 상기 제어 유닛으로 송신하도록 동작 가능한 사용자 단말; 및
    상기 재구성 명령어를 통신 링크를 통해 상기 제어 유닛으로 송신하도록 동작 가능한 원격 서버 중 적어도 하나를 포함하는 방법.
  12. 제11항에 있어서,
    상기 재구성 명령어는 상기 제어 유닛의 상기 프로세서에 의해 실행될 상기 제2 구성 파일에 대응하는 컴파일된 이진 파일(compiled binary file)을 포함하는 방법.
  13. 제11항에 있어서,
    상기 제어 유닛은 컴파일러를 더 포함하고, 상기 재구성 명령어는 상기 제2 구성 파일에 대응하는 비이진 파일을 포함하고,
    상기 제어 유닛은 상기 비이진 파일을 상기 컴파일러로써 컴파일하고, 상기 컴파일된 비이진 파일을 상기 제어 유닛의 상기 프로세서에서 실행하는, 방법.
  14. 제11항에 있어서,
    상기 제어 유닛은 인터프리터(interpreter)를 더 포함하고, 상기 재구성 명령어는 상기 제2 구성 파일에 대응하는 비이진 파일을 포함하고,
    상기 제어 유닛은 상기 비이진 파일을 상기 인터프리터로써 인터프리트(interpret)하고, 상기 인터프리트된 비이진 파일을 상기 제어 유닛의 상기 프로세서에서 실행하는, 방법.
  15. 제11항에 있어서,
    상기 적어도 하나의 주변 장치는, 컨베이어 상에서 전송되는 제품에 마킹하는 것인 주변 장치 동작을 수행하도록 동작 가능한 주변 장치와, 상기 컨베이어 상에서 전송되는 제품 상의 마킹을 이미징하거나 판독하는 것인 주변 장치 동작을 수행하도록 동작 가능한 주변 장치 중 적어도 하나를 포함하는 방법.
  16. 제11항에 있어서,
    상기 적어도 하나의 주변 장치는, 상기 제1 시나리오와 상기 제2 시나리오 모두에 전부가 연관된 복수의 주변 장치를 포함하고,
    상기 제2 시나리오는,
    상기 복수의 주변 장치 중 적어도 하나가, 상기 제1 시나리오에 따라서 구동될 때와 상이하게, 상기 제2 시나리오에 따라서 적어도 하나의 주변 장치 동작을 수행하도록 구동되는 점에서,
    상기 제1 시나리오와 상이한 방법.
  17. 제11항에 있어서,
    상기 적어도 하나의 주변 장치는 복수의 주변 장치를 포함하고,
    상기 제2 시나리오는
    상기 복수의 주변 장치가 상기 제1 시나리오에 연관된 적어도 하나의 주변 장치의 제1 서브세트와 상기 제2 시나리오에 연관된 적어도 하나의 주변 장치의 제2 서브세트를 포함하고,
    상기 제1 서브세트가 상기 제2 서브세트와 적어도 일부 다른 점에서,
    상기 제1 시나리오와 상이한 방법.
  18. 제16항 또는 제17항에 있어서,
    상기 복수의 주변 장치는,
    컨베이어 상의 제품 상에 마킹을 인쇄하는 것인 주변 장치 동작을 수행하도록 동작 가능한 프린터,
    상기 컨베이어 상의 제품 상에 마킹의 디지털 화상을 촬상하는 것인 주변 장치 동작을 수행하도록 동작 가능한 카메라, 및
    상기 컨베이어로부터 제품을 추출하는(eject) 것인 주변 장치 동작을 수행하도록 동작 가능한 이젝터를 포함하는 방법.
  19. 제18항에 있어서,
    상기 프로세서는 상기 카메라로부터 수신된 제품 상의 마킹의 디지털 화상에 대해 화상 처리 동작을 수행하고, 상기 화상 처리 동작으로부터의 결과인 데이터를 저장된 제품 데이터와 연관시키고, 연관된 데이터를 상기 메모리에 저장하도록 더 동작 가능한 방법.
  20. 제18항에 있어서,
    상기 프로세서는 상기 카메라로부터 수신된 제품 상의 마킹의 디지털 화상에 대해 화상 처리 동작을 수행하고, 상기 화상 처리 동작으로부터의 결과인 데이터를 저장된 레퍼런스 제품 데이터와 비교하고, 상기 비교의 결과를 상기 메모리에 저장하도록 더 동작 가능한 방법.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
KR1020167033007A 2014-05-01 2015-05-01 동적으로 구성 가능한 생산 및/또는 분배 라인 제어 시스템 및 이에 대한 방법 KR102306400B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US2014036324 2014-05-01
USPCT/US2014/036324 2014-05-01
PCT/US2015/028783 WO2015168543A1 (en) 2014-05-01 2015-05-01 Dynamically configurable production and/or distribution line control system and method therefor

Publications (2)

Publication Number Publication Date
KR20160147933A KR20160147933A (ko) 2016-12-23
KR102306400B1 true KR102306400B1 (ko) 2021-10-01

Family

ID=54359376

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167033007A KR102306400B1 (ko) 2014-05-01 2015-05-01 동적으로 구성 가능한 생산 및/또는 분배 라인 제어 시스템 및 이에 대한 방법

Country Status (9)

Country Link
US (1) US10401842B2 (ko)
EP (1) EP3137950B1 (ko)
KR (1) KR102306400B1 (ko)
CN (1) CN106233210B (ko)
BR (1) BR112016024777A8 (ko)
RU (1) RU2671660C2 (ko)
TR (1) TR201903636T4 (ko)
TW (1) TW201600947A (ko)
WO (1) WO2015168543A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180012173A1 (en) * 2016-07-08 2018-01-11 Honeywell International Inc. Devices, methods, and systems for multi-user commissioning
CN105955227B (zh) * 2016-07-15 2018-11-20 苏州西斯派克检测科技有限公司 一种生产线上面向对象的控制器跟踪控制方法
CA3047423A1 (en) * 2017-01-16 2018-07-19 Sicpa Holding Sa Systems and methods for controlling production and/or distribution lines
JP6721241B2 (ja) * 2017-03-01 2020-07-08 株式会社イシダ 物品振分システム
CN108573483A (zh) * 2017-03-14 2018-09-25 研祥智能科技股份有限公司 基于机器视觉检测系统的信号盒控制方法和装置
US11165602B2 (en) * 2017-10-31 2021-11-02 Murata Machinery, Ltd. Communication system, controlled device, and control method for communication system
WO2019118654A1 (en) * 2017-12-13 2019-06-20 Siemens Aktiengesellschaft Integrated automatic production planning and procurement
KR102238867B1 (ko) * 2018-07-03 2021-04-09 미쓰비시덴키 가부시키가이샤 데이터 처리 장치 및 데이터 처리 방법
BE1026776B1 (de) * 2018-11-09 2020-06-08 Phoenix Contact Gmbh & Co Vorrichtung und Verfahren zum Konfigurieren einer Produktionsmaschine basierend auf Produktdaten
EP3686763B1 (de) 2019-01-22 2021-03-24 Siemens Aktiengesellschaft Computer-implementierte vorrichtung und verfahren zum verarbeiten von daten
CN112859757B (zh) * 2019-11-27 2022-04-22 宁波舜宇智能科技有限公司 边缘计算控制方法、装置、边缘计算机和可读存储介质
KR102278962B1 (ko) * 2020-12-08 2021-07-19 주식회사 델타팜 전기 장비 병렬 제어를 위한 다중 트리거 출력 장치 및 이를 포함하는 다중 트리거 출력 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030158615A1 (en) * 1998-06-26 2003-08-21 Patrick Weber Control system and method therefor
JP2008542921A (ja) * 2005-06-02 2008-11-27 マーケム コーポレーション 動的ライン構成

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6567162B2 (en) * 2001-05-31 2003-05-20 The Regents Of The University Of Michigan Reconfigurable apparatus and method for inspection during a manufacturing process
US7725200B2 (en) 2006-10-20 2010-05-25 Rockwell Automation Technologies, Inc. Validation of configuration settings in an industrial process
BRPI0800754A2 (pt) 2008-03-25 2020-09-24 Sicpa Holding S.A. Sistema de controle de produção integrado por meio de processamento de imagem e codificação automatizada
US8010218B2 (en) * 2008-09-30 2011-08-30 Rockwell Automation Technologies, Inc. Industrial automation interfaces integrated with enterprise manufacturing intelligence (EMI) systems
US20100125357A1 (en) 2008-11-19 2010-05-20 Illinois Tool Works Inc. Vertically separated pass through conveyor system and method in surface mount technology process equipment
DE102008062934A1 (de) * 2008-12-23 2010-06-24 Kuka Roboter Gmbh Vernetzte Industriesteuerung und Verfahren zum Wechsel des Betriebsmodus einer solchen Industriesteuerung
US8667464B2 (en) 2010-03-19 2014-03-04 Honeywell Technologies Sarl Company advanced programming interface
US8832236B2 (en) 2010-06-21 2014-09-09 Fisher-Rosemount Systems, Inc. Methods, apparatus and articles of manufacture to replace field devices in process control systems
US8717374B2 (en) 2010-09-13 2014-05-06 Fisher-Rosemount Systems, Inc. Methods and apparatus to display process control information
US8849431B2 (en) * 2011-03-01 2014-09-30 Flow Data, Inc. Configuration based programmable logic controller (PLC) programming
US8689184B2 (en) 2011-03-30 2014-04-01 The Procter & Gamble Company Apparatus, system, and method for managing industrial software configurations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030158615A1 (en) * 1998-06-26 2003-08-21 Patrick Weber Control system and method therefor
JP2008542921A (ja) * 2005-06-02 2008-11-27 マーケム コーポレーション 動的ライン構成

Also Published As

Publication number Publication date
EP3137950B1 (en) 2018-12-26
TW201600947A (zh) 2016-01-01
EP3137950A1 (en) 2017-03-08
RU2016142743A (ru) 2018-05-07
KR20160147933A (ko) 2016-12-23
RU2671660C2 (ru) 2018-11-06
RU2016142743A3 (ko) 2018-09-25
EP3137950A4 (en) 2018-01-03
BR112016024777A2 (pt) 2017-08-15
WO2015168543A1 (en) 2015-11-05
CN106233210B (zh) 2019-06-04
US20170075344A1 (en) 2017-03-16
BR112016024777A8 (pt) 2021-06-01
US10401842B2 (en) 2019-09-03
CN106233210A (zh) 2016-12-14
TR201903636T4 (tr) 2019-04-22

Similar Documents

Publication Publication Date Title
KR102306400B1 (ko) 동적으로 구성 가능한 생산 및/또는 분배 라인 제어 시스템 및 이에 대한 방법
TWI441084B (zh) 應用射頻識別之增強的控制器
US8126195B2 (en) Graphical retail item identification with point-of-sale terminals
JP7351744B2 (ja) 産業用途のためのスキルインタフェース
CN113672353B (zh) 一种基于容器的任务执行方法及装置
US9553761B2 (en) Dynamic server to server configuration and initialization
WO2020118171A1 (en) Relabeling system for unlabeled cartons for fast system
WO2022068603A1 (zh) 仓储系统控制方法、装置、安全门及仓储系统
US20140019515A1 (en) Adaptive business logic configurator
US9384457B2 (en) Physical distribution management system and physical distribution management method
US10035616B1 (en) Exit control mechanism for reducing processing station errors
CN108153552A (zh) 运行过程的数据获取方法和获取系统
CN114493493A (zh) 决策引擎及决策引擎实现方法
CN109230141B (zh) 堆垛机的启用方法及装置
US9911070B2 (en) Improving product packing operation efficiency
US20160142577A1 (en) Electronic apparatus that uses program from another program working on different platforms, and method
CN108388819B (zh) 一种基于超高频rfid应答器的防碰撞方法、装置及其系统
JP6357255B1 (ja) システム
CN108765699A (zh) 基于无线通信的补货方法、装置及存储介质
US11977878B2 (en) System and method for managing software services in building customized software
CN116501365B (zh) 基于算法平台的资源调用方法、装置及设备
US20210406544A1 (en) Apparatuses, computer-implemented methods, and computer program products for automatic item searching and verification
WO2023219882A1 (en) System and method for service synchronization
KR20220052772A (ko) 무적 화물 관리 방법 및 그 장치
CN114385218A (zh) 代码运行方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right