KR20160075629A - 프로그램 작성 장치, 프로그램 작성 방법 및 프로그램 - Google Patents

프로그램 작성 장치, 프로그램 작성 방법 및 프로그램 Download PDF

Info

Publication number
KR20160075629A
KR20160075629A KR1020167013431A KR20167013431A KR20160075629A KR 20160075629 A KR20160075629 A KR 20160075629A KR 1020167013431 A KR1020167013431 A KR 1020167013431A KR 20167013431 A KR20167013431 A KR 20167013431A KR 20160075629 A KR20160075629 A KR 20160075629A
Authority
KR
South Korea
Prior art keywords
input
program
timing
operation command
display
Prior art date
Application number
KR1020167013431A
Other languages
English (en)
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 KR20160075629A publication Critical patent/KR20160075629A/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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4097Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
    • 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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • 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/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13044Display as flow chart, SFC, FUP
    • 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/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13113Read image of sequence ladder diagram, flow chart drawing, translate into code
    • 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/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23291Process, graphic programming of a process, text and images
    • 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/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25045Electronic cam, encoder for sequence control as function of position, programmable switch pls
    • 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/35Nc in input of data, input till input file format
    • G05B2219/351343-D cad-cam
    • 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/42Servomotor, servo controller kind till VSS
    • G05B2219/42186Master slave, motion proportional to axis
    • 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]
    • Y02P90/265

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Programmable Controllers (AREA)
  • Numerical Control (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

유저가 동기 제어장치의 동작 프로그램을 가급적 간단하게 작성할 수 있도록, 프로그램 작성 장치는 제어 단위마다의 타이밍 차트를 세로 방향으로 배열한 편집 화면을 표시장치에 표시하는 처리부를 구비한다. 처리부는 타이밍 차트에 표시 오브젝트를 배치 위치를 지정하여 배치하는 제1 입력을 접수하면(스텝 S2), 타이밍 차트상의 제1 입력에 의해서 지정된 배치 위치에 표시 오브젝트를 표시한다. 또, 처리부는 표시 오브젝트의 표시 후에, 타입의 지정 및 파라미터에 대한 입력을 포함하는 제2 입력을 접수한다(스텝 S6 및 스텝 S9). 그리고 처리부는, 제2 입력에 의해서 입력된 파라미터를 적용한 제2 입력에 의해서 지정된 타입의 동작 명령을 제1 입력에 의해서 지정된 배치 위치에 따른 실행 타이밍에서 실행하는 동작 프로그램을 생성한다(스텝 S10 및 스텝 S11).

Description

프로그램 작성 장치, 프로그램 작성 방법 및 프로그램{PROGRAM CREATING DEVICE, PROGRAM CREATING METHOD, AND PROGRAM}
본 발명은 동기 구동장치의 동작 프로그램을 작성하기 위한 프로그램 작성 장치, 프로그램 작성 방법 및 프로그램에 관한 것이다.
종래부터 서보 모터의 동기 제어로서, 캠 데이터(cam data)를 이용하여 동기를 실현하는 전자 캠 제어가 널리 알려져 있다. 캠 데이터는 동기 제어의 타이밍을 결정하기 위한 축인 마스터축에 장착한 마스터 인코더의 위상과, 슬레이브축의 위치를 일대일로 대응지은 데이터이다. 또, 캠 데이터를 복수의 구간으로 나누고, 각 구간을 임의의 순서, 임의의 횟수로 호출하는 전자 캠 제어가 알려져 있다(예를 들면 특허 문헌 1 참조). 이 전자 캠 제어에 의하면, 반복을 포함하는 동기 제어를 용이하게 실현할 수 있다고 되어 있다.
특허 문헌 1: 일본 특허 제3665008호 공보
전자 캠 제어에 있어서의 실행 타이밍의 조정은, 일반적으로, 마스터축과 슬레이브축 사이의 동기 위상의 변경, 또는 캠 데이터의 편집에 의해서 실현된다. 동기 위상의 변경은, 각 슬레이브축의 파라미터를 1개 조정하는 것만으로 완료된다. 그렇지만, 캠 데이터의 편집이 행해지는 경우에는, 정합성(整合性)이 유지될 필요가 있기 때문에, 일부의 변경이 캠 데이터 전체에 영향을 준다. 따라서 조정 작업에 많은 시간을 필요로 하는 경우가 있다. 또, 캠 데이터의 편집에 의해서, 동기가 필요한 다른 축의 실행 타이밍, 동작 명령, 또는 동기가 필요한 I/O의 실행 타이밍이 영향을 받는 경우, 영향을 받는 부분의 변경의 필요가 생기기 때문에, 더욱 많은 조정 시간을 필요로 한다. 각 슬레이브축의 실행 타이밍에 시간적인 여유가 없는 경우 또는 각 슬레이브축의 서보 성능의 여유가 없는 경우, 정합성을 유지하기 위한 변경이 다방면에 걸치는 것이 많다. 각 슬레이브축의 실행 타이밍 및 각 슬레이브축의 서보 성능에 여유를 갖게 한 설계가 행해져 있는 경우에는 조정 작업에서의 변경이 다방면에 걸칠 가능성은 줄어들지만, 제어 대상의 시스템 전체의 성능(즉 단위시간당 작업량(workload))이 떨어진다. 즉, 시스템 전체의 성능을 끌어내기 위해서는, 유저는, 이들 여유를 감소시키면서 각 슬레이브축의 실행 타이밍을 맞추거나 동작 명령을 조정하거나 할 필요가 있다. 따라서 캠 데이터의 편집이 행해지는 경우에는 자주 재작업(rework)이 발생하여, 유저측의 부하가 높다고 하는 과제가 있다.
또, 특허 문헌 1의 기술은, 캠 데이터를 나누어 호출하는 방식이 채용되고 있다. 따라서 동기 위상의 변경에 의한 영향이 나눈 캠 데이터에만 영향을 주기 때문에, 동기 위상의 변경으로 조정이 가능한 경우는 증가한다. 그렇지만, 특허 문헌 1의 기술에 의하면, 유저는 캠 데이터를 개별로 작성한 후에, 개별의 캠 데이터를 복수의 슬레이브축 사이에서 대조하면서 전체의 타이밍 조정을 행할 필요가 있다. 특허 문헌 1의 기술에 의하면, 캠 데이터를 변경하여 타이밍을 조정하는 경우에는 재작업이 발생하기 때문에, 유저측의 부하가 높다고 하는 문제는 해결되어 있지 않다. 또, 특허 문헌 1의 기술에 의하면, 조정을 보조하는 방법도 제공되지 않는다.
본 발명은 상기를 감안하여 이루어진 것으로서, 동기 제어장치의 동작 프로그램을 가급적 간단하게 작성할 수 있는 프로그램 작성 장치, 프로그램 작성 방법 및 프로그램을 얻는 것을 목적으로 한다.
상술한 과제를 해결하여 목적을 달성하기 위해서, 본 발명은 2 이상의 제어 단위를 동기시켜 동작시키는 동기 제어장치의 동작 프로그램을 작성하는 프로그램 작성 장치로서, 제어 단위마다의 타이밍 차트를 세로 방향으로 배열한 편집 화면을 표시장치에 표시하고, 상기 타이밍 차트에 표시 오브젝트를 배치 위치를 지정하여 배치하는 제1 입력을 접수하고, 상기 타이밍 차트상의 상기 제1 입력에 의해서 지정된 배치 위치에 상기 표시 오브젝트를 표시하고, 상기 표시 오브젝트의 표시 후에, 타입의 지정 및 파라미터에 대한 입력을 포함하는 제2 입력을 접수하고, 상기 제2 입력에 의해서 입력된 파라미터를 적용한 상기 제2 입력에 의해서 지정된 타입의 동작 명령을 상기 제1 입력에 의해서 지정된 배치 위치에 따른 실행 타이밍에서 실행하는 동작 프로그램을 생성하는 처리부를 구비하는 것을 특징으로 한다.
본 발명에 따른 프로그램 작성 장치는, 타이밍 차트에 배치된 표시 오브젝트에 기초하여 동작 명령의 실행 타이밍을 결정하는 것을 가능하게 하므로, 상세 설정에 있어서의 실행 타이밍의 조정을 불필요하게 할 수 있으므로, 유저는 동기 제어장치의 동작 프로그램을 가급적 간단하게 작성할 수 있다.
도 1은 각 축의 동작을 나타내는 타이밍 차트의 일례를 나타내는 도면이다.
도 2는 실시 형태 1의 프로그램 작성 장치를 이용하여 구성되는 시스템을 설명하는 도면이다.
도 3은 실시 형태 1의 프로그램 작성 장치의 하드웨어 구성예를 나타내는 도면이다.
도 4는 실시 형태 1의 프로그램 작성 장치의 기능 구성을 나타내는 도면이다.
도 5는 표시장치에 표시되는 편집 화면의 일례를 나타내는 도면이다.
도 6은 실시 형태 1의 프로그램 작성 장치의 동작을 나타내는 순서도이다.
도 7은 범위 지정의 입력이 이루어진 상태의 편집 화면을 나타내는 도면이다.
도 8은 관련짓기 입력(association input)이 이루어진 상태의 편집 화면을 나타내는 도면이다.
도 9는 동작 명령의 타입에 대한 입력이 이루어지려고 하는 상태의 편집 화면을 나타내는 도면이다.
도 10은 템플릿을 지정하는 입력을 접수하는 상태의 편집 화면을 나타내는 도면이다.
도 11은 제2 파라미터에 대한 입력을 접수하는 상태의 편집 화면을 나타내는 도면이다.
도 12는 실시 형태 2의 편집 화면을 나타내는 도면이다.
도 13은 실시 형태 2의 프로그램 작성 장치의 동작을 나타내는 순서도이다.
도 14는 실시 형태 3의 프로그램 작성 장치의 동작을 나타내는 순서도이다.
도 15는 실시 형태 4의 제2 직선의 표시 양태를 나타내는 도면이다.
도 16은 제2 직선을 이동하는 입력을 접수한 상태의 제2 직선의 표시 양태를 나타내는 도면이다.
이하에, 본 발명에 따른 실시 형태의 프로그램 작성 장치, 프로그램 작성 방법 및 프로그램을 도면에 기초하여 상세하게 설명한다. 또한, 이 실시 형태에 의해 이 발명이 한정되는 것은 아니다.
실시 형태 1.
일반적으로, 동기 제어장치를 동작시키는 동작 프로그램이 작성될 때에는, 각 슬레이브축의 동작이 타이밍 차트를 이용하여 동작 프로그램이 개요적으로 설계되고, 그 후, 상세한 동작 프로그램이 기술되는 일이 있다. 이후, 간단하게 축이라고 하는 경우에는 슬레이브축을 의미한다. 도 1은 각 축의 동작을 나타내는 타이밍 차트의 일례를 나타내는 도면이다. 타이밍 차트에는, 축 마다 및 I/O마다 동작이 기술된다. 여기서, 가로축은 동기의 기준으로서 사용되는 양으로서, 예를 들면 마스터축의 각도 또는 시스템 시간이 해당한다. 각 축 및 각 I/O의 동작은, 각각 1이상의 동작 명령을 이용하여 설정된다. 타이밍 차트 작성의 단계에서는 각 동작 명령에 대한 상세한 설정은 행해지지 않고, 대신에, 각 동작 명령의 대략의 개시 타이밍, 동작 시간 및 지령치가 설정된다. I/O의 동작에는, 변화가 ON/OFF 등의 2진값(binary value)으로 표현되는 경우가 있다. 여기에서는, I/O로서, 「흡착(ON)」인 상태와 「파괴(OFF)」인 상태의 2진값으로 표현되는 상태를 취할 수 있는 핸드(hand)가 나타내져 있다. 일반적으로, 타이밍 차트가 작성된 후에, 이 타이밍 차트에 기초하여 동작 프로그램이 기술된다.
제어 대상의 시스템의 규모가 커지면, 타이밍 차트를 기초로 동작 설계를 행하는 작업자와, 동작 프로그램을 기술하는 작업자로 분업이 행해진다. 여기서, 타이밍 차트에 기술되는 내용과 동작 프로그램으로 기술할 수 있는 내용에 차이가 있기 때문에, 사양의 어긋남이 발생한다. 예를 들면, 타이밍 차트의 기술에 있어서는, 각 동작 명령의 동작 시간은 대략의 값으로 기술되기 때문에, 실제의 동작 시간과는 어긋남이 발생한다. 타이밍 차트상에 실행 타이밍을 맞추는 부분이 명확하게 기술되어 있으면, 그것을 고려하여 동작 프로그램을 기술하는 것이 가능해지지만, 일반적으로, 동작 프로그램의 구조에 기초하여 사전에 타이밍 차트에 실행 타이밍을 맞추는 부분을 충분히 기술하는 것은 곤란하다. 또, 타축의 어느 동작 명령의 도중에 동작 명령을 개시시키는 경우가 있거나, 외부 신호의 입력 지연 등을 고려한 타이밍 차트가 기술되거나 하는 일이 있다. 일반적으로, 이들과 같은 설계 사항을 어긋남없이 타이밍 차트로부터 제어 프로그램으로 전달하는 것이 곤란하다.
또, 동작 프로그램은 각 축의 상세한 동작 명령을 호출하는 형태로 기술되는 것이 많다. 전자 캠 제어의 경우, 마스터축의 각도에 대한 슬레이브축의 위치가 캠 데이터로서 기술된다. 동기 제어장치는, 마스터축의 각도와 캠 데이터에 기초하여 슬레이브 축에 대한 지령치를 생성한다. 따라서 캠 데이터의 작성시에 있어서는, 유저는, 실제로 제어를 실행했을 때에 모터의 토크 부족 등이 발생하지 않도록 배려할 필요가 있다. 또, 종래, 전자 캠 제어의 경우, 각 축이 마스터축의 각도에 동기함으로써, 각 축의 동기가 실현된다. 즉, 각 축의 캠 데이터의 설정은, 축간의 타이밍 조정과는 별도로 실행되고 있었다. 이 때문에, 각 축의 캠 데이터의 작성시에 있어서는, 전술의 토크 부족 등이 발생하지 않도록 하는 설정을 하면서, 타축과의 타이밍을 조정할 필요가 있었다. 즉, 캠 데이터의 설정은, 토크 및 타이밍의 양쪽을 고려할 필요가 있는, 곤란한 작업이었다.
실시 형태 1의 프로그램 작성 장치에 의하면, 편집 화면상에서 복수 축간의 실행 타이밍의 조정이라고 하는 장치 전체의 개요 설계가 실행되고, 그 후, 각 축의 동작 명령을 단계적으로 상세 설정되는 것이 가능하다. 이것에 의해, 유저는, 축간의 실행 타이밍의 조정을 최로로 행한 후에는, 그 실행 타이밍의 조정 결과를 유지한 채로 각 동작 명령을 상세 설정할 수 있다. 축간의 실행 타이밍의 조정에서 발생하고 있던 동작 명령의 상세 설정의 재작업을 막을 수 있어, 결과적으로 장치 전체의 조정 시간을 짧게 할 수 있다.
도 2는 본 발명에 따른 실시 형태 1의 프로그램 작성 장치를 이용하여 구성되는 시스템을 설명하는 도면이다. 동기 제어장치(200)는 마스터축에 장착된 마스터 인코더(300)와, 복수의 제어 단위(400)에 접속된다. 제어 단위(400)란 동기 제어장치(200)에 의해서 지령치가 산출되고, 입력되는 단위를 말한다. X축, Y축, Z축의 각각에 별개로 지령치가 입력되는 서보 시스템은, X축 방향의 서보축, Y축 방향의 서보축 및 Z축 방향의 서보축이 각각 제어 단위(400)에 해당한다. 또, I/O도 제어 단위(400)에 해당한다. 도 2의 예에서는, X축 방향, Y축 방향 및 Z축 방향의 서보축과, I/O의, 합계 4개의 제어 단위(400)가 동기 제어장치(200)에 접속되어 있다. 동기 제어장치(200)는, 4개의 제어 단위(400)의 각각을 마스터 인코더(300)로부터의 신호에 동기하여 동작시킨다. 결과적으로, 4개의 제어 단위(400)는, 서로 동기하여 동작할 수 있다.
동기 제어장치(200)는 변화량 산출부(210) 및 주제어부(220)를 구비한다. 주제어부(220)는 동작 프로그램(222)을 기억하는 기억부(221)를 구비한다. 변화량 산출부(210)는 마스터 인코더(300)로부터의 신호에 기초하여 마스터축의 각도(위상)를 연산한다. 주제어부(220)는 마스터축의 각도와 동작 프로그램(222)에 기초하여 제어 단위(400)마다의 지령치를 생성한다. 그리고 주제어부(220)는 생성한 제어 단위(400)마다의 지령치를 출력한다. 또한, 변화량 산출부(210) 및 주제어부(220) 중 일부 또는 전부는, 소프트웨어, 하드웨어, 또는 양자의 조합으로서 실현되어도 된다. 소프트웨어로 실현된다는 것은, 연산장치 및 주 기억장치를 구비하는 컴퓨터에 있어서 소정의 프로그램이 실행됨으로써 실현되는 것을 말한다.
실시 형태 1의 프로그램 작성 장치(100)는, 동기 제어장치(200)에 접속된다. 프로그램 작성 장치(100)는 유저로부터의 입력에 기초하여, 동작 프로그램(222)을 작성하거나 동작 프로그램(222)을 기억부(221)에 설정하거나 할 수 있다. 또한, 동기 제어장치(200)의 동작 중에는, 프로그램 작성 장치(100)는 동기 제어장치(200)에 접속되어 있지 않아도 된다.
도 3은 프로그램 작성 장치(100)의 하드웨어 구성예를 나타내는 도면이다. 프로그램 작성 장치(100)는 연산장치(101), 주 기억장치(102), 보조 기억장치(103), 입력장치(105), 표시장치(106) 및 접속 인터페이스장치(107)를 구비한다. 연산장치(101), 주 기억장치(102), 보조 기억장치(103), 입력장치(105), 표시장치(106) 및 접속 인터페이스장치(107)는 버스로 서로 접속되어 있다.
연산장치(101)는 실시 형태 1의 프로그램 작성 방법을 실현하기 위한 프로그램인 프로그램 작성 프로그램(104)을 실행한다. 표시장치(5)는 각종 정보를 유저가 시인(視認) 가능하게 표시하기 위한 장치로서, 예를 들면 액정 모니터이다. 표시장치(106)는 연산장치(101)로부터의 지시에 기초하여 후술의 편집 화면을 표시한다. 입력장치(105)는 마우스나 키보드를 구비하여 구성되고, 유저로부터의 프로그램 작성 장치(100)에 대한 조작 정보가 입력된다. 입력장치(105)로 입력된 조작 정보는, 연산장치(101)로 보내진다. 접속 인터페이스장치(107)는, 동기 제어장치(200)가 접속되는 인터페이스장치이다. 동기 제어장치(200)와 프로그램 작성 장치(100) 사이의 접속 규격은 임의이다.
주 기억장치(102)는, 프로그램 전개(展開) 영역 및 연산장치(101)의 워크 에어리어로서 사용된다. 주 기억장치(102)는, 예를 들면 RAM(Random Access Memory)에 의해서 구성된다. 보조 기억장치(103)는, 프로그램 작성 프로그램(104)을 미리 기억하는 기록 매체이다. 보조 기억장치(103)는, 예를 들면 ROM(Read Only Memory)에 의해서 구성된다. 프로그램 작성 프로그램(104)은 보조 기억장치(103)로부터 판독되고, 버스를 통해서 주 기억장치(102)로 로드된다. 연산장치(101)는 주 기억장치(102) 내에 로드된 프로그램 작성 프로그램(104)을 실행한다. 연산장치(101)는 주 기억장치(102)에 전개된 프로그램 작성 프로그램(104)을 실행함으로써, 후술의 처리부(120)로서 동작한다. 동작 프로그램(222)은 연산장치(101)에 의해서, 주 기억장치(102)상에서 작성되거나 편집되거나 되고, 그 후, 보조 기억장치(103)에 기억되어 불휘발화(不揮發化)될 수 있다. 주 기억장치(102) 또는 보조 기억장치(103)에 기억된 동작 프로그램(222)은 동기 제어장치(200)에 보내지고 기억부(221)에 설정된다.
또한, 프로그램 작성 프로그램(104)을, 인터넷 등의 네트워크에 접속된 컴퓨터상에 격납하고, 네트워크 경유로 다운로드시킴으로써 주 기억장치(102)에 전개되도록 구성해도 된다. 또, 프로그램 작성 프로그램(104)을 인터넷 등의 네트워크 경유로 제공 또는 배포하도록 구성해도 된다. 또, 프로그램 작성 프로그램(104)을 미리 기억하는 기록 매체는, 일시적이 아닌 유형의 기록 매체이면, ROM 이외의 기록 매체여도 적용 가능하다. 예를 들면, HDD(Hard Disk Drive), SSD(Solid State), CD-ROM, DVD-ROM 또는 착탈 가능한 메모리 디바이스가 프로그램 작성 프로그램(104)을 미리 기억하는 기록 매체로서 적용 가능하다. 또, 보조 기억장치(103)는 이들 기록 매체의 조합에 의해서 실현되어도 된다.
도 4는 실시 형태 1의 프로그램 작성 장치(100)의 기능 구성을 나타내는 도면이다. 주 기억장치(102)에는 편집 중인 동작 프로그램(222)을 일시 기억한다. 연산장치(101)는 처리부(120)를 구비한다. 처리부(120)는 GUI로서 기능하는 편집 화면을 표시장치(106)에 표시하거나, 편집 화면을 통해서 입력된 편집 내용을 주 기억장치(102)에 일시 기억되는 동작 프로그램(222)에 반영시키거나 한다.
도 5는 처리부(120)에 의해서 표시장치(106)에 표시되는 편집 화면의 일례를 나타내는 도면이다. 편집 화면(130)에는, 3개의 축(축 1~축 3)의 각각과 I/O로서의 디바이스 「Y0」에 대해서, 동작을 기술한 타이밍 차트가 지면(紙面) 세로 방향으로 배열되어 표시되어 있다. 세로축은 제어 단위(400)에 고유한 양을 나타내고, 가로축은 동기 기준으로서의 마스터축의 각도(위상)를 나타낸다. 가로축에 채용되는 동기 기준 및 동기 기준의 스케일은, 편집 화면(130)에 배열된 복수의 타이밍 차트에서 공통된다. 세로축으로서는, 제어 단위(400)가 축인 경우에는 예를 들면 스트로크(st) 또는 속도가 채용된다. 제어 단위(400)가 I/O인 경우에는 세로축으로서 ON/OFF의 2진값을 취하는 양이 채용된다. 처리부(120)는, 편집 화면(130)에 표시되어 있은 타이밍 차트가 입력장치(105)를 이용하여 편집될 때마다, 편집 내용을 주 기억장치(102)에 기억하는 동작 프로그램(222)에 반영시킬 수 있다. 또한, 타이밍 차트에 대한 편집 내용을 동작 프로그램(222)에 반영시키는 타이밍은 임의이다. 또, 동작 프로그램(222)의 형식은, 동기 제어장치(200)를 동작시킬 수 있는 것이면 임의이다. 동작 프로그램(222)은 소정의 프로그램 언어로 기술되는 것이어도 되고, 프로세스 테이블로 표현되는 것이어도 된다. 또, 타이밍 차트 자체가 동작 프로그램(222)으로서 다루어져도 된다.
도 6은 실시 형태 1의 프로그램 작성 장치(100)의 동작을 나타내는 순서도이다. 우선, 처리부(120)는 표시장치(106)에 편집 화면(130)을 표시한다(스텝 S1). 유저는 입력장치(105)를 조작함으로써, 제어 단위(400)마다의 설정 항목 또는 복수의 제어 단위(400)에 공통하는 설정 항목을 설정할 수 있다. 설정 항목은, 예를 들면, 제어 단위(400)를 식별하는 라벨, 세로축의 정의 및 라벨, 및 가로축의 정의 및 라벨을 포함한다. 동기 기준으로서는, 마스터축의 각도, 가상 서보의 각도, 및 시스템 내의 시간 등, 제어 단위(400) 간에 공유할 수 있는 양이면 임의의 양이 지정 가능하다. 여기에서는 일례로서 마스터축의 각도(위상)가 동기 기준으로서 지정된다. 즉, 각 타이밍 차트의 가로축은 마스터축의 각도(위상)를 나타낸다.
이어서, 처리부(120)는 범위 지정의 입력을 접수한다(스텝 S2). 도 7은 범위 지정의 입력이 이루어진 상태의 편집 화면(130)을 나타내는 도면이다. 처리부(120)는 범위 지정된 개개의 영역에 사각형의 표시 오브젝트(131)를 묘화한다(표시 오브젝트(131)). 또한, 범위 지정의 입력은 가로축 방향에 있어서 제1 배치 위치의 입력과 제1 배치 위치보다도 가로축 좌표치가 큰 제2 배치 위치의 입력을 포함하고, 표시 오브젝트는 정확히 제1 배치 위치로부터 제2 배치 위치에 이르기까지의 크기를 가진다. 범위 지정의 입력의 형식은 임의이다. 예를 들면, 범위 지정의 입력은, 마우스 포인터(132)를 이용하여 시점(start point)(제1 및 제2 배치 위치 중 하나)이 지정된 후에 드래그(drag)됨으로써 종점(terminal point)(제1 및 제2 배치 위치 중 다른 1개)이 지정되는 것으로, 실현된다. 또한, 각 표시 오브젝트(131)는 편집 화면(130)에 묘화된 후에 있어서도, 드래그 앤드 드롭(drag-and-drop)의 조작 또는 수치 입력 등에 의해서, 편집 화면(130)상에서 이동하게 할 수 있거나 신축(伸縮)하게 할 수 있거나 하는 것이 가능하다.
각 표시 오브젝트(131)는 각각 개별의 동작 명령에 대응한다. 동작 명령에는 캠 명령, 위치 결정 명령, 속도 명령, 시간 고정 명령, 토크 명령 및 기어 명령 등, 다양한 타입이 존재한다. 스텝 S2의 시점에 있어서는 각 표시 오브젝트(131)가 나타내는 동작 명령의 타입은 미정이다.
처리부(120)는 각 표시 오브젝트(131)의 가로축 좌표치에 기초하여 각 동작 명령의 실행 타이밍을 결정한다(스텝 S3). 예를 들면, 처리부(120)는 제1 배치 위치의 가로축 좌표치가 나타내는 위상을 개시 타이밍으로 결정한다. 추가로, 처리부(120)는 제2 배치 위치의 가로축 좌표치가 나타내는 위상을 종료 타이밍으로 결정한다.
이어서, 처리부(120)는 복수의 표시 오브젝트(131) 사이를 서로 관련짓는 입력(관련짓기 입력)을 접수한다(스텝 S4). 예를 들면, 1개의 동작 명령의 개시 타이밍을 다른 동작 명령의 종료 타이밍으로 하는 경우에, 각 동작 명령에 대응하는 2개의 표시 오브젝트(131)를 서로 관련짓는 입력이 이루어진다. 관련짓기 입력의 형식은 임의이다. 예를 들면, 2개의 표시 오브젝트(131)가 차례로 선택되었을 때, 처리부(120)는, 선택된 2개의 표시 오브젝트(131)를 관련짓는 입력으로서 인식할 수 있다. 또, 표시 오브젝트(131)상의 콘텍스트 메뉴로부터 항목 「관련」이 선택된 후에 2개의 표시 오브젝트(131)가 차례로 선택되었을 때, 처리부(120)는 선택된 2개의 표시 오브젝트(131)를 서로 관련짓는 관련짓는 입력으로서 인식하도록 해도 된다. 처리부(120)는 관련짓기 입력에 의해서 관련지어진 복수의 표시 오브젝트(131) 사이의 관계가 시인 가능하게 되도록, 예를 들면 복수의 표시 오브젝트(131) 사이를 잇는 화살표 등의 선분을 표시해도 된다.
도 8은 관련짓기 입력이 이루어진 상태의 편집 화면(130)을 나타내는 도면이다. 도 8의 예에 있어서는, 「축 1. 동작 명령 1」이라고 라벨된 표시 오브젝트(131)를 「축 3. 동작 명령 1」이라고 라벨된 표시 오브젝트(131)에 관련짓는 관련짓기 입력이 마우스 포인터(133)를 이용하여 입력되고 있다. 화살표(134)는 관련의 관계를 나타내고 있다. 이 관련짓기 입력에 의해서, 「축 1. 동작 명령 1」이라고 라벨된 표시 오브젝트(131)가 나타내는 동작 명령의 종료 타이밍이 「축 3. 동작 명령 1」이라고 라벨된 표시 오브젝트(131)가 나타내는 동작 명령의 개시 타이밍으로 설정된다. 또한, 선택된 2개의 표시 오브젝트(131) 중 어느 표시 오브젝트(131)의 종료 타이밍을 당해 2개의 표시 오브젝트 중 다른 표시 오브젝트(131)의 개시 타이밍으로 할지는, 당해 2개의 표시 오브젝트(131)가 각각 배치되는 위치 관계에 따라 결정된다.
이어서, 처리부(120)는 관련짓기 입력에 기초하여 동작 명령의 실행 조건을 결정한다(스텝 S5). 동작 명령의 실행 조건이란, 도 8의 예에 있어서는, 「축 3. 동작 명령 1」이라고 라벨된 표시 오브젝트(131)가 나타내는 동작 명령의 실행 조건은, 「축 1. 동작 명령 1」이라고 라벨된 표시 오브젝트(131)가 나타내는 동작 명령의 종료 타이밍이 개시 타이밍인 것이다.
이어서, 처리부(120)는 동작 명령의 타입에 대한 입력을 접수한다(스텝 S6). 도 9는 동작 명령의 타입에 대한 입력이 이루어지려고 하는 상태의 편집 화면(130)을 나타내는 도면이다. 처리부(120)는 「축 3. 동작 명령 1」이라고 라벨된 표시 오브젝트(131)에 일부가 겹치도록, 「지정 없음」, 「캠 명령」, 「위치 결정 명령」, 「속도 명령」, 및 「시간 고정 명령」 중 하나를 선택 입력 가능한 콘텍스트 메뉴(135)를 표시한다. 그리고 「캠 명령」의 표시의 근방에 마우스 포인터(132)가 놓여져 있다. 처리부(120)는 「캠 명령」이 선택되려고 하고 있는 것을 마우스 포인터(132)의 위치에 기초하여 인식하여 「캠 명령」을 액티브 표시하고 있다.
이어서, 처리부(120)는, 타입이 입력된 표시 오브젝트(131)에 대해서, 그 표시 오브젝트(131)의 세로축 방향, 가로축 방향, 또는 그 양쪽에 기초하여, 타입에 고유한 파라미터(제1 파라미터)의 값을 결정한다(스텝 S7). 제1 파라미터는 동작 명령을 규정하는 가변 파라미터 중, 세로축 방향, 가로축 방향, 또는 그 양쪽에 기초하여 값을 결정할 수 있는 설정 항목이다. 후술의 제2 파라미터는, 세로축 방향, 가로축 방향, 또는 그 양쪽에 기초하여 값을 결정하는 것이 아닌, 나머지 설정 항목이다. 스텝 S7에 있어서는, 예를 들면 캠 명령의 경우, 처리부(120)는, 표시 오브젝트(131)의 상단 및 하단의 세로축 좌표치에 기초하여 스트로크를 설정하고, 표시 오브젝트(131)의 좌단 및 우단의 가로축 좌표치에 기초하여 사이클 길이를 설정한다. 위치 결정 명령의 경우, 처리부(120)는 표시 오브젝트(131)의 상단 및 하단의 세로축 좌표치에 기초하여 지령 위치를 설정한다. 속도 명령의 경우, 처리부(120)는 표시 오브젝트(131)의 상단 및 하단의 세로축 좌표치에 기초하여 지령 속도를 설정한다. 다만, 처리부(120)는 제1 파라미터를 자동으로 결정하지 않아도 된다.
이어서, 처리부(120)는 템플릿을 지정하는 입력을 접수한다(스텝 S8). 템플릿이란, 전형적인 동작을 가변 파라미터(제1 파라미터 및 제2 파라미터)를 이용하여 기술한, 미리 준비된 동작 명령 패턴이다. 템플릿은 제1 및 제2 파라미터에 값이 설정됨으로써 동작 명령으로서 기능할 수 있다. 예를 들면, 캠 명령은 축의 속도 변화가 사다리꼴 형상이 되도록 축을 동작시키는 캠 곡선 패턴, 일정 가속도로 축을 동작시키는 캠 곡선 패턴 등의 템플릿이 준비된다. 캠 곡선 패턴에는, 예를 들면, 궤적이 불연속인 포인트를 규정하는 좌표치가 제2 파라미터로서 준비되어 있다. 궤적이 불연속인 포인트를 규정하는 좌표치란, 예를 들면, 가속 상태로부터 일정 속도 상태로 변화하거나, 일정 속도 상태로부터 가속 상태로 변화하거나 하는 타이밍에 있어서의 위상과 스트로크의 쌍이다. 예를 들면 축의 속도 변화가 사다리꼴 형상이 되도록 축을 동작시키는 캠 곡선 패턴의 경우, 가속 상태로부터 일정 속도 상태로 이행하는 포인트와, 일정 속도 상태로부터 감속 상태로 이행하는 포인트를 규정하는 각 좌표치가 제2 파라미터로서 설정됨으로써, 궤적이 확정된다. 또, 위치 결정 명령의 경우에는, 절대 위치 결정, 상대 위치 결정, 복수 축의 보간 위치 결정 등이 템플릿으로서 준비되어 있다. 또, 템플릿이 원호(圓弧) 등, 수치 파라미터로 규정되는 곡선을 포함하고 있어도 된다. 원호는 반경 및 각도가 설정됨으로써 형상이 확정된다. 원호를 포함하는 템플릿은, 원호의 반경 및 각도 등, 원호를 규정하기 위한 수치 파라미터가 제2 파라미터로서 준비된다. 복수 축의 보간 명령에서는, 제2 파라미터로서 동시에 동작하는 축을 설정하면, 그 동시에 동작하는 축에도 보간 명령의 동작 명령을 실행하고 있는 표시를 해도 된다. 또한, 명령 타입이 지정되었을 때와 마찬가지로, 처리부(120)는 제2 파라미터를 자동으로 결정해도 된다.
도 10은 템플릿을 지정하는 입력을 접수하는 상태의 편집 화면(130)을 나타내는 도면이다. 처리부(120)는 「축 3. 동작 명령 1」이라고 라벨된 표시 오브젝트(131)에 일부를 겹치도록, 「사다리꼴 가감속」, 「이송 동작」, 「2단 사다리꼴 가감속」, 「장력 제어(이송)」, 「장력 제어(권취(rewinding))」, 및 「장력 제어(커터(cutter))」를 템플릿으로서 선택 입력 가능한 콘텍스트 메뉴(136)를 표시하고 있다. 그리고 「2단 사다리꼴 가감속」의 표시의 근방에 마우스 포인터(132)가 놓여져 있다. 처리부(120)는 「2단 사다리꼴 가감속」의 템플릿이 선택되려고 하고 있는 것을 마우스 포인터(132)의 위치에 기초하여 인식하여, 「2단 사다리꼴 가감속」을 액티브 표시하면서, 또한 「2단 사다리꼴 가감속」에 의한 캠 곡선 패턴의 개요도를 윈도우(137)에 표시하고 있다.
이어서, 처리부(120)는 제2 파라미터에 대한 입력을 접수한다(스텝 S9). 이때, 처리부(120)는 스텝 S8의 처리에 의해서 지정된 템플릿에 고유한 입력 화면을 표시할 수 있다. 도 11은 제2 파라미터에 대한 입력을 접수할 수 있는 상태의 편집 화면(130)을 나타내는 도면이다. 처리부(120)는 「축 3. 동작 명령 1」이라고 라벨된 표시 오브젝트(131)에 일부를 겹치도록, 제2 파라미터에 대한 입력 화면(138)을 표시한다. 입력 화면(138)은 입력부(139)와, 상세 표시부(140)를 구비한다. 입력부(139)는 「2단 사다리꼴 가감속」의 캠 곡선 패턴의 불연속인 포인트를 규정하는 좌표치가, 편집 가능한 상태로 표시된다. 또한, 「2단 사다리꼴 가감속」의 캠 곡선 패턴 중 좌단(左端)(P1의 가로축 좌표치), 우단(P6의 가로축 좌표치) 및 상단(P4 및 P5의 세로축 좌표치)은, 스텝 S7의 처리에 의해 제1 파라미터로서 결정되어, 입력부(139)에 표시된다. 유저는 결정되어 있지 않은 나머지의 좌표치를 입력부(139)에 입력하거나, 입력부(139)에 표시되어 있은 좌표치를 편집하거나 할 수 있다. 또한, 제1 파라미터가 자동으로 결정되지 않는 경우는, 유저는, 스텝 S9의 처리에 있어서 제1 파라미터를 입력하도록 해도 된다. 상세 표시부(140)는 지정된 템플릿에 입력부(139)에 입력되어 표시된 좌표치를 적용함으로써 정해지는 캠 곡선을 그래피컬하게 표시하는 것이다. 처리부(120)는, 입력부(139)에 입력된 좌표치에 기초하여 캠 곡선의 화상 데이터를 생성하고, 생성한 화상 데이터를 상세 표시부(140)에 표시한다. 처리부(120)는 좌표치가 변경되면, 변경에 따라 상세 표시부(140)에 표시 중인 캠 곡선을 변경한다.
또, 템플릿에 원호 등, 수치 파라미터로 규정되는 곡선이 포함되는 경우에는, 입력부(139)는 수치 파라미터가 제2 파라미터로서 입력된다. 처리부(120)는 화상 데이터를 생성할 때에, 제2 파라미터를 이용하여 곡선을 연산할 수 있다. 또, 템플릿으로서 위치 결정 명령이 지정되었을 경우에는, 입력부(139)는 목표 위치 또는 목표 속도 등이 제2 파라미터로서 입력된다. 또, 장력 제어의 템플릿 또는 플랜트 용도 등의 특수 용도용 템플릿이 지정되었을 경우, 복수의 축, 센서 입력, 신호 출력을 시각적으로 행할 수 있도록 입력부(139)가 구성된다.
이어서, 처리부(120)는 제1 파라미터 및 제2 파라미터를 적용한 템플릿에 기초한 동작을, 스텝 S3의 처리에 의해서 결정한 실행 타이밍에서 동작시키는 동작 명령을 생성한다(스텝 S10). 그리고 처리부(120)는, 생성한 동작 명령을 동작 프로그램(222)에 기술함으로써(스텝 S11), 동작 프로그램(222)을 생성한다. 동작 프로그램(222)의 생성 후, 처리부(120)는 동작을 종료한다. 또한, 처리부(120)는 생성한 동작 프로그램(222)을 유저로부터의 지시 입력에 따라 기억부(221)에 격납할 수 있다.
또한, 스텝 S2~스텝 S10의 동작은, 동작 명령마다 개별로 실행되어도 되고, 모든 동작 명령에 대해 병행(竝行)하여 실행되어도 된다. 유저는 일부의 축의 일부의 동작 명령에 대해 동작 프로그램을 작성해도 되고, 동작 명령마다의 상세 설정(스텝 S8~스텝 S11)을 뒤로 미루고, 복수의 동작 명령의 간이 설정(스텝 S2~스텝 S7)을 실행해도 된다. 또, 유저는 기존의 동작 프로그램을 유용하여 스텝 S2~스텝 S10의 동작 중 원하는 처리를 처리부(120)에 실행시켜도 된다. 또, 관련짓기 입력의 접수(스텝 S4) 및 실행 조건의 결정(스텝 S5)은, 행해지지 않아도 된다.
이상 기술한 것처럼, 실시 형태 1에 의하면, 프로그램 작성 장치(100)는, 제어 단위(400)마다의 타이밍 차트를 세로 방향으로 배열한 편집 화면(130)을 표시장치(106)에 표시하는 처리부(120)를 구비한다. 처리부(120)는 타이밍 차트에 표시 오브젝트(131)를 배치 위치를 지정하여 배치하는 제1 입력을 접수하면(스텝 S2), 타이밍 차트상의 제1 입력에 의해서 지정된 배치 위치에 표시 오브젝트(131)를 표시한다. 또, 처리부(120)는 표시 오브젝트(131)의 표시 후에, 타입의 지정 및 파라미터에 대한 입력을 포함하는 제2 입력을 접수한다(스텝 S6 및 스텝 S9). 그리고 처리부(120)는, 제2 입력에 의해서 입력된 파라미터를 적용한 제2 입력에 의해서 지정된 타입의 동작 명령을 제1 입력에 의해서 지정된 배치 위치에 따른 실행 타이밍에서 실행하는 동작 프로그램을 생성한다(스텝 S10 및 스텝 S11). 프로그램 작성 장치(100)는 타이밍 차트상에서 표시 오브젝트(131)를 배치하는 입력에 기초하여 동작 명령의 실행 타이밍의 조정을 행하는 것을 가능하게 하고 있으므로, 동작 명령 마다의 파라미터의 결정을 포함하는 상세 설계의 단계에서 실행 타이밍의 설정을 행하는 것을 불필요하게 할 수 있다. 그 결과, 동작 명령의 상세 설계에서의 재작업이 방지되므로, 유저는 동기 제어장치(200)의 동작 프로그램(222)을 간단하게 작성할 수 있게 된다.
또한, 처리부(120)는 범위 지정이 되어 표시 오브젝트(131)의 묘화를 행하여 동작 명령을 추가한 후에, 동작 명령 타입을 포함하는 동작 명령의 파라미터에 대한 입력을 접수하는 것으로서 설명했다. 처리부(120)는 템플릿을 지정하는 입력과, 표시 오브젝트(131)의 범위 지정에 대한 입력을 이 순서로 접수하도록 구성되어도 된다. 우선, 유저는, 템플릿의 종류를 지정한 후에, 편집 화면(130)에 범위 지정을 행하고, 동작 명령을 추가한다. 범위 지정은 행하지 않고 개시 위치만을 설정했을 경우에는, 처리부(120)는 템플릿마다의 고유한 파라미터에 따라서 표시 오브젝트(131)를 추가한다. 표시 오브젝트(131)가 배치되는 범위가 지정된 후는, 상기에 설명한 것처럼, 처리부(120)가 제1 파라미터 또는 제2 파라미터를 자동으로 설정하도록 해도 된다. 이와 같이, 먼저 템플릿을 지정한 후에 동작 명령을 추가하는 입력을 처리부(120)가 접수할 수 있는 경우, 편집 화면(130)상에서 표시 오브젝트(131)마다 템플릿을 설정하는 방법과 비교하여 유저에 의한 입력의 수고를 줄일 수 있다고 하는 효과가 얻어진다.
또한, 여기에서는, 먼저 템플릿을 추가하는 것으로서 설명했지만, 동작 명령의 타입만을 지정한 후에 표시 오브젝트를 범위 지정으로 추가할 수 있도록 처리부(120)가 구성되어도 된다.
실시 형태 2.
도 12는 실시 형태 2의 편집 화면(130)을 나타내는 도면이다. 처리부(120)는 편집 화면(130)에 그리드선을 표시한다. 그리드선은 세로축에 평행한 복수의 직선(제1 직선)과, 가로축에 평행한 복수의 직선(제2 직선)에 의해서 구성된다. 도 12에 있어서는, 복수의 제1 직선은 등간격으로 표시되어 있다. 또, 도 12에 있어서는, 제어 단위(400)마다 2개의 제2 직선이 표시되어 있다. 또, 제1 직선 및 제2 직선은, 파선의 양태로 표시되어 있다. 또한, 제1 직선 및 제2 직선의 표시 양태는 임의이다.
제어 단위(400)마다의 2개의 제2 직선은, 범위 지정의 입력이 가능한 범위를 나타내고 있다. 즉, 유저는, 제2 직선으로 나뉘어 있는 범위 내에 스텝 S2의 범위 지정에 대한 입력을 행할 수 있다. 서보축의 타이밍 차트의 세로축의 양은 스트로크 또는 속도를 나타낸다. 세로축에 나타내지는 스트로크 또는 속도는, 최대 스트로크 또는 정격 속도에 대한 비를 이용하여 표시된다. 최대 스트로크 또는 정격 속도는, 수치로서 입력되는 것이 일반적이다. 서보축의 타이밍 차트에 표시되는 2개의 제2 직선은, 최대 스트로크 및 최소 스트로크를 나타내고 있다. I/O의 타이밍 차트에 표시되는 2개의 제2 직선은, ON 상태 및 OFF 상태를 나타낸다.
실시 형태 2에 있어서는, 처리부(120)는 그리드선의 간격을 변경하는 입력을 접수할 수 있다. 도 13은 실시 형태 2의 프로그램 작성 장치(100)의 동작을 나타내는 순서도이다.
우선, 처리부(120)는 편집 화면(130)에 그리드선을 표시한다(스텝 S21). 유저는, 임의의 타이밍에서 그리드선을 표시하는 입력을 행할 수 있다. 처리부(120)는 유저로부터 그리드선을 표시하는 입력을 접수했을 때, 그리드선의 표시를 행한다. 처리부(120)는 그리드선 중 제1 직선을, 예를 들면, 미리 결정된 간격, 유저가 지정하는 간격, 또는 이전에 표시되어 있던 간격으로 표시한다.
이어서, 처리부(120)는 구간을 지정하여 제1 직선의 간격을 변경하는 입력이 있었는지 여부를 판정한다(스텝 S22). 여기서, 구간이란, 인접하거나 또는 인접하지 않는 2개의 직선에 의해서 나뉘어지는 영역을 말한다. 간격을 변경하는 입력이란, 제1 직선을 가로축 방향으로 이동하는 입력이다. 예를 들면, 포인팅 디바이스를 이용하여 구간의 단부의 제1 직선이 드래그되거나, 간격을 지정하는 수치가 입력되거나 했을 때, 처리부(120)는 간격을 변경하는 입력으로서 인식할 수 있다.
제1 직선의 간격을 변경하는 입력이 있었을 경우(스텝 S22, Yes), 처리부(120)는 모든 축에 대해서, 지정된 구간(지정 구간) 내의 동작과, 지정 구간 내의 동작 후에 실행되는 모든 동작 명령의 실행 타이밍을 간격의 변경에 따라 변경한다(스텝 S23). 즉, 처리부(120)는 동작 프로그램(222)을 갱신한다. 그리고 처리부(120)는, 편집 화면(130)의 표시를 갱신한다(스텝 S24). 처리부(120)는 간격에 비례하도록, 지정 구간 내의 궤적의 가로축의 단위량 당의 세로축의 변화량(즉 기울기)을 변화시킨다. 예를 들면 지정 구간의 간격이 「10」에서 「20」으로 변경되었을 경우, 지정 구간의 간격이 2배로 확대되어, 지정 구간 내의 궤적의 기울기는 변경 전에 비해 0.5배로 축소된다. 또한, 실행 타이밍이 지정 구간보다도 후의 동작 명령은 모두, 변경 전에 비해 「10」만큼 지연되어 실행된다. 이와 같이, 지정 구간의 간격의 변경에 의해서, 지정 구간 내의 모든 축의 모든 동작 명령과, 실행 타이밍이 지정 구간보다도 후인 모든 축의 모든 동작 명령의 실행 타이밍은, 지정 구간의 간격의 변경에 따라 일률적으로 변경된다. 실행 타이밍이 지정 구간보다도 후인 모든 축의 모든 동작 명령의 실행 타이밍은 같은 양만큼 일률적으로 변경되기 때문에, 실행 타이밍이 지정 구간보다도 후인 각각 서로 다른 축의 임의의 2개의 동작 명령 사이의 실행 타이밍의 관계는, 간격의 변경 전후에서 변화하지 않는다. 또한, 제1 직선의 간격의 변경은 지정 구간 내의 동작의 변경을 수반한다. 처리부(120)는 스텝 S23의 처리시, 지정 구간 내의 동작의 실행 타이밍과 지정 구간 내의 동작을 규정하는 파라미터(제1 파라미터 및 제2 파라미터)를 변경한다. 이와 같이, 처리부(120)는 제1 직선의 간격의 변경에 따라서, 편집 화면(130)의 표시 및 동작 프로그램(222)을 갱신한다.
제1 직선의 간격을 변경하는 입력이 없는 경우(스텝 S22, No), 또는 스텝 S23의 처리 후, 처리부(120)는 구간을 지정하여 제2 직선의 간격을 변경하는 입력이 있었는지 여부를 판정한다(스텝 S25).
제2 직선의 간격을 변경하는 입력이 있었을 경우(스텝 S25, Yes), 처리부(120)는 지정된 구간 내의 표시 간격을, 입력된 제2 직선의 간격의 변경에 따라 확대 또는 축소한다(스텝 S26). 축의 타이밍 차트의 경우, 제2 직선의 간격의 변경에 의해서 스트로크 또는 속도가 변경되는 것이 아니라, 제2 직선의 간격의 변경에 의해서 표시상의 간격의 확대 또는 축소가 행해진다. I/O의 타이밍 차트의 경우, 세로축의 양은, ON/OFF의 2진값을 표현하기 위한 것이다. 따라서 I/O의 타이밍 차트의 경우, 축의 타이밍 차트의 경우와 마찬가지로, 제2 직선의 간격의 변경에 따라 표시상의 간격이 확대 또는 축소된다. 이와 같이, 처리부(120)는 제2 직선의 간격의 변경에 따라 편집 화면(130)의 표시를 갱신하지만, 동작 프로그램(222)의 갱신은 실행하지 않는다.
제2 직선의 간격을 변경하는 입력이 없는 경우(스텝 S25, No), 또는 스텝 S26의 처리 후, 처리부(120)는 스텝 S22의 처리를 다시 실행한다.
또한, 처리부(120)는 유저로부터의 지시에 기초하여 그리드선을 표시하거나 비표시하거나 할 수 있다. 처리부(120)는 제1 직선과 제2 직선을 개별로 표시/비표시 가능하게 구성되어도 된다. 또, 처리부(120)는 유저로부터의 지시에 기초하여, 그리드선을, 동작 프로그램(222)을 변경하지 않고 간격을 변경하여 재배치할 수 있다. 또, 처리부(120)는 그리드선을 표시 개시할 때에, 유저로부터 지정된 포인트에 제1 직선이 위치하도록 그리드선의 표시 위치를 자동으로 결정하도록 해도 된다. 또, 처리부(120)는 그리드선을 표시할 때에, 동작이 특징적인 포인트에 제1 직선이 위치하도록 그리드선의 표시 위치를 자동으로 결정하도록 해도 된다. 동작이 특징적인 포인트란, 예를 들면, 동작 명령의 개시 타이밍, 종료 타이밍, 궤적이 불연속으로 변화하는 포인트, 이동 방향 또는 속도가 급격하게 변화하는 포인트 등이다. 또, 처리부(120)는 유저로부터 제1 직선이 지정되었을 때, 지정된 제1 직선의 표시를 소거하도록 해도 된다. 제1 직선이 소거되면, 소거전의 제1 직선의 양측의 2개의 구간이 1개의 구간으로 머지(merge)된다.
이와 같이, 실시 형태 2에 의하면, 처리부(120)는 각 타이밍 차트의 가로축에 직교하면서, 또한 각 타이밍 차트에 공통인 제1 직선을, 편집 화면(130)에 표시하여, 제1 직선을 가로축 방향으로 이동하는 입력을 접수할 수 있다. 처리부(120)는 제1 직선을 가로축 방향으로 이동하는 입력을 접수했을 때, 각 타이밍 차트에 배치된 표시 오브젝트(131)에 각각 대응하는 각각의 동작 명령의 실행 타이밍을 일률적으로 변경한다. 유저는 동작 명령 사이의 실행 타이밍의 관계를 유지시킨 채로 모든 축에 있어서의 동작 명령 및 동작 명령의 실행 타이밍을 일괄하여 변경할 수 있으므로, 동작 프로그램(222)의 조정 시간을 짧게 하는 것이 가능해진다.
실시 형태 3.
실시 형태 3에 있어서는, 처리부(120)는 유저가 지정하는 위치에 새로운 구간을 삽입할 수 있다. 유저는 간격이 제로값인 구간을 삽입한 후, 삽입한 구간의 간격을 변경함으로써, 모든 축에 있어서의 동작 명령의 실행 타이밍을 일괄하여, 또한 임의로 조정할 수 있게 된다. 도 14는 실시 형태 3의 프로그램 작성 장치(100)의 동작을 나타내는 순서도이다.
처리부(120)는 위치를 지정하여 구간을 삽입하는 입력을 접수한다(스텝 S31). 그러면, 처리부(120)는 지정된 위치(지정 위치)에 2개의 제1 직선을 겹쳐서 표시한다(스텝 S32). 또한, 제1 직선의 위가 지정되었을 경우에는, 처리부(120)는 1개의 새로운 제1 직선을 지정 위치에 표시한다. 제1 직선상이 아닌 위치가 지정되었을 경우에는, 처리부(120)는 2개의 새로운 제1 직선을 겹쳐서 표시한다. 또한, 처리부(120)는 겹쳐진 2개의 제1 직선을, 단일의 제1 직선과 동일한 양태로 표시해도 되고 단일의 제1 직선과는 다른 양태로 표시해도 된다.
이어서, 처리부(120)는 2개가 겹쳐진 제1 직선의 간격을 지정하는 입력을 접수한다(스텝 S33). 그러면, 처리부(120)는, 모든 축에 대해서, 지정된 위치가 나타내는 타이밍 후에 실행되는 모든 동작 명령의 실행 타이밍을 간격의 변경에 따라 변경한다(스텝 S34). 그리고 처리부(120)는, 편집 화면(130)의 표시를 갱신한다(스텝 S35). 또한, 삽입된 구간 내의 동작을 어떻게 설정하는지에 대해서는 임의이다. 예를 들면, 처리부(120)는 삽입된 구간 내에서 세로축의 값이 일정하게 되도록 구간 내의 동작을 설정한다.
이와 같이, 실시 형태 3에 의하면, 처리부(120)는 배치 위치와 제로값 이상의 간격을 지정하여 새로운 구간을 삽입하는 입력을 접수할 수 있다. 처리부(120)는 당해 새로운 구간을 삽입하는 입력을 접수했을 때, 편집 화면(130)상에 있어서 상기 지정된 배치 위치에 상기 지정된 간격의 2개의 제1 직선으로 나누어지는 새로운 구간을 삽입함과 아울러, 상기 지정된 배치 위치에 따른 타이밍보다도 후에 실행되는 모든 동작 명령의 실행 타이밍을 지정된 간격에 따른 양만큼 일률적으로 변경한다. 이것에 의해, 유저는 모든 축에 있어서의 동작 명령의 실행 타이밍을 일괄하여, 또한 임의로 조정할 수 있게 된다.
예를 들면, 유저는 1의 동작 명령의 완료 타이밍이 다른 동작 명령의 개시 타이밍으로 설정되어 있는 경우에 있어서, 상기 1의 동작 명령의 완료 타이밍을 변경하지 않는 채 상기 다른 동작 명령의 개시 타이밍을 늦추고 싶은 경우에는, 상기 1의 동작 명령의 완료 타이밍에 새로운 구간을 삽입함으로써, 상기 다른 동작 명령의 개시 타이밍을 늦출 수 있다. 그 경우에는, 구간의 삽입 위치 후의 모든 축의 모든 동작 명령의 실행 타이밍이 일률적으로 늦추어진다. 또한, 간격이 제로값인 구간이 편집 화면(130)상에 복수 존재해도 된다.
실시 형태 4.
실시 형태 4에 있어서는, 처리부(120)는 제어 단위(400)마다의 타이밍 차트의 임의의 위치에 제2 직선을 표시한다. 예를 들면, 처리부(120)는 실시 형태 2에 있어서의 제1 직선의 처리와 마찬가지로, 동작이 특징적인 포인트에 제2 직선이 위치하도록 제2 직선의 표시 위치를 자동으로 결정해도 된다. 또, 처리부(120)는, 유저가 지정한 포인트에 제2 직선이 위치하도록 제2 직선의 표시 위치를 결정해도 된다.
도 15는 실시 형태 4의 제2 직선의 표시 양태를 나타내는 도면이다. 2개의 제2 직선(141)은 스텝 S21의 처리에 의해서 표시되는 것이다. 「축 1」이라고 라벨된 타이밍 차트에는, 2단의 사다리꼴 패턴의 캠 곡선이 규정되어 있다. 이 캠 곡선은 동작이 특징적인 적어도 4개의 포인트(143, 144, 145, 146)를 가진다. 포인트(143~146)의 세로축 좌표치는 각각 동일하다. 처리부(120)는 4개의 포인트(143~146)를 자동으로 검출하고, 검출한 4개의 포인트(143~146)에 위치하는 제2 직선(142)을 표시할 수 있다. 이것에 의해, 2단의 사다리꼴 패턴과 같이, 중간치를 가지는 궤적의 경우, 중간치상에 제2 직선이 위치하도록 제2 직선이 표시된다. 또한, 처리부(120)는 유저로부터 제2 직선이 지정되었을 때, 실시 형태 1과 마찬가지로, 지정된 제2 직선의 표시를 소거하도록 해도 된다.
또한, 처리부(120)는 제2 직선(142)을 세로축 방향으로 이동하는 입력을 접수할 수 있다. 처리부(120)는 제2 직선(142)을 세로축 방향으로 이동하는 입력을 접수했을 때, 제2 직선(142)의 위치의 변경에 따라 동작 명령에 의한 궤적을 동작 명령마다 변경한다. 또, 처리부(120)는 제2 직선(142)을 세로축 방향으로 이동하는 입력에 따라 편집 화면(130)의 표시를 갱신한다.
궤적의 변경 수법은 동작 명령의 타입에 따라서 정해져 있다. 예를 들면 동작 명령이 캠 명령인 경우에는, 처리부(120)는 제2 직선(142)의 변경에 따라서, 제2 직선(142)을 하측의 경계로 하는 구간(제1 구간) 및 제2 직선(142)을 상측의 경계로 하는 구간(제2 구간)의 궤적을 각각 변경한다. 구체적으로는, 제1 구간에 있어서는, 제1 구간의 간격의 변화량에 비례하도록, 제1 구간의 세로축의 단위량 당의 가로축의 변화량을 변화시킨다. 제1 구간의 간격이 변경 전의 배로 변경되었을 경우에는, 처리부(120)는 제1 구간의 궤적의 기울기를 0.5배로 변경한다. 처리부(120)는 제2 구간에 있어서도 제1 구간과 마찬가지의 변경을 실행한다. 즉, 처리부(120)는 제2 직선의 변경에 따라 궤적의 기울기를 변경한다. 처리부(120)는 제2 직선(142)이 변경되어도 포인트(143~146)의 가로축의 좌표치는 변경하지 않고, 또한 포인트(143~146)의 세로축의 좌표치를 제2 직선(142)의 변경에 따라 변경한다.
또, 예를 들면 동작 명령이 위치 결정 명령인 경우에는, 처리부(120)는 궤적의 기울기를 변경하지 않는 대신에, 동작 명령의 완료 타이밍을 변경한다. 위치 결정 명령의 개시 타이밍, 지령 속도 및 가속도는 일정한 채 목표 위치가 변경되기 때문이다. 다만, 충분한 가감속 시간이 없는 경우에는, 지령 속도에서의 동작 구간을 확보할 수 없으므로, 결과적으로 처리부(120)는 궤적의 기울기를 변경해도 된다.
또, 세로축이 스트로크가 아니라 속도를 나타내는 경우에는, 제2 직선(142)의 변경은 목표 속도의 변경에 해당한다. 또, 처리부(120)는 동작 명령의 개시 타이밍 또는 위치 지령을 포인팅 디바이스를 이용하여 드래그 앤드 드롭했을 경우에는, 드롭 위치에 가장 가까운 그리드선 또는 그리드선의 교점에 드롭된 것으로서 인식하여, 드롭 위치에 가장 가까운 그리드선 또는 그리드선의 교점에 드래그 대상이 일치하도록 변경을 행해도 된다.
또, 처리부(120)는 포인트(143~146) 중 일부를 제2 직선(142)에 관련짓는 입력을 접수할 수 있도록 구성되어도 된다. 처리부(120)는 제2 직선(142)의 위치를 변경하는 입력을 접수했을 때, 포인트(143~146) 중 제2 직선(142)에 관련지어진 포인트를 제2 직선(142)의 변경에 추종하도록 변경하고, 포인트(143~146) 중 제2 직선(142)에 관련지어져 있지 않은 포인트를 변경하지 않는다.
또, 처리부(120)는 복수의 제2 직선을 동일한 위치에 겹쳐서 표시해도 된다. 동일 위치에 겹쳐서 표시된 각 제2 직선은, 각각 다른 포인트를 관련짓는 것이 가능해진다.
이와 같이, 실시 형태 4에 의하면, 처리부(120)는 제2 직선을 세로축 방향으로 이동하는 입력을 접수했을 때, 입력된 동작 명령의 타입에 따라 당해 동작 명령의 궤적을 변경한다. 이것에 의해, 유저는 동작 명령의 조정을 간단하게 실행할 수 있게 된다.
또, 처리부(120)는 제2 직선에 관련지어진 포인트를 이동하는 입력을 접수할 수 있도록 구성되어도 된다. 제2 직선에 관련지어진 포인트를 이동하는 입력을 접수한 경우, 처리부(120)는 제2 직선에 관련지어진 포인트가 제2 직선의 이동에 추종하도록, 또한 제2 직선에 관련지어져 있지 않은 포인트는 제2 직선의 이동에 추종하지 않도록, 궤적을 변경한다. 이것에 의해, 유저는, 동일한 중간치를 취한 복수의 포인트 중 일부만을 변경 대상으로 지정하여 궤적을 조정하는 것이 가능해진다.
도 16은 변경 후의 궤적을 나타내는 도면이다. 도 16은 도 15의 타이밍 차트에 있어서 포인트(143) 및 포인트(144)가 제2 직선(142)에 관련지어짐과 아울러, 제2 직선(142)이 세로축의 양방향으로 이동하는 입력이 이루어진 상태의 타이밍 차트를 나타내고 있다. 도시하는 것처럼, 포인트(143) 및 포인트(144)가 제2 직선에 추종하여 이동하고, 포인트(145) 및 포인트(146)는 제2 직선은 전혀 이동하고 있지 않다.
실시 형태 5.
실시 형태 5에 있어서는, 처리부(120)는 2 이상의 표시 오브젝트(131)를 지정하여 간격 또는 위치를 변경하는 입력을 접수할 수 있다. 복수의 표시 오브젝트(131)를 지정하는 입력의 형식은 임의이다. 예를 들면, 처리부(120)는 키 조작의 입력에 의해서, 복수의 표시 오브젝트(131)를 선택할 수 있는 모드로 이행한다. 그 모드에 있어서 포인팅 디바이스를 이용하여 복수의 표시 오브젝트(131)가 프레스되는 입력이 이루어졌을 때, 처리부(120)는 프레스된 복수의 표시 오브젝트(131)가 지정된 것을 인식할 수 있다.
복수의 표시 오브젝트(131)가 지정된 후에 수치 입력 또는 드래그 앤드 드롭의 조작의 입력에 의해 개시 타이밍을 변경하는 입력이 이루어지면, 처리부(120)는 지정된 복수의 표시 오브젝트(131)에 대응하는 각각의 동작 명령의 개시 타이밍을, 개시 타이밍을 변경하는 입력에 따라 변경한다. 예를 들면, 처리부(120)는 상기 각각의 동작 명령의 개시 타이밍을, 개시 타이밍을 변경하는 입력에 의한 변경량만큼 변경한다. 지정된 복수의 표시 오브젝트(131)에 각각 대응하는 동작 명령의 개시 타이밍이 같은 양만큼 변경되므로, 지정된 복수의 표시 오브젝트(131)에 각각 대응하는 동작 명령 사이의 실행 타이밍의 관계는 변경의 전후에서 변화하지 않는다.
또, 유저가 가로축 방향으로 신축하는 입력을 행했을 경우에는, 처리부(120)는 지정된 각 동작 명령의 동작 기간을 입력에 따른 공통의 비율로 변경한다. 또한, 처리부(120)는 지정된 각 동작 명령의 동작 기간을 변경할 때에, 각 동작 명령의 개시 타이밍을 고정한 상태에서 각 동작 명령의 동작 기간을 변경해도 되고, 각 동작 명령의 개시 타이밍을 고정하지 않고 각 동작 명령의 동작 기간을 변경해도 된다. 각 동작 명령의 동작 기간의 변경에 의해서 각 동작 명령의 실행 타이밍 간의 관계가 변경의 전후에서 변화해도 된다. 또, 유저가 가로축 방향의 양을 수치 입력했을 경우에는, 처리부(120)는 지정된 각 동작 명령의 동작 기간을 입력된 수치로 변경한다. 또, 유저가 지령치를 입력했을 경우에는, 지정된 각 동작 명령의 지령치가 입력된 지령치로 변경된다.
이와 같이, 실시 형태 5에 의하면, 처리부(120)는 2 이상의 표시 오브젝트(131)를 선택함과 아울러 제1 배치 위치와 제2 배치 위치의 간격을 변경하는 입력을 접수했을 때, 선택된 모든 표시 오브젝트(131)에 따른 각 동작 명령의 동작 기간을 입력에 따라 변경한다. 이것에 의해, 유저는 임의의 복수의 동작 명령의 동작 기간을 일괄하여 변경하는 것이 가능해진다.
또, 처리부(120)는 2 이상의 표시 오브젝트(131)를 선택함과 아울러 배치 위치를 변경하는 입력을 접수했을 때, 선택된 모든 표시 오브젝트(131)에 따른 각 동작 명령의 개시 타이밍을 입력에 따라 변경한다. 이것에 의해, 유저는, 임의의 복수의 동작 명령의 개시 타이밍을 일괄하여 변경하는 것이 가능해진다.
실시 형태 6.
실시 형태 6에 의하면, 처리부(120)는 선택된 2 이상의 표시 오브젝트(131)를 그룹화하는 입력을 접수할 수 있다. 처리부(120)는 선택된 2 이상의 표시 오브젝트(131)를 그룹화하는 입력을 접수했을 때, 선택된 2 이상의 표시 오브젝트(131)를 1개의 그룹으로서 기억한다. 그 후, 처리부(120)는 그룹을 구성하는 2 이상의 표시 오브젝트(131)의 제1 및 제2 배치 위치 중 가장 우단의 배치 위치와 가장 좌단의 배치 위치 사이의 간격을 변경하는 입력을 접수할 수 있다. 처리부(120)는 양단의 배치 위치 사이의 간격을 변경하는 입력을 접수했을 때, 그룹을 구성하는 각 표시 오브젝트(131)에 대응하는 각각의 동작 명령 중 가장 빨리 실행되는 동작 명령의 개시 타이밍에서부터 각 동작 명령의 개시 타이밍까지의 시간의 변경율과, 상기 각각의 동작 명령의 동작 시간의 변경율과, 간격을 변경하는 입력에 의한 간격의 변경 전후의 변경율이 동일해지도록, 상기 각각의 동작 명령의 개시 타이밍 및 동작 시간을 변경한다. 이것에 의해, 유저는 동작 명령간에 실행 타이밍의 순서를 바꿔 넣는 일 없이 복수의 동작 명령의 개시 타이밍 및 동작 시간을 일괄하여 변경하는 것이 가능해진다.
실시 형태 7.
또한, 처리부(120)는 표시장치(106)에 편집 화면(130)과는 다른 별개의 작업 화면을 표시해도 된다. 작업 화면은 프로그램 작성 프로그램(104) 또는 프로그램 작성 프로그램(104)과는 다른 프로그램에 의해서 작성된 동작 명령을 전개하여 편집하는 것이 가능한 화면이다. 유저는 원하는 동작 명령을 개별로 편집하고 싶은 경우에는, 그 동작 명령을 작업 화면에 카피하여, 작업 화면상에서 편집하고, 작업 화면상에 있어서 편집된 동작 명령을 편집 화면(130)에 카피하는 것이 가능해진다. 유저는 작업 화면상에서 동작 명령을 편집하여 편집된 동작 명령을 편집 화면(130)상에 카피하는 것이 가능해지므로, 유사한 동작 명령을 다수 포함하는 동작 프로그램(222)을 작성하는 경우, 편집 화면(130)상에서 모든 동작 명령을 작성하는 경우에 비해 유저의 부담이 경감된다.
또한, 실시 형태 1~7의 설명에 있어서, 처리부(120)는 소프트웨어에 의해 실현되는 것으로서 설명했지만, 처리부(120) 중 일부 또는 전부는, 하드웨어, 또는 하드웨어와 소프트웨어의 조합으로서 실현될 수 있다.
100: 프로그램 작성 장치, 101: 연산장치,
102: 주 기억장치, 103: 보조 기억장치,
104: 프로그램 작성 프로그램, 105: 입력장치,
106: 표시장치, 107: 접속 인터페이스장치,
120: 처리부, 130: 편집 화면,
131: 표시 오브젝트, 132, 133: 마우스 포인터,
134: 화살표, 135, 136: 콘텍스트 메뉴,
137: 윈도우, 138: 입력 화면,
139: 입력부, 140: 상세 표시부,
141, 142: 제2 직선, 143: 포인트,
200: 동기 제어장치, 210: 변화량 산출부,
220: 주제어부, 221: 기억부,
222: 동작 프로그램, 300: 마스터 인코더,
400: 제어 단위.

Claims (13)

  1. 2 이상의 제어 단위를 동기시켜 동작시키는 동기 제어장치의 동작 프로그램을 작성하는 프로그램 작성 장치로서,
    제어 단위마다의 타이밍 차트를 세로 방향으로 배열한 편집 화면을 표시장치에 표시하고,
    상기 타이밍 차트에 표시 오브젝트를 배치 위치를 지정하여 배치하는 제1 입력을 접수하고,
    상기 타이밍 차트상의 상기 제1 입력에 의해서 지정된 배치 위치에 상기 표시 오브젝트를 표시하고,
    상기 표시 오브젝트의 표시 후에, 타입의 지정 및 파라미터에 대한 입력을 포함하는 제2 입력을 접수하고,
    상기 제2 입력에 의해서 입력된 파라미터를 적용한 상기 제2 입력에 의해서 지정된 타입의 동작 명령을 상기 제1 입력에 의해서 지정된 배치 위치에 따른 실행 타이밍에서 실행하는 동작 프로그램을 생성하는 처리부를 구비하는 것을 특징으로 하는 프로그램 작성 장치.
  2. 청구항 1에 있어서,
    상기 편집 화면에 표시되는 각 타이밍 차트의 가로축은, 공통의 동기 기준을 나타내고,
    상기 처리부는,
    각 타이밍 차트의 가로축에 직교하면서, 또한 각 타이밍 차트에 공통인 제1 직선을, 상기 편집 화면에 표시하고,
    상기 제1 직선을 가로축 방향으로 이동하는 제3 입력을 접수하고,
    각 타이밍 차트에 배치된 표시 오브젝트에 각각 대응하는 상기 동작 프로그램을 구성하는 각각의 동작 명령의 실행 타이밍을 상기 제3 입력에 따라 일률적으로 변경하는 것을 특징으로 하는 프로그램 작성 장치.
  3. 청구항 2에 있어서,
    상기 처리부는 2 이상의 상기 제1 직선을 상기 편집 화면에 표시하고,
    상기 제3 입력은, 상기 2 이상의 제1 직선 중 2개의 제1 직선으로 나누어지는 구간의 간격을 변경하는 입력인 것을 특징으로 하는 프로그램 작성 장치.
  4. 청구항 3에 있어서,
    상기 처리부는,
    배치 위치와 제로값 이상의 간격을 지정하여 새로운 구간을 삽입하는 제4 입력을 접수하고,
    상기 편집 화면의 상기 지정된 배치 위치에 상기 지정된 간격의 2개의 제1 직선으로 나누어지는 새로운 구간을 삽입함과 아울러, 상기 편집 화면의 상기 지정된 배치 위치에 따른 타이밍보다도 후에 실행되는 모든 동작 명령의 실행 타이밍을 상기 지정된 간격에 따른 양만큼 일률적으로 변경하는 것을 특징으로 하는 프로그램 작성 장치.
  5. 청구항 1에 있어서,
    상기 처리부는,
    각 타이밍 차트의 가로축에 평행한 제2 직선을 상기 편집 화면에 표시하고,
    상기 제2 직선을 세로축 방향으로 이동하는 제5 입력을 동작 명령마다 접수하고,
    상기 제5 입력과 상기 제5 입력이 입력된 동작 명령의 타입에 따라 당해 동작 명령의 궤적을 변경하는 것을 특징으로 하는 프로그램 작성 장치.
  6. 청구항 5에 있어서,
    상기 제5 입력이 입력된 동작 명령은 위치 지령이고,
    상기 처리부는,
    상기 제5 입력 전에 동작 명령의 궤적상의 포인트를 상기 제5 입력에 의해서 이동되는 상기 제2 직선에 관련짓는 제6 입력을 접수하고,
    상기 제5 입력이 입력되었을 때, 상기 제6 입력에 의해 관련지어진 포인트를 상기 제2 직선의 이동에 추종시켜 이동시키고, 상기 제6 입력에 의해 관련지어져 있지 않은 포인트는 상기 제2 직선의 이동에 추종시키지 않도록 상기 동작 명령의 궤적을 변경하는 것을 특징으로 하는 프로그램 작성 장치.
  7. 청구항 1 내지 청구항 6 중 어느 한 항에 있어서,
    상기 제1 입력에 의해서 지정되는 배치 위치는, 제1 배치 위치와 상기 제1 배치 위치보다도 가로축 좌표치가 큰 제2 배치 위치를 포함하고,
    각 표시 오브젝트는, 제1 배치 위치로부터 제2 배치 위치까지를 덮는 크기를 가지고,
    상기 처리부는 상기 제1 배치 위치에 따른 타이밍을 동작 명령의 개시 타이밍으로 하고, 상기 제2 배치 위치에 따른 타이밍을 동작 명령의 종료 타이밍으로 하는 것을 특징으로 하는 프로그램 작성 장치.
  8. 청구항 7에 있어서,
    상기 처리부는,
    2 이상의 표시 오브젝트를 선택함과 아울러 상기 제1 배치 위치와 상기 제2 배치 위치의 간격을 변경하는 제7 입력을 접수하고,
    상기 제7 입력에 의해서 선택된 모든 표시 오브젝트에 대응하는 각 동작 명령에 대해 동작 시간을 상기 제7 입력에 따라 변경하는 것을 특징으로 하는 프로그램 작성 장치.
  9. 청구항 1에 있어서,
    상기 처리부는,
    2 이상의 표시 오브젝트를 선택함과 아울러 배치 위치를 변경하는 제8 입력을 접수하고,
    상기 제8 입력에 의해서 선택된 모든 표시 오브젝트에 대응하는 각 동작 명령의 개시 타이밍을 상기 제8 입력에 따라 변경하는 것을 특징으로 하는 프로그램 작성 장치.
  10. 청구항 6에 있어서,
    상기 처리부는,
    2 이상의 표시 오브젝트를 그룹화하는 제9 입력을 접수하고,
    상기 2 이상의 표시 오브젝트를 1개의 그룹으로서 기억하고,
    상기 그룹을 구성하는 표시 오브젝트의 제1 및 제2 배치 위치 중 양단에 위치하는 배치 위치 사이의 간격을 변경하는 제10 입력을 접수하고,
    상기 그룹을 구성하는 표시 오브젝트에 대응하는 각각의 동작 명령 중 가장 빨리 실행되는 동작 명령의 개시 타이밍에서부터 상기 각각의 동작 명령의 개시 타이밍까지의 시간의 변경율과, 상기 각각의 동작 명령의 동작 시간의 변경율과, 상기 제9 입력에 의한 배치 위치 사이의 간격의 변경율이 변경의 전후에서 동일해지도록, 상기 각각의 동작 명령의 개시 타이밍 및 동작 시간을 변경하는 것을 특징으로 하는 프로그램 작성 장치.
  11. 청구항 1에 있어서,
    상기 처리부는,
    동작 명령을 개별로 편집하기 위한, 상기 편집 화면과 다른 작업 화면을 상기 표시장치에 추가로 표시하는 것을 특징으로 하는 프로그램 작성 장치.
  12. 표시장치를 구비하는 컴퓨터가 2 이상의 제어 단위를 동기시켜 동작시키는 동기 제어장치의 동작 프로그램을 작성하는 프로그램 작성 방법으로서,
    상기 컴퓨터가, 제어 단위마다의 타이밍 차트를 세로 방향으로 배열한 편집 화면을 표시장치에 표시하는 스텝과,
    상기 컴퓨터가, 상기 타이밍 차트에 표시 오브젝트를 배치 위치를 지정하여 배치하는 제1 입력을 접수하는 스텝과,
    상기 컴퓨터가, 상기 타이밍 차트상의 상기 제1 입력에 의해서 지정된 배치 위치에 상기 표시 오브젝트를 표시하는 스텝과,
    상기 컴퓨터가, 상기 표시 오브젝트의 표시 후에, 타입의 지정 및 파라미터에 대한 입력을 포함하는 제2 입력을 접수하는 스텝과,
    상기 컴퓨터가, 상기 제2 입력에 의해서 입력된 파라미터를 적용한 상기 제2 입력에 의해서 지정된 타입의 동작 명령을 상기 제1 입력에 의해서 지정된 배치 위치에 따른 실행 타이밍에서 실행하는 동작 프로그램을 생성하는 스텝을 구비하는 것을 특징으로 하는 프로그램 작성 방법.
  13. 2 이상의 제어 단위를 동기시켜 동작시키는 동기 제어장치의 동작 프로그램을 컴퓨터에 작성시키는 프로그램으로서,
    상기 컴퓨터에,
    제어 단위마다의 타이밍 차트를 세로 방향으로 배열한 편집 화면을 표시장치에 표시하는 스텝과,
    상기 타이밍 차트에 표시 오브젝트를 배치 위치를 지정하여 배치하는 제1 입력을 접수하는 스텝과,
    상기 타이밍 차트상의 상기 제1 입력에 의해서 지정된 배치 위치에 상기 표시 오브젝트를 표시하는 스텝과,
    상기 표시 오브젝트의 표시 후에, 타입의 지정 및 파라미터에 대한 입력을 포함하는 제2 입력을 접수하는 스텝과,
    상기 제2 입력에 의해서 입력된 파라미터를 적용한 상기 제2 입력에 의해서 지정된 타입의 동작 명령을 상기 제1 입력에 의해서 지정된 배치 위치에 따른 실행 타이밍에서 실행하는 동작 프로그램을 생성하는 스텝을 실행시키는 것을 특징으로 하는 프로그램.
KR1020167013431A 2013-10-31 2013-10-31 프로그램 작성 장치, 프로그램 작성 방법 및 프로그램 KR20160075629A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/079559 WO2015063925A1 (ja) 2013-10-31 2013-10-31 プログラム作成装置、プログラム作成方法、およびプログラム

Publications (1)

Publication Number Publication Date
KR20160075629A true KR20160075629A (ko) 2016-06-29

Family

ID=53003568

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167013431A KR20160075629A (ko) 2013-10-31 2013-10-31 프로그램 작성 장치, 프로그램 작성 방법 및 프로그램

Country Status (7)

Country Link
US (1) US20160231733A1 (ko)
JP (1) JP6045716B2 (ko)
KR (1) KR20160075629A (ko)
CN (1) CN105683850B (ko)
DE (1) DE112013007560T5 (ko)
TW (1) TWI501057B (ko)
WO (1) WO2015063925A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017102509A (ja) * 2015-11-30 2017-06-08 ファナック株式会社 カムデータ表示装置
JP6747104B2 (ja) * 2016-06-30 2020-08-26 オムロン株式会社 セーフティシステム、プログラム、および方法
JP6922333B2 (ja) * 2017-03-29 2021-08-18 オムロン株式会社 情報処理装置、情報処理方法、および情報処理プログラム
JPWO2018179185A1 (ja) * 2017-03-29 2019-04-04 三菱電機株式会社 モーション制御装置及び外部表示装置
KR101986476B1 (ko) * 2017-04-17 2019-06-05 미쓰비시덴키 가부시키가이샤 프로그램 작성 장치
JP6542833B2 (ja) * 2017-04-28 2019-07-10 ファナック株式会社 制御装置及び機械学習装置
JP6922583B2 (ja) * 2017-09-15 2021-08-18 オムロン株式会社 情報処理装置、情報処理方法、および、情報処理プログラム
DE112017008287T5 (de) * 2017-12-19 2020-09-03 Mitsubishi Electric Corporation Zeitablaufdiagramm-verifizierungshilfsvorrichtung, zeitablaufdiagramm-verifizierungshilfsverfahren, und zeitablaufdiagramm-verifizierungshilfsprogramm
CN110929315B (zh) * 2019-07-25 2023-07-04 上海钢通网络科技有限公司 钢桥设计中通用加劲肋设计编辑方法
JP6761158B1 (ja) 2019-12-16 2020-09-23 株式会社安川電機 プログラム作成装置、プログラム作成方法、及びプログラム
EP4099107A4 (en) * 2020-01-28 2024-02-28 Opton Co., Ltd. CONTROL PROGRAM GENERATION APPARATUS, CONTROL PROGRAM GENERATION METHOD AND PROGRAM
JP6829505B1 (ja) * 2020-04-20 2021-02-10 株式会社オプトン 制御プログラム生成装置、制御プログラム生成方法、プログラム
TW202147049A (zh) * 2020-01-28 2021-12-16 日商歐普同股份有限公司 動作控制裝置、動作控制方法、程式
JP6787616B1 (ja) * 2020-01-28 2020-11-18 株式会社オプトン 制御プログラム生成装置、制御プログラム生成方法、プログラム
EP4099110A4 (en) * 2020-01-28 2024-04-03 Opton Co., Ltd. CONTROL PROGRAM GENERATING DEVICE, CONTROL PROGRAM GENERATING METHOD AND PROGRAM
JP7375632B2 (ja) 2020-03-13 2023-11-08 オムロン株式会社 制御システムおよびサポート装置
TWI744147B (zh) 2020-12-24 2021-10-21 財團法人工業技術研究院 可動式機械的動作測試方法與控制主機
EP4083720A1 (en) * 2021-04-26 2022-11-02 ABB Schweiz AG Search for a curve section in a process control system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3665008B2 (ja) 2001-10-25 2005-06-29 ファナック株式会社 同期制御方法及び同期制御装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0863345A (ja) * 1994-08-22 1996-03-08 Sony Corp プログラム自動生成装置
JP2000047857A (ja) * 1998-07-27 2000-02-18 Yamatake Corp イベント駆動型ファンクションブロックのプログラミング方法とプログラム記録媒体
JP2005242683A (ja) * 2004-02-26 2005-09-08 Mitsubishi Electric Corp コンピュータを用いたプログラム作成装置
JP2005309593A (ja) * 2004-04-19 2005-11-04 Mitsubishi Electric Corp プログラム作成装置及びプログラム作成方法
JP2006344076A (ja) * 2005-06-09 2006-12-21 Nec Electronics Corp プログラム生成装置、プログラム生成方法及びプログラム
JP4110557B2 (ja) * 2005-06-21 2008-07-02 三菱電機株式会社 プログラム実行システムを備えた検査装置およびプログラミングシステム
DE102009019089A1 (de) * 2009-04-20 2010-11-04 Pilz Gmbh & Co. Kg Verfahren und Vorrichtung zum Erstellen eines Anwenderprogramms für eine Sicherheitssteuerung
JP2011022722A (ja) * 2009-07-14 2011-02-03 Optex Co Ltd プログラム生成装置
US20120030496A1 (en) * 2010-07-30 2012-02-02 Sundeep Chandhoke Specification of Isochronous Data Transfer in a Graphical Programming Language
JP5817256B2 (ja) * 2011-06-29 2015-11-18 株式会社ジェイテクト 機械制御プログラム作成装置
US9170703B2 (en) * 2012-07-26 2015-10-27 Ascent Technology, Inc. Methods and apparatus for adding user-customizable features to application software

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3665008B2 (ja) 2001-10-25 2005-06-29 ファナック株式会社 同期制御方法及び同期制御装置

Also Published As

Publication number Publication date
JP6045716B2 (ja) 2016-12-14
DE112013007560T5 (de) 2016-08-11
US20160231733A1 (en) 2016-08-11
JPWO2015063925A1 (ja) 2017-03-09
CN105683850A (zh) 2016-06-15
TWI501057B (zh) 2015-09-21
WO2015063925A1 (ja) 2015-05-07
TW201516593A (zh) 2015-05-01
CN105683850B (zh) 2018-01-23

Similar Documents

Publication Publication Date Title
KR20160075629A (ko) 프로그램 작성 장치, 프로그램 작성 방법 및 프로그램
JP3599360B2 (ja) 形状モデリング装置及び形状モデリング方法
JP5905159B2 (ja) 数値制御プログラム編集装置、数値制御プログラム編集方法およびプログラム
TWI498693B (zh) 多軸控制系統設定、調整功能支援裝置
JP2016209969A5 (ko)
JP6038189B2 (ja) 同期制御装置
US10437229B2 (en) Numerical controller
US6795748B2 (en) Input method for programming industrial controllers
KR20120085420A (ko) 컴퓨터 수치 제어 공작기계에서 대화형 프로그램을 이용한 가공 형상 입력 장치 및 방법
JP5931289B2 (ja) 指令値生成装置
WO2018042704A1 (ja) 指令値生成装置
US20180210420A1 (en) Display device and display method
JPH0363756A (ja) 文書編集装置
KR101748547B1 (ko) 위치 결정 제어 장치의 동기 제어 설정 방법, 프로그램 및 위치 결정 제어 장치의 제어 설정 장치
US9984503B2 (en) Systems and methods of updating graphical objects
JP6149915B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP2002169843A (ja) 設計支援システム
JPH09120308A (ja) 工具経路描画方法
JP6876523B2 (ja) 建物の施工管理支援システム、建物の施工管理支援方法、および建物の施工管理支援プログラム
JP2003281206A (ja) 設計支援装置
JPH05290106A (ja) 曲線作成方法および装置
JP6219866B2 (ja) 表示機能付き数値制御装置および表示プログラム
JPH06332909A (ja) 計画管理システム
JP3327734B2 (ja) 図形処理方法および装置
JP3172846B2 (ja) 形状処理装置

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