KR20090121755A - 로봇 제어기 부트로더, 부트로더 관리 장치 및 로봇 응용프로그램 실행 방법 - Google Patents

로봇 제어기 부트로더, 부트로더 관리 장치 및 로봇 응용프로그램 실행 방법 Download PDF

Info

Publication number
KR20090121755A
KR20090121755A KR1020080047810A KR20080047810A KR20090121755A KR 20090121755 A KR20090121755 A KR 20090121755A KR 1020080047810 A KR1020080047810 A KR 1020080047810A KR 20080047810 A KR20080047810 A KR 20080047810A KR 20090121755 A KR20090121755 A KR 20090121755A
Authority
KR
South Korea
Prior art keywords
robot
boot loader
application program
robot application
robot controller
Prior art date
Application number
KR1020080047810A
Other languages
English (en)
Other versions
KR100998565B1 (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 KR1020080047810A priority Critical patent/KR100998565B1/ko
Publication of KR20090121755A publication Critical patent/KR20090121755A/ko
Application granted granted Critical
Publication of KR100998565B1 publication Critical patent/KR100998565B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명에 따른 로봇 제어기 부트로더는, 외부와의 통신을 통해 SREC 또는 바이너리 형식으로 변환된 로봇 응용 프로그램을 수신하여 비휘발성 메모리에 저장하는 제 1 관리 모듈과, 통신을 통해 바이너리 형식으로 변환된 로봇 응용 프로그램을 수신하여 휘발성 메모리에 로딩하는 제 2 관리 모듈과, 비휘발성 메모리에 저장된 SREC 형식으로 변환된 로봇 응용 프로그램을 바이너리 형식으로 변환하여 휘발성 메모리에 로딩하거나 비휘발성 메모리에 저장된 바이너리 형식으로 변환된 로봇 응용 프로그램을 휘발성 메모리에 복사시키는 분석 모듈을 포함한다.
이와 같이, 본 발명은 외부와의 통신을 통해 로봇 응용 프로그램을 다운로드받아 비휘발성 메모리에 저장한 후 이를 실행하기 위해 휘발성 메모리에 로딩시킴으로서, 로봇 제어에 필요한 다수의 응용 프로그램을 실행할 수 있기 때문에 로봇 제어기 부트로더 내 메모리의 공간적 제약과 자원의 제약을 극복할 수 있는 효과가 있다.
Figure P1020080047810
부트로더, 로봇, 제어

Description

로봇 제어기 부트로더, 부트로더 관리 장치 및 로봇 응용 프로그램 실행 방법{ROBOT CONTROLLER BOOTLOADER, BOOTLOADER MANAGEMENT APPARATUS AND METHOD FOR EXECUTING A ROBOT APPLICATION PROGRAM}
본 발명은 로봇 응용 프로그램을 변환하여 통신을 통해 이를 실행시키고 관리할 수 있는 부트로더 관리 장치, 로봇 제어기 부트로더 및 로봇 응용 프로그램 실행 방법에 관한 것이다.
일반적으로, 로봇 내에는 로봇의 이동 및 동작을 제어하기 위한 내장형 로봇 제어기가 장착되어 있다. 또한, 내장형 로봇 제어기는 로봇의 동작 및 이동을 제어하기 위한 다양한 응용 프로그램이 저장될 수 있는 메모리가 장착되어 있다.
이러한 로봇 제어기는 별도의 운영 체제와 파일 시스템이 적용되는 제어기와 운영 체제 및 파일 시스템 없이 필요에 따라 독자적으로 개발되는 제어기로 구분될 수 있다.
내장형 로봇 제어기 내의 메모리에 운영 체제와 파일 시스템을 적용시키고, 이를 통해 다양한 로봇 관련 응용 프로그램을 로딩시켜 로봇의 동작을 제어하고 있다.
그러나, 로봇 제어기 내에 별도의 운영체제와 파일 시스템이 적용되지 않고 독자적으로 개발되는 제어기의 경우에는 메모리의 공간적 제약과 자원의 제약으로 인해 다수의 응용 프로그램을 저장하고 이를 선택적으로 로딩하여 실행시키는데 있어서 한계점이 있다.
본 발명은 외부와의 통신을 통해 로봇 응용 프로그램을 다운로드받아 비휘발성 메모리에 저장한 후 이를 실행시키기 위해 휘발성 메모리에 선택적으로 로딩시킴으로써, 로봇 제어에 필요한 다수의 응용 프로그램을 실행할 수 있다.
또한, 본 발명은 로봇 응용 프로그램을 SREC 또는 바이너리 형식으로 변환하여 통신을 통해 로봇 제어기 부트로더에 전송하는 부트로더 관리 장치를 제공함으로서, 로봇 제어기 부트로더 내 메모리의 공간적 제약과 자원의 제약을 극복할 수 있다.
한편, 본 발명은 로봇 제어기 부트로더에 의해 자동 실행되는 로봇 응용 프로그램의 정보를 부트로더 관리 장치에 표시해줌으로써, 사용자에게 자동 실행 중인 응용 프로그램 정보를 제공할 수 있다.
본 발명의 제 1 관점으로서 로봇 제어기 부트로더는, 외부와의 통신을 통해 SREC 또는 바이너리 형식으로 변환된 로봇 응용 프로그램을 수신하여 비휘발성 메 모리에 저장하는 제 1 관리 모듈과, 상기 통신을 통해 바이너리 형식으로 변환된 로봇 응용 프로그램을 수신하여 휘발성 메모리에 로딩하는 제 2 관리 모듈과, 상기 비휘발성 메모리에 저장된 상기 SREC 형식으로 변환된 로봇 응용 프로그램을 바이너리 형식으로 변환하여 상기 휘발성 메모리에 로딩하거나 상기 비휘발성 메모리에 저장된 상기 바이너리 형식으로 변환된 로봇 응용 프로그램을 상기 휘발성 메모리에 복사시키는 분석 모듈을 포함한다.
본 발명의 제 2 관점으로서 부트로더 관리 장치는, 실행 파일 또는 데이터 파일의 로봇 응용 프로그램을 SREC 또는 바이너리 형식으로 변환하는 변환 모듈과, 상기 변환된 로봇 응용 프로그램을 로봇 제어기 부트로더와의 통신을 통해 전송하는 전송 모듈을 포함한다.
본 발명의 제 3 관점으로서 로봇 응용 프로그램 실행 방법은, 로봇 제어기의 부팅에 따라 하드웨어 초기화를 수행한 후 로봇 제어기 부트로더에 설정된 설정 정보를 로딩시키는 단계와, 상기 로딩된 설정 정보에 자동 실행 로봇 응용 프로그램이 존재하는 경우 상기 자동 실행 로봇 응용 프로그램의 정보를 부트로더 관리 장치에 전송하여 표시하는 단계와, 상기 설정 정보에 의거하여 상기 자동 실행 로봇 응용 프로그램을 실행시키는 단계를 포함한다.
본 발명은 외부와의 통신을 통해 로봇 응용 프로그램을 다운로드받아 비휘발성 메모리에 저장한 후 이를 실행하기 위해 휘발성 메모리에 로딩시킴으로서, 로봇 제어에 필요한 다수의 응용 프로그램을 실행할 수 있기 때문에 로봇 제어기 부트로더 내 메모리의 공간적 제약과 자원의 제약을 극복할 수 있는 효과가 있다.
또한, 본 발명은 로봇 제어기 부트로더에 의해 자동 실행되는 로봇 응용 프로그램의 정보를 부트로더 관리 장치에 표시해줌으로써, 사용자에게 로봇 제어기의 상태를 모니터링할 수 있도록 한다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 아울러 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
본 발명의 바람직한 실시 예에서는 부트로더 관리 장치를 이용하여 로봇 응용 프로그램을 변환하여 로봇 제어기 부트로더에 저장하고, 이를 실행시키는 장치 및 방법에 대해 설명한다.
도 1은 본 발명에 따른 로봇 제어기의 부트로더와 그 관리 장치를 도시한 블록도로서, 부트로더 관리 장치(100)와 로봇 제어기 부트로더(150)로 구성된다. 부트로더 관리 장치(100)는 로봇 응용 프로그램이 저장된 저장 모듈(102), 변환 모듈(104), 전송 모듈(106), 표시 모듈(108), 하드웨어 설정부(110) 및 제어기 모니 터링부(112)를 포함하며, 로봇 제어기 부트로더(150)는 제 1, 2 관리 모듈(152, 154), 비휘발성 메모리(156), 휘발성 메모리(158) 및 분석 모듈(160)을 포함한다.
부트로더 관리 장치(100)는 부트로더 HMI(Human Machine Interface)로서, 저장 모듈(102)에 저장된 로봇 응용 프로그램, 예컨대 실행 파일 또는 데이터 파일 형태의 로봇 응용 프로그램을 SREC(Motorola S-Record Format, 이하 'SERC'라고 한다.) 또는 바이너리(Binary) 파일 형식으로 변환하여 전송 모듈(106)을 통해 로봇 제어기 부트로더(150)에 전송한다.
하드웨어 설정부(110)는 로봇 제어기 부트로더(150)에 저장된 로봇 응용 프로그램 실행을 위한 하드웨어 설정 정보, 예컨대 로봇 응용 프로그램의 정보, 실행 방법, 타이머 시간 등의 정보를 수정 및 관리한다.
제어기 모니터링부(112)는 로봇 제어기 부트로더(150)와 연동하여 로봇 제어기에 저장되어 있는 로봇 응용 프로그램의 정보를 수신하여 모니터링한다.
부트로더 관리 장치(100)는 제어기 모니터링부(112)를 통해 제공받은 정보를 토대로 로봇 제어기에 저장된 로봇 응용 프로그램의 목록과 내용을 확인하고, 이를 토대로 로봇 제어기에 저장된 응용 프로그램을 선택적으로 로딩하여 실행시키고, 하드웨어 설정부(110)의 제어를 통해 로봇 응용 프로그램의 실행을 위한 하드웨어 설정 정보를 수정 및 관리 한다.
로봇 제어기 부트로더(150)는 부트로더 관리 장치(100)와 데이터 송수신을 위한 통신을 수행하며, 통신을 통해 수신된 로봇 응용 프로그램을 비휘발성 메모리(156), 예컨대 플래시 메모리에 저장시키는 제 1 관리 모듈(152), 하드웨어 설정 정보에 따라 비휘발성 메모리(156)에 저장된 로봇 응용 프로그램을 분석하여 휘발성 메모리(158), 예컨대 SRAM에 로딩하여 실행시키는 분석 모듈(160)을 포함한다. 한편, 제 1 관리 모듈(152)은 비휘발성 메모리(156)에 저장된 데이터를 분석하여 부트로더 관리 장치(100)에 전송하고, 제 2 관리 모듈(154)은 휘발성 메모리(158)에 저장된 데이터를 분석하여 부트로더 관리 장치(100)에 전송한다.
여기서, 로봇 제어기 부트로더(150)와 부트로더 관리 장치(100)간의 데이터 송수신은 TCP 소켓 통신을 통해 이루어질 수 있다.
본 발명에서 로봇 응용 프로그램은 그 형태에 따라 크게 실행 파일과 데이터 파일로 구분된다. 여기서, 실행 파일은 로봇 제어기의 중앙 연산 장치(CPU)를 통해 실행될 수 있는 기계어 명령의 조합을 의미하며, 데이터 파일은 좌표값, 변수값 또는 작업 명령 등 로봇 응용 프로그램에서 사용하거나 참조하는 모든 종류의 데이터를 의미한다.
본 발명에 따른 부트로더 관리 장치(100)의 변환 모듈(104)은 저장 모듈(102)에 저장된 데이터 파일 또는 실행 파일을 로봇 제어기 부트로더(150)의 비휘발성 메모리(156) 또는 휘발성 메모리(158)에 저장하기 위해 SREC 파일 형식으로 변환하거나 바이너리(BINARY) 형식으로 변환한 후 이를 전송 모듈(106)을 통해 로봇 제어기 부트로더(150)에 전송한다.
로봇 제어기 부트로더(150)가 부트로더 관리 장치(100)로부터 전송받은 로봇 응용 프로그램을 저장하는 과정에 대해 설명하면, 로봇 제어기 부트로더(150)는 제 1 관리 모듈(152)의 제어를 통해 SREC 형식으로 변환된 다수의 응용 프로그램을 비 휘발성 메모리(156)에 저장하거나 제 2 관리 모듈(154)의 제어를 통해 바이너리 형식으로 변환된 응용 프로그램을 휘발성 메모리(158)에 저장한다. 이때, 저장할 수 있는 로봇 응용 프로그램의 최대 개수는 비휘발성 메모리(156)의 사양에 따라 가변될 수 있다.
로봇 응용 프로그램의 저장 방법은 부트로더 관리 장치(100)의 소켓 통신 기능 및 설정 기능을 통해 사용자가 그 목적에 맞게 바이너리 형식 및 SREC 형식 중 어느 하나를 선택하여 운용할 수 있다. 즉, 도 2에 도시된 바와 같이, 실행 파일 또는 데이터 파일이 SREC 파일 형식으로 변환하여 TCP 소켓 통신을 통해 로봇 제어기 부트로더(150)에 전송되는 경우에는 제 1 관리 모듈(152)인 플래시 매니저(Flash manager)에 의해 비휘발성 메모리(156)인 플래시 메모리(Flash)에 저장되고, 실행 파일 또는 데이터 파일이 바이너리 파일 형식으로 변환하여 TCP 소켓 통신을 통해 로봇 제어기 부트로더(150)에 전송되는 경우에는 제 1 관리 모듈(152)인 플래시 매니저에 의해 비휘발성 메모리(156)인 플래시 메모리에 저장되거나 제 2 관리 모듈(154)인 SRAM 매니저(SRAM Manager)에 의해 휘발성 메모리(158)인 SRAM에 저장된다.
한편, 로봇 제어기 부트로더(150)에 저장된 로봇 응용 프로그램이 로딩되는 과정에 대해 설명하면, 도 2에 도시된 바와 같이, SREC 파일 형식을 갖는 실행 파일 또는 데이터 파일은 휘발성 메모리(158)인 SRAM에 로딩되기 위해 바이너리 파일로 변환되어야 한다. 즉, 비휘발성 메모리(156)에 저장된 SREC 형식의 파일은 분석 모듈(160)에 의해 분석되어 바이너리 파일 형식으로 변환된 후 휘발성 메모 리(158)인 SRAM에 로딩되어 실행된다. 여기서, 비휘발성 메모리(156)에 저장된 파일이 바이너리 형식인 경우에는 일반적인 복사 명령(copy)을 통해 휘발성 메모리(158)인 SRAM에 로딩된 후 실행된다.
상기와 같은 구성을 갖는 부트로더 관리 장치에 의해 관리되는 로봇 제어기의 부트로더가 로봇 응응 프로그램을 실행하는 과정에 대해 도 3을 참조하여 설명한다.
도 3은 본 발명의 바람직한 실시 예에 따른 로봇 응용 프로그램을 실행하는 과정을 도시한 흐름도이다.
도 3을 참조하면, 로봇 제어기가 부팅되면, 로봇 제어기 부트로더(150)는 로봇 제어기의 하드웨어 설정을 초기화, 즉 로봇 제어기 부트로더(150) 내의 비휘발성 메모리(156) 및 휘발성 메모리(158) 등의 상태를 체크하고(S300), 비휘발성 메모리(156)에 저장된 로봇 제어기의 설정 정보, 예컨대 로봇 제어기에 저장된 로봇 응용 프로그램의 정보, 실행 방법, 자동 실행 타이머 시간 등을 로봇 제어기에 로딩시킨다(S302).
이후, 로봇 제어기 부트로더(150)는 부트로더 관리 장치(100)와의 통신을 위해 통신 상태를 초기화(S304)시킨 다음 로딩된 로봇 제어기의 설정 정보를 토대로 자동 실행 로봇 응용 프로그램이 존재하는지를 판단한다(S306).
S306의 판단 결과, 자동 실행 로봇 응용 프로그램이 존재하는 경우, 로봇 제어기 부트로더(150)는 자동 실행으로 설정된 로봇 응용 프로그램의 정보를 부트로더 관리 장치(100)에 제공하며, 이에 부트로더 관리 장치(100)는 로봇 제어기 부트 로더(150)에 자동 설정된 로봇 응용 프로그램의 정보를 표시 모듈(108)을 통해 표시(S308)해줌으로써, 사용자에게 로봇 제어기에서 실행될 로봇 응용 프로그램의 정보를 제공할 수 있다.
그런 다음, 로봇 제어기 부트로더(150)는 자동 실행으로 설정된 로봇 응용 프로그램에 설정된 자동 실행 시간(설정 정보 내의 시간)에 의거하여 내장 타이머(도시생략됨)를 구동시킨 후 타이머가 자동 실행 시간에 도달하였는지를 판단한다(S310).
S310의 판단 결과, 타이머가 자동 실행 시간에 도달하게 되면, 로봇 제어기 부트로더(150)는 로봇 응용 프로그램을 로딩(S316)시킴과 더불어 부트로더 관리 장치(100)와의 접속을 해제한 후 로딩된 로봇 응용 프로그램을 실행시킨다(S318).
한편, 타이머가 자동 실행 시간에 도달하기 전에 부트로더 관리 장치(100)로부터 자동 실행 명령이 수신되는 경우(S312), 로봇 제어기 부트로더(150)는 S316 및 S318을 수행한다.
또한, 타이머가 자동 실행 시간에 도달하지 않은 상태이면서 부트로더 관리 장치(100)로부터 자동 실행 명령이 수신되지 않는 상태에서 로봇 제어기 부트로더(150)를 액세스하기 위해 사용자가 부트로더 관리 장치(100)를 통해 로그인하는 경우(S314) 부트로더 관리 장치(100)는 로봇 제어기 부트로더(150)의 제어를 위한 사용자 명령 대기 상태로 진입한다(S320).
한편, S314에서 사용자가 로그인하지 않을 경우에는 S310으로 진행하여 이후 단계를 수행한다.
S314에서 사용자가 로그인하게 되면, 사용자의 명령에 따라 부트로더 관리 장치(100)는 로봇 제어기 부트로더(150)를 제어한다. 즉, 사용자의 명령이 로봇 제어기 정보 표시인 경우 부트로더 관리 장치(100)는 제어기 모니터링부(112)의 제어를 통해 로봇 제어기 내 설정 정보를 수신하여 표시 모듈(108)에 표시해주며(S322), 사용자의 명령이 파일 및 다운로드 관리인 경우 저장 모듈(102), 변환 모듈(104) 및 전송 모듈(106)의 제어를 통해 임의의 로봇 응용 프로그램 파일을 SREC 파일 형식 또는 바이너리 형식으로 변환시켜 로봇 제어기 부트로더(150)에 전송함으로써, 로봇 제어기 부트로더(150)의 비휘발성 메모리(156) 또는 휘발성 메모리(158)에 저장시킨다(S324).
또한, 사용자 명령이 하드웨어 설정 관리(S326)인 경우 부트로더 관리 장치(100)는 하드웨어 설정부(110)의 제어를 통해 로봇 제어기 부트로더(150)의 비휘발성 메모리(156)에 저장된 설정 정보를 변경시키고, 로봇 제어기 부트로더(150)와의 통신 접속을 해제한 후 리셋 명령을 수행한다.
이와 같이 사용자의 로그인 후 사용자 명령에 따라 S322, S324 및 S326을 수행한 부트로더 관리 장치(100)는 명령 대기 상태인 S320으로 진행한다.
한편, 사용자 명령이 수동으로 응용 프로그램 실행(S328)인 경우 부트로더 관리 장치(100)는 수동으로 실행하고자하는 응용 프로그램을 로봇 제어기 부트로더(150)에 전송한 후 실행 명령을 통해 실행시키거나 로봇 제어기 부트로더(150)의 비휘발성 메모리(156)에 저장된 로봇 응용 프로그램을 실행 명령을 통해 실행시키는데, 실행 전에 로봇 제어기 부트로더(150)와의 통신 접속을 해제시킨다.
또한, S306의 판단 결과, 자동 실행 로봇 응용 프로그램이 존재하지 않을 경우 부트로더 관리 장치(100)는 로봇 제어기 부트로더(150)의 제어를 위한 사용자 로그인 대기 상태(S330)로 진입한 후 로그인 정보가 입력되는지의 여부를 판단하여 사용자 로그인 상태를 체크한다(S332).
S332의 체크 결과, 사용자가 로그인한 경우 부트로더 관리 장치(100)는 S320인 명령 대기 상태로 진행하여 사용자의 명령에 따라 해당 동작, 즉 S322, S324, S326 또는 S328을 수행하고, 그렇지 않을 경우 로그인 대기 상태인 S330으로 진행하여 이후 단계를 수행한다.
상기와 같이, 로봇 제어기 부트로더(150)가 로봇 응용 프로그램을 실행시키기 위해서는 아래의 표 1과 같이 응용 프로그램 파라미터를 관리하며, 아래의 파라미터는 부트로더 관리 장치(100)에 의해 사용자가 수정하거나 변경할 수 있다.
파라미터명 DataType 설명
FLASHTYPE STRUCT MID+SECTORxPAGExPAGESIZE
SECTORINFO STRUCT SECTORINFO[SECTOR]
APPNAME[N] STRING 응용프로그램이름
APPTYPE[N] ENUM 응용프로그램형태
APPSIG[N] STRING 응용프로그램작성자서명
APPDATE[N] STRUCT 응용프로그램작성일자
APPTIME[N] STRUCT 응용프로그램작성시간
APPSA[N] ARRAY 응용프로그램의Flash메모리시작번지
APPEA[N] ARRAY 응용프로그램의Flash메모리종료번지
APPSIZE[N] LONGINT 응용프로그램의크기
APPCSUM[N] INT 체크섬
표 1에서 "FLASHTYPE"는 로봇 제어기에 장착된 비휘발성 메모리(156)인 플래시 메모리의 타입을 지정한다. 이 값에 따라 저장할 수 있는 최대 응용프로그램의 개수를 가변적으로 설정할 수 있다. "SECTORINFO"는 플래시 메모리의 섹터 정보를 저장하며, 비트 필드 형태로 섹터의 사용여부와 유효성 등을 표시한다.
"APPNAME"은 응용 프로그램의 이름을 의미하며, "APPTYPE"는 응용 프로그램의 타입을 의미한다. "APPSIG"는 응용 프로그램 작성자의 서명을 의미하며, "APPDATE"는 응용 프로그램이 저장된 날짜를 의미한다.
또한, "APPTIME"는 응용 프로그램이 저장된 시간을 의미하며, "APPSA" 및 "APPEA"는 플래시 메모리 상에서 응용 프로그램이 저장된 시작 및 종료 번지를 의미한다.
"APPSIZE"는 응용 프로그램의 크기를 의미하며, "APPCSUM"는 응용 프로그램의 무결성을 확인하기 위한 체크섬을 의미한다.
지금까지 본 발명의 일 실시예에 국한하여 설명하였으나 본 발명의 기술이 당업자에 의하여 용이하게 변형 실시될 가능성이 자명하다. 이러한 변형된 실시 예들은 본 발명의 특허청구범위에 기재된 기술사상에 포함된다고 하여야 할 것이다.
도 1은 본 발명에 따른 로봇 제어기의 부트로더와 그 관리 장치를 도시한 블록도이며,
도 2는 본 발명에 따른 로봇 응용 프로그램의 변환 및 저장 방법을 설명하기 위한 도면이며,
도 3은 본 발명의 바람직한 실시 예에 따른 로봇 응용 프로그램을 실행하는 과정을 도시한 흐름도이다.
<도면의 주요부분에 대한 부호의 설명>
100 : 부트로더 관리 장치 102 : 저장 모듈
104 : 변환 모듈 106 : 전송 모듈
108 : 표시 모듈 110 : 제어기 모니터링부
112 : 하드웨어 설정부 150 : 로봇 제어기 부트로더
152 : 제 1 관리 모듈 154 : 제 2 관리 모듈
156 : 비휘발성 메모리 158 : 휘발성 메모리
160 : 분석 모듈

Claims (12)

  1. 외부와의 통신을 통해 SREC 또는 바이너리 형식으로 변환된 로봇 응용 프로그램을 수신하여 비휘발성 메모리에 저장하는 제 1 관리 모듈과,
    상기 통신을 통해 바이너리 형식으로 변환된 로봇 응용 프로그램을 수신하여 휘발성 메모리에 로딩하는 제 2 관리 모듈과,
    상기 비휘발성 메모리에 저장된 상기 SREC 형식으로 변환된 로봇 응용 프로그램을 바이너리 형식으로 변환하여 상기 휘발성 메모리에 로딩하거나 상기 비휘발성 메모리에 저장된 상기 바이너리 형식으로 변환된 로봇 응용 프로그램을 상기 휘발성 메모리에 복사시키는 분석 모듈
    을 포함하는 로봇 제어기 부트로더.
  2. 제 1 항에 있어서,
    상기 비휘발성 메모리에는, 상기 저장된 로봇 응용 프로그램 실행에 필요한 하드웨어 설정 정보가 저장되어 있는 것을 특징으로 하는 로봇 제어기 부트로더.
  3. 제 2 항에 있어서,
    상기 분석 모듈은, 상기 설정 정보에 의거하여 상기 비휘발성 메모리에 저장된 로봇 응용 프로그램을 분석하여 상기 휘발성 메모리에 로딩시켜 실행시키는 것을 특징으로 하는 로봇 제어기 부트로더.
  4. 실행 파일 또는 데이터 파일의 로봇 응용 프로그램을 SREC 또는 바이너리 형식으로 변환하는 변환 모듈과,
    상기 변환된 로봇 응용 프로그램을 로봇 제어기 부트로더와의 통신을 통해 전송하는 전송 모듈
    을 포함하는 부트로더 관리 장치.
  5. 제 4 항에 있어서,
    상기 통신은, TCP 소켓 통신인 것을 특징으로 하는 부트로더 관리 장치.
  6. 제 4 항에 있어서,
    상기 관리 장치는,
    상기 비휘발성 메모리에 저장된 하드웨어 설정 정보를 변경하기 위한 하드웨어 설정부
    를 더 포함하는 부트로더 관리 장치.
  7. 제 4 항에 있어서,
    상기 관리 장치는,
    상기 로봇 제어기 부트로더에 저장된 로봇 응용 프로그램의 목록과 내용을 모니터링하는 제어기 모니터링부
    를 더 포함하는 부트로더 관리 장치.
  8. 로봇 제어기의 부팅에 따라 하드웨어 초기화를 수행한 후 로봇 제어기 부트로더에 설정된 설정 정보를 로딩시키는 단계와,
    상기 로딩된 설정 정보에 자동 실행 로봇 응용 프로그램이 존재하는 경우 상기 자동 실행 로봇 응용 프로그램의 정보를 부트로더 관리 장치에 전송하여 표시하는 단계와,
    상기 설정 정보에 의거하여 상기 자동 실행 로봇 응용 프로그램을 실행시키는 단계
    를 포함하는 로봇 응용 프로그램 실행 방법.
  9. 제 8 항에 있어서,
    상기 자동 실행 로봇 응용 프로그램을 실행시키는 단계는,
    상기 자동 실행 로봇 응용 프로그램에 설정된 자동 실행 시간에 의거하여 내부 타이머를 구동시키는 단계와,
    상기 내부 타이머의 시간이 상기 자동 실행 시간에 도달한 경우 상기 자동 실행 로봇 응용 프로그램을 실행시키는 단계
    를 포함하는 로봇 응용 프로그램 실행 방법.
  10. 제 9 항에 있어서,
    상기 로봇 응용 프로그램 실행 방법은,
    상기 내부 타이머의 시간이 상기 자동 실행 시간에 도달하기 전에 상기 부트로더 관리 장치로부터 자동 실행 명령이 수신되는 경우 상기 자동 실행 로봇 응용 프로그램을 실행시키는 것을 특징으로 하는 로봇 응용 프로그램 실행 방법.
  11. 제 9 항에 있어서,
    상기 로봇 응용 프로그램 실행 방법은,
    상기 내부 타이머의 시간이 상기 자동 실행 시간에 도달하기 전에 상기 부트로더 관리 장치를 통해 사용자가 로그인한 경우 상기 로봇 제어기 부트로더의 제어를 위한 사용자 명령 대기 상태로 진입하는 단계와,
    상기 사용자 명령에 의거하여 상기 로봇 제어기 부트로더를 제어하는 단계
    를 더 포함하는 로봇 응용 프로그램 실행 방법.
  12. 제 11 항에 있어서,
    상기 제어하는 단계는,
    상기 부트로더 관리 장치를 통해 상기 로봇 제어기 부트로더에 저장된 로봇 응용 프로그램을 선택하는 단계와,
    상기 로봇 제어기 부트로더에서 상기 선택된 로봇 응용 프로그램을 로딩하여 실행시키는 단계
    를 포함하는 로봇 응용 프로그램 실행 방법.
KR1020080047810A 2008-05-23 2008-05-23 로봇 응용 프로그램 실행 방법 및 로봇 제어기 부트로더 KR100998565B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080047810A KR100998565B1 (ko) 2008-05-23 2008-05-23 로봇 응용 프로그램 실행 방법 및 로봇 제어기 부트로더

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080047810A KR100998565B1 (ko) 2008-05-23 2008-05-23 로봇 응용 프로그램 실행 방법 및 로봇 제어기 부트로더

Publications (2)

Publication Number Publication Date
KR20090121755A true KR20090121755A (ko) 2009-11-26
KR100998565B1 KR100998565B1 (ko) 2010-12-07

Family

ID=41604643

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080047810A KR100998565B1 (ko) 2008-05-23 2008-05-23 로봇 응용 프로그램 실행 방법 및 로봇 제어기 부트로더

Country Status (1)

Country Link
KR (1) KR100998565B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109814869A (zh) * 2018-12-03 2019-05-28 珠海格力电器股份有限公司 应用于机器人的解析方法、系统及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008065725A (ja) 2006-09-11 2008-03-21 Hagiwara Sys-Com:Kk Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109814869A (zh) * 2018-12-03 2019-05-28 珠海格力电器股份有限公司 应用于机器人的解析方法、系统及计算机可读存储介质
CN109814869B (zh) * 2018-12-03 2020-11-27 珠海格力电器股份有限公司 应用于机器人的解析方法、系统及计算机可读存储介质

Also Published As

Publication number Publication date
KR100998565B1 (ko) 2010-12-07

Similar Documents

Publication Publication Date Title
US9110843B2 (en) Rack and method thereof for simultaneously updating basic input output systems
US10514930B2 (en) Setting a startup parameter and controlling startup of a mainboard
CN101216773A (zh) 一种嵌入式Linux系统固件下载方法和装置
CN102089753B (zh) 用于在网络上安全地更新瘦客户机操作系统的系统和方法
US20070043833A1 (en) Computer platform system program remote upgrading control method and system
US10747523B2 (en) Methods of updating firmware components, computer systems and memory apparatus
US10037170B2 (en) Motherboard and a method for boot-up
US10579801B2 (en) Selecting and loading firmware volumes based on license
US20090019435A1 (en) System and method for over the air programming
JP6201298B2 (ja) コントローラおよびプログラム
US20130030568A1 (en) Robot system control method and a device therefor
CN111542790B (zh) 用于处理软件项目的方法
KR100998565B1 (ko) 로봇 응용 프로그램 실행 방법 및 로봇 제어기 부트로더
CN115454575B (zh) jar包转换并自动加载的方法、装置、设备及存储介质
KR100503484B1 (ko) 화상형성장치
US20100011356A1 (en) Intelligent distributed controller
KR20150110860A (ko) 차량의 펌웨어 업데이트 장치 및 그 방법
US10001766B2 (en) Industrial control system and method for transferring data
KR20220075652A (ko) Plc 프로그램의 데이터 관리 방법, 장치 및 그 plc 시스템
CN111913720A (zh) 一种程序部署方法及装置
CN113010439B (zh) 一种设备出厂检测方法、装置、电子设备及存储介质
CN106445571B (zh) 主机板及开机的方法
KR101900729B1 (ko) Plc 운영체제 구동 방법
CN111694300B (zh) 一种控制板输入输出口自动配置方法及装置
CN112698946A (zh) 一种基于Jenkins分布式的分配任务的方法及系统

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20131101

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151102

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171031

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20181031

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20191031

Year of fee payment: 10