KR102079499B1 - Plc 위치 결정 시스템의 축별 제어주기 독립 할당 방법 - Google Patents

Plc 위치 결정 시스템의 축별 제어주기 독립 할당 방법 Download PDF

Info

Publication number
KR102079499B1
KR102079499B1 KR1020150146342A KR20150146342A KR102079499B1 KR 102079499 B1 KR102079499 B1 KR 102079499B1 KR 1020150146342 A KR1020150146342 A KR 1020150146342A KR 20150146342 A KR20150146342 A KR 20150146342A KR 102079499 B1 KR102079499 B1 KR 102079499B1
Authority
KR
South Korea
Prior art keywords
axis
axis group
control
position control
group
Prior art date
Application number
KR1020150146342A
Other languages
English (en)
Other versions
KR20170046256A (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 엘에스산전 주식회사
Priority to KR1020150146342A priority Critical patent/KR102079499B1/ko
Priority to EP16186659.5A priority patent/EP3159761B1/en
Priority to ES16186659T priority patent/ES2752879T3/es
Priority to CN201610839540.8A priority patent/CN106843121B/zh
Priority to US15/293,215 priority patent/US10394213B2/en
Priority to JP2016203273A priority patent/JP6429842B2/ja
Publication of KR20170046256A publication Critical patent/KR20170046256A/ko
Application granted granted Critical
Publication of KR102079499B1 publication Critical patent/KR102079499B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • 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/054Input/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/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/19Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • G05B19/27Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an absolute digital measuring device
    • G05B19/29Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an absolute digital measuring device for point-to-point control
    • 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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • 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/13042Display logic diagram, LOP
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34323Commanding different axis in sequential order as function of direction of movement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34411Handling time critical and time non critical program sequences
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34412Mark some sequences of time non critical sequences as locked, non interruptable
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36507Select program or execute command, control instructions as function of axis position

Abstract

PLC 위치 결정 시스템의 제어 주기 할당 방법으로서, 각 축에 대하여 제1 제어 주기를 가지는 제1 축 그룹과 제2 제어주기를 가지는 제2 축 그룹으로 구분하여 각 축별로 다른 제어 주기를 할당하는 단계; 상기 제2 축 그룹의 위치제어 연산 중 제1 축 그룹의 위치제어 연산이 요청되면 인터럽트에 의한 태스크 전환을 통해 상기 제1 축 그룹의 위치제어 연산을 수행하는 단계; 및 상기 제1 축 그룹의 위치제어 연산을 완료한 다음 인터럽트에 의한 태스크 전환을 통해 상기 제2 축 그룹의 위치제어 연산을 이어서 수행하는 단계를 포함하는 PLC 위치 결정 시스템의 축별 제어주기 독립 할당 방법이 제공된다.

Description

PLC 위치 결정 시스템의 축별 제어주기 독립 할당 방법{A method of independent control period allocation of axis in the PLC positioning system}
본 발명은 PLC 위치 결정 시스템의 축별 제어주기 독립 할당 방법에 관한 것으로, 상세하게는 다 수의 축을 제어하는 PLC 위치 결정 시스템에서 각 축을 빠른 응답을 요구하는 제1 축 그룹과 비교적 느린 응답을 요구하는 제2 축 그룹으로 구분하고, 제1 축 그룹의 위치제어 연산이 요구되는 시점에서 태스크를 전환하여 제1 축 그룹의 위치제어 연산을 제2 축 그룹의 위치제어 연산보다 우선적으로 수행하도록 축별로 제어 주기를 독립적으로 할당하는 PLC 위치 결정 시스템의 축별 제어주기 독립 할당 방법에 관한 것이다.
PLC(Programmable Logic Controller)의 위치 결정 기능은 PLC의 트랜지스터 출력 접점으로 고속의 펄스열을 출력하여 모터를 구동함으로써 대상체를 정확한 위치로 이동시키는 기능이다.
자동 제어 시스템의 복잡성이 점차 높아짐에 따라 다수의 축을 하나의 컨트롤러로 제어하는 어플리케이션이 많아졌다. 기존의 펄스나 아날로그 신호를 이용한 직접적인 서보 드라이브 제어는 입출력 접점과 서보 드라이브가 1:1로 연결되므로 제어할 수 있는 서보드라이브 개수에 한계가 있다.
그러나 근래에는 이러한 방식에서 벗어나 네트워크 기술을 이용하여 목표위치와 속도를 실시간으로 다수의 서보 드라이브에 전송하는 방식을 활용하고 있다.
예를 들어 EtherCAT 프로토콜을 이용하면 100개의 서보 축에 대해 100us마다 명령어 값과 제어데이터를 제공할 수 있다. 하지만, 100개의 서보축에 대하여 각각의 이동량을 100us마다 연산하기는 어렵다. 물론 성능이 좋은 MPU를 사용하면 연산 시간을 줄일 수는 있지만, 근본적인 한계는 여전히 존재한다.
PLC의 위치 결정 시스템은 단위시간을 제어주기로 정하여 제어주기마다 출력할 펄스를 연산한다. 제어주기는 제조사와 제품에 따라 차이가 있으며 일반적으로 수백 ㎲에서 수십 ㎳이다. 제어주기 동안 출력되는 펄스의 주파수는 일정하며, 제어주기마다 다음 제어주기 동안 출력될 펄스의 속도가 결정된다. 따라서, 제어주기는 짧을수록 더욱 매끄러운 모터제어가 가능해진다.
도 1 및 도 2는 종래의 PLC 위치결정 시스템의 위치제어 연산방식을 설명하기 위한 도면이다.
도 1 및 도 2를 참조하면, 각 구간의 제어주기 시작지점부터 축 별로 제어주기 내에 이동할 이동량을 연산한다(S1). 일반적으로 제1 축부터 시작하여 마지막 축(제품별로 다름)까지 연산을 완료한다. 연산을 완료하면 해당 제어주기의 남은 시간 동안 대기하거나 제어에 필요한 나머지 작업을 진행한다(S2). 연산을 완료한 이후 다음 제어주기 동안 이전 제어주기에서 연산한 이동량을 서보드라이브에 출력하고 해당 제어주기에서는 각 축의 그 다음 제어주기 동안의 이동량을 연산한다(S3). 제2 제어주기 동안 제1 제어주기에서 연산된 이동량을 출력한다. 이때 연산된 이동량은 출력버퍼에 저장되어 있다가 출력된다.
종래 방식은 각 축 별로 제어주기가 동일 하므로 모든 축의 최대 연산시간을 고려하여 제어주기를 할당해야 한다. 예를 들어 1개의 축 연산시간이 최대 1ms이고 동일한 종류의 축이 10개인 시스템을 제어한다면 최소 10ms로 제어주기를 할당해야 한다.
도 3은 종래의 PLC 위치 결정 시스템에서 모든 축을 연산하는 시간이 제어주기를 초과한 경우를 설명하기 위한 도면이다.
도 3을 참조하면, 1 축과 2 축을 포함한 최초 제어주기 내에 연산을 완료한 축의 이동량은 다음 제어주기 동안 정상적으로 서보드라이브에 전달되겠지만, 최초 제어주기(제1 구간)내에서 연산을 완료하지 못한 축은 다음 제어주기 동안 출력할 이동량이 없게 된다. 따라서 제2 구간에서 n축은 실제 출력이 되지 않으며 이와 같은 현상은 누적될 시 점점 더 큰 위치 오차를 유발한다. 따라서 모든 축에 대하여 동일한 제어주기로 제어한다면 할당한 제어주기 내에 모든 축의 위치제어 연산을 완료해야 한다.
하지만 제어주기는 제어 시스템의 응답성과 유연성에 영향을 준다. 제어주기가 길면 그만큼 엔드 포인트(End-Point)에서 반응 속도가 느려지며 이는 제조업의 생산량에 직접적인 영향을 준다. 또한, 가/감속 구간에서 속도 변화량이 커지므로 기구적인 충격에 의한 고장을 유발할 가능성이 높아진다. 따라서, 다 수의 축을 연산할 경우 다른 구현 방법이 요구된다.
본 발명이 해결하고자 하는 과제는 다 수의 축을 제어하는 PLC 위치 결정 시스템에서 모든 축을 유연하게 제어하기 위해 제어 대상의 축을 빠른 응답을 요구하는 제1 축 그룹과 비교적 느린 응답을 요구하는 제2 축 그룹으로 구분하고, 제1 축 그룹 연산이 요구되는 시점에서 태스크를 전환하여 제1 축 그룹의 위치제어 연산을 제2 축 그룹의 위치제어 연산보다 우선 수행하도록 축별로 제어 주기를 독립적으로 할당하는 PLC 위치 결정 시스템의 축별 제어주기 독립 할당 방법을 제공하는데 있다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 제안되는 실시 예가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일측면에 의하면, PLC 위치 결정 시스템의 제어 주기 할당 방법으로서, 각 축에 대하여 제1 제어 주기를 가지는 제1 축 그룹과 제2 제어주기를 가지는 제2 축 그룹으로 구분하여 각 축별로 다른 제어 주기를 할당하는 단계; 상기 제2 축 그룹의 위치제어 연산 중 제1 축 그룹의 위치제어 연산이 요청되면 인터럽트에 의한 태스크 전환을 통해 상기 제1 축 그룹의 위치제어 연산을 수행하는 단계; 및 상기 제1 축 그룹의 위치제어 연산을 완료한 다음 인터럽트에 의한 태스크 전환을 통해 상기 제2 축 그룹의 위치제어 연산을 이어서 수행하는 단계를 포함하는 PLC 위치 결정 시스템의 축별 제어주기 독립 할당 방법이 제공된다.
상기 각 축별로 다른 제어 주기를 할당하는 단계는, 상기 제1 축 그룹에 단일 축을 지정할 수 있다.
상기 각 축별로 다른 제어 주기를 할당하는 단계는, 상기 제1 축 그룹에 복수개의 축을 지정할 수 있다.
상기 각 축별로 다른 제어 주기를 할당하는 단계에서, 상기 제1 제어주기 및 상기 제2 제어주기는 각 축에 대하여 위치 제어 연산 실행 구간 및 마진 구간을 포함할 수 있다.
상기 제2 축 그룹의 위치제어 연산을 이어서 수행하는 단계는, 상기 제1 제어주기의 위치 제어 연산 실행 구간동안에 상기 제1 축 그룹의 위치제어 연산을 완료되면 상기 제2 축 그룹의 위치제어 연산을 위한 태스크 전환을 수행할 수 있다.
상기 제2 축 그룹의 위치제어 연산을 이어서 수행하는 단계는, 상기 제1 축 그룹의 상기 마진 구간동안 상기 제2 축 그룹의 위치제어 연산을 이어서 수행할 수 있다.
상기 각 축별로 다른 제어 주기를 할당하는 단계는, 상기 제1 축 그룹의 축에 ISP 영역의 스택을 할당하고, 상기 제2 축 그룹의 축에 USP 영역의 스택을 할당하는 단계를 더 포함할 수 있다.
상기 각 축별로 다른 제어 주기를 할당하는 단계는, 상기 ISP영역을 사용하는 축의 연산은 제 1 제어주기보다 짧은 시간에 완료할 수 있도록 지정할 수 있다.
상기 제1 축 그룹의 위치 제어 연산을 수행하는 단계는, 제2 제어그룹의 제어연산을 수행하는 중에 상기 제1 제어주기의 위치제어 연산이 요구되는 시점에서 스택 전환 인터럽트가 발생되면 모든 레지스터를 상기 USP 영역에 푸시하고 인터럽트 서비스 루틴 완료후 ISP 영역으로 복귀하도록 복귀 주소를 제1 제어주기 연산 영역으로 변경하는 단계를 포함하고, 상기 제2 축 그룹의 위치제어 연산을 이어서 수행하는 단계는, 상기 제1 제어그룹의 제어연산을 완료하면 상기 ISP 영역에 일반 레지스터와 상태 레지스터, 프로그램 카운터를 푸시하고 상기 USP 영역으로 스택 전환한 후 다시 제2 제어그룹의 제어연산을 이어서 수행하는 단계를 포함할 수 있다.
본 발명에 의하면, 다 수의 축을 제어하는 PLC 위치 결정 시스템에서 모든 축을 유연하게 제어하기 위해 기존의 일괄적인 제어주기를 적용하는 방법에서 벗어나 각 축을 제1 축 그룹(빠른 응답을 요구하는 축)과 제2 축 그룹(비교적 느린 응답을 요구하는 축)으로 구분하고, 두개 그룹의 운전데이터 연산 중 제1 축 그룹 연산이 요구되는 시점에서 태스크를 전환하여 제1 축 그룹의 위치제어 연산을 우선 수행할 수 있다.
본 발명에 의하면, 빠른 응답이 요구되는 축에 대하여 연산 우선순위를 부여하여 제어축이 많아지더라도 빠른 응답을 요구하는 축의 응답 속도를 보장할 수 있다.
산업 현장에서는 다관절 로봇 등 반응 속도에 민감하고 축 별 동기가 중요한 축이 있고, 컨베이어 벨트 등 반응속도나 축 별 동기에 비교적 덜 민감한 축이 있다. 따라서, 본 발명에 의하면 제1 축 그룹에 다 관절 로봇 등을 제어하는 축을 할당하고, 제2 축 그룹에 컨베이어 벨트 등을 제어하는 축을 할당하여 대규모 시스템에서도 서보드라이브를 유연하게 제어할 수 있다.
도 1은 종래의 PLC 위치결정 시스템의 위치제어 연산방식을 설명하기 위한 도면이다.
도 2는 종래의 PLC 위치결정 시스템의 위치제어 연산방식을 설명하기 위한 도면이다.
도 3은 종래의 PLC 위치 결정 시스템에서 모든 축을 연산하는 시간이 제어주기를 초과한 경우를 설명하기 위한 도면이다.
도 4는 본 발명의 일실시예에 따른 PLC 위치 결정 시스템을 설명하기 위한 도면이다.
도 5는 본 발명의 일실시예에 따른 PLC 위치 결정 시스템의 축별 제어주기 독립 할당 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 일실시예에 따른 PLC 위치 결정 시스템의 축별 제어주기 독립 할당 방법에서 함수 호출시에 현재 스택의 저장 영역을 나타낸다.
도 7은 본 발명의 일실시예에 따른 PLC 위치 결정 시스템의 축별 제어주기 독립 할당 방법에서 인터럽트 호출 시 현재 스택의 저장 영역을 나타낸다.
도 8은 본 발명의 일실시예에 따른 짧은 제어주기와 긴 제어주기의 제어연산 수행을 설명하기 위한 도면이다.
도 9는 본 발명의 일실시예에 따른 PLC 위치 결정 시스템의 축별 제어주기 독립 할당 방법의 시뮬레이션 결과를 설명하는 그래프이다.
도 10은 본 발명의 일실시예에 따른 PLC 위치 결정 시스템의 축별 제어주기 독립 할당 방법의 시뮬레이션 결과를 설명하는 그래프이다.
본 발명은 다양한 변경을 가할 수 있고 여러가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 4는 본 발명의 일실시예에 따른 PLC 위치 결정 시스템을 설명하기 위한 도면이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 PLC 위치 결정 시스템(100)은 위치 결정 제어부(110), 고속 포토 커플러(120) 및 외부 인터페이스부(130)를 포함하여 구성될 수 있다.
위치 결정 제어부(110)는 각 축을 제1 축 그룹과 제2 축 그룹으로 나누어 두 그룹의 운전데이터 연산 중 제1 축 그룹 연산이 요구되는 시점에서 태스크를 전환하여 제1그룹의 위치제어 연산을 우선 수행하도록 구성된다. 제1 축 그룹은 빠른 응답을 요구하는 축이 해당된다. 제2 축 그룹은 비교적 느린 응답을 요구하는 축이 해당된다.
위치 결정 제어부(110)는 제1 축 그룹에 하나의 축을 지정하고, 제2 축 그룹에 나머지 축들을 지정할 수 있다. 이렇게 하면 제1 축 그룹에 지정된 축에 대한 연산이 다른 축에 대하여 우선적으로 실행될 수 있다.
위치 결정 제어부(110)는 제1 축 그룹에 복수개의 축을 지정하고, 제2 축 그룹에 나머지 축들을 지정할 수 있다. 이렇게 하면 제1 축 그룹에 지정된 두개의 축에 대한 연산이 다른 축에 대하여 우선적으로 실행될 수 있다.
예를 들어, 위치 결정 제어부(110)는 제1 축 그룹에 두개의 축을 지정하고, 제2 축 그룹에 나머지 축들을 지정할 수 있다. 이렇게 하면 제1 축 그룹에 지정된 두개의 축에 대한 연산이 다른 축에 대하여 우선적으로 실행될 수 있다. 이때, 제1 축 그룹에 지정된 두개의 축은 서로 동일한 우선 순위를 가지게 된다. 제1 축 그룹에 지정되는 축의 개수가 많아질수록 제1 축 그룹내에 지정된 축간에 우선순위를 공유함에 따라 가급적이면 제1 축 그룹으로 지정되는 축의 개수를 하나로 하거나 가급적 개수가 적은 것이 바람직하다.
위치 결정 제어부(110)는 사용자에 의하여 설정된 펄스/방향 또는 CW/CCW인지의 출력 모드와 하이 액티브 또는 로우 액티브 인지의 출력 레벨에 따라 고속 펄스열을 생성할 수 있다. 펄스열은 절연 전송부인 고속 포토 커플러(120)를 통하여 외부와 절연된 상태로 외부로 펄스열을 전송하게 된다. 고속 포토 커플러(120)를 통하여 전송된 펄스열은 외부 인터페이스부(130)에 의하여 외부의 모터 드라이버(200)에 적합한 오픈 컬렉터 또는 라인 드라이브 형태의 신호 레벨로 변환되어 출력된다.
도 5는 본 발명의 일실시예에 따른 PLC 위치 결정 시스템의 축별 제어주기 독립 할당 방법을 설명하기 위한 도면이다.
도 5를 참조하면, 위치 결정 제어부(110)는 각 축에 대하여 제1 제어 주기를 가지는 제1 축 그룹과 제2 제어주기를 가지는 제2 축 그룹으로 구분하여 각 축별로 다른 제어 주기를 할당한다(S11).
즉, 위치 결정 제어부(110)는 태스크 전환을 이용해 빠른 응답을 요구하는 축에 대하여 짧은 제어주기(제1 제어주기)를 적용하고 비교적 응답이 늦어도 되는 축에 대해서는 긴 제어주기(제2 제어주기)를 할당하도록 각 축별로 다른 제어 주기를 할당한다.
예를 들어 위치 결정 제어부(110)는 다관절 로봇 등 짧은 제어주기가 요구되는 서보 드라이브 그룹(제1 축 그룹)과, 컨베이이어 벨트 등 비교적 제어주기가 길어도 무방한 서보드라이브 그룹(제2 축 그룹)으로 구분하여 제1 축 그룹의 위치제어 연산 우선 순위를 제2 축 그룹의 위치제어 연산 우선 순위보다 높게 한다.
즉, 위치 결정 제어부(110)는 제2 축 그룹의 위치제어 연산 중 제1 축 그룹의 위치제어 연산이 요청되면 제1 축 그룹의 위치 제어 연산을 수행하고(S12) 제1 축 그룹의 위치제어 연산을 완료한 다음 제2 축 그룹의 위치제어 연산을 이어서 수행한다(S13). 이를 통해 제2 축 그룹의 제어주기를 늘리는 대신 제1 축 그룹의 짧은 제어 주기를 보장할 수 있다.
위치 결정 제어부(110)는 MPU(Micro Process Unit)를 이용하여 구현될 수 있다. 이러한 경우 위치 결정 제어부(110)는 MPU의 내부 주변 장치(periperal)을 이용한 태스크 전환을 이용하여 제어 주기 독립 할당을 수행할 수 있다.
RTOS(Real Time Operating System)를 이용하여 태스크 전환 기술을 구현하는 경우에는 필요없는 주기적/비 주기적 스케쥴링이 많은 부하를 유발하므로 MPU 자원이 낭비될 수 있다.
따라서, 위치 결정 제어부(110)는 RTOS의 기능 중에서 타이머 인터럽트 발생 시 유연하게 태스크 전환이 가능한 프로세스를 수행할 수 있다.
즉, 위치 결정 제어부(110)는 제어주기가 긴 축의 위치 연산 중에 제어주기가 짧은 축의 위치 연산이 요구될 때에는 진행하던 연산을 멈추고 제어주기가 짧은 축의 위치연산을 우선적으로 수행한다. 위치 결정 제어부(110)는 제어주기가 짧은 축의 위치연산을 완료하면 다시 제어주기가 긴 축의 위치연산을 이어서 진행한다.
이를 위해 위치 결정 제어부(110)는 두 가지 축 제어 규칙을 구비한다.
첫째, 제어주기가 긴 축의 위치제어 연산 중 제어주기가 짧은 축의 위치제어 연산이 요구되면 즉시 제어주기가 짧은 축의 위치제어 연산루틴이 수행되도록 구성된다.
둘째, 제어주기가 짧은 축의 위치제어 연산이 완료되면 제어주기가 긴 축의 위치제어 연산이 이어서 진행되도록 구성된다.
서로 다른 제어주기를 가진 축의 위치제어 연산을 유연하게 구현하기 위해 태스크 전환 기법이 필요하다. 일반적인 RTOS는 타임틱(Time Tick)을 이용하거나 커널이 동작하는 API함수 호출을 이용해 태스크를 전환한다. 커널의 스케쥴러는 커널 함수가 호출되면 현재 준비상태인 태스크 중 가장 높은 우선순위를 가지는 태스크를 실행한다.
하지만 일반적인 임베디드 RTOS의 타임틱(Time Tick)은 10ms이고, 통상적으로 위치결정 제어를 위해서는 1ms내외의 제어주기를 기본으로 제공하고 있다. 이 때문에 태스크 전환을 위해 수행되는 작업들이 필요 이상으로 발생하여 오히려 시스템에 부담을 줄 수 있다. 따라서, 위치 결정 제어부(110)는 Non-RTOS상에서 멀티태스킹 기법만 활용하여 태스크 전환할 수 있는 방법이 적절하다.
태스크 전환을 위해 스택 분할이 필요하며, 스택 분할은 사용자가 임의로 소스코드로 구현할 수 있다. 예를 들어, 위치 결정 제어부(110)는 스택 분할 방식을 사용할 수 있다. 스택 분할 방식은 ISP(Interrupt Stack Pointer)와 USP(User Stack Pointer)를 이용할 수 있다. 위치 결정 제어부(110)는 컨트롤 레지스터 조작을 통해 현재 스택을 ISP영역을 사용할지 USP영역을 사용할지 결정할 수 있다.
도 6은 본 발명의 일실시예에 따른 PLC 위치 결정 시스템의 축별 제어주기 독립 할당 방법에서 함수 호출시에 현재 스택의 저장 영역을 나타낸다.
도 6을 참조하면, 위치 결정 제어부(110)는 Func1의 태스크를 수행하는 중에 Func2의 태스크를 수행하도록 함수 호출을 받을 수 있다. 이때, ISP 영역과 USP 영역을 사용하느냐에 따라 푸시(push)와 팝(pop)되는 영역이 서로 다르다.
위치 결정 제어부(110)는 ISP 영역을 사용하고 있는 경우, Func1의 태스크를 수행하는 중에 Func2의 태스크를 수행하기 위한 함수 호출이 있는 경우 ISP 영역에 푸시를 하고, 다시 Func2의 태스크 수행 완료후에 Func1의 태스크로 전환하는 경우에도 ISP 영역에서 팝(pop)한다.
한편, 위치 결정 제어부(110)는 USP 영역을 사용하고 있는 경우, Func1의 태스크를 수행하는 중에 Func2의 태스크를 수행하기 위한 함수 호출이 있는 경우 USP 영역에 푸시를 하고, 다시 Func2의 태스크 수행 완료후에 Func1의 태스크로 전환하는 경우에도 USP 영역에서 팝(pop)한다.
도 7은 본 발명의 일실시예에 따른 PLC 위치 결정 시스템의 축별 제어주기 독립 할당 방법에서 인터럽트 호출 시 현재 스택의 저장 영역을 나타낸다.
도 7을 참조하면, 위치 결정 제어부(110)는 ISP 영역을 사용하거나 USP 영역을 사용하는 모든 경우에 인터럽트가 발생되면 ISP영역을 사용하여 푸시(push)와 팝(pop)을 수행한다.
즉, 위치 결정 제어부(110)는 Func1의 태스크를 수행하는 중에 Interrupt1이 발생되면 ISP 영역에 푸시를 하고, Interrupt1의 태스크를 수행하는 중에 Interrupt2가 발생되면 ISP 영역에 푸시를 한다.
다시 Interrupt2의 태스크 수행 완료후에 Interrupt1의 태스크로 전환하는 경우에도 ISP 영역에서 팝(pop)한다. 그리고, Interrupt1의 태스크 수행 완료후에 Func1의 태스크로 전환하는 경우에도 ISP 영역에서 팝(pop)한다.
이와 같이 위치 결정 제어부(110)는 특별한 조작이 없을 경우에 ISP 영역을 사용하며, 함수를 호출하거나 인터럽트가 발생된 경우 현재 상태를 ISP 영역에 저장한다. 위치 결정 제어부(110)는 USP를 사용하는 경우에도 함수가 호출되는 경우에는 현재 상태를 USP영역에 저장하지만, 인터럽트가 발생한 경우에는 ISP영역을 사용할 수 있다.
따라서, 위치 결정 제어부(110)는 인터럽트 처리 프로세스를 이용하여 두 개의 독립적인 태스크 중 ISP영역은 빠른 응답속도를 요구하는 축에 대하여 사용하고, USP영역은 비교적 응답속도가 느려도 되는 축에 대하여 사용한다.
편의상 빠른 제어주기를 제1 제어주기라고 하고, 비교적 느린 제어주기를 제2 제어주기라고 정한다. 따라서 위치 결정 제어부(110)는 ISP 영역을 이용하는 축에 대하여는 제1 제어주기를 기준으로 운전데이터를 연산하고, USP영역을 이용하는 축에 대하여는 제2 제어주기를 기준으로 운전데이터를 연산한다. 제1 제어주기가 시작되면 ISP 영역을 사용하는 축의 위치제어 연산을 시작한다.
여기에서, ISP영역을 사용하는 축의 연산은 제 1 제어주기보다 짧은 시간에 완료할 수 있는 정도로 지정해야 한다. 제 1 제어주기보다 연산 시간이 긴 경우가 발생하지 않도록 하는 것에 유의해야 한다. 빠른 응답속도를 요구하는 축의 연산이 제 1 제어주기내에 완료되고 다음 제어주기가 시작되기 전까지 남는 시간 동안 느린 제어주기를 가지는 축의 연산을 하는 방식으로 태스크를 관리한다.
도 8은 본 발명의 일실시예에 따른 짧은 제어주기와 긴 제어주기의 제어연산 수행을 설명하기 위한 도면이다.
도 8을 참조하면, 위치 결정 제어부(110)는 운전데이터 연산을 시작하면 먼저 ISP영역에 있는 제 1 제어주기 연산을 시작한다. 제 1 제어주기에서 수행해야 할 모든 제어연산을 마무리하면 위치 결정 제어부(110)의 시스템 레지스터를 이용해 USP영역으로 스택전환한다.
위치 결정 제어부(110)는 USP 영역에서 제2 제어주기를 연산하는 도중에 제1 제어주기의 위치제어 연산을 위한 타이머 인터럽트가 발생하면 USP 영역에서의 연산을 멈추고 레지스터와 상태를 USP 영역의 스택에 저장한 후 ISP 영역으로 스택 전환을 한다. 태스크 전환을 이용해 제1 제어주기의 위치제어 연산을 우선적으로 수행한다. 이때, 프로그램 포인터는 ISP에서 USP로 전환하던 시점의 다음 스텝을 지정하므로 ISP 영역의 연산이 연결되어 이루어진다.
즉, 위치 결정 제어부(110)는 타이머 인터럽트를 이용해 제2 제어주기를 연산하는 동안 제1 제어주기의 위치제어 연산이 요구되는 시점에서 스택 전환 인터럽트(1ms)가 발생되면 모든 레지스터를 USP 영역에 푸시하고 인터럽트 서비스 루틴 완료후 ISP 영역으로 복귀하도록 복귀 주소를 제1 제어주기 연산 영역으로 변경한다. 이후 스택을 전환하여 제1 제어주기의 위치제어 연산을 수행하고, 제1 제어주기의 위치제어 연산을 완료하면 ISP 영역에 일반 레지스터와 상태 레지스터, 프로그램 카운터를 푸시하고 USP로 스택전환한 후 다시 제2 제어주기의 위치제어 연산을 이어서 수행한다.
도 9는 본 발명의 일실시예에 따른 PLC 위치 결정 시스템의 축별 제어주기 독립 할당 방법의 시뮬레이션 결과를 설명하는 그래프이다.
도 9를 참조하면, 일실시예에 따른 PLC 위치 결정 시스템의 축별 제어주기 독립 할당 방법의 시뮬레이션을 수행하기 위해 renesas사의 Rx621 MPU를 사용했다. 프로그램이 작업중인 영역이 ISP영역인지 USP영역인지 확인을 하기 위해 GPIO핀을 이용하여 출력되는 On/Off 신호를 오실로 스코프로 측정하였다. 제 1 제어주기 연산중인 경우에 오실로 스코프 3번 프로브(CH3)와 연결한 GPIO를 On, 연산 완료 후에는 Off 했고, 제 2 제어주기에 대해서 동일하게 2번 프로브(CH2)와 연결했다.
제 1 제어주기는 1ms로 지정하였고, 제 2 제어주기는 5ms로 지정했다. 즉, 제 1 제어주기가 5회 반복하는 동안 제 2 제어주기는 1회 반복한다.
위와 같은 방식으로 서로 다른 제어주기를 가지는 두 그룹의 운전데이터 연산이 시간의 흐름에 따라 아래와 같이 수행하는 것을 확인하였다.
도 9에 확인할 수 있듯이, 위치 결정 제어부(110)는 제1 제어주기 연산을 완료하면(S21), 제2 제어주기 태스크 전환을 이용해 제2 제어주기를 연산하고(S22), 제2 제어주기를 연산하는 도중에 제1 제어주기가 시작하는 시점에서 1ms타이머 인터럽트가 발생하고 제1 제어주기의 위치제어 연산을 수행하기 위해 스택전환을 수행한다(S23). 제1 제어주기의 연산을 완료하면 다시 제2 제어주기의 남은 연산을 지속하는 것을 확인할 수 있다.
여기에서, 제1 제어주기(CH3) 및 제2 제어주기(CH2)는 각 축에 대하여 위치 제어 연산 실행 구간 및 마진 구간을 포함하여 구성된다. 제1 제어주기가 1ms라고 하더라도 1ms의 전체 기간아 제1 제어 주기의 제어연산이 수행되는 제어연산 실행구간으로 사용되는 것이 아니고, 일부만 사용되고 나머지는 마진구간으로 이루어진다. 각 제어주기마다 제어연산 실행구간이 있고, 대기하는 마진구간이 있기 때문에 제1 제어주기의 실행이 완료되면 마진구간동안 기다리는 것이 아니라 제2 제어주기의 제어연산을 수행하게 된다.
도 10은 본 발명의 일실시예에 따른 PLC 위치 결정 시스템의 축별 제어주기 독립 할당 방법의 시뮬레이션 결과를 설명하는 그래프이다.
도 10을 참조하면, 제1 제어주기로 1축과 2축을 연산하고, 제2 제어주기로 3축과 4축을 연산한 결과를 나타낸다. 각 축은 동일한 속도로 이동하도록 설정하여 동일한 프로파일이 생성됨을 확인할 수 있다.
본 발명은 다수의 축을 제어하는 위치 결정 제어부(110)에서 축별로 제어주기를 독립적으로 할당하여 빠른 응답 속도가 요구되는 축에 대하여 연산 우선권을 부여하고 있다. 이에 따라, 빠른 응답이 요구되는 축에 대하여 연산 우선순위를 부여하여 제어축이 많아지더라도 빠른 응답을 요구하는 축의 응답 속도를 보장할 수 있다.
이상에서 본 발명에 따른 실시예들이 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 범위의 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 다음의 특허청구범위에 의해서 정해져야 할 것이다.

Claims (8)

  1. PLC 위치 결정 시스템의 제어주기 할당 방법으로서,
    각 축에 대하여 제1 제어주기를 가지는 제1 축 그룹과 제2 제어주기를 가지는 제2 축 그룹으로 구분하여 각 축 그룹별로 다른 제어주기를 할당하는 단계;
    상기 제2 축 그룹의 위치제어 연산 중 제1 축 그룹의 위치제어 연산이 요청되면 인터럽트에 의한 태스크 전환을 통해 상기 제1 축 그룹의 위치제어 연산을 수행하는 단계; 및
    상기 제1 축 그룹의 위치제어 연산을 완료한 다음 인터럽트에 의한 태스크 전환을 통해 상기 제2 축 그룹의 위치제어 연산을 이어서 수행하는 단계를 포함하고,
    상기 제1 제어주기 및 상기 제2 제어주기는 각 축에 대하여 위치제어 연산 실행 구간 및 마진 구간을 포함하고,
    상기 제2 축 그룹의 위치제어 연산을 이어서 수행하는 단계는, 상기 제1 제어주기의 위치제어 연산 실행 구간동안에 상기 제1 축 그룹의 위치제어 연산을 완료되면 상기 제2 축 그룹의 위치제어 연산을 위한 태스크 전환을 수행하고,
    상기 제1 축 그룹의 상기 마진 구간동안 상기 제2 축 그룹의 위치제어 연산을 이어서 수행하고,
    상기 태스크 전환을 위하여 상기 제1 축 그룹 및 상기 제2 축 그룹은 각각 서로 다른 스택 영역을 사용하고,
    상기 제1 축 그룹의 축은 ISP 영역을 사용하고, 상기 제2 축 그룹의 축은 USP 영역을 사용하는 것을 특징으로 하는 PLC 위치 결정 시스템의 축별 제어주기 독립 할당 방법.
  2. 제1 항에 있어서, 상기 각 축 그룹별로 다른 제어주기를 할당하는 단계는,
    상기 제1 축 그룹에 단일 축을 지정하는 것을 특징으로 하는 PLC 위치 결정 시스템의 축별 제어주기 독립 할당 방법.
  3. 제1 항에 있어서, 상기 각 축 그룹별로 다른 제어주기를 할당하는 단계는,
    상기 제1 축 그룹에 복수개의 축을 지정하는 것을 특징으로 하는 PLC 위치 결정 시스템의 축별 제어주기 독립 할당 방법.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제1 항에 있어서, 상기 각 축 그룹별로 다른 제어주기를 할당하는 단계는,
    상기 ISP영역을 사용하는 축의 연산이 상기 제1 제어주기내에 완료될 수 있도록 상기 제1 제어주기를 지정하는 PLC 위치 결정 시스템의 축별 제어주기 독립 할당 방법.
  8. 제1 항에 있어서,
    상기 제1 축 그룹의 위치제어 연산을 수행하는 단계는, 제2 축 그룹의 제어연산을 수행하는 중에 상기 제1 제어주기의 위치제어 연산이 요구되는 시점에서 스택 전환 인터럽트가 발생되면 모든 레지스터를 상기 USP 영역에 푸시하고 인터럽트 서비스 루틴 완료후 ISP 영역으로 복귀하도록 복귀 주소를 제1 제어주기 연산 영역으로 변경하는 단계를 포함하고,
    상기 제2 축 그룹의 위치제어 연산을 이어서 수행하는 단계는, 상기 제1 축 그룹의 제어연산을 완료하면 상기 ISP 영역에 일반 레지스터와 상태 레지스터, 프로그램 카운터를 푸시하고 상기 USP 영역으로 스택 전환한 후 다시 제2 축 그룹의 제어연산을 이어서 수행하는 단계를 포함하는 PLC 위치 결정 시스템의 축별 제어주기 독립 할당 방법.
KR1020150146342A 2015-10-20 2015-10-20 Plc 위치 결정 시스템의 축별 제어주기 독립 할당 방법 KR102079499B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020150146342A KR102079499B1 (ko) 2015-10-20 2015-10-20 Plc 위치 결정 시스템의 축별 제어주기 독립 할당 방법
EP16186659.5A EP3159761B1 (en) 2015-10-20 2016-08-31 A method of independent control period allocation of axis in the plc positioning system
ES16186659T ES2752879T3 (es) 2015-10-20 2016-08-31 Método de asignación de períodos de control independientes de ejes en el sistema de posicionamiento PLC
CN201610839540.8A CN106843121B (zh) 2015-10-20 2016-09-21 对plc定位系统中的各轴的独立控制周期分配的方法
US15/293,215 US10394213B2 (en) 2015-10-20 2016-10-13 Method of independent control period allocation of axis in the PLC positioning system
JP2016203273A JP6429842B2 (ja) 2015-10-20 2016-10-17 Plc位置決定システムにおける軸毎の制御周期独立割当方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150146342A KR102079499B1 (ko) 2015-10-20 2015-10-20 Plc 위치 결정 시스템의 축별 제어주기 독립 할당 방법

Publications (2)

Publication Number Publication Date
KR20170046256A KR20170046256A (ko) 2017-05-02
KR102079499B1 true KR102079499B1 (ko) 2020-02-21

Family

ID=57003318

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150146342A KR102079499B1 (ko) 2015-10-20 2015-10-20 Plc 위치 결정 시스템의 축별 제어주기 독립 할당 방법

Country Status (6)

Country Link
US (1) US10394213B2 (ko)
EP (1) EP3159761B1 (ko)
JP (1) JP6429842B2 (ko)
KR (1) KR102079499B1 (ko)
CN (1) CN106843121B (ko)
ES (1) ES2752879T3 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6520545B2 (ja) * 2015-08-10 2019-05-29 オムロン株式会社 サポート装置およびサポートプログラム
KR102115310B1 (ko) * 2018-04-25 2020-05-26 엘에스일렉트릭(주) Plc 기반의 위치 제어 장치
KR102132857B1 (ko) * 2018-05-03 2020-07-10 엘에스일렉트릭(주) Plc의 모터 구동 제어 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030139848A1 (en) * 2002-01-18 2003-07-24 Christopher Cifra System and method for invoking execution of a sequence of operations that includes motion control, machine vision, and data acquisition (DAQ) functionality
JP2012194670A (ja) * 2011-03-15 2012-10-11 Omron Corp Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
JP2015176191A (ja) 2014-03-13 2015-10-05 オムロン株式会社 コントローラ

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4319338A (en) * 1979-12-12 1982-03-09 Allen-Bradley Company Industrial communications network with mastership determined by need
US4514814A (en) * 1982-09-07 1985-04-30 General Electric Company Multi-processor axis control
JPH0766284B2 (ja) * 1984-07-23 1995-07-19 日産自動車株式会社 プログラマブルロジツクコントロ−ラ
JPH01152509A (ja) * 1987-12-10 1989-06-15 Fanuc Ltd Cnc制御方式
WO1992015068A1 (en) * 1991-02-15 1992-09-03 Incontrol, Inc. Computer control system for generating geometric designs
US5453933A (en) * 1993-09-08 1995-09-26 Hurco Companies, Inc. CNC control system
JPH0851796A (ja) * 1994-06-01 1996-02-20 Minolta Co Ltd モータ制御機構
DE19500957A1 (de) * 1994-07-19 1996-01-25 Bosch Gmbh Robert Verfahren zur Steuerung von technischen Vorgängen oder Prozessen
EP0824726A1 (de) * 1995-04-19 1998-02-25 Siemens Aktiengesellschaft Verfahren zum betrieb einer numerischen steuerung mit zeitkritischen und nicht zeitkritischen prozessen in einem echtzeitsystem
US6466962B2 (en) * 1995-06-07 2002-10-15 International Business Machines Corporation System and method for supporting real-time computing within general purpose operating systems
GB9825102D0 (en) * 1998-11-16 1999-01-13 Insignia Solutions Plc Computer system
WO2001002918A1 (fr) 1999-07-06 2001-01-11 Mitsubishi Denki Kabushiki Kaisha Systeme de commande d'entrainement
US6594541B1 (en) * 2000-01-10 2003-07-15 Siemens Aktiengesellschaft Universal motion control
US20020198970A1 (en) * 2001-04-27 2002-12-26 Shunji Kuwa Programmable controller system
DE10144788A1 (de) * 2001-09-11 2003-04-30 Siemens Ag Verfahren und Vorrichtung zur sicheren hochperformanten Aufzeichnung von Prozessdaten bei numerisch gesteuerten industriellen Bearbeitungsmaschinen
ITFI20020040A1 (it) * 2002-03-08 2003-09-08 Bedogni S R L Apparecchiatura per la movimentazione di utensili per la produzione di manufatti in vetro,cristallo e simili
JP3922070B2 (ja) * 2002-03-29 2007-05-30 株式会社デンソー 分散制御方法及び装置
KR20040071921A (ko) 2003-02-07 2004-08-16 삼성전자주식회사 다축 서보드라이브 시스템
US20060153008A1 (en) * 2003-02-12 2006-07-13 Toshiyuki Miyamatsu Control device and control method capable of external synchronization
JP3680064B2 (ja) * 2003-04-21 2005-08-10 ファナック株式会社 数値制御装置
JP2006187826A (ja) 2005-01-05 2006-07-20 Kawasaki Heavy Ind Ltd ロボットコントローラ
JP2007140655A (ja) * 2005-11-15 2007-06-07 Yaskawa Electric Corp モーションコントローラ
US7565654B2 (en) * 2006-01-10 2009-07-21 National Instruments Corporation Programmatic control of tasks in a programmable logic controller
US7424563B2 (en) * 2006-02-24 2008-09-09 Qualcomm Incorporated Two-level interrupt service routine
JP2009059310A (ja) * 2007-09-03 2009-03-19 Panasonic Corp プログラム制御装置
US8334669B2 (en) 2007-10-31 2012-12-18 Thk Co., Ltd. Multi-axis driver control method, multi-axis driver and multi-axis drive control system having the same
JP4382123B2 (ja) * 2007-12-13 2009-12-09 ファナック株式会社 制御モード切り換え機能を有する数値制御装置
DE102009047024A1 (de) * 2009-11-23 2011-05-26 Beckhoff Automation Gmbh Parallelisierte Programmsteuerung
DE102009055752A1 (de) * 2009-11-25 2011-05-26 Robert Bosch Gmbh Verfahren zum Ermöglichen einer sequentiellen, nicht blockierenden Abarbeitung von Anweisungen in nebenläufigen Tasks in einer Steuereinrichtung
JP5246186B2 (ja) * 2010-03-15 2013-07-24 オムロン株式会社 コントローラサポート装置、制御プログラムのシミュレーション方法、コントローラのサポートプログラムおよびコントローラのサポートプログラムを格納したコンピュータ読み取り可能な記憶媒体
JP5120424B2 (ja) * 2010-07-27 2013-01-16 横河電機株式会社 シーケンス制御装置
CN103261983B (zh) * 2010-12-16 2016-05-18 三菱电机株式会社 定序器系统及其控制方法
CN202094830U (zh) * 2011-01-25 2011-12-28 南京雪曼机电科技有限公司 多轴同步伺服驱动系统
CN102130640B (zh) * 2011-01-25 2013-04-10 南京雪曼机电科技有限公司 多轴同步伺服驱动系统及其同步控制方法
US8756606B2 (en) * 2011-01-31 2014-06-17 Toyota Jidosha Kabushiki Kaisha Safety controller and safety control method in which time partitions are scheduled according to a scheduling pattern
JP4995976B1 (ja) * 2011-02-08 2012-08-08 ファナック株式会社 回転軸のインポジションチェックを行う数値制御装置
JP4894961B1 (ja) * 2011-03-15 2012-03-14 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
JP4877423B1 (ja) * 2011-03-15 2012-02-15 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
US8706262B2 (en) * 2011-03-15 2014-04-22 Omron Corporation CPU unit of PLC, system program for PLC, and recording medium storing system program for PLC
US8799880B2 (en) * 2011-04-08 2014-08-05 Siemens Aktiengesellschaft Parallelization of PLC programs for operation in multi-processor environments
JP5803337B2 (ja) * 2011-06-28 2015-11-04 オムロン株式会社 同期制御装置、同期制御方法、同期制御プログラム、および同期制御プログラムを記録したコンピュータ読み取り可能な記録媒体
WO2013010159A1 (en) * 2011-07-14 2013-01-17 Siemens Corporation Reducing the scan cycle time of control applications through multi-core execution of user programs
JP5099251B1 (ja) * 2011-07-15 2012-12-19 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラム、plc用のシステムプログラムを格納した記録媒体、plcシステム、plcサポート装置、plcサポートプログラム、および、plcサポートプログラムを格納した記録媒体
KR101271854B1 (ko) 2011-08-31 2013-06-07 숭실대학교산학협력단 태스크 주기 스케쥴링 장치 및 방법
CN103123476B (zh) * 2011-11-18 2015-10-28 中国科学院沈阳计算技术研究所有限公司 一种单伺服电机驱动多轴机床的数控系统控制方法
FR2997773B1 (fr) * 2012-11-06 2016-02-05 Centre Nat Rech Scient Procede d'ordonnancement avec contraintes d'echeance, en particulier sous linux, realise en espace utilisateur.
DE112012001007T5 (de) 2012-12-10 2014-09-11 Mitsubishi Electric Corp. Mehrachsensteuersystem-Einstell-/Justierfunktionsunterstützungsvorrichtung
CN103870327A (zh) * 2012-12-18 2014-06-18 华为技术有限公司 一种实时多任务调度方法和装置
FR3004825B1 (fr) * 2013-04-19 2015-04-24 Krono Safe Procede d'allocation temporelle de taches permettant une recuperation d'erreur deterministe en temps reel
KR20150074392A (ko) 2013-12-24 2015-07-02 엘에스산전 주식회사 위치 결정 시스템의 제어 주기 설정방법
US9529625B2 (en) * 2014-04-01 2016-12-27 Samsung Electronics Co., Ltd Method and system for providing stack memory management in real-time operating systems
JP6203691B2 (ja) * 2014-08-29 2017-09-27 ファナック株式会社 複数軸の軸制御処理を分散して実行可能な数値制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030139848A1 (en) * 2002-01-18 2003-07-24 Christopher Cifra System and method for invoking execution of a sequence of operations that includes motion control, machine vision, and data acquisition (DAQ) functionality
JP2012194670A (ja) * 2011-03-15 2012-10-11 Omron Corp Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
JP2015176191A (ja) 2014-03-13 2015-10-05 オムロン株式会社 コントローラ

Also Published As

Publication number Publication date
CN106843121A (zh) 2017-06-13
EP3159761A1 (en) 2017-04-26
EP3159761B1 (en) 2019-08-21
CN106843121B (zh) 2019-05-17
US10394213B2 (en) 2019-08-27
US20170108845A1 (en) 2017-04-20
ES2752879T3 (es) 2020-04-06
JP6429842B2 (ja) 2018-11-28
JP2017079060A (ja) 2017-04-27
KR20170046256A (ko) 2017-05-02

Similar Documents

Publication Publication Date Title
CN109557890B (zh) 控制装置
CN109388107B (zh) 控制装置
EP2687927B1 (en) Cpu of plc, system program for plc, and recording medium storing system program for plc
KR102079499B1 (ko) Plc 위치 결정 시스템의 축별 제어주기 독립 할당 방법
CN109507980B (zh) 控制装置及控制方法
US10877803B2 (en) Control apparatus, control method and non-transitory storage medium
US10780583B2 (en) System and method of controlling robot
JP7310465B2 (ja) 同期制御装置、同期制御システム、同期制御方法、及びシミュレーション装置
JP7327225B2 (ja) ロボット制御システムおよび制御方法
CN112659119A (zh) 机械臂的控制方法、装置、电子设备及存储介质
JP2021192949A5 (ko)
WO2017203776A1 (ja) モータ駆動システム、モータ制御システムおよび自走ロボット
EP3502887B1 (en) Interrupt handling for multiple virtual machines
KR101957400B1 (ko) 프로그래머블 논리 제어 시스템
WO1998009225A1 (en) Real time software system
JP7455239B2 (ja) 数値制御システム、タスク割り当て変更装置及び数値制御方法
KR20080013258A (ko) 멀티채널 로봇제어 시스템
US20230128011A1 (en) Robot Control Method, Robot Control System, And Robot Control Program
WO2022190424A1 (ja) 情報処理装置およびプログラム
KR100221491B1 (ko) 다수의 로보트 제어방법
JP2023151731A (ja) 制御システム、制御方法、および制御プログラム
JPH025104A (ja) 演算処理装置
KR100258893B1 (ko) 단일 중앙처리부를 이용한 수치제어장치의 구현방법
JP2023049531A (ja) 制御装置
JPS62152045A (ja) プログラマブルコントロ−ラ

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)