KR102124312B1 - 컨트롤러 및 반송 시스템 - Google Patents

컨트롤러 및 반송 시스템 Download PDF

Info

Publication number
KR102124312B1
KR102124312B1 KR1020187022327A KR20187022327A KR102124312B1 KR 102124312 B1 KR102124312 B1 KR 102124312B1 KR 1020187022327 A KR1020187022327 A KR 1020187022327A KR 20187022327 A KR20187022327 A KR 20187022327A KR 102124312 B1 KR102124312 B1 KR 102124312B1
Authority
KR
South Korea
Prior art keywords
unit
sensor
information
work
actuator
Prior art date
Application number
KR1020187022327A
Other languages
English (en)
Other versions
KR20180101446A (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 KR20180101446A publication Critical patent/KR20180101446A/ko
Application granted granted Critical
Publication of KR102124312B1 publication Critical patent/KR102124312B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q15/00Automatic control or regulation of feed movement, cutting velocity or position of tool or work
    • B23Q15/20Automatic control or regulation of feed movement, cutting velocity or position of tool or work before or after the tool acts upon the workpiece
    • B23Q15/22Control or regulation of position of tool or workpiece
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G43/00Control devices, e.g. for safety, warning or fault-correcting
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G43/00Control devices, e.g. for safety, warning or fault-correcting
    • B65G43/08Control devices operated by article or material being fed, conveyed or discharged
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q15/00Automatic control or regulation of feed movement, cutting velocity or position of tool or work
    • B23Q15/20Automatic control or regulation of feed movement, cutting velocity or position of tool or work before or after the tool acts upon the workpiece
    • B23Q15/22Control or regulation of position of tool or workpiece
    • B23Q15/24Control or regulation of position of tool or workpiece of linear position
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G43/00Control devices, e.g. for safety, warning or fault-correcting
    • B65G43/04Control devices, e.g. for safety, warning or fault-correcting detecting slip between driving element and load-carrier, e.g. for interrupting the drive
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G47/00Article or material-handling devices associated with conveyors; Methods employing such devices
    • B65G47/22Devices influencing the relative position or the attitude of articles during transit by conveyors
    • B65G47/24Devices influencing the relative position or the attitude of articles during transit by conveyors orientating the articles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • 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
    • 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/0423Input/output
    • 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/4189Total 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 the transport system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0224Process history based detection method, e.g. whereby history implies the availability of large amounts of data
    • G05B23/0227Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions
    • G05B23/0235Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions based on a comparison with predetermined threshold or range, e.g. "classical methods", carried out during normal operation; threshold adaptation or choice; when or how to compare with the threshold
    • 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/32Operator till task planning
    • G05B2219/32357Simulation of material handling, flexible conveyor system fcs
    • 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)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Programmable Controllers (AREA)
  • Control Of Conveyors (AREA)

Abstract

본 발명의 목적은, 센서 정보의 시뮬레이션을, 반송 시스템의 종류에 크게 의존하지 않고서 용이하게, 또한, 반송 시스템의 컨트롤러를 이용하여 행할 수 있는, 컨트롤러 및 반송 시스템을 제공하는 것이다. 워크 시뮬레이션부(550)는, 적어도 1개의 액추에이터(610) 중 구속 조건에 있어서 워크를 구속한다고 생각되고 있는 것에 관한 구동 정보에 의해, 워크의 이동량을 추정하고, 이동량을 워크의 전회 위치에 가산하는 것에 의해 워크의 현재 위치를 추정한다. 센서 시뮬레이션부(561)는, 워크의 현재 위치를 이용함으로써 센서 시뮬레이션 정보를 생성한다. 입출력 전환부(570)는, 구동 정보를 워크 시뮬레이션부(550)에 보내고, 또한, 센서 정보의 대체 정보로서, 센서 시뮬레이션 정보를 제어 프로그램 실행부(530)에 보낸다.

Description

컨트롤러 및 반송 시스템
본 발명은, 컨트롤러 및 반송 시스템에 관한 것이고, 특히, 센서로부터의 센서 신호를 참조하면서 액추에이터에 구동 신호를 출력하기 위한 컨트롤러와, 그것을 이용한 반송 시스템에 관한 것이다.
반송 시스템, 즉 물건을 반송하기 위한 시스템은, 예컨대 공장에 있어서의 생산 장치 등, 다양한 용도에 이용되고 있다. 이하, 반송 시스템에 있어서 반송되는 물건을 "워크"라고 칭한다. 반송 시스템은, 통상, 워크를 이동시키기 위한 액추에이터와, 워크를 검출하기 위한 센서와, 이들을 제어하기 위한 컨트롤러를 갖고 있다. 컨트롤러의 동작 시험으로서, 종래로부터, 시뮬레이션 기술이 이용되고 있다.
일본 특허 공개 2014-148389호 공보(특허 문헌 1)에 의하면, 반송기가 반송물을 반송하는 시뮬레이션 연산을 실행하는 정보 처리 장치가 개시되어 있다. 3차원 시뮬레이션 공간 상에서 워크와 리프터와 테이블이 배치된다. 정보 처리 장치는, 리프터가 테이블 상의 워크를 반송하는 시뮬레이션 연산을 실행한다. 여기서, 정보 처리 장치는, 테이블에 배치된 워크를 리프터가 위쪽 방향으로 이동시키는 경우, 리프터의 워크와 일체가 되는 정도를 나타내는 우선도를 테이블의 워크와 일체가 되는 정도를 나타내는 우선도보다 높게 설정한다. 또한, 정보 처리 장치는, 워크를 반송 중인 리프터가 테이블보다 아래쪽 방향으로 이동하는 경우, 리프터의 우선도를 테이블의 우선도보다 낮게 설정한다.
일본 특허 공개 2014-063327호 공보(특허 문헌 2)에 의하면, 시뮬레이션 장치가 개시되어 있다. 시뮬레이션 장치는, 대상물을 다루는 기계의 움직임을 제어하는 컨트롤러에 있어서 실행되는 제어 프로그램의 시뮬레이션을 실행하는 프로세서를 포함한다. 프로세서는, 제어 프로그램에 따라, 가상 공간에 있어서 기계에 대응하는 가상 기계를 운전하기 위한 동작 지령에 근거하여 가상 기계의 움직임을 제어하는 동작 제어 수단과, 가상 기계에 의해 다루어지는 대상물에 대응하는 가상 대상물의 모델 데이터와, 가상 기계의 모델 데이터에 근거하여, 가상 기계가 작용 가능한 작용 공간과 가상 대상물이 겹치는 영역의 체적이 미리 정해진 기준치 이상인지 여부를 판단하는 판단 수단과, 체적이 기준치 이상인 경우에, 가상 대상물을 동작 지령에 근거하는 가상 기계의 움직임에 추종시키는 추종 수단을 포함한다.
일본 특허 공개 2002-358114호 공보(특허 문헌 3)에 의하면, 시퀀서의 프로그램에 의한 설비 동작의 시뮬레이션을 행하는 시뮬레이션 장치가 개시되어 있다. 시뮬레이션 장치는, 상기 시퀀서로부터의 출력에 근거하여 상기 설비의 상태의 변화를 시뮬레이트하여 그 설비의 변화 상태를 소정 시간마다 산출하는 상태 산출 수단과, 상기 상태 산출 수단에 의해 산출되는 상기 설비의 변화 상태에 따라 상기 시퀀서에 출력해야 하는 해당 상태에 관련되는 의사 신호를 생성하는 의사 신호 생성 수단을 갖고 있다. 즉, 이 시뮬레이션 장치는, 2단계로 시뮬레이션을 행하고 있다. 우선, 시뮬레이션 장치는, 시퀀서로부터의 출력, 다시 말해 동작 지령에 의해 설비의 상태가 어떻게 변화하는지를 시뮬레이트하고 있다. 그리고 시뮬레이션 장치는, 그 설비가 의사 신호를 생성해야 하는 상태가 되었는지, 단적으로 말하면, 설비가 움직인 결과로서, 그 설비의 상태 변화를 검출하는 검출기에 출력 변화가 있는지 여부를 시뮬레이트하고 있다. 설비의 상태란, 예컨대, 액추에이터 및 워크의 상태이다. 검출기는, 예컨대, 워크가 소정 위치에 존재하는지 여부를 검출하는 것이다.
일본 특허 공개 2002-351511호 공보(특허 문헌 4)에 의하면, 컨트롤러에 있어서의 입력 생성 장치가 개시되어 있다. 컨트롤러는, 소프트웨어적으로 기능이 정의되어 제어 애플리케이션을 실행하는 PLC 수단과, 실제의 프로세스로부터의 신호를 PLC 수단에 인터페이스하는 입력 인터페이스 수단과, PLC 수단으로부터 실제의 프로세스로의 신호를 인터페이스하는 출력 인터페이스 수단을 갖는다. 컨트롤러에 적용되는 입력 생성 장치는, 소프트웨어적으로 기능이 정의된 의사 입력 생성 수단과, 실제의 입력/의사 입력 전환 수단을 가지고 있다. 의사 입력 생성 수단은, 출력 인터페이스 수단으로부터의 신호에 근거하여 모의적인 입력 신호를 생성한다. 실제의 입력/의사 입력 전환 수단은, 모의 입력 신호 사용 시에는, 출력 인터페이스 수단으로부터의 신호를 의사 입력 생성 수단에 공급함과 아울러, 의사 입력 생성 수단의 출력 신호를 상기 입력 인터페이스 수단에 공급한다.
(선행 기술 문헌)
(특허 문헌)
(특허 문헌 1) 일본 특허 공개 2014-148389호 공보
(특허 문헌 2) 일본 특허 공개 2014-063327호 공보
(특허 문헌 3) 일본 특허 공개 2002-358114호 공보
(특허 문헌 4) 일본 특허 공개 2002-351511호 공보
상기 특허 문헌 1에 기재된 기술은, 리프터가 테이블 상의 워크를 반송한다고 하는 특정한 구성에만 적용할 수 있다. 다시 말해, 이 기술은 범용성이 부족한 것이다. 또한, 워크에 작용하는 모든 것에 대하여 우선도의 설정이 필요하고, 그 설정은, 시뮬레이션 대상에 의존하여 개별적으로 설계가 필요하다. 이와 같은 설계 작업은 용이한 것이 아니다.
상기 특허 문헌 1의 기술과 비교하여 상기 특허 문헌 2의 기술은, 보다 범용적인 기술이기 때문에, 보다 다양한 반송 시스템에 적용할 수 있다고 생각된다. 그렇지만 이 방법은, 작용 공간 또는 가상 대상물을 복수의 단위 영역으로 분할한 계산 처리를 요하기 때문에, 계산 부하가 크다. 또한, 이들 특허 문헌 1 및 2의 기술은, 순수한 시뮬레이션 기술이고, 현실의 반송 시스템의 시험에 이용하는 것이 상정된 것이 아니다.
상기 특허 문헌 1 및 2의 기술과 달리 상기 특허 문헌 3에 기재된 기술은, 현실의 반송 시스템에 이용되는 시퀀서(컨트롤러)로부터의 출력에 근거하여, 시퀀서의 프로그램의 검증을 행할 수 있다. 그렇지만 이 방법에서는, 반송 시스템의 컨트롤러에 접속된 시뮬레이션 장치에 의해 시뮬레이션이 행해진다. 이 때문에, 컨트롤러에 더하여 시뮬레이션 장치를 필요로 한다. 또한, 양자 사이에서의 통신도 필요로 한다. 컨트롤러와 컴퓨터의 사이의 통신은, 통신 지연 시간을 발생시킨다. 이 때문에, 실제의 시스템의 운전 상태와, 그것을 시뮬레이션한 상태에서, 사상이 발생하는 타이밍이 상이하여 버린다. 반송 시스템의 프로그램에 있어서는, 그 성능을 높이기 위해, 통신 및 계산 처리의 리얼타임성에 의존한 제어가 기술되는 일도 많고, 통신 지연에 의해 타이밍이 어긋나 버려서는, 정확한 시험을 실시하기 어렵다.
상기 특허 문헌 1 내지 3의 기술과 달리 상기 특허 문헌 4의 기술은, 실제의 시스템의 컨트롤러 내에서 시뮬레이션이 행해진다. 그렇지만 이 특허 문헌 4에 있어서 설명되어 있는 구체적인 응용예는 플랜트 훈련 시스템뿐이고, 반송 시스템에 적용하기 위한 구체적 방법은 개시되어 있지 않다. 만일, 이 기술에 대하여, 상기 특허 문헌 2의 기술과 같이 반송 시스템을 대상으로 한 범용성이 높은 시뮬레이션 기술을 조합하고자 하면, 시스템의 컨트롤러는, 이 시뮬레이션을 처리하기 위해, 큰 계산 리소스를 필요로 한다. 그렇지만, 반송 시스템에 이용되는 컨트롤러는, 전형적으로는, 시뮬레이션 용도에 적합한 컴퓨터와는 달리, 큰 계산 리소스를 갖고 있지 않다. 따라서, 만일 상기와 같은 조합이 가능했다고 하더라도, 반송 시스템의 정확한 시험을 실시하는 것은 곤란하다.
본 발명은 이상과 같은 과제를 해결하기 위해 이루어진 것이고, 그 목적은, 센서 정보의 시뮬레이션을, 반송 시스템의 종류에 크게 의존하지 않고 용이하게, 또한, 반송 시스템의 컨트롤러를 이용하여 행할 수 있는, 컨트롤러 및 반송 시스템을 제공하는 것이다.
본 발명의 컨트롤러는, 워크를 검출하는 적어도 1개의 센서로부터의 센서 신호를 참조하면서, 워크를 반송하는 적어도 1개의 액추에이터에 구동 신호를 출력하는 반송 시스템을 위한 것이다. 컨트롤러는, 외부 인터페이스와, 설정 입력부와, 제어 프로그램 실행부와, 구속 조건 변경부와, 워크 시뮬레이션부와, 센서 시뮬레이션부와, 입출력 전환부를 갖는다. 외부 인터페이스는, 액추에이터 출력부와, 센서 입력부를 갖는다. 액추에이터 출력부는, 액추에이터를 제어하기 위한 구동 정보를 접수하여, 구동 정보에 근거하여 액추에이터에 구동 신호를 보낸다. 센서 입력부는, 센서로부터 센서 신호를 접수하여, 센서 신호에 근거하여 센서 정보를 생성한다. 설정 입력부는, 제어 프로그램과, 구속 조건 설정 정보를 유저로부터 접수한다. 제어 프로그램은, 센서 정보를 참조하면서 구동 정보를 생성하기 위한 것이다. 구속 조건 설정 정보는, 워크와 액추에이터의 사이에서 상정되는 구속 조건을 변경하기 위해 제어 프로그램에 관련지어지는 명령 정보이다. 제어 프로그램 실행부는, 제어 프로그램을 처리하는 것이고, 또한, 구속 조건 변경 명령 처리부를 갖는 것이다. 구속 조건 변경 명령 처리부는, 구속 조건 설정 정보에 근거하여 구속 조건 변경 명령을 발행한다. 구속 조건 변경부는, 구속 조건 변경 명령 처리부에 의해 발행된 구속 조건 변경 명령에 근거하여 구속 조건을 관리한다. 워크 시뮬레이션부는, 적어도 1개의 액추에이터 중, 구속 조건 변경부에 의해 관리되고 있는 구속 조건에 있어서 워크에 구속된다고 생각되고 있는 것에 관하여 제어 프로그램 실행부에 의해 생성된 구동 정보에 의해, 워크의 이동량을 추정하고, 이동량을 워크의 전회 위치에 가산하는 것에 의해 워크의 현재 위치를 추정한다. 센서 시뮬레이션부는, 워크 시뮬레이션부에 의해 추정된 워크의 현재 위치의 정보를 이용함으로써, 센서 정보를 모의한 센서 시뮬레이션 정보를 생성한다. 입출력 전환부는, 동작 모드로서 적어도 센서 시뮬레이션 모드를 갖는다. 입출력 전환부는 센서 시뮬레이션 모드에 있어서, 제어 프로그램 실행부에 의해 생성된 구동 정보를 적어도 워크 시뮬레이션부에 보내고, 또한, 센서 정보의 대체 정보로서, 센서 시뮬레이션부에 의해 생성된 센서 시뮬레이션 정보를 제어 프로그램 실행부에 보낸다.
본 발명의 반송 시스템은, 액추에이터와, 센서와, 컨트롤러를 갖는다. 액추에이터는 워크를 반송한다. 센서는 워크를 검출한다. 컨트롤러는, 센서로부터의 센서 신호를 참조하면서, 액추에이터에 구동 신호를 출력하기 위한 것이다. 컨트롤러는, 외부 인터페이스와, 설정 입력부와, 제어 프로그램 실행부와, 구속 조건 변경부와, 워크 시뮬레이션부와, 센서 시뮬레이션부와, 입출력 전환부를 갖는다. 외부 인터페이스는, 액추에이터 출력부와, 센서 입력부를 갖는다. 액추에이터 출력부는, 액추에이터를 제어하기 위한 구동 정보를 접수하여, 구동 정보에 근거하여 액추에이터에 구동 신호를 보낸다. 센서 입력부는, 센서로부터 센서 신호를 접수하여, 센서 신호에 근거하여 센서 정보를 생성한다. 설정 입력부는, 제어 프로그램과, 구속 조건 설정 정보를 유저로부터 접수한다. 제어 프로그램은, 센서 정보를 참조하면서 구동 정보를 생성하기 위한 것이다. 구속 조건 설정 정보는, 워크와 액추에이터의 사이에서 상정되는 구속 조건을 변경하기 위해 제어 프로그램에 관련지어지는 명령 정보이다. 제어 프로그램 실행부는, 제어 프로그램을 처리하는 것이고, 또한, 구속 조건 변경 명령 처리부를 갖는 것이다. 구속 조건 변경 명령 처리부는, 구속 조건 설정 정보에 근거하여 구속 조건 변경 명령을 발행한다. 구속 조건 변경부는, 구속 조건 변경 명령 처리부에 의해 발행된 구속 조건 변경 명령에 근거하여 구속 조건을 관리한다. 워크 시뮬레이션부는, 적어도 1개의 액추에이터 중, 구속 조건 변경부에 의해 관리되고 있는 구속 조건에 있어서 워크에 구속된다고 생각되고 있는 것에 관하여 제어 프로그램 실행부에 의해 생성된 구동 정보에 의해, 워크의 이동량을 추정하고, 이동량을 워크의 전회 위치에 가산하는 것에 의해 워크의 현재 위치를 추정한다. 센서 시뮬레이션부는, 워크 시뮬레이션부에 의해 추정된 워크의 현재 위치의 정보를 이용함으로써, 센서 정보를 모의한 센서 시뮬레이션 정보를 생성한다. 입출력 전환부는, 동작 모드로서 적어도 센서 시뮬레이션 모드를 갖는다. 입출력 전환부는 센서 시뮬레이션 모드에 있어서, 제어 프로그램 실행부에 의해 생성된 구동 정보를 적어도 워크 시뮬레이션부에 보내고, 또한, 센서 정보의 대체 정보로서, 센서 시뮬레이션부에 의해 생성된 센서 시뮬레이션 정보를 제어 프로그램 실행부에 보낸다.
본 발명에 의하면, 센서 정보를 모의한 센서 시뮬레이션 정보가, 워크의 추정된 현재 위치의 정보를 이용하여 생성된다. 워크의 현재 위치는, 워크의 추정된 이동량을 워크의 전회 위치에 가산하는 것에 의해 추정된다. 워크의 이동량은, 적어도 1개의 액추에이터 중, 구속 조건에 있어서 워크에 구속된다고 생각되고 있는 것에 관하여 제어 프로그램 실행부에 의해 생성된 상기 구동 정보에 의해 추측된다. 구속 조건은 구속 조건 설정 정보에 근거하여 관리된다. 구속 조건 설정 정보는, 반송 시스템의 제어 프로그램을 참조하는 것에 의해, 반송 시스템의 종류에 크게 의존하는 일 없이 유저가 용이하게 작성할 수 있다. 이것에 의해, 센서 정보의 시뮬레이션을, 반송 시스템의 종류에 크게 의존하지 않고 용이하게 행할 수 있다. 얻어진 센서 시뮬레이션 정보는, 센서 정보가 결여된 상태에서의 반송 시스템의 시험에 있어서의 대체 정보로서, 또는, 반송 시스템의 실제의 동작에 있어서의 참고 정보로서 이용할 수 있다.
또한, 워크의 추정 이동량은, 적어도 1개의 액추에이터 중, 구속 조건 변경부에 의해 관리되고 있는 구속 조건에 있어서 워크에 구속된다고 생각되고 있는 것에 관하여 제어 프로그램 실행부에 의해 생성된 구동 정보에 근거하여, 용이하게 얻을 수 있다. 이 추정 이동량을 워크의 전회 위치에 가산함으로써 워크의 현재 위치가 추측된다. 이상과 같이, 워크의 추정 이동량은 구동 정보로부터 용이하게 얻어지고, 그것을 이용한 단순한 연산에 의해, 워크의 현재 위치가 추측된다. 이것에 의해, 워크의 현재 위치를, 적은 계산량으로 추측할 수 있다. 따라서, 시뮬레이션 용도에 적합한 컴퓨터에 비하여 통상적으로 계산 리소스가 적은 반송 시스템의 컨트롤러이더라도, 리얼타임의 시뮬레이션을 행할 수 있다.
이상과 같이 본 발명에 의하면, 센서 정보의 시뮬레이션을, 반송 시스템의 종류에 크게 의존하지 않고 용이하게, 또한, 반송 시스템의 컨트롤러를 이용하여 행할 수 있다.
본 발명의 목적, 특징, 국면, 및 이점은, 이하의 상세한 설명과 첨부 도면에 의해, 보다 명백해진다.
도 1은 본 발명의 실시의 형태 1에 있어서의 반송 시스템의 구성을 개략적으로 나타내는 블록도이다.
도 2는 도 1의 설정 입력부가 접수하는, 워크의 설정 정보의 예의 설명도이다.
도 3은 도 1의 설정 입력부가 접수하는, 액추에이터의 설정 정보의 예의 설명도이다.
도 4는 도 1의 액추에이터 및 센서의 예를 나타내는 사시도이다.
도 5는 도 1의 워크 시뮬레이션부의 동작을 개략적으로 나타내는 플로차트이다.
도 6은 도 1의 센서의 설정 정보의 예의 설명도이다.
도 7은 도 1의 센서 시뮬레이션부의 동작을 개략적으로 나타내는 플로차트이다.
도 8은 실시의 형태 1의 변형예에 있어서 설정 입력부가 접수하는, 액추에이터로서의 컨베이어의 설정 정보의 예의 설명도이다.
도 9는 실시의 형태 1의 변형예에 있어서 설정 입력부가 접수하는, 액추에이터로서의 스토퍼의 설정 정보의 예의 설명도이다.
도 10은 실시의 형태 1의 변형예에 있어서의, 자세가 변경된 워크의 사이즈를 산출하는 방법의 설명도이다.
도 11은 본 발명의 실시의 형태 2에 있어서의 반송 시스템이 갖는 액추에이터의 예를 나타내는 사시도이다.
도 12는 본 발명의 실시의 형태 2에 있어서의 반송 시스템의 구성을 개략적으로 나타내는 블록도이다.
도 13은 본 발명의 실시의 형태 3에 있어서의 반송 시스템이 갖는 액추에이터와, 그것이 작용하는 워크의 배치의 예를 나타내는 사시도이다.
도 14는 본 발명의 실시의 형태 3에 있어서의 반송 시스템의 구성을 개략적으로 나타내는 블록도이다.
도 15는 본 발명의 실시의 형태 4에 있어서의 반송 시스템의 구성을 개략적으로 나타내는 블록도이다.
도 16은 도 15의 설정 입력부가 접수하는, 다른 기기의 설정 정보의 예의 설명도이다.
도 17은 본 발명의 실시의 형태 5에 있어서의 반송 시스템의 구성을 개략적으로 나타내는 블록도이다.
도 18은 본 발명의 실시의 형태 6에 있어서의 반송 시스템의 구성을 개략적으로 나타내는 블록도이다.
도 19는 본 발명의 실시의 형태 7에 있어서의 반송 시스템의 구성을 개략적으로 나타내는 블록도이다.
도 20은 컨트롤러의 하드웨어 구성예를 나타내는 블록도이다.
이하, 도면에 근거하여 본 발명의 실시의 형태에 대하여 설명한다. 또, 이하의 도면에 있어서 동일한 또는 상당하는 부분에는 동일한 참조 번호를 붙이고 그 설명은 반복하지 않는다.
<예비적 설명>
후술하는 실시의 형태 1~7에 있어서의 컨트롤러는, 예컨대, 공장의 생산 장치의 제어에 이용되는 FA(Factory Automation) 용도의 것이다. 이 용도의 경우, 컨트롤러는, 생산 장치를 흐르는 워크의 움직임을 모의한다. 그리고 컨트롤러는, 모의된 워크의 움직임에 근거하여, 워크의 위치를 검출하는 센서로부터의 입력 신호를 모의한다. 이와 같은 동작을 행하기 위한 설정을, 생산 장치의 작업자(유저)가 용이하게 행할 수 있다. 구체적으로는, 생산 장치의 구성에 맞춘 워크의 움직임의 시뮬레이션 방법을, 작업자가, 시행착오 방식으로 설계하는 것이 아니라, 일정한 수순에 따른 범용적 수법에 의해 설정할 수 있다.
본 실시의 형태에 대한 구체적인 설명 전에, 그에 관련되는 내용으로서, FA 용도의 컨트롤러와, 그것을 이용한 생산 장치의 기동ㆍ조정 작업에 대하여, 이하에 설명한다.
주로 공장의 생산 장치에 이용되는 FA 용도의 컨트롤러는, 그것에 접속된 복수의 외부 기기를 제어한다. 이들 외부 기기 중, 컨트롤러와 전력선으로 접속되고, ON/OFF의 디지털 신호로 컨트롤러와 통신하는 기기는, 총칭하여 I/O(Input/Output)로 불린다. I/O는, 예컨대, 센서 또는 스위치 등의, 컨트롤러로의 입력 기기, 또는, 표시등 또는 모터 등의, 컨트롤러로부터의 출력 신호에 따라 어떠한 동작을 하는 출력 기기이다. 외부 기기 중에는, 서보 모터를 제어하는 서보 앰프, 또는, 다른 컨트롤러도 포함된다. 이들 외부 기기와의 통신은, ON/OFF 이외의 정보도 다루기 때문에, 통신 전용의 케이블 및 전용 회로를 통해 행하는 일이 많고, 협의의 I/O와는 구별되는 일도 많다. 외부 기기와의 접속의 태양은, 전형적인 하드웨어 구성을 갖는 컨트롤러 단체(單體)로 실현되는 것, 컨트롤러에 전용 기기를 접속함으로써 실현되는 것 등이 있다. 이후의 설명에서는, 이들을 총칭하여 컨트롤러라고 부른다.
공장의 생산 장치는, 재고 센서로 불리는 센서로 워크의 위치를 검출하여, 그 센서로부터의 입력 신호를 트리거로 하여 장치를 동작시키는 것이 많다. 또한, 재고 센서로부터의 입력 신호는, 트리거 신호로서 이외에도, 부품으로서의 워크의 유무를 동작 실행 전에 재확인하기 위한 확인 신호로서 사용되는 일도 많다. 재고 센서는, 예컨대, 투광기와 수광기가 일체화된, 반사식의 광학식 센서이다. 이 센서에 의하면, 워크가 센서의 앞으로 이동하면, 투광기로부터의 광이 워크로부터 반사됨으로써 수광기에 입사된다. 이것에 의해 워크의 존재가 검지된다. 생산 장치는, 인간과 달리, 통상, 시각적으로 확인할 수 없기 때문에, 워크를 이동시킬 때마다 워크를 재고 센서로 검출하는 구성을 취하는 일이 많다.
생산 장치의 기동ㆍ조정 작업 시에는, 많은 경우, 이른바 공운전(idling)이 행해진다. 공운전이란, 워크를 흐르게 하지 않는 운전이다. 워크를 흐르게 하는 운전에서는, 생산 장치의 기계와 워크의 접촉이 발생하기 때문에, 반송 시스템의 운전 프로그램 등에 미비가 있었을 경우에는, 기계 또는 워크의 파손이 발생할 수 있다. 따라서, 공운전에서의 정상적인 동작이 확인된 후에, 워크를 흐르게 하는 본격적인 시험이 행해지는 것이 통상이다. 워크가 고가인 경우, 또는, 조정용의 워크의 준비 수가 적은 경우 등, 공운전이 필수인 경우도 있다.
공운전은, 워크를 흐르게 하는 본래의 운전과는 상이하기 때문에, 그 실시를 위해서는 어떠한 고안을 요하는 일이 많다. 상술한 바와 같이, 생산 장치는 재고 센서를 트리거 신호 또는 확인 신호로서 이용하고 있는 일이 많다. 이 경우에 아무런 고안 없이 공운전이 행해지면, 워크가 부족하기 때문에 이들 신호가 비정상 값을 취하여 버리는 것에 의해, 시험으로서의 공운전을 진행시키는 것이 곤란해진다. 이 때문에, 공운전을 목적으로 한 프로그램의 변경이 행해지는 일이 있다. 구체적으로는, 재고 센서에 의한 확인 개소가 코멘트 아웃 되거나, 재고 센서로부터의 입력 신호를 다루는 내용이 다른 신호를 다루는 내용으로 재기록 되거나 한다. 이와 같은 프로그램의 변경 시에는, 부주의에 의한 미스, 및, 의도하지 않은 논리 변경은, 회피되지 않으면 안 된다. 그러기 위해서는, 반송 시스템에 있어서의 기계의 동작과 제어 프로그램의 내용을 충분히 이해한 다음, 장치마다, 또는, 확인하고 싶은 작업마다, 프로그램의 수정ㆍ작성의 작업을 행할 필요가 있다. 종래, 이와 같은 작업에는, 많은 시간을 요하고 있었다.
또한, 정상적인 운전에 있어서의 거동뿐만 아니라, 컨베이어 위 또는 부품 공급부에서 워크가 막혀 버리는 에러, 또는, 센서의 검출이 안정되지 않는 에러 등, 프로그램에 의한 요인이 아닌 물리적인 요인으로 발생하는 다양한 에러가 발생한 경우의 거동을, 실제의 동작의 전에 간단하게 확인하여 둘 수 있으면 유익하다. 왜냐하면, 실제의 동작 중에 이들 에러가 생기고 그 대처로서 제어 프로그램을 수정할 필요가 생기면, 생산 장치를 당분간 정지시키지 않으면 안 되고, 그 결과, 큰 손해가 생길 수 있기 때문이다. 그렇지만, 이들 물리적인 에러의 검증은, 많은 경우, 생산 장치의 운전 시에 우발적으로 발생하는 것이기 때문에, 기동ㆍ조정 시에 전부를 확인하는 것은, 현재 상태에서는 곤란했다.
그래서 본 발명자는, 공운전의 실시, 및, 다양한 에러의 검증을 가능하게 하는 것을 주로 의도하여, 워크의 이동과, 그에 따르는 재고 센서의 센서 신호의 변화 등을, 시뮬레이션하는 방법을 검토했다. 재고 센서의 센서 신호를 모의할 수 있으면, 그것을 이용함으로써, 실제의 동작에 가까운 상태에서 공운전을 실시할 수 있다. 또한, 검증되는 에러가 물리적인 요인에 의한 것이기 때문에 그 발생이 우발적인 것이더라도, 시뮬레이션 상이면, 에러가 우발적으로 발생하는 것을 기다리는 일 없이, 바로 확인할 수 있다.
시뮬레이션을 실제의 동작에 가까운 상태에서 행하기 위해서는, 시뮬레이션은, 반송 시스템에 추가적으로 접속된 컴퓨터에 의해서가 아닌, 반송 시스템 자체의 컨트롤러 상에서 행해질 필요가 있다. 왜냐하면 전자에 있어서는, 컨트롤러와 컴퓨터의 연계를 위한 통신에 요하는 시간에 지연이 생길 수 있기 때문에, 센서 신호의 발생 등의 타이밍이, 실제의 동작에 있어서의 그것과 상이할 수 있기 때문이다. 특히 생산 장치에 있어서는, 반송 시스템의 성능을 높이기 위해, 통신 및 계산 처리의 리얼타임성에 의존한 제어가 프로그램 중에 기술되는 일이 많고, 따라서, 통신 지연에 의해 타이밍이 어긋나 버리면, 정확한 확인 작업을 실시하는 것이 곤란하다.
이하에 말하는 각 실시의 형태는, 상술한 문제 또는 요망을 감안하여 검토된 것이다.
<실시의 형태 1>
(구성)
도 1은 본 실시의 형태에 있어서의 반송 시스템의 구성을 개략적으로 나타내는 블록도이다. 본 실시의 형태에 있어서의 반송 시스템(700A)은, 액추에이터(610)와, 센서(620)와, 컨트롤러(500A)를 갖는다. 액추에이터(610)는 워크를 반송한다. 센서(620)는, 워크를 검출하는 것을 포함한다. 컨트롤러(500A)는, 센서(620)로부터의 센서 신호를 참조하면서, 액추에이터(610)에 구동 신호를 출력하기 위한 것이다. 구동 신호는, 컨트롤러(500A) 내에 있어서 생성되는 구동 정보에 따라, 컨트롤러(500A)로부터 출력된다. 본 실시의 형태에 있어서는, 설명을 간단하게 하기 위해, 주로, 이 구동 정보가, 액추에이터의 서보 모터의 절대 위치의 지령 신호를 나타내는 것인 경우에 대하여 설명한다. 구동 정보에 따라 컨트롤러(500A)로부터 출력되는 구동 신호도, 액추에이터의 서보 모터의 절대 위치의 지령 신호를 나타내는 것이더라도 좋다. 구동 신호는, 액추에이터의 서보 모터에 전력을 공급하는 서보 앰프에 입력되는 동작 지정치를 나타내는 지령 신호이더라도 좋다.
컨트롤러(500A)는, 외부 인터페이스(510)와, 설정 입력부(520)와, 제어 프로그램 실행부(530)와, 구속 조건 변경부(540)와, 워크 시뮬레이션부(550)와, 센서 시뮬레이션부(561)와, 입출력 전환부(570)를 갖는다. 상기 각 구성에 대하여, 이하에 자세하게 설명한다.
외부 인터페이스(510)는, 외부 기기(600)와의 통신을 행하는 것이다. 외부 인터페이스(510)는, 액추에이터 출력부(511)와, 센서 입력부(512)를 갖는다. 액추에이터 출력부(511)는, 액추에이터(610)를 제어하기 위한 동작 지령치인 구동 정보를 접수하여, 구동 정보에 근거하여 액추에이터(610)에 구동 신호를 보낸다. 센서 입력부(512)는, 센서(620)로부터 센서 신호를 접수하여, 센서 신호에 근거하여 센서 정보를 생성한다. 외부 인터페이스(510)는 액추에이터(610) 및 센서(620) 이외의 외부 기기인 다른 기기(630)가 접속되는 다른 기기 입출력부(513)를 갖더라도 좋다. 이것에 의해 외부 인터페이스(510)는, 센서(620) 및 액추에이터(610)에 더하여 다른 기기(630)에 접속 가능하다. 외부 인터페이스(510)의 각 입출력부의 구체적인 구성은, 그것에 접속되는 외부 기기(600)의 종류에 의존한다. 예컨대, 외부 기기(600)가, I/O 기기인지, 서보 앰프인지, 또는 다른 컨트롤러인지에 따라, 입출력부의 구체적인 구성은 상이하다. 서보 앰프가 이용되는 경우, 그 기능이 액추에이터(610)에 포함되어 있더라도 좋다. 혹은 서보 앰프의 기능이 외부 인터페이스(510)에 포함되어 있더라도 좋고, 이 경우, 구동 신호에 의해 서보 모터로의 전력 공급이 행해진다.
설정 입력부(520)는, 통상의 컨트롤러에 있어서의 그것과 마찬가지로, 제어 프로그램을 유저로부터 접수한다. 제어 프로그램은, 센서 정보를 참조하면서 구동 정보를 생성하기 위한 것이다. 이 구동 정보에 따라 액추에이터(610)는 구동된다. 본 실시의 형태에 있어서의 특징적인 점으로서, 설정 입력부(520)는, 구속 조건 설정 정보를 유저로부터 접수한다. 구속 조건 설정 정보는, 워크와 액추에이터(610)의 사이에서 상정되는 구속 조건을 변경하기 위해 제어 프로그램에 관련지어지는 명령 정보이다.
제어 프로그램 실행부(530)는 제어 프로그램을 처리한다. 제어 프로그램 실행부(530)는 구속 조건 변경 명령 처리부(531)를 갖는다. 구속 조건 변경 명령 처리부(531)는, 구속 조건 설정 정보에 근거하여 구속 조건 변경부(540)에 구속 조건 변경 명령을 발행한다. 바꿔 말하면, 구속 조건 변경 명령 처리부(531)는, 구속 조건을 변경하기 위해 제어 프로그램에 관련지어져 있는 명령 정보를 처리하는 것에 의해, 구속 조건 변경부(540)에 지령을 행한다.
구속 조건 변경부(540)는, 구속 조건 변경 명령 처리부(531)에 의해 발행된 구속 조건 변경 명령에 근거하여 구속 조건을 관리한다. 이 목적으로, 구속 조건 변경부(540)는, 현시점에서의 구속 조건의 정보를 유지하기 위한 구속 조건 유지부(도시하지 않음)를 갖는다.
워크 시뮬레이션부(550)는, 워크의 이동에 대한 시뮬레이션을 행하는 것이다. 구체적으로는, 워크 시뮬레이션부(550)는, 적어도 1개의 액추에이터(610) 중, 구속 조건 변경부(540)에 의해 관리되고 있는 구속 조건에 있어서 워크에 구속된다고 생각되고 있는 것에 관하여 제어 프로그램 실행부(530)에 의해 생성된 구동 정보에 의해, 워크의 이동량을 추정하고, 이동량을 워크의 전회 위치에 가산하는 것에 의해 워크의 현재 위치를 추정한다.
센서 시뮬레이션부(561)는, 센서(620)의 동작에 대한 시뮬레이션을 행하는 것이다. 구체적으로는, 센서 시뮬레이션부(561)는, 워크 시뮬레이션부(550)에 의해 추정된 워크의 현재 위치의 정보를 이용함으로써, 센서 정보를 모의한 센서 시뮬레이션 정보를 생성한다.
입출력 전환부(570)는, 컨트롤러(500A)의 동작 모드를 선택하기 위해, 신호의 흐름을 전환하는 것이다. 입출력 전환부(570)는, 동작 모드로서 적어도 센서 시뮬레이션 모드를 갖는다. 또한 본 실시의 형태에 있어서는, 입출력 전환부(570)는, 동작 모드로서 센서 가동 모드를 갖는다.
첫 번째로, 센서 시뮬레이션 모드에 대하여 설명한다. 본 모드에 있어서는, 입출력 전환부(570)는, 제어 프로그램 실행부(530)에 의해 생성된 구동 정보를 적어도 워크 시뮬레이션부(550)에 보낸다. 또한, 입출력 전환부(570)는, 센서 정보의 대체 정보로서, 센서 시뮬레이션부(561)에 의해 생성된 센서 시뮬레이션 정보를 제어 프로그램 실행부(530)에 보낸다. 이것에 의해, 제어 프로그램 실행부(530)는, 실제의 센서 정보가 아닌, 그것을 모의한 정보를 이용하여 동작한다. 바람직하게는, 입출력 전환부(570)는, 제어 프로그램 실행부(530)에 의해 생성된 구동 정보를, 워크 시뮬레이션부(550)뿐만 아니라, 액추에이터 출력부(511)에도 보낸다. 보다 바람직하게는, 입출력 전환부(570)는 본 모드에 있어서, 구동 정보를 액추에이터 출력부(511)에도 보내는지 여부를 선택 가능하게 구성되어 있다.
두 번째로, 센서 가동 모드에 대하여 설명한다. 본 모드에 있어서, 입출력 전환부(570)는, 센서 입력부(512)에 의해 생성된 센서 정보를 제어 프로그램 실행부(530)에 보낸다. 이것에 의해, 제어 프로그램 실행부(530)는, 시뮬레이션에 의한 정보가 아닌, 센서(620)에 의한 센서 정보를 이용하여 동작한다. 따라서, 반송 시스템(700A)이 실제의 동작을 한다.
(동작)
우선 워크 시뮬레이션부(550)에 의한 시뮬레이션 동작에 대하여 설명한다. 우선, 유저는 설정 입력부(520)를 통해서, 제어 프로그램과, 워크, 액추에이터(610) 및 센서(620)의 각각의 설정 정보와, 외부 입력 신호 전환 정보를 입력한다. 제어 프로그램은, 제어 프로그램 실행부(530)에 보내지고, 거기서 유지된다. 워크, 액추에이터(610) 및 센서(620)의 각각의 설정 정보는, 워크 시뮬레이션부(550)에 보내지고, 거기서 유지된다. 외부 입력 신호 전환 정보는, 입출력 전환부(570)에 보내지고, 거기서 유지된다. 센서(620)의 설정 정보는, 외부 입력 시뮬레이션부(560)의 센서 시뮬레이션부(561)에 보내지고, 거기서 유지된다. 또 워크의 설정 정보로서 설정된 정보의 일부는, 구속 조건 변경부(540)에 보내지고, 거기서 유지된다.
제어 프로그램 실행부(530)에는, 상술한 바와 같이 설정 입력부(520)로부터 제어 프로그램이 보내진다. 제어 프로그램은 제어 프로그램 실행부(530)에 저장된다. 제어 프로그램에는, 실제의 동작에 있어서 외부 기기(600)를 제어하기 위한 통상의 제어 명령에 더하여, 시뮬레이션을 가능하게 하기 위한 전용 명령이 포함시켜져 있다. 전용 명령은 다음의 2종류의 것을 갖는다. 제 1 명령은, 지정된 워크와 지정된 액추에이터(610)가 서로 구속되어 있는 것으로 상정하는 구속 명령이다. 제 2 명령은, 지정된 워크와 지정된 액추에이터(610)의 서로의 구속이 해제된 것으로 상정하는 구속 해제 명령이다.
전용 명령은, 워크와 액추에이터(610)의 사이에서 상정되는 구속 조건을 변경하기 위해 제어 프로그램에 관련지어지는 명령 정보이다. 구속 명령은, 특정한 액추에이터 동작이 워크에 대하여 작용하는 상황이 되는 제어 시퀀스의 개소에 추가된다. 이러한 개소는, 예컨대, 로봇이 워크를 파지하는 개소, 컨베이어 위에 워크가 놓이는 개소, 워크를 누르는 액추에이터가 누르는 동작을 개시하는 개소 등이다. 이러한 개소는, 프로그램 상에서, 액추에이터의 동작 명령이 기술되어 있는 개소이다. 따라서 구속 명령을 추가해야 하는 개소를 판별하는 것은, 유저에게 있어 용이하다. 구속 해제 명령은, 구속 명령과는 반대로, 특정한 액추에이터 동작이, 워크에 대하여 작용하는 상황으로부터 해방되는 제어 시퀀스의 개소에 추가된다. 이러한 개소는, 예컨대, 로봇이 워크를 설치하는 개소, 컨베이어 위로부터 워크가 제거되는 개소, 워크를 누르는 액추에이터의 누르는 동작이 완료되는 개소 등이다. 이러한 개소는, 프로그램 상에서, 통상, 액추에이터 동작 명령이 기술되어 있는 개소, 또는 액추에이터의 동작의 완료를 확인하는 명령이 기술되어 있는 개소이다. 따라서 구속 해제 명령을 추가해야 하는 개소를 판별하는 것은, 유저에게 있어 용이하다. 이상과 같이, 유저는, 통상의 제어 프로그램에 대하여, 구속 조건 설정 정보로서의 전용 명령을, 용이하게 부가할 수 있다.
구속 명령 및 구속 해제 명령은, 1개의 워크와 복수의 액추에이터(610)의 각각의 관계를 표현할 수 있다. 이 때문에, 1개의 워크에 관하여 구속 명령 또는 구속 해제 명령이 중복하여 발행되는 경우가 있다. 예컨대, 워크가 컨베이어에 의해 이동된 후에 직동(direct-acting) 액추에이터로 컨베이어로부터 제거되는 경우에는, 워크가 컨베이어에 실리는 시점에서 구속 명령이 발령되고, 직동 액추에이터가 누르는 동작을 개시하는 시점에서도, 또한 구속 명령이 발령된다. 직동 액추에이터의 누르는 동작이 완료된 시점에서, 컨베이어 및 직동 액추에이터의 양쪽에 관하여 구속 해제 명령이 발령된다. 또, 구속 명령은, 직동 액추에이터가 누르는 동작을 개시하는 시점에서 발령되는 대신에, 직동 액추에이터가 어느 워크를 누를지가 판단된 시점에서 발령되더라도 좋다.
제어 프로그램 실행부(530)에 의한 제어 프로그램의 실행에 있어서, 상기 구속 명령 또는 구속 해제 명령이 기술되어 있는 개소가 실행될 때에는, 제어 프로그램 실행부(530) 내의 구속 조건 변경 명령 처리부(531)가 호출된다. 구속 조건 변경 명령 처리부(531)는, 명령의 내용을 해석하고, 워크의 구속 조건을 변경하는 지령을 구속 조건 변경부(540)에 발행한다.
구속 조건 변경부(540)에는, 상술한 바와 같이 설정 입력부(520)로부터 설정 정보가 보내진다. 이 설정 정보는 구속 조건 변경부(540)에 저장된다. 이 설정 정보에는, 구속 조건 변경부(540)가 구속 상태를 관리하는 워크를 결정하기 위한 설정 정보가 포함된다. 예컨대, 워크의 이름 등의 정보가 포함된다. 구속 조건 변경부(540)는, 구속 조건 변경 명령 처리부(531)로부터의 지령에 따라, 각 워크의 구속 조건을 관리한다. 바꿔 말하면, 어느 워크가 어느 액추에이터(610)에 구속되어 있다고 상정되어 있는지가 관리된다. 그리고 구속 조건 변경부(540)는 각 워크의 구속 조건을 워크 시뮬레이션부(550)에 출력한다.
워크 시뮬레이션부(550)에는, 상술한 바와 같이 설정 입력부(520)로부터 설정 정보가 보내진다. 이 설정 정보는 워크 시뮬레이션부(550)에 저장된다. 이 설정 정보에는, 워크, 액추에이터(610), 및 센서(620)의 설정 정보가 포함된다. 또한 워크 시뮬레이션부(550)에는, 상술한 바와 같이, 구속 조건 변경부(540)로부터, 각 워크의 구속 조건이 입력된다. 또한, 워크 시뮬레이션부(550)에는, 입출력 전환부(570)로부터, 액추에이터(610)의 구동 정보가 보내진다. 이 입출력 전환부(570)로부터의 정보 신호는, 입출력 전환부(570)가 외부 인터페이스(510)에 보내는 것이 입출력 전환부(570) 내에서 복제된 것이더라도 좋다.
도 2는 워크 시뮬레이션부(550)에 저장되는, 워크의 설정 정보의 예를 나타낸다. "번호" 및 "이름"은, 상이한 워크를 구별하기 위한 것이다. "사이즈(X, Y, Z)"는, 워크의, 센서(620)에 의해 검출되는 부분의 사이즈를 XYZ 직교 좌표계로 나타내고 있다. "초기 위치 자세(X, Y, Z, Rx, Ry, Rz)는, 초기 상태에서의 워크의 위치 및 자세를 나타내고 있다. X, Y 및 Z는, 위치를 XYZ 직교 좌표계로 나타내고 있다. Rx, Ry 및 Rz의 각각은, 자세를 X축, Y축 및 Z축 주위의 회전각으로 나타내고 있다.
도 3은 워크 시뮬레이션부(550)에 저장되는, 액추에이터(610)의 설정 정보의 예를 나타낸다. "번호" 및 "이름"은, 상이한 액추에이터(610)를 구별하기 위한 것이다. "동작 방향"은, 액추에이터의 변위가 생기는 방향을 나타내고 있다. "사이즈"는, 액추에이터(610)의, 센서(620)에 의해 검출되는 부분의 동작 방향에 있어서의 사이즈를 나타내고 있다. "초기 위치"는, 초기 상태에서의 동작 방향에 있어서의 액추에이터의 위치를 나타내고 있다.
도 4는 액추에이터(610) 및 센서(620)(도 1)의 예로서의 액추에이터(611) 및 재고 센서(621, 622)를 나타내는 사시도이다. 액추에이터(611)는, 고정부(611b)와, 로드부(611r)를 갖는다. 고정부(611b)는 로드부(611r)를 구동하는 부분이다. 로드부(611r)는, 워크에 직접 작용하는 부분이다. 액추에이터(611)는, 로드부(611r)가 튀어나와 있을 때는, 반사식의 광학식의 재고 센서(621)에 의해 검출되고, 로드가 들어가 있을 때는, 반사식의 광학식의 재고 센서(622)에 의해 검출된다. 이 구성에 있어서, 액추에이터(611)의 사이즈는, 로드부(611r) 중, 재고 센서(621, 622)에 의해 검출될 수 있는 부분의 두께(도면 중, 가로 방향의 치수)에 상당한다.
도 5는 워크 시뮬레이션부(550)의 동작을 개략적으로 나타내는 플로차트이다. 이하, 도 5를 참조하여, 워크 시뮬레이션부(550)에 의한 워크의 위치의 시뮬레이션 방법에 대하여 설명한다.
우선 스텝 S101에서, 시뮬레이션 처리가, 초회의 처리로서 호출된 것인지가 판단된다. YES로 판단된 경우에는 처리가 스텝 S102로 진행된다. 스텝 S102에서, 모든 액추에이터(610)에 관하여, 액추에이터(610)의 전회 위치의 변수에 액추에이터(610)의 현재 위치의 수치가 대입된다. 또한, 모든 워크에 관하여, 워크의 전회 위치의 변수에, 워크의 설정 정보로서 입력된 워크의 초기 위치가 대입된다. 또 도면 중, "∀"는 "모든"을 나타내는 기호이다. 또한 "Axis_PrePos", "Axis_CurPos", "Work_PrePos", 및 "Work_IniPos"의 각각은, 액추에이터(610)의 전회 위치, 액추에이터(610)의 현재 위치, 워크의 전회 위치, 및 워크의 초기 위치를 나타내고 있다. 그리고 처리가 종료된다.
그 후, 시뮬레이션 처리가 재차 호출된다. 이 경우, 스텝 S101에서 NO라는 판단이 이루어지게 된다. 이것에 의해 처리가 스텝 S103으로 진행된다. 스텝 S103에서, 모든 액추에이터(610)에 관하여, 액추에이터(610)의 변위량의 변수에, 액추에이터(610)의 현재 위치로부터 액추에이터(610)의 전회 위치를 뺀 값이 대입된다. 도면 중, "Axis_DelPos"는 액추에이터(610)의 변위량을 나타내고 있다. 그 후, 스텝 S104에서, 카운터 변수 i에 "1"의 값이 대입된다.
스텝 S105에서, 번호 i의 워크의 위치가 다음과 같이 산출된다. 액추에이터(610) 중, 구속 조건에 있어서 번호 i의 워크에 구속된다고 생각되고 있는 모든 액추에이터에 관하여, 스텝 S103에서 계산된 변위량에 해당 액추에이터의 동작 방향을 곱한 값이 산출된다. 이들 값의 합계치가, 워크의 전회 위치에 가산된다. 도면 중, "Work_CurPos_i" 및 "Work_PrePos_i"의 각각은, 번호 i의 워크의 현재 위치 및 전회 위치를 나타내고 있다. 또한 "Chain_Cond_i_j"는, 번호 i의 워크와 번호 j의 액추에이터의 사이의 구속 조건을 나타내고 있다. 여기서, 구속 조건은, 구속되고 있는 경우에는 "1"을, 구속되고 있지 않은 경우에는 "0"을, 값으로서 취하는 것으로 한다. 또한 "Dir_Axis_j"는 번호 j의 액추에이터(610)의 동작 방향을 나타내고 있다. 또한 "AXIS_NUM"은 액추에이터(610)의 총수를 나타내고 있다.
스텝 S106에서, 카운터 변수 i에 1이 가산된 다음, 그것이 워크의 총수보다 큰지가 판단된다. NO로 판단된 경우에는, 처리가 스텝 S105로 되돌려진다. 또 도면 중, "++i"는 변수 i에 1을 가산하는 것을 나타내고 있다. 또한 "WORK_NUM"은 워크의 총수를 나타내고 있다.
스텝 S105가 워크의 총수와 동일한 만큼 반복되면, 스텝 S106에서, NO라는 판단이 이루어지게 된다. 그 경우, 처리가 종료된다. 워크 시뮬레이션부(550)는, 상기에서 설명한 처리가 종료되면, 산출된 워크의 위치 정보를 외부 입력 시뮬레이션부(560)에 출력한다.
도 6은 외부 입력 시뮬레이션부(560)의 센서 시뮬레이션부(561)에 저장되는, 센서(620)의 설정 정보의 예를 나타낸다. "번호" 및 "이름"은, 상이한 센서(620)를 구별하기 위한 것이다. "통상 출력"은, "검출 대상"을 "검출 위치"에서 검출하고 있지 않은 상태에서의 출력치를 나타내고 있다.
도 7은 센서 시뮬레이션부(561)의 동작을 개략적으로 나타내는 플로차트이다. 센서 시뮬레이션부(561)에는, 상술한 바와 같이, 설정 입력부(520)로부터 센서(620)의 설정 정보가 입력되고, 워크 시뮬레이션부(550)로부터 워크의 위치 정보가 입력된다. 센서 시뮬레이션부(561)는, 이 정보를 이용하여, 센서(620)의 상태의 시뮬레이션을 행한다. 이하, 도 7을 참조하여, 이 시뮬레이션 방법에 대하여 설명한다.
우선 스텝 S201에서, 카운터 변수 i에 "1"의 값이 대입된다. 스텝 S202에서, 번호 i의 센서(620)의 검출 대상이 워크인지가 판단된다. YES로 판단된 경우에는, 처리가 스텝 S203으로 진행된다.
스텝 S203에서, X, Y 및 Z의 모든 방향에 관하여, 검출 대상의 워크의 위치에 워크의 사이즈의 반의 값을 더한 값이 번호 i의 센서의 검출 위치보다 크고, 또한, 검출 대상의 워크의 위치로부터 워크의 사이즈의 반의 값을 뺀 값이 번호 i의 센서의 검출 위치보다 작다고 하는 조건을 만족시키는 워크가 존재하는지가 판단된다. 여기서, 워크의 사이즈의 반의 값을 이용하는 것은, 워크의 위치가 워크의 중점에 대응하고 있기 때문이다. 도면 중, "∃"는 "존재한다"를 나타내는 기호이고, "∧"는 조건의 합접을 나타내고 있다. 또한 "Sensor_ChkPos_i"는 번호 i의 센서의 검출 위치를 나타내고 있다. 또한 "Work_CurPos" 및 "Work_Size"의 각각은, 워크의 위치 및 사이즈를 나타내고 있다.
스텝 S203에 있어서 YES로 판단된 경우에는, 처리가 스텝 S204로 진행된다. 스텝 S204에서, 센서 시뮬레이션 정보로서, 번호 i의 센서의 출력 신호는, 통상 출력이 반전된 것으로 생각된다. 도면 중 "¬"은 논리의 부정을 나타내는 기호이다. 또한 "sig_i" 및 "sig_nor_i"의 각각은, 번호 i의 센서에 대하여, 시뮬레이션 정보로서의 출력과, 통상 출력을 나타내고 있다. 스텝 S203에 있어서 NO로 판단된 경우에는, 처리가 스텝 S205로 진행된다. 스텝 S205에서, 센서 시뮬레이션 정보로서, 번호 i의 센서의 출력 신호는, 통상 출력인 것으로 생각된다. 어느 경우에 있어서도, 그 후, 처리가 스텝 S210으로 진행된다.
한편, 스텝 S202에서 NO로 판단된 경우에는, 처리가 스텝 S206으로 진행된다. 스텝 S206에서는, 번호 i의 센서의 검출 대상이 액추에이터(610)인지가 판단된다.
스텝 S206에 있어서 YES로 판단되는 경우에는, 처리가 스텝 S207로 진행된다. 스텝 S207에서는, 검출 대상인 번호 j의 액추에이터의 위치에 액추에이터의 사이즈의 반의 값을 더한 값이 번호 i의 센서(620)의 검출 위치보다 크고, 또한, 검출 대상인 번호 j의 액추에이터의 위치로부터 액추에이터의 사이즈의 반의 값을 뺀 값이 번호 i의 센서(620)의 검출 위치보다 작다고 하는 조건이 만족되는지 판단된다. 도면 중, "Axis_CurPos_j" 및 "Axis_Size_j"의 각각은, 검출 대상인 번호 j의 액추에이터의 위치 및 사이즈를 나타내고 있다.
스텝 S207에 있어서 YES로 판단된 경우에는, 처리가 스텝 S208로 진행된다. 스텝 S208에서, 센서 시뮬레이션 정보로서, 번호 i의 센서의 출력 신호는, 통상 출력이 반전된 것으로 생각된다. 스텝 S207에 있어서 NO로 판단된 경우에는, 처리가 스텝 S209로 진행된다. 스텝 S209에서, 센서 시뮬레이션 정보로서, 번호 i의 센서의 출력 신호는, 통상 출력인 것으로 생각된다. 어느 경우에 있어서도, 그 후, 처리가 스텝 S210으로 진행된다. 한편, 스텝 S206에 있어서 NO로 판단된 경우에는, 처리가 스텝 S210으로 진행된다.
스텝 S210에서, 카운터 변수 i에 1이 가산된 다음, 그것이 센서(620)의 총수보다 큰지가 판단된다. 도면 중, "Sensor_NUM"은 센서(620)의 총수를 나타내고 있다. NO로 판단된 경우에는, 처리가 스텝 S202로 되돌려진다.
스텝 S202로부터의 처리가 센서의 총수와 동일한 만큼 반복되면, 스텝 S210에서, YES라는 판단이 이루어지게 된다. 그 경우, 처리가 종료된다. 센서 시뮬레이션부(561)는, 상기에서 설명한 처리가 종료되면, 상기 처리에 의해 산출된 센서의 출력 신호를 나타내는 정보, 즉 센서 정보를 모의한 센서 시뮬레이션 정보를 입출력 전환부(570)에 출력한다.
입출력 전환부(570)는, 설정 입력부(520)로부터 입력되고 있던 외부 입력 신호 전환 정보에 따른 동작 모드에 따라, 정보 신호의 수수를 행한다. 동작 모드가 시뮬레이션 모드인 경우, 입출력 전환부(570)는, 외부 인터페이스(510)의 센서 입력부(512)로부터 입력된 센서 정보를, 상술한 센서 시뮬레이션 정보에 의해 대체하고, 해당 정보를 제어 프로그램 실행부(530)에 출력한다. 동작 모드가 센서 가동 모드인 경우, 입출력 전환부(570)는, 상술한 대체는 행하지 않고, 센서 정보를 제어 프로그램 실행부(530)에 출력한다.
또 외부 입력 신호 전환 정보는, 센서(620)의 전부에 관하여, 시뮬레이션 모드인지 센서 가동 모드인지를 일괄하여 지정하는 것이더라도 좋다. 혹은, 외부 입력 신호 전환 정보는, 센서(620)의 각각에 관하여, 시뮬레이션 모드인지 센서 가동 모드인지를 개별적으로 지정하는 것이더라도 좋다. 개별의 지정은, 예컨대, 설정 입력부(520)에 있어서의 일람표로의 입력에 의해 행해지더라도 좋다.
(효과)
본 실시의 형태에 의하면, 센서 정보를 모의한 센서 시뮬레이션 정보가, 워크의 추정된 현재 위치의 정보를 이용하여 생성된다. 워크의 현재 위치는, 워크의 추정된 이동량을 워크의 전회 위치에 가산하는 것에 의해 추정된다. 워크의 이동량은, 적어도 1개의 액추에이터(610) 중, 구속 조건에 있어서 워크에 구속된다고 생각되고 있는 것에 관하여 제어 프로그램 실행부(530)에 의해 생성된 구동 정보에 의해 추측된다. 구속 조건은 구속 조건 설정 정보에 근거하여 관리된다. 구속 조건 설정 정보는, 반송 시스템의 제어 프로그램을 참조하는 것에 의해, 반송 시스템의 종류에 크게 의존하는 일 없이 유저가 용이하게 작성할 수 있다. 이것에 의해, 센서 정보의 시뮬레이션을, 반송 시스템의 종류에 크게 의존하지 않고 용이하게 행할 수 있다. 얻어진 센서 시뮬레이션 정보는, 센서 정보가 결여된 상태에서의 반송 시스템의 시험에 있어서의 대체 정보로서, 또는, 반송 시스템의 실제의 동작에 있어서의 참고 정보로서 이용할 수 있다.
워크의 추정 이동량은, 적어도 1개의 액추에이터(610) 중, 구속 조건 변경부(540)에 의해 관리되고 있는 구속 조건에 있어서 워크에 구속된다고 생각되고 있는 것에 관하여 제어 프로그램 실행부(530)에 의해 생성된 구동 정보에 근거하여, 용이하게 얻을 수 있다. 이 추정 이동량을 워크의 전회 위치에 가산함으로써 워크의 현재 위치가 추측된다. 이상과 같이, 워크의 추정 이동량은 구동 정보로부터 용이하게 얻어지고, 그것을 이용한 단순한 연산에 의해, 워크의 현재 위치가 추측된다. 이것에 의해, 워크의 현재 위치를, 적은 계산량으로 추측할 수 있다. 따라서, 시뮬레이션 용도에 적합한 컴퓨터에 비하여 계산 리소스가 적은 것이 통상인 반송 시스템의 컨트롤러(500A)이더라도, 리얼타임의 시뮬레이션을 행할 수 있다.
이상과 같이 본 실시의 형태에 의하면, 센서 정보의 시뮬레이션을, 반송 시스템(700A)의 종류에 크게 의존하지 않고 용이하게, 또한, 반송 시스템(700A)의 컨트롤러(500A)를 이용하여 행할 수 있다.
보다 구체적으로는, 본 실시의 형태에 의하면, 컨트롤러를 동작시키기 위한 통상의 정보에 더하여, 이하의 2개의 정보를 추가하는 것만으로, 시뮬레이션이 가능하다. 제 1 정보로서, 워크 및 액추에이터(610)의 사이즈 및 위치 관계라고 하는 정보가 추가된다. 이들 정보는, 반송 시스템(700A)의 장치 구성으로부터 분명한 정보이기 때문에, 유저는 용이하게 추가할 수 있다. 제 2 정보로서, 구속 조건 설정 정보가 추가된다. 구속 조건 설정 정보는, 통상의 제어 프로그램에 관련지어지는 명령 정보이다. 이 명령 정보는, 워크와 액추에이터(610)의 사이에서 상정되는 구속 조건을 변경하는 전용 명령이다. 전용 명령의 추가 개소는, 워크에 작용하는 액추에이터(610)의 동작에 관련된 명령의 전후이고, 그와 같은 개소를 분별하는 것은 유저에게 있어 용이하다. 따라서, 종래에는 반송 시스템의 구성에 맞추어 유저가 시행착오 방식으로 설계할 필요가 있던 시뮬레이션 방법을, 본 실시의 형태에 의하면, 일정한 수순에 따른 범용적 수법에 의해 설정할 수 있다.
또한, 상기에서 설명한 시뮬레이션은, 구속 조건을 기초로 워크의 이동을 계산하기 때문에, 3차원 공간 내에서의 간섭을 이용한 방법과 달리, 적은 계산 부하로 실현할 수 있다. 구체적으로는, 워크의 이동량이, 구속 조건에 따라 액추에이터(610)의 변위량을 가산하는 것만으로 산출된다. 이와 같은 단순한 산출은, 컨트롤러(500A) 내의 다른 제어 처리와 비교하여, 매우 적은 계산 부하로 처리 가능하다.
또한 본 실시의 형태에 의하면, 입출력 전환부(570)는 센서 시뮬레이션 모드에 있어서, 제어 프로그램 실행부(530)에 의해 생성된 구동 정보를 액추에이터 출력부(511)에 보낸다. 이것에 의해, 센서 정보를 모의하면서, 액추에이터 출력부(511)로부터의 구동 신호의 발생을 동반하는 동작이 가능하게 된다. 이것에 의해, 특히, 워크를 반송하지 않기 때문에 적절한 센서 정보가 얻어지지 않는 경우에 있어서도, 액추에이터(610)에 보내지는 구동 신호를 발생시킬 수 있다. 이것에 의해, 워크를 반송하는 일 없이, 액추에이터(610)로의 구동 신호의 발생을 시험할 수 있다.
또한 본 실시의 형태에 의하면, 입출력 전환부(570)는 센서 가동 모드에 있어서, 센서 입력부(512)에 의해 생성된 센서 정보를 제어 프로그램 실행부(530)에 보낸다. 이것에 의해, 실제의 센서(620)의 센서 신호를 이용하여 컨트롤러(500A)를 실제 동작시킬 수 있다.
또, 상기에 있어서 상술한 센서 및 액추에이터의 구성은 예시이고, 다른 다양한 구성이 이용될 수 있다.
(제 1 변형예)
상기에서는, 액추에이터(610)로서, 서보 모터로 구동하는 직동 축을 갖는 액추에이터(611)에 대하여 자세하게 설명했다. 그렇지만, 액추에이터(610)의 구성은, 이와 같은 것으로 한정되는 것이 아니다. 예컨대, 액추에이터(610)가, 컨베이어 및 스토퍼를 포함하고 있더라도 좋다. 여기서의 스토퍼는, 컨베이어 위를 흐르는 워크의 이동을 제한하는 것이다. 예컨대, 컨베이어의 말단에 설치되는 고정 스토퍼 및 I/O에 의해 개폐되는 슬라이드 방식의 스토퍼가 알려져 있다.
도 8은 액추에이터로서의 컨베이어의 설정 정보의 예를 나타낸다. "스피드"는 컨베이어의 스피드를 나타내고 있다. 그 외, 상술한 설정 정보(도 3)와 마찬가지의 내용도 포함되어 있다. 워크 및 컨베이어의 사이의 구속 조건이 설정되어 있는 경우에는, 컨베이어의 변위량을 워크의 위치에 가산함으로써, 워크의 이동이 모의된다. 컨베이어의 변위량은, 컨베이어가 구동 중에는, 설정 정보의 동작 방향에 스피드를 곱한 값으로 계산되고, 컨베이어가 정지 중에는 0으로 계산된다. 역전 동작 가능한 컨베이어이면, 역전 중에는, 이동 방향을 반전시킨 계산이 이루어지면 된다.
도 9는 액추에이터로서의 스토퍼의 설정 정보의 예를 나타낸다. 워크 및 스토퍼의 사이의 구속 조건이 설정되어 있는 경우에는, 워크의 위치가 다음과 같이 계산된다. 우선, 컨베이어의 변위에 의한 워크의 이동이 계산된다. 스토퍼의 "정지 방향"이 "1"의 값으로 설정되어 있는 방향에 있어서, 워크의 위치가 스토퍼의 "정지 위치"를 넘고 있는 경우에는, 해당 방향에 있어서의 워크의 위치는, 스토퍼의 "정지 위치"에 의해 규정된다. 스토퍼의 정지 방향이 "-1"의 값으로 설정되어 있는 방향에 있어서는, 워크의 위치가 스토퍼의 "정지 위치"보다 작은 경우에는, 해당 방향에 있어서의 워크의 위치는, 스토퍼의 "정지 위치"에 의해 규정된다. 이와 같이, 스토퍼의 "정지 방향"의 부호는, 정부(positive or negative) 어느 방향으로의 워크의 이동이 제한되는지의 설정에 대응하고 있다.
그 밖에도 액추에이터(610)로서, 로봇과 같은 것이 이용되더라도 좋다. 로봇과 같이, 서로 연결된 복수의 구동부에 의해 손끝 등의 선단 부분이 제어되는 기계의 경우에는, 각 구동부의 위치 정보로부터, 선단 부분의 위치를 산출하는 운동학(kinematics)을 컨트롤러(500A)는 풀고 있다. 이 경우, 워크 시뮬레이션부(550)에, 운동학을 풀어서 얻어진 손끝 위치 정보가 입출력 전환부(570)로부터 입력된다. 워크 시뮬레이션부(550)는, 손끝 위치 정보로부터 구해지는 손끝 위치의 변위량에 근거하여 워크의 이동량을 산출한다. 컨트롤러(500A) 내에서 운동학이 풀리는 경우에는, 중력 보상 등의, 다양한 복잡한 보정이 행해질 수 있다. 상기와 같이, 손끝 위치 정보가 워크 시뮬레이션부(550)에 주어짐으로써, 그와 같은 복잡한 보정 계산을 워크 시뮬레이션부(550)에서 행할 필요가 없어진다.
(제 2 변형예)
워크의 위치 변경뿐만 아니라, 자세 변경이 워크 시뮬레이션부(550)에서 다루어지더라도 좋다. 3차원 공간 내에서, 물체의 자세 변경이 다루어지는 경우에는, 그 회전 중심을 어떻게 정하는가 하는 문제가 발생한다. 워크 시뮬레이션부(550)의 계산 부하를 억제하기 위해, 또한, 설정 정보를 줄이기 위해서는, 회전 중심은 워크의 중심으로 하는 것이 바람직하다. 이것에 의해, 워크의 자세가 변화하더라도, 워크의 위치 정보가 변화하지 않는다.
도 10에 나타내는 바와 같이, 워크 시뮬레이션부(550)에서는, 워크(100)의 형상이, 좌표축 X, Y 및 Z의 각각과 평행한 변을 갖는 직방체로서 다루어지더라도 좋다. 바꿔 말하면, 워크의 형상이, 워크를 내포하는 최소의 직방체(100A)로 모의된다. 이 경우, 워크의 사이즈가 그 자세에 따라 변화한다. 도면 중에서는, XY 평면 내에서의 각도 α(α는 0° 이상, 90° 이하)의 자세 변경의 모습을 나타내고 있다. 실선의 사각형이 워크의 자세를 표현하고 있고, 점선의 사각형이 워크를 내포하는 최소의 직방체를 표현하고 있다. XY 평면 내에서의 워크의 사이즈를 (2x, 2y)로 하면, 워크를 내포하는 최소의 직방체의 XY 평면 내에서의 사이즈는,
(2(xㆍcosα+yㆍsinα), 2(xㆍsinα+yㆍcosα))
에 의해 산출된다. 이와 같이, 워크의 자세 변경을, 워크를 내포하는 최소의 직방체의 사이즈의 변경으로서 다룰 수 있다. 또 이 방법은 일례에 지나지 않고, 워크의 자세 변경은, 다른 다양한 방법에 의해 다루어질 수 있다.
<실시의 형태 2>
(구성)
상기 실시의 형태 1에 있어서는, 액추에이터(610)의, 워크에 작용하는 부분(작용부)의 위치가, 제어 프로그램 실행부(530)에 의해 생성되는 구동 정보를 비교적 단순하게 이용함으로써, 정확하게 또는 근사적으로 파악할 수 있는 것이 상정되어 있다. 그렇지만, 구동 정보와 작용부의 위치의 관계가 보다 복잡해지는 액추에이터도 존재한다. 이 경우, 작용부의 위치의 산출이 워크 시뮬레이션부에 있어서 행해지더라도 좋다. 바꿔 말하면, 액추에이터의 운동학을 푸는 산술 처리가 워크 시뮬레이션부에 있어서 행해지더라도 좋다. 본 실시의 형태에 있어서는, 이와 같은 워크 시뮬레이션부가 이용되는 경우에 대하여 설명한다.
도 11은 본 실시의 형태에 있어서 이용되는 액추에이터(612)를 나타내는 사시도이다. 액추에이터(612)는, 파지부(612h)(작용부)와, 구동부(612d)를 갖는다. 파지부(612h)는, 액추에이터(612)의 선단부이고, 워크를 직접 유지하는 부분이다. 따라서 파지부(612h)는, 액추에이터(612)의, 워크에 직접 작용하는 부분이다. 구동부(612d)는, 액추에이터(612)의, 파지부(612h)를 구동하는 부분이다. 구체적으로는, 구동부(612d)는, 자신을 축 중심으로 하여 회전 구동되는 것이다. 파지부(612h)는, 축 중심으로부터 떨어져 구동부(612d)에 고정되어 있다. 따라서 파지부(612h)는, 구동부(612d)의 회전 구동에 수반하여, 원주 상의 궤도를 따라 변위한다. 여기서, 액추에이터(612)에 주어지는 구동 정보는, 구동부(612d)의 회전 구동의 각도량의 정보이다. 이 각도량으로부터 파지부(612h)의 위치를 파악하기 위해서는, 해당 각도량과 해당 위치의 관계의 정보를 이용하여 전자로부터 후자를 산출할 필요가 있다.
도 12는 본 실시의 형태에 있어서의 반송 시스템(700B)의 구성을 개략적으로 나타내는 블록도이다. 반송 시스템(700B)은 컨트롤러(500B)를 갖는다. 본 실시의 형태에 있어서는, 적어도 1개의 액추에이터(610)에, 액추에이터(612)(도 11)가 포함되어 있다. 컨트롤러(500B)는 워크 시뮬레이션부(550B)를 갖는다. 워크 시뮬레이션부(550B)는 액추에이터 궤적 생성부(551)를 갖는다.
본 실시의 형태에 있어서는, 설정 입력부(520)는, 액추에이터(610)에 포함되는 액추에이터(612)의 기계 구성 정보를 유저로부터 접수한다. 기계 구성 정보는, 액추에이터(612)의 파지부(612h)의 위치를 산출하기 위해, 제어 프로그램 실행부(530)에 의해 생성되는 구동 정보와 조합되어 이용되는 정보이다. 바꿔 말하면, 기계 구성 정보는, 파지부(612h)의 동작 궤적을 산출하기 위해, 구동 정보와 조합되어 이용되는 정보이다. 액추에이터(612)의 기계 구성 정보는, 예컨대, 구동부(612d)의 축 중심으로부터 파지부(612h)까지의 거리와, 각도량 제로일 때의 구동부(612d)로부터 파지부(612h)로의 방향을 나타내는 정보이다. 기계 구성 정보는 액추에이터 궤적 생성부(551)에 보내진다.
액추에이터 궤적 생성부(551)는, 액추에이터(612)의 기계 구성 정보를 유지하는 기계 구성 정보 유지부(도시하지 않음)를 갖는다. 액추에이터 궤적 생성부(551)는, 상기 기계 구성 정보와, 제어 프로그램 실행부(530)에 의해 생성된 구동 정보로부터, 액추에이터(610)의 파지부(612h)가 동작하는 궤적을 산출한다.
또, 상기 이외의 구성에 대해서는, 상술한 실시의 형태 1의 구성과 거의 동일하기 때문에, 동일한 또는 대응하는 요소에 대하여 동일한 부호를 붙이고, 그 설명을 반복하지 않는다.
(효과)
본 실시의 형태에 의하면, 액추에이터 궤적 생성부(551)는, 액추에이터(612)의 파지부(612h)가 동작하는 궤적을 산출한다. 이것에 의해, 제어 프로그램 실행부(530)에 의해 생성되는 구동 정보로서의 각도량만으로는 액추에이터(612)의 파지부(612h)(작용부)의 위치를 산출할 수 없는 경우에 있어서도, 상술한 궤적의 산출에 의해, 파지부(612h)의 위치를 산출할 수 있다. 보다 일반적으로 말하면, 제어 프로그램 실행부(530)에 의해 생성되는 구동 정보만으로는 워크에 대한 액추에이터(610)의 작용을 판별할 수 없는 경우에 있어서도, 워크에 대한 액추에이터(610)의 작용을 판별할 수 있다. 따라서 이와 같은 경우에 있어서도, 실시의 형태 1과 마찬가지의 효과를 얻을 수 있다.
(변형예)
액추에이터 궤적 생성부(551)에 의해 그 작용부의 위치가 산출되는 액추에이터는, 액추에이터(612)와 같이 회전하는 것으로 한정되는 것이 아니다. 예컨대, 에어 실린더를 제어하는 구동 정보는, 그 전자 밸브의 동작의 ON/OFF 정보뿐일 수 있다. 이 경우, 예컨대, 실린더의 동작 방향, 스피드, 및 스트로크와 같은 정보가, 액추에이터의 기계 구성 정보이다. ON/OFF 정보에 더하여, 이 기계 구성 정보를 이용함으로써, 액추에이터 궤적 생성부(551)는, 에어 실린더의 선단부(작용부)의 위치를 산출할 수 있다.
<실시의 형태 3>
상기 실시의 형태 1 또는 2에 있어서는, 구속 조건에 있어서 워크에 구속된다고 생각되고 있는 액추에이터의 변위량(실시의 형태 2에 있어서는, 그 작용부의 변위량)의 전부 또는 거의 전부가 워크의 이동량에 반영되는 것이 상정되고 있다. 그렇지만, 반송 시스템의 구성에 따라서는, 액추에이터의 변위량의 일부가 워크의 이동량에 반영되지 않는 경우도 있을 수 있다. 이와 같이 반영되지 않는 양이 무시할 수 없을 정도로 큰 경우, 시뮬레이션의 정밀도가 저하할 수 있다. 본 실시의 형태는, 이와 같은 경우에 있어서도 시뮬레이션의 정밀도를 확보하는 것이 의도된 것이다.
도 13은 본 실시의 형태에 있어서의 반송 시스템이 갖는 액추에이터(611)(도 4의 그것과 마찬가지)와, 그것이 작용하는 워크(100)의 배치의 예를 나타내는 사시도이다. 본 실시의 형태에 있어서는, 로드부(611r)가 이동하기 시작할 때에, 로드부(611r)와 워크(100)의 사이에 극간 RI가 존재한다. 이 때문에, 로드부(611r)의 전 변위량 중, 로드부(611r)가 워크(100)에 도달할 때까지의 변위량은, 워크의 이동량에는 직접 반영되지 않는 무효의 변위량이다. 여기서, 제어 프로그램 실행부(530)에 의해 생성되는 액추에이터(611)의 구동 정보는, ON/OFF 정보이다. 따라서, 워크와 액추에이터(611)의 사이에서 상정되는 구속 조건을 변경하기 위해 제어 프로그램에 관련지어지는 명령 정보는, 프로그램 리스트에 있어서, 액추에이터(611)로의 ON/OFF 명령의 전후에 기술되는 것이 상정된다. 이 때문에, 액추에이터(611)가 상술한 무효의 이동을 행하고 있는 동안도, 액추에이터(611)와 워크(100)의 사이의 구속 조건은, 양자가 서로 구속되고 있는 것을 의미하는 것으로 되어 있다. 따라서, 액추에이터(611)에 있어, 극간 RI를 통과하는 변위는, 워크(100)와 구속되고 있는 것으로 생각되는 변위이기는 하지만, 실제로는 워크(100)의 이동에는 직접 기여하지 않는 변위이다. 바꿔 말하면, 액추에이터(611)가 변위하는 구간에 있어서, 극간 RI는, 워크의 이동량에 대한 기여가 무효가 되는 부분, 즉 작용 무효 구간이다. 따라서, 워크(100)의 이동량을 보다 정확하게 파악하기 위해서는, 액추에이터(611)의 변위량 중 무효가 되는 부분을 파악할 필요가 있다.
도 14는 본 실시의 형태에 있어서의 반송 시스템(700C)의 구성을 개략적으로 나타내는 블록도이다. 본 실시의 형태에 있어서는, 적어도 1개의 액추에이터(610)에, 작용 무효 구간을 수반하는 액추에이터(611)(도 13)가 포함되어 있다. 반송 시스템(700C)은 컨트롤러(500C)를 갖는다. 컨트롤러(500C)는 워크 시뮬레이션부(550C)를 갖는다. 워크 시뮬레이션부(550C)는 작용 무효 구간 판정부(552)를 갖는다. 작용 무효 구간 판정부(552)는, 제어 프로그램 실행부(530)에 의해 생성되는 구동 정보에 의해 나타내어진 액추에이터(611)의 변위량 중, 워크의 이동량에 대한 기여가 무효가 되는 부분(작용 무효 구간)을 설정한다.
액추에이터(610)의 각각의 작용 무효 구간은, 설정 입력부(520)로부터, 액추에이터(610)의 설정 정보로서 워크 시뮬레이션부(550C)에 입력된다. 작용 무효 구간은, 예컨대 "0~100"이라고 하는, 액추에이터(610)의 변위 범위에서 설정될 수 있다. 작용 무효 구간 판정부(552)는, 워크의 이동량이 계산될 때에, 액추에이터(610)의 동작이 작용 무효 구간 내에서의 변위인지를 판정하고, 만약 그렇다면, 그 변위량은 워크의 이동량에 반영시키지 않는다. 보다 구체적으로 말하면, 그 변위량은 워크의 위치에 가산되지 않는다.
또, 상기 이외의 구성에 대해서는, 상술한 실시의 형태 1 또는 2의 구성과 거의 동일하기 때문에, 동일한 또는 대응하는 요소에 대하여 동일한 부호를 붙이고, 그 설명을 반복하지 않는다.
본 실시의 형태에 의하면, 작용 무효 구간 판정부(552)는, 이동량 중 무효가 되는 부분을 설정한다. 이것에 의해, 워크와 액추에이터(611)의 사이에 극간 RI가 있는 상태로부터 액추에이터(611)가 워크에 작용하는 경우에도, 워크의 현재 위치를, 높은 정확도와 낮은 계산 부하로 추정할 수 있다. 보다 일반적으로 말하면, 극간 또는 그 외의 요인에 기인하여 액추에이터가 동작 명령의 도중으로부터 워크에 작용하는 경우에도, 워크의 현재 위치를, 높은 정확도와 낮은 계산 부하로 추정할 수 있다.
<실시의 형태 4>
상기 실시의 형태 1~3에 있어서는, 외부 기기(600)로부터 컨트롤러로의 입력 신호 정보의 시뮬레이션으로서, 워크 또는 액추에이터(610)의 위치를 검출하는 재고 센서인 센서(620)로부터의 입력 신호 정보의 시뮬레이션이 행해진다. 한편, 컨트롤러로의 입력 신호를 발생시키는 기기는, 재고 센서로만 한정되는 것이 아니다. 재고 센서 이외의 어떠한 센서, 또는, 이 컨트롤러와 서로 통신하는 다른 컨트롤러, 관리 컴퓨터, 서버 또는 유저 인터페이스 등으로부터도, 컨트롤러로의 입력 신호가 발생될 수 있다. 이 때문에, 본 실시의 형태에 있어서는, 입력 신호 정보의 시뮬레이션이, 재고 센서인 센서(620)에 관해서 뿐만이 아니고, 상술한 바와 같은 다른 기기(630) 중 적어도 1개에 관해서도 행해지는 경우에 대하여 설명한다. 다른 기기(630)로부터 컨트롤러로의 입력 신호로서는, 예컨대, 어떠한 트리거 신호를 받아서 즉시 또는 일정 시간 경과 후에 발생하는 것 등이 있다. 트리거 신호로서는, 예컨대, 컨트롤러의 외부 인터페이스로부터의 출력 신호, 또는 시각 정보 신호 등이 있다. 또한, 컨트롤러에 의한 제어의 개시도, 일종의 트리거 신호로서 작용할 수 있다.
도 15는 본 실시의 형태에 있어서의 반송 시스템(700D)의 구성을 개략적으로 나타내는 블록도이다. 반송 시스템(700D)은 컨트롤러(500D)를 갖는다. 컨트롤러(500D)는 외부 입력 시뮬레이션부(560D)를 갖는다. 외부 입력 시뮬레이션부(560D)는 다른 기기 시뮬레이션부(562)를 갖는다. 다른 기기 시뮬레이션부(562)는, 재고 센서로서의 센서(620) 및 액추에이터(610) 이외의 외부 기기인 다른 기기(630) 중 적어도 1개에 관하여 시뮬레이션을 행하는 것이다. 구체적으로는, 다른 기기 시뮬레이션부(562)는, 다른 기기(630) 중 적어도 1개로부터의 입력 신호 정보를 모의하는 것이다. 다른 기기 시뮬레이션부(562)는, 다른 기기(630)에 관하여 설정 입력부(520)로부터 입력된 설정 정보와, 입출력 전환부(570)로부터의 출력 신호 정보에 근거하여, 다른 기기(630)로부터의 입력 신호 정보의 모의 신호 정보를 생성한다. 여기서 이용되는 출력 신호 정보는, 반송 시스템(700D)의 실제의 동작에 있어서 입출력 전환부(570)로부터 외부 인터페이스(510)의 다른 기기 입출력부(513)에 보내지는 신호 정보에 상당한다. 다른 기기 시뮬레이션부(562)에 의해 생성된 모의 신호 정보는, 다른 기기(630)로부터의 입력 신호 정보 중 적어도 일부의 대체 정보로서, 제어 프로그램 실행부(530)에 보내진다.
도 16은 다른 기기(630)에 관한 설정 정보의 예를 나타낸다. "번호" 및 "이름"은, 모의되는 입력 신호 정보를 구별하기 위한 것이다. "트리거"는, 입력 신호 정보의 트리거가 되는 신호 정보의 이름이다. "지연 시간"은, 트리거가 되는 신호 정보의 발생으로부터, 모의되는 입력 신호 정보의 출력이 변화할 때까지의 시간이다. "출력"은, 모의되는 입력 신호 정보의 출력치이다. 이 예에서는, "signal_1"에 대응하는 입력 신호가, "trigger_1"에 대응하는 출력 신호가 ON하고 나서 500㎳ 후에 ON하는 것이 모의되고 있다. 입력 신호는, 이와 같은 ON/OFF의 디지털 신호로 한정되는 것이 아니다. 예컨대, 도면 중의 "signal_2"에 대응하는 입력 신호가, "trigger_2"에 대응하는 출력 신호가 ON하고 나서 3s 후에 출력치 "100"을 취하는 것이 모의되더라도 좋다. 이와 같이 입력 신호는, 수치, 문자열, 파일 등, 임의의 형식의 데이터를 나타내고 있더라도 좋다.
또, 상기 이외의 구성에 대해서는, 상술한 실시의 형태 1~3의 구성과 거의 동일하기 때문에, 동일한 또는 대응하는 요소에 대하여 동일한 부호를 붙이고, 그 설명을 반복하지 않는다.
본 실시의 형태에 의하면, 다른 기기 시뮬레이션부(562)가 다른 기기(630)의 시뮬레이션을 행한다. 이것에 의해, 컨트롤러(500D)에 접속되는 다양한 외부 기기(600)의 행동의 시뮬레이션이 가능하게 된다.
<실시의 형태 5>
컨트롤러의 동작 목적에 따라서는, 그 외부 인터페이스(510)로부터 액추에이터(610) 중 적어도 1개로의 출력 신호가 무효화되는 것이 요구되는 경우가 있다. 예컨대, 액추에이터(610)의 일부 또는 전부가 준비되어 있지 않은 경우, 또는, 액추에이터(610)의 일부 또는 전부를 동작시키지 않고서 컨트롤러의 제어 프로그램을 확인하는 것이 요구되는 경우가 있을 수 있다. 본 실시의 형태에 있어서는, 이와 같은 경우에 대응할 수 있는 반송 시스템에 대하여 설명한다.
도 17은 본 실시의 형태에 있어서의 반송 시스템(700E)의 구성을 개략적으로 나타내는 블록도이다. 반송 시스템(700E)은 컨트롤러(500E)를 갖는다. 컨트롤러(500E)는 입출력 전환부(570E)를 갖는다. 입출력 전환부(570E)는 출력 억제부(571)를 갖는다. 출력 억제부(571)는, 액추에이터 출력부(511)로의 구동 정보의 출력을 일시적으로 무효화할 수 있도록 구성되어 있다. 액추에이터 출력부(511)로의 출력이 무효화되면서도, 필요에 따라서 워크 시뮬레이션부(550) 및 외부 입력 시뮬레이션부(560) 중 적어도 어느 한쪽으로의 출력은 유지되더라도 좋다.
또, 상기 이외의 구성에 대해서는, 상술한 실시의 형태 1~4의 구성과 거의 동일하기 때문에, 동일한 또는 대응하는 요소에 대하여 동일한 부호를 붙이고, 그 설명을 반복하지 않는다.
본 실시의 형태에 의하면, 입출력 전환부(570E)는, 액추에이터 출력부(511)로의 구동 정보의 출력을 일시적으로 무효화할 수 있는 출력 억제부(571)를 갖는다. 이것에 의해, 액추에이터(610)를 준비하는 일 없이, 또는, 액추에이터(610)를 실제로 동작시키는 일 없이, 컨트롤러(500E)를 시험할 수 있다.
또 본 실시의 형태에 있어서는 액추에이터(610)로의 구동 정보의 출력이 무효화되는 경우에 대하여 설명했지만, 변형예로서, 다른 기기(630)로의 출력이 무효화되더라도 좋다.
<실시의 형태 6>
도 18은 본 실시의 형태에 있어서의 반송 시스템(700F)의 구성을 개략적으로 나타내는 블록도이다. 반송 시스템(700F)은 컨트롤러(500F)를 갖는다. 컨트롤러(500F)는 외부 시나리오 실행부(580)를 갖는다. 외부 시나리오 실행부(580)는, 컨트롤러(500F) 내의 각종 기능 블록과 접속하고 있고, 외부 시나리오에 기술된 내용에 따라, 각 기능 블록에 대하여 각종 데이터의 강제 변경 지령을 발령한다. 구체적으로는, 외부 시나리오 실행부(580)는, 제어 프로그램 실행부(530), 구속 조건 변경부(540), 워크 시뮬레이션부(550), 센서 시뮬레이션부(561), 및 입출력 전환부(570) 중 적어도 어느 하나의 내부 데이터를 강제적으로 변경하는 명령을 발행한다. 예컨대, 제어 프로그램 실행부(530)에 저장된 제어 프로그램 내의 내부 변수가 변경된다. 혹은, 구속 조건 변경부(540)에 유지된 구속 조건이 변경된다. 혹은, 워크 시뮬레이션부(550)에 의한 시뮬레이션에 있어서 워크가 강제적으로 이동된다. 혹은, 센서 시뮬레이션부(561)에 워크 시뮬레이션부(550)로부터 입력되는 정보가 변경된다. 혹은, 입출력 전환부(570)에 있어서의 입출력 신호가 강제적으로 변경된다.
외부 시나리오 실행부(580)에서 처리되는 시나리오의 형식은, 컨트롤러(500F)가 해석 가능한 것이면 된다. 따라서 이 시나리오는, 예컨대, 제어 프로그램 실행부(530)에서 이용되는 명령 세트에 따르는 것이더라도 좋고, 혹은, CPU(Central Processing Unit)의 명령 세트로 변환된 것이더라도 좋다.
또, 상기 이외의 구성에 대해서는, 상술한 실시의 형태 1~5의 구성과 거의 동일하기 때문에, 동일한 또는 대응하는 요소에 대하여 동일한 부호를 붙이고, 그 설명을 반복하지 않는다.
본 실시의 형태에 의하면, 외부 시나리오 실행부(580)에 의해, 시뮬레이션 상에서 외부 시나리오가 실행된다. 이것에 의해, 다양한 운전 에러 요인의 발생 상황을 재현할 수 있다. 특히, 재현이 곤란한 물리적인 운전 에러 요인의 발생 상황을, 간단하게 재현할 수 있다. 따라서, 제어 프로그램의 디버그 작업이 효율화된다. 여기서 운전 에러 요인이란, 예컨대, 액추에이터(610)로서의 컨베이어 위에서의 워크의 막힘, 채터링 또는 노이즈에 의한 센서(620)의 입력 신호의 요동, 또는, 다른 기기(630)로서의 다른 컨트롤러로부터의 신호에 중첩되는 노이즈 등이다.
<실시의 형태 7>
도 19는 본 실시의 형태에 있어서의 반송 시스템(700G)의 구성을 개략적으로 나타내는 블록도이다. 반송 시스템(700G)은 컨트롤러(500G)를 갖는다. 컨트롤러(500G)에 있어서, 입출력 전환부(570)는, 동작 모드로서 병용 모드를 갖는다. 입출력 전환부(570)는 병용 모드에 있어서, 센서 입력부(512)에 의해 생성된 센서 정보를 제어 프로그램 실행부(530) 및 신호 비교부(590)의 각각에 보내고, 또한, 센서 시뮬레이션부(561)에 의해 생성된 센서 시뮬레이션 정보를 신호 비교부(590)에 보낸다.
컨트롤러(500G)는, 상술한 신호 비교부(590)를 갖는다. 신호 비교부(590)는, 센서 정보와 센서 시뮬레이션 정보를 비교한다. 바람직하게는, 양자의 차이가 현저한 경우에, 경고 신호가 출력된다. 여기서 "양자의 차이가 현저하다"라는 판단이 이루어지는 조건은, 예컨대, 양 정보가 나타내는 신호의 값의 차이가 미리 설정된 일정치를 넘고 있다고 하는 조건이더라도 좋고, 양 정보의 불일치가 일정 시간 이상 계속된다고 하는 조건이더라도 좋고, 운전 상황으로부터 학습한 어떠한 조건이더라도 좋다. 그 외, 임의의 판단 조건이 이용되더라도 좋다. 판단 조건은, 신호 비교부(590)에 설정 입력부(520)로부터 미리 주어지더라도 좋다. 이 경우, 신호 비교부(590)는, 판단 조건을 유지하는 판단 조건 유지부(도시하지 않음)를 갖는다.
또, 상기 이외의 구성에 대해서는, 상술한 실시의 형태 1~6의 구성과 거의 동일하기 때문에, 동일한 또는 대응하는 요소에 대하여 동일한 부호를 붙이고, 그 설명을 반복하지 않는다.
본 실시의 형태에 의하면, 신호 비교부(590)는, 센서 정보와 센서 시뮬레이션 정보를 비교한다. 이것에 의해, 실제 동작하고 있는 반송 시스템(700G)을, 시뮬레이션을 이용하여 감시할 수 있다. 구체적으로는, 실제의 동작 운전, 즉, 워크를 흐르게 하는 운전에 있어서, 워크가 이상적인 움직임을 행한 경우의 시뮬레이션 결과인 센서 시뮬레이션 정보와, 실제의 워크의 움직임에 따라 출력되는 센서 정보를 비교하는 것에 의해, 실제의 운전 상태의 감시가 가능하게 된다.
<컨트롤러의 하드웨어 구성예>
도 20은 상술한 컨트롤러(500A~500G) 중 어느 하나로서 이용할 수 있는 컨트롤러(800)의 하드웨어 구성을 개략적으로 나타내는 블록도이다. 컨트롤러(800)는, 프로세서(처리 회로)(801)와, 메모리(802)와, 스토리지(803)와, 입출력 장치(804)와, 가반식 기억 매체 구동 장치(805)와, 통신 인터페이스(806)와, 내부 버스(807)를 갖고 있다. 예컨대 컨트롤러(500A)(도 1)와의 대응에 대하여 설명하면, 외부 인터페이스(510)는 통신 인터페이스(806)에 대응할 수 있다. 설정 입력부(520)는, 입출력 장치(804)에 있어서의 입력부, 가반식 기억 매체 구동 장치(805), 또는 통신 인터페이스(806)에 대응할 수 있다. 제어 프로그램 실행부(530), 구속 조건 변경부(540), 워크 시뮬레이션부(550), 외부 입력 시뮬레이션부(560), 및 입출력 전환부(570)의 기능은, 프로세서(801)가 스토리지(803)에 기억된 프로그램을 읽어내어 실행하는 것에 의해 실현될 수 있다. 컨트롤러(500A) 이외의 컨트롤러(500B~500G)에 있어서도 마찬가지이다.
프로세서(801)는, 프로그램의 명령에 따라, 산술ㆍ논리 연산을 실행한다. 프로세서(801)는, CPU 코어가 복수 마련되어 있는 구성을 갖고 있더라도 좋다. 메모리(802)는, 예컨대 RAM(Random Access Memory) 등에 의해 구성되는 메인 메모리이다. 메인 메모리에는, 프로세서(801)에서 실행되는 프로그램이 로드됨과 아울러, 프로세서(801)의 처리에 이용하는 데이터가 저장된다. 스토리지(803)는, 예컨대 하드 디스크 드라이브 또는 플래시 메모리 등의 기억 장치이고, 프로그램이나 각종 데이터가 저장된다. 가반식 기억 매체 구동 장치(805)는, 가반 기억 매체(900)에 기억된 프로그램 또는 데이터를 읽어내는 장치이다. 가반 기억 매체(900)는, 예컨대 자기 디스크, 광 디스크, 광자기 디스크 또는 플래시 메모리 등이다. 프로세서(801)는, 메모리(802) 및 스토리지(803)와 협동하면서, 스토리지(803) 또는 가반 기억 매체(900)에 저장된 프로그램을 실행한다. 입출력 장치(804)는, 예컨대, 키보드, 터치 패널, 및 디스플레이 등이다. 입출력 장치(804)는, 유저 조작 등에 의한 동작 명령을 접수하는 한편, 컨트롤러(800)에 의한 처리 결과를 출력한다.
또, 본 발명은, 그 발명의 범위 내에 있어서, 각 실시의 형태를 자유롭게 조합하거나, 각 실시의 형태를 적당히, 변형, 생략하거나 하는 것이 가능하다. 본 발명은 상세하게 설명되었지만, 상기한 설명은 모든 국면에 있어서 예시이고, 본 발명이 그것에 한정되는 것이 아니다. 예시되어 있지 않은 무수한 변형예가, 본 발명의 범위로부터 벗어나는 일 없이 상정될 수 있는 것으로 해석된다.
100 : 워크
500A~500G, 800 : 컨트롤러
510 : 외부 인터페이스
511 : 액추에이터 출력부
512 : 센서 입력부
513 : 다른 기기 입출력부
520 : 설정 입력부
530 : 제어 프로그램 실행부
531 : 구속 조건 변경 명령 처리부
540 : 구속 조건 변경부
550, 550B, 550C : 워크 시뮬레이션부
551 : 액추에이터 궤적 생성부
552 : 작용 무효 구간 판정부
560 : 외부 입력 시뮬레이션부
561 : 센서 시뮬레이션부
562 : 다른 기기 시뮬레이션부
570, 570E : 입출력 전환부
571 : 출력 억제부
580 : 외부 시나리오 실행부
590 : 신호 비교부
600 : 외부 기기
610~612 : 액추에이터
611b : 고정부
611r : 로드부
612d : 구동부
612h : 파지부
620 : 센서
621, 622 : 재고 센서
630 : 다른 기기
700A~700G : 반송 시스템

Claims (10)

  1. 워크를 검출하는 적어도 1개의 센서로부터의 센서 신호를 참조하면서, 워크를 반송하는 적어도 1개의 액추에이터에 구동 신호를 출력하는 반송 시스템을 위한 컨트롤러에 있어서,
    상기 액추에이터를 제어하기 위한 구동 정보를 접수하여 상기 구동 정보에 근거하여 상기 액추에이터에 상기 구동 신호를 보내는 액추에이터 출력부와, 상기 센서로부터 상기 센서 신호를 접수하여 상기 센서 신호에 근거하여 센서 정보를 생성하는 센서 입력부를 갖는 외부 인터페이스와,
    상기 센서 정보를 참조하면서 상기 구동 정보를 생성하기 위한 제어 프로그램과, 상기 워크와 상기 액추에이터의 사이에서 상정되는 구속 조건을 변경하기 위해 상기 제어 프로그램에 관련지어지는 명령 정보인 구속 조건 설정 정보를 유저로부터 접수하는 설정 입력부와,
    상기 제어 프로그램을 처리하는 것이고, 또한, 상기 구속 조건 설정 정보에 근거하여 구속 조건 변경 명령을 발행하는 구속 조건 변경 명령 처리부를 갖는 것인, 제어 프로그램 실행부와,
    상기 구속 조건 변경 명령 처리부에 의해 발행된 상기 구속 조건 변경 명령에 근거하여 상기 구속 조건을 관리하는 구속 조건 변경부와,
    상기 적어도 1개의 액추에이터 중, 상기 구속 조건 변경부에 의해 관리되고 있는 상기 구속 조건에 있어서 상기 워크에 구속된다고 생각되고 있는 액추에이터에 관하여 상기 제어 프로그램 실행부에 의해 생성된 상기 구동 정보에 의해, 상기 워크의 이동량을 추정하고, 상기 이동량을 상기 워크의 전회 위치에 가산하는 것에 의해 상기 워크의 현재 위치를 추정하는 워크 시뮬레이션부와,
    상기 워크 시뮬레이션부에 의해 추정된 상기 워크의 상기 현재 위치의 정보를 이용함으로써, 상기 센서 정보를 모의한 센서 시뮬레이션 정보를 생성하는 센서 시뮬레이션부와,
    동작 모드로서 적어도 센서 시뮬레이션 모드를 갖는 입출력 전환부
    를 구비하고,
    상기 입출력 전환부는 상기 센서 시뮬레이션 모드에 있어서, 상기 제어 프로그램 실행부에 의해 생성된 상기 구동 정보를 적어도 상기 워크 시뮬레이션부에 보내고, 또한, 상기 센서 정보의 대체 정보로서, 상기 센서 시뮬레이션부에 의해 생성된 상기 센서 시뮬레이션 정보를 상기 제어 프로그램 실행부에 보내는
    컨트롤러.
  2. 제 1 항에 있어서,
    상기 입출력 전환부는 상기 센서 시뮬레이션 모드에 있어서, 상기 제어 프로그램 실행부에 의해 생성된 상기 구동 정보를 상기 액추에이터 출력부에 보내는 컨트롤러.
  3. 제 2 항에 있어서,
    상기 입출력 전환부는, 상기 액추에이터 출력부로의 상기 구동 정보의 출력을 일시적으로 무효화할 수 있는 출력 억제부를 갖는 컨트롤러.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 입출력 전환부는 센서 가동 모드를 더 갖고, 상기 입출력 전환부는 상기 센서 가동 모드에 있어서, 상기 센서 입력부에 의해 생성된 상기 센서 정보를 상기 제어 프로그램 실행부에 보내는 컨트롤러.
  5. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    신호 비교부를 더 구비하고,
    상기 입출력 전환부는 병용 모드를 더 갖고, 상기 입출력 전환부는 상기 병용 모드에 있어서, 상기 센서 입력부에 의해 생성된 상기 센서 정보를 상기 제어 프로그램 실행부 및 상기 신호 비교부의 각각에 보내고, 또한, 상기 센서 시뮬레이션부에 의해 생성된 상기 센서 시뮬레이션 정보를 상기 신호 비교부에 보내고,
    상기 신호 비교부는, 상기 센서 정보와 상기 센서 시뮬레이션 정보를 비교하는
    컨트롤러.
  6. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 액추에이터는, 상기 워크에 작용하는 작용부를 갖고,
    상기 설정 입력부는, 상기 액추에이터의 기계 구성 정보를 접수하고,
    상기 워크 시뮬레이션부는, 상기 액추에이터의 상기 기계 구성 정보와, 상기 제어 프로그램 실행부에 의해 생성된 상기 구동 정보로부터, 상기 액추에이터의 상기 작용부가 동작하는 궤적을 산출하는 액추에이터 궤적 생성부를 갖는
    컨트롤러.
  7. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 워크 시뮬레이션부는, 상기 구동 정보에 의해 나타내어진 상기 액추에이터의 변위량 중, 상기 워크의 상기 이동량에 대한 기여가 무효가 되는 부분을 설정하는 작용 무효 구간 판정부를 갖는 컨트롤러.
  8. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 외부 인터페이스는, 상기 센서 및 상기 액추에이터에 더하여 다른 기기에 접속 가능하고,
    상기 다른 기기의 시뮬레이션을 행하는 다른 기기 시뮬레이션부를 더 구비하는
    컨트롤러.
  9. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 제어 프로그램 실행부, 상기 구속 조건 변경부, 상기 워크 시뮬레이션부, 상기 센서 시뮬레이션부, 및 상기 입출력 전환부 중 적어도 어느 하나의 내부 데이터를 변경하는 명령을 발행하는 외부 시나리오 실행부를 더 구비하는 컨트롤러.
  10. 워크를 반송하는 적어도 1개의 액추에이터와,
    상기 워크를 검출하는 센서와,
    상기 센서로부터의 센서 신호를 참조하면서, 상기 액추에이터에 구동 신호를 출력하기 위한 컨트롤러
    를 구비하고,
    상기 컨트롤러는,
    상기 액추에이터를 제어하기 위한 구동 정보를 접수하여 상기 구동 정보에 근거하여 상기 액추에이터에 상기 구동 신호를 보내는 액추에이터 출력부와, 상기 센서로부터 상기 센서 신호를 접수하여 상기 센서 신호에 근거하여 센서 정보를 생성하는 센서 입력부를 갖는 외부 인터페이스와,
    상기 센서 정보를 참조하면서 상기 구동 정보를 생성하기 위한 제어 프로그램과, 상기 워크와 상기 액추에이터의 사이에서 상정되는 구속 조건을 변경하기 위해 상기 제어 프로그램에 관련지어지는 명령 정보인 구속 조건 설정 정보를 유저로부터 접수하는 설정 입력부와,
    상기 제어 프로그램을 처리하는 것이고, 또한, 상기 구속 조건 설정 정보에 근거하여 구속 조건 변경 명령을 발행하는 구속 조건 변경 명령 처리부를 갖는 것인, 제어 프로그램 실행부와,
    상기 구속 조건 변경 명령 처리부에 의해 발행된 상기 구속 조건 변경 명령에 근거하여 상기 구속 조건을 관리하는 구속 조건 변경부와,
    상기 적어도 1개의 액추에이터 중, 상기 구속 조건 변경부에 의해 관리되고 있는 상기 구속 조건에 있어서 상기 워크에 구속된다고 생각되고 있는 액추에이터에 관하여 상기 제어 프로그램 실행부에 의해 생성된 상기 구동 정보에 의해, 상기 워크의 이동량을 추정하고, 상기 이동량을 상기 워크의 전회 위치에 가산하는 것에 의해 상기 워크의 현재 위치를 추정하는 워크 시뮬레이션부와,
    상기 워크 시뮬레이션부에 의해 추정된 상기 워크의 상기 현재 위치의 정보를 이용함으로써, 상기 센서 정보를 모의한 센서 시뮬레이션 정보를 생성하는 센서 시뮬레이션부와,
    동작 모드로서 적어도 센서 시뮬레이션 모드를 갖는 입출력 전환부
    를 포함하고,
    상기 입출력 전환부는 상기 센서 시뮬레이션 모드에 있어서, 상기 제어 프로그램 실행부에 의해 생성된 상기 구동 정보를 적어도 상기 워크 시뮬레이션부에 보내고, 또한, 상기 센서 정보의 대체 정보로서, 상기 센서 시뮬레이션부에 의해 생성된 상기 센서 시뮬레이션 정보를 상기 제어 프로그램 실행부에 보내는
    반송 시스템.
KR1020187022327A 2016-02-08 2016-07-15 컨트롤러 및 반송 시스템 KR102124312B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2016-021694 2016-02-08
JP2016021694 2016-02-08
PCT/JP2016/071008 WO2017138164A1 (ja) 2016-02-08 2016-07-15 コントローラおよび搬送システム

Publications (2)

Publication Number Publication Date
KR20180101446A KR20180101446A (ko) 2018-09-12
KR102124312B1 true KR102124312B1 (ko) 2020-06-18

Family

ID=59562983

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187022327A KR102124312B1 (ko) 2016-02-08 2016-07-15 컨트롤러 및 반송 시스템

Country Status (7)

Country Link
US (1) US10363645B2 (ko)
JP (1) JP6463518B2 (ko)
KR (1) KR102124312B1 (ko)
CN (1) CN108604088B (ko)
DE (1) DE112016006372T5 (ko)
TW (1) TWI610869B (ko)
WO (1) WO2017138164A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3570125B1 (en) * 2017-01-13 2021-05-26 Fuji Corporation Manufacturing management device
US11054803B2 (en) 2018-07-13 2021-07-06 Delta Electronics, Inc. Motor drive, production system and method thereof with quality measuring and mechanism diagnosing functions using real and virtual system modules
TWI692702B (zh) * 2018-07-13 2020-05-01 台達電子工業股份有限公司 具品質量測與機構診斷功能之生產系統及其驅動器與方法
JP7371848B2 (ja) * 2019-03-07 2023-10-31 学校法人沖縄科学技術大学院大学学園 インタラクティブシミュレーションシステム、シミュレータ、インタラクティブシミュレーション方法、および、インタラクティブシミュレーションプログラム
JP7149607B2 (ja) * 2019-10-25 2022-10-07 伊東電機株式会社 コンベヤシステム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002351511A (ja) 2001-05-30 2002-12-06 Yokogawa Electric Corp 入力生成装置
JP2005309744A (ja) 2004-04-21 2005-11-04 Yokohama Tlo Co Ltd センサー制御システム及び汎用入出力制御装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH589321A5 (ko) * 1973-01-17 1977-06-30 Zumbach Electronic Automatic
US4644958A (en) * 1984-03-26 1987-02-24 Trutek Research, Inc. Inhalation therapy apparatus adapter
CN87215571U (zh) * 1987-11-12 1988-10-05 西北工业大学 普通机床的精密定位及微进给装置
DE3833723A1 (de) * 1988-10-04 1990-04-12 Berg Extrakorp Syst Medtech Verfahren zum nullabgleich eines druckmesskatheters sowie druckmesskatheter zu dessen durchfuehrung
EP0383329A3 (en) * 1989-02-17 1992-02-26 Micron Instrument Inc. Positioning system
JPH05224978A (ja) * 1992-02-12 1993-09-03 Hitachi Ltd 生産ラインの制御装置
JP3184044B2 (ja) * 1994-05-24 2001-07-09 キヤノン株式会社 微動位置決め制御装置
CN1144924A (zh) * 1995-06-07 1997-03-12 梁志勇 开关型边缘位移控制装置
US5768122A (en) * 1995-11-14 1998-06-16 Coard Technology Virtual motion programming and control
WO2000066280A2 (en) * 1999-04-30 2000-11-09 Siemens Electrocom, L.P. Item singulation system
US6973355B2 (en) * 2001-04-25 2005-12-06 Tisue J Gilbert Accurate positioner suitable for sequential agile tuning of pulse burst and CW lasers
US7054694B2 (en) 2001-05-30 2006-05-30 Yokogawa Electric Corporation Process control system
JP4465920B2 (ja) 2001-06-04 2010-05-26 マツダ株式会社 シミュレーション装置及びシミュレーション方法
NO322007B1 (no) * 2004-11-19 2006-08-07 Marine Cybernetics As Fremgangsmate og system for testing av et dynamisk posisjoneringssystem
US7249671B2 (en) * 2005-05-06 2007-07-31 Laitram, L.L.C. Roller-belt conveyor for accumulating and moving articles laterally across the conveyor
JP4306723B2 (ja) * 2006-12-15 2009-08-05 村田機械株式会社 搬送台車システム
JP4932002B2 (ja) * 2007-09-03 2012-05-16 三菱電機株式会社 センサ出力補正装置
CN201427438Y (zh) * 2008-12-12 2010-03-24 珠海艾派克微电子有限公司 一种带有替代压电传感器的墨盒
CA2754560C (en) * 2009-03-03 2019-04-09 Ats Automation Tooling Systems Inc. Multi-mode and multi-pitch conveyor system
CN101603853B (zh) * 2009-07-03 2011-05-18 凯丰集团有限公司 电子衡器专用集成电路
JP2012198636A (ja) * 2011-03-18 2012-10-18 Mitsubishi Electric Corp コントローラ
JP2012232370A (ja) * 2011-04-28 2012-11-29 Seiko Epson Corp ロボットコントローラー、簡易設置型ロボット、及び簡易設置型ロボットの制御方法
CN102735911B (zh) * 2012-05-23 2015-01-28 鲍正浩 一种多功能电笔
JP6015282B2 (ja) 2012-09-21 2016-10-26 オムロン株式会社 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
JP5983442B2 (ja) 2013-01-31 2016-08-31 富士通株式会社 プログラム、演算装置および演算方法
JP2018024044A (ja) * 2016-08-09 2018-02-15 オムロン株式会社 情報処理システム、情報処理装置、ワークの位置特定方法、およびワークの位置特定プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002351511A (ja) 2001-05-30 2002-12-06 Yokogawa Electric Corp 入力生成装置
JP2005309744A (ja) 2004-04-21 2005-11-04 Yokohama Tlo Co Ltd センサー制御システム及び汎用入出力制御装置

Also Published As

Publication number Publication date
TW201728518A (zh) 2017-08-16
CN108604088B (zh) 2020-11-10
KR20180101446A (ko) 2018-09-12
JPWO2017138164A1 (ja) 2018-04-12
DE112016006372T5 (de) 2018-10-18
US20180327191A1 (en) 2018-11-15
WO2017138164A1 (ja) 2017-08-17
US10363645B2 (en) 2019-07-30
JP6463518B2 (ja) 2019-02-06
CN108604088A (zh) 2018-09-28
TWI610869B (zh) 2018-01-11

Similar Documents

Publication Publication Date Title
KR102124312B1 (ko) 컨트롤러 및 반송 시스템
US9108316B2 (en) Method and system for in-production optimization of the parameters of a robot used for assembly
US8706302B2 (en) Method for offline programming of an NC-controlled manipulator
CN100380259C (zh) 用于避免在协作机器人之间的碰撞的方法和控制装置
KR101641853B1 (ko) 시뮬레이션 시스템, 프로그래머블 컨트롤러, 시뮬레이션 장치, 엔지니어링 툴
US9610688B2 (en) Robot program generation apparatus generating robot program for reducing jerks of joints of robot
US10126729B2 (en) Position control of machine axes with collision avoidance and adaption of a machine model to a real machine
JP5872894B2 (ja) ロボット動作教示支援装置及び方法
Nagata et al. Development of CAM system based on industrial robotic servo controller without using robot language
KR20040007701A (ko) 제조 설비의 설계를 지원하기 위한 방법 및 시스템
Shen et al. Digital twin based virtual commissioning for computerized numerical control machine tools
JP2014199635A (ja) 計算装置及びシミュレーションシステム
Neher et al. Using game physics engines for hardware-in-the-loop material flow simulations: benefits, requirements and experiences
EP4240566A1 (en) A robot controller with integrated logic functionality
Santos et al. Simulation Case Study for Improving Painting Tires Process Using the Fanuc Roboguide Software
CN111723473A (zh) 一种三维可视化协同仿真系统
CN104049540A (zh) 一种用于拖拉机电力驱动的系统
WO2022264338A1 (ja) 制御装置、干渉チェック装置、及び制御システム
Li et al. Researched on the technology of machining simulation
Elias et al. Interoperable CNC machine via function block and STEP-NC data model for milling operation
Oplenskedal et al. Model-based development of a controller and simulator for a mobile robot
Nijhof Teleoperation using passive control and LUNA network channels
Seidel et al. Error-free control programs by means of graphical program design, simulation-based verification and automatic code generation
JP2006099310A (ja) ロボットシミュレーション装置および方法
Ghani et al. Comparative analysis of PID and fuzzy logic controllers for position control in double-link robotic manipulators

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