KR20170122052A - 메모리 영역 구성을 가변할 수 있는 모션 컨트롤러와 모션 컨트롤러의 메모리 영역 구성 가변 방법 - Google Patents
메모리 영역 구성을 가변할 수 있는 모션 컨트롤러와 모션 컨트롤러의 메모리 영역 구성 가변 방법 Download PDFInfo
- Publication number
- KR20170122052A KR20170122052A KR1020160051138A KR20160051138A KR20170122052A KR 20170122052 A KR20170122052 A KR 20170122052A KR 1020160051138 A KR1020160051138 A KR 1020160051138A KR 20160051138 A KR20160051138 A KR 20160051138A KR 20170122052 A KR20170122052 A KR 20170122052A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- motion controller
- user program
- internal buffer
- information
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
본 발명은 모션 컨트롤러와 모션 컨트롤러의 메모리 영역 구성 가변 방법에 대한 것으로서, 특히 메모리 영역 구성을 가변하여 기능 및 서비스를 확장할 수 있는 모션 컨트롤러와 모션 컨트롤러의 메모리 영역 구성 가변 방법에 관한 것이다. 본 발명은 단말기에서 XML 파일 형식으로 메모리 구성 정보를 편집하고, 편집된 메모리 구성 정보를 모션 컨트롤러에 적용하여 내부 버퍼 및 백업 디바이스의 메모리 구성을 변경한다. 이에 따라, 본 발명은 단말기에서 파일 형태로 편집한 메모리 구성 정보를 모션 컨트롤러에 전송하고, 모션 컨트롤러는 수신한 메모리 구성 정보에 따라 내부 버퍼를 변경함으로써, 모션 컨트롤러의 기능 및 서비스 확장이 가능하다. 또한, 본 발명은 모션 컨트롤러의 내부 버퍼 메모리 구성만을 변경하여 기능 및 서비스 확장을 수행함으로써, 기존의 모션 컨트롤러를 그대로 사용하면서도 기능 및 서비스 확장을 할 수 있어 모션 컨트롤러 교체 비용 및 구성 변경 비용을 절감할 수 있다.
Description
본 발명은 모션 컨트롤러에 대한 것으로서, 특히 메모리 영역 구성을 가변하여 기능 및 서비스를 확장할 수 있는 모션 컨트롤러와 메모리 영역 구성 가변 방법에 관한 것이다.
모션 컨트롤러는 사용자가 설정한 속도, 가속도, 위치 등의 운전 프로파일을 기준으로 슬레이브 디바이스를 제어하는 장치이다. 또한, 여기에 PLC 기능을 내장하여 모션제어 동작과 시퀀스 동작을 동시에 수행 가능한 모션 컨트롤러들이 출시되고 있다. 이러한 PLC 기능이 내장된 모션 컨트롤러는 모션제어 기능뿐만 아니라 PLC의 시퀀스 제어 동작을 수행하기 때문에 프로그램 데이터뿐만 아니라 다양한 디바이스 기반 변수 및 다양한 파라미터가 존재하게 된다. 프로그램 데이터, 변수 및 다양한 파라미터를 저장하기 위해 모션 제어 모듈은 전원 온/오프 후에도 보존 가능한 백업 장치가 필요하게 되며 배터리 백업, FLASH 백업 및 MRAM(Magnetic Random Access Memory) 백업 등 다양한 백업 장치들을 사용하게 되었다.
최근에는 컨트롤러의 소형화 등으로 인해 부가적인 회로를 통한 백업 보다는 백업 디바이스 자체를 사용하여 백업하는 경우가 많아졌다. 이때 사용하는 백업 디바이스가 FLASH 및 MRAM 등인데 FLASH의 경우 메모리 용량 대비 가격은 저가이나 데이터 소거 동작에 의한 수명이 제한되어 있고, MRAM은 수명에 제한은 없으나 메모리 용량 대비 가격이 고가로 형성되어 있다. 모션 컨트롤러에서는 데이터의 크기 및 용도에 따라 해당 디바이스 들을 동시에 사용하게 되는 데 상대적으로 고가의 MRAM은 데이터 크기에 제한이 있어 많은 데이터를 저장하지 못하여 만약 미리 정의된 백업 파라미터의 영역 구성에 의해 파라미터 확장 등 기능 추가 시 데이터를 운영하는 데 제약 사항이 있었다.
도 1은 종래 기술에 따른 모션 컨트롤 시스템의 구성도이다.
종래 기술에 따른 모션 컨트롤 시스템은 도 1에 도시된 바와 같이, 모션 컨트롤 시스템 운영을 위한 퍼스널 컴퓨터(1), 퍼스널 컴퓨터상에서 수행되는 운영체제(S/W)(1a), 모션제어 유닛(220)로의 통신을 수행하는 통신 케이블(1d), 슬레이브 디바이스 기기의 제어를 담당하는 모션 컨트롤러(2), 모션 컨트롤러와 슬레이브 디바이스 간의 통신 또는 슬레이브 디바이스 간의 통신을 담당하는 통신 케이블(3)과 모션 컨트롤러의 명령에 따라 모터를 제어하는 슬레이브 디바이스(4-1~4_n) 구성되어 있다. 여기서 슬레이브 디바이스는 서보 드라이브, 인버터, 디지털 입/출력 모듈 등을 포함한다.
운영 체제(1a)는 모션컨트롤러 모듈로 슬레이브 디바이스의 운전에 필요한 데이터를 다운로드 또는 업로드 하는 역할 등을 수행하며 모션 제어 컨트롤러와 연동하여 슬레이브 디바이스와 통신할 수 있는 환경을 제공한다.
도 2는 종래 기술에 따른 모션 컨트롤 시스템의 블록도이다.
도 2를 참조하면, 단말기(1000)에서는 사용자 프로그램 편집 모듈(1100)과 파라미터 및 모니터링 데이터 편집 모듈(1200)이 사용자 프로그램과 각 파라미터를 설정하여 모션 컨트롤러(2000)에 전송한다.
모션 컨트롤러(2000)에서는 사용자 프로그램 처리 모듈(2110)이 사용자 프로그램을 실행하게 되는 데 이때 내부 버퍼(2400)에 저장되어 있는 데이터를 참조하여 동작하게 된다. 사용자 프로그램은 모션제어 유닛(2200)을 통해 운전 프로파일을 전달 받으며 모션제어 유닛(2200) 및 사용자 프로그램 처리 모듈(2110)은 이더캣(EtherCAT)마스터(2500)를 통해 실제 제어 디바이스(3000)를 제어하기 위한 통신 데이터를 전송하여 모션 컨트롤러가 동작하게 된다.
데이터 쓰기 또는 전원 오프(OFF)시에는 현재 운전 중인 데이터를 제1 백업 디바이스(2310)와 제2 백업 디바이스(2320)에 백업한다. 이때, 상대적으로 데이터가 크고 백업이 빈번하게 수행될 필요가 없는 데이터는 FLASH 등의 저속 비휘발성 메모리인 제1 백업 디바이스(2310)에 저장되고, 백업이 빈번하게 일어나는 파라미터 및 반드시 백업이 필요한 래치 디바이스의 경우는 MRAM 등의 고속 비휘발성 메모리인 제2 백업 디바이스(2320)에 저장된다.
도 3은 종래 기술에 따른 모션 컨트롤러의 운전 방법 순서도이다.
도 3을 참조하면, 모션 컨트롤러에 전원이 투입되면(S1) 백업디바이스1/2로부터 운영체제(O/S) 데이터(모션 컨트롤러 운영 S/W), 파라 미터, 위치데이터 및 캠 데이터 등이 로드 되어 내부 버퍼상에 저장된다(S2).
로드 된 운영체제가 시작되어, 운전 조건을 체크(S3)하여 사용자 운전 프로그램이 시작(S4)된다. 사용자가 파라미터(또는 데이터)를 변경(S5)하게 되면 운영체제로부터 각 파라미터(또는 데이터)가 모션제어 유닛(220)에 전송(S6)되며, 내부 버퍼에 복사함과 동시에 제1 및 제2 백업 디바이스에 백업을 수행(S7)하게 된다. 운영체제를 통해 현재 모션 컨트롤러의 운전 동작 및 모니터링 동작을 수행가능하며(S8), 만약 전원을 오프하게 되면 모션 컨트롤러에서는 전원 오프 동작을 감지한(S9) 후 현재 백업 필요 데이터를 제1 및 제2 백업 디바이스에 저장(S10)한 후 컨트롤러를 종료(S11)하게 된다.
이와 같이, 종래 기술에서는 메모리 구성을 운영체제와 모션 컨트롤러간 정해진 규약(메모리 맵)에 의해 메모리 영역이 구성 되었다. 한번 정해진 메모리 영역 규약은 변경이 불가하며, 각 서비스 파라미터 영역 별 데이터가 한정되어 있어 확장에 어려움이 있었다.
또한, 메모리가 충분히 확보된 경우라도 서비스 확장할 경우 버전 문제로 호환이 안 되는 문제점이 존재하였으며, 정상 동작 확인을 위해 사용자가 운영체제 및 모션 컨트롤러 운영체제의 버전을 개별로 확인하는 등의 절차가 필요하였다.
추가적으로 시스템의 상태를 모니터링 하는 경우에 있어서도 정해진 규약에 의해 모니터링을 하여, 새로운 모니터링 아이템을 추가 시 제한이 존재하였으며, 해당 제한으로 인해 모니터링 데이터를 여러 번 읽어 모니터링 정보를 처리함에 의해 모니터링 속도 저하 등의 부작용이 존재하였다.
본 발명의 목적은 기능 및 서비스 확장이 유연한 모션 컨트롤러와 모션 컨트롤러의 메모리 영역 구성 가변 방법을 제공하는 것이다.
또한, 본 발명의 다른 목적은 메모리를 효율적으로 사용하여 모션 컨트롤러 교체나 구성 변경없이 기능 및 서비스 확장이 가능하도록 하여 비용을 절감할 수 있는 모션 컨트롤러와 모션 컨트롤러의 메모리 영역 구성 가변 방법을 제공하는 것이다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
이러한 목적을 달성하기 위한 본 발명은 단말기에서 XML 형식으로 메모리 구성 정보를 편집하고, 편집된 메모리 구성 정보를 모션 컨트롤러에 적용하여 내부 버퍼 및 백업 디바이스의 메모리 구성을 변경한다. 이를 위해서, 본 발명은 사용자 프로그램 처리 모듈에서 처리된 사용자 프로그램의 시퀀스 명령을 수행하는 시퀀스 명령 모듈과, 상기 사용자 프로그램 처리 모듈에서 처리된 사용자 프로그램의 모터 모션 제어 명령을 수행하는 모션 제어 명령 모듈, 단말기에서 편집된 메모리 구성 정보에 따라 내부 버퍼의 메모리 구성 정보를 변경하는 메모리 처리 서비스 모듈을 포함하는 사용자 프로그램 처리 모듈 및, 상기 사용자 프로그램 처리 모듈에서 사용자 프로그램 처리 시 사용되는 데이터가 상기 변경된 메모리 구성 정보에 따라 저장된 내부 버퍼를 포함하는 메모리 영역 구성을 가변할 수 있는 모션 컨트롤러를 제공한다.
상기 내부 버퍼에 저장된 데이터는 파라미터, 타겟 위치 데이터, 캠 데이터, 서보 파라미터, 축 상태, 시스템 상태, 사용자 프로그램 처리 모듈의 제어에 따라 모터 구동에 필요한 지령을 생성하는 제어 디바이스의 정보, 및 메모리 구성 정보를 포함한다. 또한, 상기 단말기에서 편집된 메모리 구성 정보는 메모리 영역 지정 정보와 메모리 영역 크기 정보, 상기 메모리 기능 모드를 설정하고 기능 아이템을 설정하여 파라미터와 타겟 위치 데이터를 변경하거나 모니터링 하고자 하는 데이터를 변경하는 메모리 기능 모드 설정 정보 및 기능 아이템 설정 정보를 포함한다.
상기 내부 버퍼에 저장된 데이터는 모션 컨트롤러의 전원 오프 시, 상기 백업 디바이스에 백업되며, 상기 백업 디바이스에 백업된 데이터는 모션 컨트롤러에 전원 인가 시, 상기 내부 버퍼로 로드되어 저장되고, 상기 사용자 프로그램 처리 모듈은 상기 내부 버퍼에 저장된 데이터를 기반으로 사용자 프로그램을 처리한다.
또한, 본 발명은 사용자 프로그램 처리 모듈에서 모터 모션 제어 명령을 출력하는 사용자 프로그램의 처리 시 사용되는 데이터가 메모리 구성 정보에 따라 내부 버퍼에 저장되는 모션 컨트롤러의 메모리 영역 구성 가변 방법으로서, 단말기가 사용자로부터 편집된 메모리 구성 정보를 입력받는 단계, 및 상기 편집된 메모리 구성 정보에 따라 메모리 처리 서비스 모듈이 상기 내부 버퍼의 메모리 구성을 변경하는 단계를 포함하는 모션 컨트롤러의 메모리 영역 구성 가변 방법을 제공한다.
여기서, 상기 단말기가 사용자로부터 편집된 메모리 구성 정보를 입력받는 단계, 이후, 상기 모션 컨트롤러에 전원이 인가되면 백업 디바이스로부터 메모리 구성 정보를 내부 버퍼로 로드하는 단계와, 상기 내부 버퍼로 로드된 메모리 구성 정보에 따라 상기 내부 버퍼의 메모리 구성을 변경하는 단계, 상기 변경된 메모리 구성에 맞춰 내부 버퍼로 백업 디바이스에 저장된 파라미터, 타겟 위치 데이터, 캠 데이터, 서보 파라미터, 축 상태, 시스템 상태, 사용자 프로그램 처리 모듈의 제어에 따라 모터 구동에 필요한 지령을 생성하는 제어 디바이스의 정보를 로드하는 단계, 및 상기 사용자 프로그램 처리 모듈이 사용자 프로그램을 처리하는 단계를 포함한다.
또한, 상기 편집된 메모리 구성 정보에 따라 메모리 처리 서비스 모듈이 상기 내부 버퍼의 메모리 구성을 변경하는 단계 이후, 또는 상기 모션 컨트롤러의 전원 오프 시, 상기 내부 버퍼에 저장된 파라미터, 타겟 위치 데이터, 캠 데이터, 서보 파라미터, 축 상태, 시스템 상태, 사용자 프로그램 처리 모듈의 제어에 따라 모터 구동에 필요한 지령을 생성하는 제어 디바이스의 정보 및 메모리 구성 정보를 백업 디바이스에 백업하는 단계를 포함한다.
본 발명은 단말기에서 파일 형태로 편집한 메모리 구성 정보를 모션 컨트롤러에 전송하고, 모션 컨트롤러는 수신한 메모리 구성 정보에 따라 내부 버퍼를 변경함으로써, 모션 컨트롤러의 기능 및 서비스 확장이 가능하다.
또한, 본 발명은 모션 컨트롤러의 내부 버퍼 메모리 구성만을 변경하여 기능 및 서비스 확장을 수행함으로써, 기존의 모션 컨트롤러를 그대로 사용하면서도 기능 및 서비스 확장을 할 수 있어 모션 컨트롤러 교체 비용 및 구성 변경 비용을 절감할 수 있다.
도 1은 종래 기술에 따른 모션 컨트롤 시스템의 구성도.
도 2는 종래 기술에 따른 모션 컨트롤 시스템의 블록도.
도 3은 종래 기술에 따른 모션 컨트롤러의 운전 방법 순서도.
도 4는 본 발명에 따른 메모리 영역 구성을 가변할 수 있는 모션 컨트롤러의 블록도.
도 5는 본 발명에 따른 메모리 영역 구성을 가변할 수 있는 모션 컨트롤러의 메모리 서비스 구성 파일 블록도.
도 6은 본 발명에 따른 메모리 영역 구성을 가변할 수 있는 모션 컨트롤러의 작동 방법 순서도.
도 2는 종래 기술에 따른 모션 컨트롤 시스템의 블록도.
도 3은 종래 기술에 따른 모션 컨트롤러의 운전 방법 순서도.
도 4는 본 발명에 따른 메모리 영역 구성을 가변할 수 있는 모션 컨트롤러의 블록도.
도 5는 본 발명에 따른 메모리 영역 구성을 가변할 수 있는 모션 컨트롤러의 메모리 서비스 구성 파일 블록도.
도 6은 본 발명에 따른 메모리 영역 구성을 가변할 수 있는 모션 컨트롤러의 작동 방법 순서도.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
도 4는 본 발명에 따른 메모리 영역 구성을 가변할 수 있는 모션 컨트롤러의 블록도이다.
본 발명에 따른 메모리 영역 구성을 가변할 수 있는 모션 컨트롤러는 도 4에 도시된 바와 같이, 사용자 프로그램과 파라미터 및 메모리 구성 정보를 편집하는 단말기(100)와, 메모리 구성 정보에 따라 내부 버퍼(240)의 구성을 변경하고 사용자 프로그램 및 파라미터에 따라 출력을 수행하는 모션 컨트롤러(200), 및 모션 컨트롤러(200)의 출력에 따라 모터를 제어하는 제어 디바이스(300)를 포함한다.
단말기(100)는 모션 컨트롤러(200)의 운전에 필요한 운영 프로그램을 편집하며, 예를 들어, 컴퓨터를 포함할 수 있다. 여기서, 운영 프로그램은 사용자 프로그램과 파라미터, 모니터링 데이터 및 메모리 서비스 구성 파일을 포함한다. 이에 따라, 단말기(100)는 사용자 프로그램과 파라미터 및 메모리 구성 정보를 편집하며, 이를 위해서, 단말기(100)는 사용자 프로그램 편집 모듈(110)과, 파라미터 및 모니터링 데이터 편집 모듈(120), 및 메모리 구성 정보 편집 모듈(130)을 포함한다.
사용자 프로그램 편집 모듈(110)은 제어 디바이스(300)를 제어하기 위해서 사용자가 작성하는 프로그램인 사용자 프로그램을 편집한다. 여기서, 사용자 프로그램은 시퀀스 명령과 모션 제어 명령 등을 포함한다.
도 5는 본 발명에 따른 메모리 영역 구성을 가변할 수 있는 모션 컨트롤러의 메모리 서비스 구성 파일 블록도이다.
메모리 구성 정보 편집 모듈(130)은 메모리 서비스 구성 파일을 편집하며, 메모리 서비스 구성 파일은 XML(eXtensible Markup Language) 파일 형태로 구현된 것을 예시한다. 또한, 메모리 구성 정보 편집 모듈(130)은 메모리 서비스 구성 파일을 편집함으로써 현재 메모리 구성 정보를 변경할 수 있으며, 이에 따라, 모션 컨트롤러(200)의 메모리 서비스를 구성할 수 있다.
메모리 서비스 구성 파일은 도 5에 도시된 바와 같이, 모션 컨트롤러 식별 ID 정보, 모션 컨트롤러 운영체제 버전 정보 및 서비스 버전 정보, 메모리 서비스 정보를 포함한다. 여기서, 메모리 서비스 정보는 메모리 영역 지정 정보와 메모리 영역 크기 정보, 메모리 기능 모드 설정 및 기능 아이템 설정으로 구성된다. 메모리 영역 지정 정보로는 내부 버퍼(240)와 메모리 기능 모드 설정 및 기능 아이템 설정을 통해 파라미터, 타겟 위치 데이터뿐만 아니라 모니터링 하고자 하는 데이터 구성 역시 변경이 가능하다. 메모리 서비스 구성은 백업 디바이스(230)에 별도로 저장되어 전원 인가 시 메모리 서비스를 구성한다.
또한, 메모리 구성 정보 편집 모듈(130)은 메모리 서비스 구성 파일을 세부적으로 편집하기 위해서, 메모리 영역 지정 정보를 편집하는 메모리 영역 지정 정보 편집 모듈, 메모리 영역 크기 정보를 편집하는 메모리 영역 크기 정보 편집 모듈, 메모리 기능 모드를 설정하는 메모리 기능 모드 설정 모듈, 기능 아이템을 설정하는 기능 아이템 설정 모듈을 포함할 수 있다.
메모리 영역 지정 정보 편집 모듈은 메모리 서비스 구성 파일에서 메모리 영역 지정 정보를 편집한다. 여기서, 메모리 영역 지정 정보는 전체 메모리 영역을 기능에 따라 분리하여 지정한 것이며, 메모리 영역은 다수개의 메모리 영역을 포함할 수 있다.
메모리 영역 크기 정보 편집 모듈은 메모리 영역 지정 정보 편집 모듈에서 편집된 메모리 영역의 크기를 편집한다.
또한, 사용자 프로그램 편집 모듈(110)에서 구성된 사용자 프로그램과 파라미터 및 메모리 구성 정보는 모션 컨트롤러(200)로 통신을 수행하는 통신 케이블(140, 260)을 통해 전달된다.
모션 컨트롤러(200)는 사용자 프로그램을 실행하며, 사용자가 작성한 사용자 프로그램에 따라 제어 디바이스(300)를 제어한다. 또한, 모션 컨트롤러(200)에서 실행되는 사용자 프로그램은 내부 버퍼(240)에 저장되어 있는 데이터를 참조하여 동작한다. 이러한 모션 컨트롤러(200)는 사용자 프로그램 처리 모듈(211)과, 모션제어 유닛(220), 이더캣(250), 내부 버퍼(240), 및 백업 디바이스를 포함한다.
사용자 프로그램 처리 모듈(211)은 단말기(100)로부터 전송받은 사용자 프로그램을 처리한다. 여기서, 사용자 프로그램 처리 모듈(211)은 모션제어 유닛(220)을 통해 운전 프로파일을 전달 받으며, 모션제어 유닛(220) 및 사용자 프로그램은 이더캣(250)을 통해 실제 제어 디바이스(300)를 제어하기 위한 통신 데이터를 전송하여 모션 컨트롤러(200)가 동작하게 된다. 이러한 사용자 프로그램 처리 모듈(211)은 사용자 프로그램의 시퀀스 명령을 수행하는 시퀀스 명령 모듈(212)과, 사용자 프로그램의 모션 제어 명령을 수행하는 모션 제어 명령 모듈(213), 및 메모리 구성 정보에 따라 내부 버퍼(240)의 구성을 변경하는 메모리 처리 서비스 모듈(214)을 포함한다.
메모리 처리 서비스 모듈(214)은 메모리 구성 정보 편집 모듈(130)에서 편집된 메모리 구성 정보에 따라 내부 버퍼(240)의 구성을 변경한다. 이는 메모리 영역 지정 정보 편집 모듈에서 지정된 메모리 영역 지정 정보와, 메모리 영역 크기 정보 편집 모듈에서 편집된 메모리 영역 크기 정보, 메모리 기능 모드 설정 모듈에서 설정된 메모리 기능 모드, 및 기능 아이템 설정 모듈에서 설정된 기능 아이템에 따라 내부 버퍼(240)의 구성을 변경한다.
내부 버퍼(240)는 사용자 프로그램과 파라미터 및 메모리 구성 정보를 저장하며, 사용자 프로그램 처리 모듈(211)에서 사용자 프로그램 수행 시 백업 디바이스(230)로부터 운영체제, 파라미터, 위치데이터, 캠 데이터, 축 상태, 시스템 상태, 디바이스 정보, 메모리 구성 정보 등을 로딩한다. 또한, 로딩한 운영체제, 파라미터, 위치데이터, 캠 데이터, 축 상태, 시스템 상태, 디바이스 정보, 메모리 구성 정보 등은 사용자 프로그램 수행 시 참조된다. 이러한 내부 버퍼(240)는 사용자 프로그램 처리 모듈(211)과 데이터 교환을 빠르게 수행해야 하므로 SRAM(Static Random Access Memory) 등 고속 휘발성 메모리를 포함할 수 있다.
백업 디바이스(230)는 데이터 쓰기 또는 전원 오프(OFF) 시 현재 운전 중인 데이터를 백업 디바이스(230)에 백업한다. 여기서, 백업 디바이스(230)는 서로 상이한 데이터가 저장되는 제1 백업 디바이스(231)와 제2 백업 디바이스(232)를 포함한다.
제1 백업 디바이스(231)는 상대적으로 데이터의 크기가 크고 빈번한 백업이 필요하지 않은 데이터를 저장한다. 이러한 제1 백업 디바이스(231)는 저속 비휘발성 메모리를 포함하며, 이는 예를 들어, MRAM(Magnetic Random Access Memory)을 포함할 수 있다.
제2 백업 디바이스(232)는 제1 백업 디바이스(231)에 저장되는 데이터보다 상대적으로 데이터의 크기가 작고 빈번한 백업이 필요한 데이터, 예를 들어, 파라미터 및 래치 디바이스 정보 등을 저장한다.
모션제어 유닛(220)은 사용자 프로그램 처리 모듈(211)에서 처리된 결과, 즉, 모터의 모션을 제어하기 위한 신호를 생성한다.
이더캣(250)은 모션제어 유닛(220)에서 생성된 신호를 제어 디바이스(300)에 전달한다. 또한, 이더캣(250)은 제어 디바이스(300)로부터 축 상태 정보와 디바이스 정보 등을 수신하여 모션제어 유닛(220)과 사용자 프로그램 처리 모듈(211)에 전송할 수 있다.
제어 디바이스(300)는 모션 컨트롤러(200)의 명령에 따라 모터 구동에 필요한 전류를 생성하는 서보 드라이브와 입출력 모듈을 포함한다.
서보 드라이브는 이더캣(250)을 통해 모션 컨트롤러(200)로부터 받은 지령을 기반으로 모터를 구동시킨다. 모터 드라이브에는 여러가지 종류가 있으며 이에 따라 모터의 종류도 달라진다. 예를 들어, 스테퍼 모터 드라이브는 스테퍼 모터만을 연결하며 서보 모터를 연결하지 않는다. 또한, 드라이브는 모터를 구동하기 위한 정확한 피크 전류와 연속 전류 및 전압을 제공한다.
상술한 바와 같이, 본 발명은 단말기에서 파일 형태로 편집한 메모리 구성 정보를 모션 컨트롤러에 전송하고, 모션 컨트롤러는 수신한 메모리 구성 정보에 따라 내부 버퍼를 변경함으로써, 모션 컨트롤러의 기능 및 서비스 확장이 가능하다. 또한, 본 발명은 모션 컨트롤러의 내부 버퍼 메모리 구성만을 변경하여 기능 및 서비스 확장을 수행함으로써, 기존의 모션 컨트롤러를 그대로 사용하면서도 기능 및 서비스 확장을 할 수 있어 모션 컨트롤러 교체 비용 및 구성 변경 비용을 절감할 수 있다.
다음은 본 발명에 따른 메모리 영역 구성을 가변할 수 있는 모션 컨트롤러의 작동 방법에 대해 도면을 참조하여 설명한다.
도 6은 본 발명에 따른 메모리 영역 구성을 가변할 수 있는 모션 컨트롤러의 작동 방법 순서도이다.
본 발명에 따른 메모리 영역 구성을 가변할 수 있는 모션 컨트롤러의 작동 방법은 도 6에 도시된 바와 같이, 메모리 서비스 구성 편집 단계(S1)와, 모션 컨트롤러 운전 전처리 단계(S2), 사용자 프로그램 운전 시작 단계(S3), 내부 버퍼 및 백업 디바이스 구성 변경 단계(S4), 모션 컨트롤러 운전 및 모니터링 단계(S5), 내부 버퍼 백업 단계(S6), 및 모션 컨트롤러 종료 단계(S7)를 포함한다.
모션 컨트롤러 운전 전처리 단계(S2)는 모션 컨트롤러가 운전을 시작하기 위한 전처리를 수행한다. 이를 위해서 모션 컨트롤러 운전 전처리 단계(S2)는 전원 투입 단계(S2-1)와, 메모리 구성 로드 단계(S2-2), 메모리 처리 서비스 시작 단계(S2-3), 제1 및 제2 백업 디바이스 로드 단계(S2-4), 운전 조건 체크 단계(S2-5)를 포함한다.
전원 투입 단계(S2-1)는 모션 컨트롤러에 전원을 인가한다. 물론, 이는 모션 컨트롤러에 전원이 인가되었는지 판단하는 단계가 될 수 있으며, 후술될 메모리 구성 로드 단계(S2-2)부터는 모션 컨트롤러에 전원이 인가되어야만 수행된다.
메모리 구성 로드 단계(S2-2)는 모션 컨트롤러에 전원이 인가되면 메모리 구성 정보를 로드한다.
메모리 처리 서비스 시작 단계(S2-3)는 메모리 구성 로드 단계(S2-2)에서 로드된 메모리 구성 정보에 따라 메모리 관련 서비스를 시작한다. 이에 따라, 내부 버퍼는 로드된 메모리 구성 정보에 따라 변경된다.
제1 및 제2 백업 디바이스 로드 단계(S2-4)는 제1 및 제2 백업 디바이스로부터 내부 버퍼로 운영체제, 파라미터, 위치데이터, 캠 데이터 등을 로드하여 저장한다.
운전 조건 체크 단계(S2-5)는 제1 및 제2 백업 디바이스 로드 단계(S2-4)에서 로드된 운영체제가 시작되어 운전 조건을 체크한다.
사용자 프로그램 운전 시작 단계(S3)는 운전 조건 체크 단계(S2-5)에서 운전 조건이 양호한 것으로 판단되면 사용자 프로그램 운전을 시작한다.
내부 버퍼 및 백업 디바이스 구성 단계(S4)는 사용자가 변경한 메모리 구성 정보, 파라미터 및 모니터링 데이터 중 적어도 어느 하나를 내부 버퍼 및 백업 디바이스에 구성한다. 이는 메모리 서비스 구성 변경 단계(S4-1), 파라미터 변경 단계(S4-2), 파라미터/메모리 서비스 구성 전송 단계(S4-3), 제1 및 제2 백업 디바이스 백업 단계(S4-4)를 포함한다.
메모리 서비스 구성 변경 단계(S4-1)는 단말기의 사용자 프로그램을 편집하는 사용자 프로그램 편집 모듈과, 파라미터 및 모니터링 하고자 하는 모니터링 데이터를 편집하는 모니터링 데이터 편집 모듈, 메모리 구성 정보를 편집하는 메모리 구성 정보 편집 모듈이 사용자로부터 사용자 프로그램과 파라미터, 모니터링 데이터 및 메모리 구성 정보를 입력 받아 사용자 프로그램과 파라미터, 모니터링 데이터 및 메모리 구성 정보를 편집한다. 여기서, 메모리 구성 정보는 XML 파일 형태로 생성된다.
파라미터 변경 단계(S4-2)는 단말기가 사용자로부터 변경될 파라미터를 입력받아 변경한다. 여기서, 파라미터 변경 단계(S4-2)에서 모니터링 데이터도 변경될 수 있다.
파라미터/메모리 서비스 구성 전송 단계(S4-3)는 편집된 사용자 프로그램과 파라미터, 모니터링 데이터 및 메모리 구성 정보를 모션 컨트롤러의 사용자 프로그램 처리 모듈에 전송한다. 또한, 전송된 사용자 프로그램과 파라미터, 모니터링 데이터 및 메모리 구성 정보는 내부 버퍼에 복사된다.
제1 및 제2 백업 디바이스 백업 단계(S4-4)는 내부 버퍼에 저장된 데이터를 제1 백업 디바이스와 제2 백업 디바이스에 백업한다.
모션 컨트롤러 운전 및 모니터링 단계(S5)는 단말기를 통해 현재 모션 컨트롤러의 운전 및 모니터링을 수행한다.
내부 버퍼 백업 단계(S6)는 모션 컨트롤러의 전원이 오프되면 제1 백업 디바이스와 제2 백업 디바이스에 내부 버퍼의 데이터를 백업한다. 이를 위해서, 내부 버퍼 백업 단계(S6)는 모션 컨트롤러 전원 오프 감지 단계(S6-1), 및 제1 및 제2 백업 디바이스 백업 단계(S6-2)를 포함한다.
모션 컨트롤러 종료 단계(S7)는 내부 버퍼 백업 단계(S6) 수행 후 모션 컨트롤러를 종료한다.
전술한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
Claims (7)
- 사용자 프로그램 처리 모듈에서 처리된 사용자 프로그램의 시퀀스 명령을 수행하는 시퀀스 명령 모듈과,
상기 사용자 프로그램 처리 모듈에서 처리된 사용자 프로그램의 모터 모션 제어 명령을 수행하는 모션 제어 명령 모듈,
단말기에서 편집된 메모리 구성 정보에 따라 내부 버퍼의 메모리 구성 정보를 변경하는 메모리 처리 서비스 모듈을 포함하는 사용자 프로그램 처리 모듈 및,
상기 사용자 프로그램 처리 모듈에서 사용자 프로그램 처리 시 사용되는 데이터가 상기 변경된 메모리 구성 정보에 따라 저장된 내부 버퍼를 포함하는 메모리 영역 구성을 가변할 수 있는 모션 컨트롤러.
- 제1항에 있어서,
상기 내부 버퍼에 저장된 데이터는 파라미터, 타겟 위치 데이터, 캠 데이터, 서보 파라미터, 축 상태, 시스템 상태, 사용자 프로그램 처리 모듈의 제어에 따라 모터 구동에 필요한 지령을 생성하는 제어 디바이스의 정보, 및 메모리 구성 정보를 포함하는 메모리 영역 구성을 가변할 수 있는 모션 컨트롤러.
- 제2항에 있어서,
상기 단말기에서 편집된 메모리 구성 정보는 메모리 영역 지정 정보와 메모리 영역 크기 정보, 상기 메모리 기능 모드를 설정하고 기능 아이템을 설정하여 파라미터와 타겟 위치 데이터를 변경하거나 모니터링 하고자 하는 데이터를 변경하는 메모리 기능 모드 설정 정보 및 기능 아이템 설정 정보를 포함하는 메모리 영역 구성을 가변할 수 있는 모션 컨트롤러.
- 제3항에 있어서,
상기 내부 버퍼에 저장된 데이터는 모션 컨트롤러의 전원 오프 시, 상기 백업 디바이스에 백업되며,
상기 백업 디바이스에 백업된 데이터는 모션 컨트롤러에 전원 인가 시, 상기 내부 버퍼로 로드되어 저장되고,
상기 사용자 프로그램 처리 모듈은 상기 내부 버퍼에 저장된 데이터를 기반으로 사용자 프로그램을 처리하는 메모리 영역 구성을 가변할 수 있는 모션 컨트롤러.
- 사용자 프로그램 처리 모듈에서 모터 모션 제어 명령을 출력하는 사용자 프로그램의 처리 시 사용되는 데이터가 메모리 구성 정보에 따라 내부 버퍼에 저장되는 모션 컨트롤러의 메모리 영역 구성 가변 방법으로서,
단말기가 사용자로부터 편집된 메모리 구성 정보를 입력받는 단계, 및
상기 편집된 메모리 구성 정보에 따라 메모리 처리 서비스 모듈이 상기 내부 버퍼의 메모리 구성을 변경하는 단계를 포함하는 모션 컨트롤러의 메모리 영역 구성 가변 방법.
- 제5항에 있어서,
상기 단말기가 사용자로부터 편집된 메모리 구성 정보를 입력받는 단계, 이후,
상기 모션 컨트롤러에 전원이 인가되면 백업 디바이스로부터 메모리 구성 정보를 내부 버퍼로 로드하는 단계와,
상기 내부 버퍼로 로드된 메모리 구성 정보에 따라 상기 내부 버퍼의 메모리 구성을 변경하는 단계,
상기 변경된 메모리 구성에 맞춰 내부 버퍼로 백업 디바이스에 저장된 파라미터, 타겟 위치 데이터, 캠 데이터, 서보 파라미터, 축 상태, 시스템 상태, 사용자 프로그램 처리 모듈의 제어에 따라 모터 구동에 필요한 지령을 생성하는 제어 디바이스의 정보를 로드하는 단계, 및
상기 사용자 프로그램 처리 모듈이 사용자 프로그램을 처리하는 단계를 포함하는 모션 컨트롤러의 메모리 영역 구성 가변 방법.
- 제6항에 있어서,
상기 편집된 메모리 구성 정보에 따라 메모리 처리 서비스 모듈이 상기 내부 버퍼의 메모리 구성을 변경하는 단계 이후, 또는 상기 모션 컨트롤러의 전원 오프 시,
상기 내부 버퍼에 저장된 파라미터, 타겟 위치 데이터, 캠 데이터, 서보 파라미터, 축 상태, 시스템 상태, 사용자 프로그램 처리 모듈의 제어에 따라 모터 구동에 필요한 지령을 생성하는 제어 디바이스의 정보 및 메모리 구성 정보를 백업 디바이스에 백업하는 단계를 포함하는 모션 컨트롤러의 메모리 영역 구성 가변 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160051138A KR20170122052A (ko) | 2016-04-26 | 2016-04-26 | 메모리 영역 구성을 가변할 수 있는 모션 컨트롤러와 모션 컨트롤러의 메모리 영역 구성 가변 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160051138A KR20170122052A (ko) | 2016-04-26 | 2016-04-26 | 메모리 영역 구성을 가변할 수 있는 모션 컨트롤러와 모션 컨트롤러의 메모리 영역 구성 가변 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20170122052A true KR20170122052A (ko) | 2017-11-03 |
Family
ID=60383751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160051138A KR20170122052A (ko) | 2016-04-26 | 2016-04-26 | 메모리 영역 구성을 가변할 수 있는 모션 컨트롤러와 모션 컨트롤러의 메모리 영역 구성 가변 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20170122052A (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190121012A (ko) * | 2018-04-17 | 2019-10-25 | 엘에스산전 주식회사 | 모션 컨트롤 시스템 및 그 제어 방법 |
KR20200117151A (ko) | 2019-04-03 | 2020-10-14 | 엘에스일렉트릭(주) | Xsd 기반 데이터 유효 검사 및 에러 표시 기능을 내장한 모션 컨트롤러와 이를 이용한 xsd 기반 데이터 유효 검사 및 에러 표시 방법 |
-
2016
- 2016-04-26 KR KR1020160051138A patent/KR20170122052A/ko unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190121012A (ko) * | 2018-04-17 | 2019-10-25 | 엘에스산전 주식회사 | 모션 컨트롤 시스템 및 그 제어 방법 |
KR20200117151A (ko) | 2019-04-03 | 2020-10-14 | 엘에스일렉트릭(주) | Xsd 기반 데이터 유효 검사 및 에러 표시 기능을 내장한 모션 컨트롤러와 이를 이용한 xsd 기반 데이터 유효 검사 및 에러 표시 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102364891B (zh) | 嵌入式以太网设备升级软件的方法及嵌入式以太网设备 | |
JP6227794B2 (ja) | 車両制御装置、リプログラミングシステム | |
CN108170451B (zh) | 一种服务器bmc控制bios版本升级的方法及系统 | |
CN104579719A (zh) | 一种固件的升级方法和系统、上位机和光模块 | |
CN110389766B (zh) | HBase容器集群部署方法、系统、设备及计算机可读存储介质 | |
CN115941464B (zh) | 智能网卡供电状态控制方法、装置、电子设备和存储介质 | |
CN110456707B (zh) | 控制装置 | |
CN111562932B (zh) | 一种高可靠嵌入式软件升级方法及系统 | |
CN110509312B (zh) | 机器人配置更新方法、电子设备及计算机可读存储介质 | |
CN113553081A (zh) | 一种基于zynq芯片的fpga加载方法 | |
KR20170122052A (ko) | 메모리 영역 구성을 가변할 수 있는 모션 컨트롤러와 모션 컨트롤러의 메모리 영역 구성 가변 방법 | |
KR20150050810A (ko) | 파워 릴레이 어셈블리 제어 장치 및 방법 | |
JP2020017221A (ja) | 更新制御装置および更新制御方法 | |
CN103777618A (zh) | 半导体工艺的指令执行的控制方法 | |
JPH09282169A (ja) | 入出力データ管理方式 | |
CN111158709A (zh) | 一种集群部署方法、装置、设备及计算机可读存储介质 | |
CN116360570A (zh) | Cpu上电时序的控制方法、控制装置和电子设备 | |
CN105659174A (zh) | 分布式控制系统用控制设备 | |
JP6323685B2 (ja) | プログラマブルコントローラ | |
KR20200117151A (ko) | Xsd 기반 데이터 유효 검사 및 에러 표시 기능을 내장한 모션 컨트롤러와 이를 이용한 xsd 기반 데이터 유효 검사 및 에러 표시 방법 | |
US20070239288A1 (en) | Power system and work flow thereof | |
CN112040150A (zh) | 移动数字成像系统开关机方法、系统及可读存储介质 | |
US10935935B2 (en) | Safety control unit, safety control method, and safety control program | |
US6591311B1 (en) | Method and system for selecting controller output value source | |
US20190187669A1 (en) | Control unit, data refresh method, and data refresh program |