KR101900729B1 - Plc 운영체제 구동 방법 - Google Patents

Plc 운영체제 구동 방법 Download PDF

Info

Publication number
KR101900729B1
KR101900729B1 KR1020160172577A KR20160172577A KR101900729B1 KR 101900729 B1 KR101900729 B1 KR 101900729B1 KR 1020160172577 A KR1020160172577 A KR 1020160172577A KR 20160172577 A KR20160172577 A KR 20160172577A KR 101900729 B1 KR101900729 B1 KR 101900729B1
Authority
KR
South Korea
Prior art keywords
operating system
communication port
memory unit
plc
latest
Prior art date
Application number
KR1020160172577A
Other languages
English (en)
Other versions
KR20180070177A (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 KR1020160172577A priority Critical patent/KR101900729B1/ko
Publication of KR20180070177A publication Critical patent/KR20180070177A/ko
Application granted granted Critical
Publication of KR101900729B1 publication Critical patent/KR101900729B1/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
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15011Configuration of operating system
    • 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/15Plc structure of the system
    • G05B2219/15018Communication, serial data transmission, modem
    • 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/15Plc structure of the system
    • G05B2219/15064MMU, memory management unit

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

본 발명은 PLC 운영체제 구동 방법에 관한 것으로, 보다 상세하게는 MPU 내부의 레지스터를 참조하여 운영체제를 다운로드 받고, 다운로드된 운영체제 중에서 최신 운영체제를 로드하여 구동시키는 PLC 운영체제 구동 방법에 관한 것이다. 본 발명의 일 실시예에 따른 PLC 운영체제 구동 방법은 MPU 내부의 레지스터를 참조하여 상기 MPU의 통신 포트의 상태를 판단하는 단계, 상기 판단 결과 상기 통신 포트가 활성 상태이고 외부 장치로부터 운영체제 업데이트 알림 신호가 수신되면 상기 통신 포트를 통해 상기 외부 장치로부터 운영체제를 다운로드하는 단계, 상기 다운로드된 운영체제를 제1 메모리부에 저장하는 단계, 상기 제1 메모리부에 저장된 하나 이상의 운영체제 중에서 최신 운영체제를 제2 메모리부에 로드하는 단계 및 상기 제2 메모리부를 참조하여 상기 최신 운영체제를 구동시키는 단계를 포함하는 것을 특징으로 한다.

Description

PLC 운영체제 구동 방법{Method for running PLC operating system}
본 발명은 PLC 운영체제 구동 방법에 관한 것으로, 보다 상세하게는 MPU 내부의 레지스터를 참조하여 운영체제를 다운로드 받고, 다운로드된 운영체제 중에서 최신 운영체제를 로드하여 구동시키는 PLC 운영체제 구동 방법에 관한 것이다.
PLC(Programmable Logic Controller)는 디지털/아날로그 입출력 모듈을 통해 미리 정해진 제어 순서에 따라 개별 디바이스를 제어하는 제어기를 의미한다. 이러한 PLC는 대규모 공정 내에서 개별 공정을 제어하기 위해 이용될 수 있다. PLC는 각각의 디바이스를 제어하기 위한 여러 가지의 기능을 제공하는데, 이러한 기능은 PLC에 탑재된 운영체제(O/S)를 기반으로 동작한다.
PLC가 대규모 공정에서 이용되는 경우, 개별 공정의 변화 또는 개별 디바이스의 변화에 따라 수많은 기능이 추가되거나 변경될 수 있다. 이에 따라, 사용자는 PLC가 수행하는 기능을 업그레이드 하거나, 작동 상에 발생하는 버그를 수정하거나, 기능을 변경 또는 추가하기 위해 PLC 운영체제를 업데이트할 수 있다.
이와 같은 PLC 운영체제는 외부 장치에서 제공될 수 있고, 예를 들어 PC에서 제공될 수 있다. 보다 구체적으로, PLC 운영체제 구동 장치는 PC에 설치된 PADT(Programming And Debugging Tool)와 통신하여 PC로부터 운영체제를 다운로드 할 수 있다. PLC 운영체제 구동 장치는 운영체제를 다운로드하고 다운로드된 운영체제를 저장하기 위해, PLC 운영체제 구동 장치에 전원이 인가되었을 때 시작되는 부트 프로그램을 이용한다.
도 1은 종래 방법에 따른 PLC 운영체제 구동 방법을 도시한 순서도이다. 이하, 도 1을 참조하여 종래 PLC 운영체제 구동 장치가 운영체제를 다운로드 및 구동하는 방법을 구체적으로 설명하도록 한다.
도 1을 참조하면, PLC 운영체제 구동 장치에서 기 구동중인 운영체제는, PADT로부터 운영체제의 업데이트가 필요하다는 신호를 수신하면, O/S 업데이트 알림 신호를 생성한다(S11). 그 다음, PLC 운영체제 구동 장치에서 기 구동중인 운영체제는 O/S 업데이트 요청 플래그를 설정한다(S12). 이러한 O/S 업데이트 요청 플래그는 PLC 내부의 RAM의 특정 주소에 포함된다.
PLC 운영체제 구동 장치에 전원이 인가되면(전원 ON) 곧바로 부트 프로그램이 시작되고, 부트 프로그램은 O/S 업데이트 요청 플래그가 설정되었는지 여부를 판단한다(S21). 판단 결과, 요청 플래그가 설정되어 있으면 PADT와 통신하여 O/S를 다운로드 하고(S22), 다운로드 된 O/S를 PLC 운영체제 구동 장치 내부의 플래시 메모리에 저장한다(S23).
한편, O/S 업데이트 요청 플래그가 설정되었는지 여부를 판단할 결과, 요청 플래그가 설정되어 있지 않으면 플래시 메모리에 기 저장된 O/S를 RAM으로 복사하고(S24), 복사된 O/S를 구동시킨다(S25).
그러나, 일반적으로 PLC 운영체제 구동 장치에 전원이 인가되지 않으면 RAM의 각 주소에 설정된 값은 임의의 값을 갖는다. 이에 따라 종래 PLC 운영체제 다운로드 방법에 의하면, PADT로부터 운영체제의 업데이트가 필요하다는 신호를 수신하지 않았음에도 RAM의 특정 주소에 포함되는 요청 플래그가 설정될 수 있다.
위와 같은 경우에 부트 프로그램은 요청 플래그가 설정되었다고 판단하여(S21), PC로부터 운영체제를 다운로드 하기 위해 시스템을 대기시킨다. 그러나, 실제로 PC로부터 전송될 운영체제가 존재하지 않으므로 시스템이 정상 동작하지 않는 문제점이 있다. 이에 따라, PLC 전원 인가에 따른 운영체제 다운로드의 오류를 방지하여 안정적으로 운영체제를 구동할 수 있는 방법이 요구되고 있다.
본 발명은 PLC에 전원이 인가될 때마다 임의의 값을 갖는 메모리의 특정 주소를 참조하지 않고 MPU 내부의 레지스터 값을 참조하여 운영체제를 다운로드 함으로써, 전원 인가에 따른 운영체제 다운로드의 오류를 방지할 수 있는 PLC 운영체제 구동 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 최신 운영체제가 유효하지 않으면 예비적으로 메모리에 저장된 다른 운영체제를 로드하여 구동시킴으로써, PLC 운영체제 구동의 안정성을 높일 수 있는 PLC 운영체제 구동 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 최신 운영체제가 유효하지 않으면 다른 운영체제를 구동시켜 통신 포트를 활성화 하고, 외부 장치로부터 최신 운영체제를 다시 다운로드 함으로써, 운영체제의 오류를 빠르게 복구할 수 있는 PLC 운영체제 구동 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 외부 장치로부터 다운로드된 운영체제를 최고(最古)의 운영체제가 저장된 메모리 영역에 저장함으로써, 보다 최신의 운영체제를 저장 및 관리할 수 있는 PLC 운영체제 구동 방법을 제공하는 것을 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
이러한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 PLC 운영체제 구동 방법은 MPU 내부의 레지스터를 참조하여 상기 MPU의 통신 포트의 상태를 판단하는 단계, 상기 판단 결과 상기 통신 포트가 활성 상태이고 외부 장치로부터 운영체제 업데이트 알림 신호가 수신되면 상기 통신 포트를 통해 상기 외부 장치로부터 운영체제를 다운로드하는 단계, 상기 다운로드된 운영체제를 제1 메모리부에 저장하는 단계, 상기 제1 메모리부에 저장된 하나 이상의 운영체제 중에서 최신 운영체제를 제2 메모리부에 로드하는 단계 및 상기 제2 메모리부를 참조하여 상기 최신 운영체제를 구동시키는 단계를 포함하는 것을 특징으로 한다.
전술한 바와 같은 본 발명에 의하면 PLC에 전원이 인가될 때마다 임의의 값을 갖는 메모리의 특정 주소를 참조하지 않고 MPU 내부의 레지스터 값을 참조하여 운영체제를 다운로드 함으로써, 전원 인가에 따른 운영체제 다운로드의 오류를 방지할 수 있는 효과가 있다.
또한, 본 발명에 의하면 최신 운영체제가 유효하지 않으면 예비적으로 메모리에 저장된 다른 운영체제를 로드하여 구동시킴으로써, PLC 운영체제 구동의 안정성을 높일 수 있는 효과가 있다.
또한, 본 발명에 의하면 최신 운영체제가 유효하지 않으면 다른 운영체제를 구동시켜 통신 포트를 활성화 하고, 외부 장치로부터 최신 운영체제를 다시 다운로드 함으로써, 운영체제의 오류를 빠르게 복구할 수 있는 효과가 있다.
또한, 본 발명에 의하면 외부 장치로부터 다운로드된 운영체제를 최고(最古)의 운영체제가 저장된 메모리 영역에 저장함으로써, 보다 최신의 운영체제를 저장 및 관리할 수 있는 효과가 있다.
도 1은 종래 방법에 따른 PLC 운영체제 구동 방법을 도시한 순서도.
도 2는 본 발명의 일 실시예에 따른 PLC 운영체제 구동 장치가 외부 장치와 통신하는 모습을 도시한 도면.
도 3은 본 발명의 일 실시예에 따른 PLC 운영체제 구동 방법을 도시한 순서도.
도 4는 본 발명의 다른 실시예에 따른 PLC 운영체제 구동 장치가 PC와 통신하는 모습을 도시한 도면.
도 5는 본 발명의 일 실시예에 따라 통신 포트가 비활성 상태일 때 통신 포트를 활성 상태로 변경하는 과정을 도시한 순서도.
도 6은 최신 운영체제의 유효성에 따라 최신 운영체제를 구동하거나 최신 운영체제를 재다운로드하는 과정을 도시한 순서도.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
도 2는 본 발명의 일 실시예에 따른 PLC 운영체제 구동 장치(200)가 외부 장치(20)와 통신하는 모습을 도시한 도면이다. 본 발명의 일 실시예에 따른 PLC 운영체제 구동 장치(200)는 MPU(Micro Processor Unit, 210), 제1 메모리부(220) 및 제2 메모리부(230)를 포함하여 구성된다. 도 2에 도시된 PLC 운영체제 구동 장치(200)는 일 실시예에 따른 것이고, 상술한 구성요소들이 도 2에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 일부 구성요소들이 부가, 변경 및 삭제될 수 있다.
PLC(Programmable Logic Controller)는 디지털/아날로그 입출력 모듈을 통해 미리 정해진 제어 순서에 따라 개별 디바이스를 제어하는 제어기를 의미한다. 이러한 PLC는 대규모 공정 내에서 개별 공정을 제어하기 위해 이용될 수 있다. PLC는 각각의 디바이스를 제어하기 위한 여러 가지의 기능을 제공하는데, 이러한 기능은 PLC에 탑재된 운영체제를 기반으로 동작한다.
PLC가 대규모 공정에서 이용되는 경우, 개별 공정의 변화 또는 개별 디바이스의 변화에 따라 수많은 기능이 추가되거나 변경될 수 있다. 이에 따라, 사용자는 PLC가 수행하는 기능을 업그레이드 하거나, 작동 상에 발생하는 버그를 수정하거나, 기능을 변경 또는 추가하기 위해 PLC 운영체제를 업데이트할 수 있다.
PLC의 운영체제는 외부 장치(20)에서 제공될 수 있고, 예를 들어 PC에서 제공될 수 있다. 보다 구체적으로, PC에 설치된 PADT(Programming And Debugging Tool)는 통신 포트를 통해 PLC 운영체제 구동 장치(200) 내부의 MPU(210)와 통신할 수 있다. 여기서 MPU(210)는 중앙처리장치(Central Processing Unit; CPU)을 집적화한 것으로, 레지스터, 연산회로 및 제어회로 등을 포함함으로써 연산 및 제어 동작을 수행하는 장치이다.
도 2를 참조하면, MPU(210)는 외부 장치(20)와 통신하여 외부 장치(20)로부터 운영체제의 다운로드를 수행할 수 있다. 보다 구체적으로, MPU(210) 내부의 부트 프로그램(211)은 외부 장치(20)로부터 PLC의 운영체제를 다운로드 하고, 다운로드된 운영체제를 메모리에 저장할 수 있다. 부트 프로그램(211)은 PLC 운영체제 구동 장치(200)에 전원이 인가되었을 때, 시작하는 시스템 소프트웨어로서, 운영체제의 다운로드 및 저장을 위해 MPU(210)의 별도 영역에 저장된 프로그램일 수 있다.
이와 같은 PLC 운영체제 구동 장치(200)는 PLC에 포함되어 구성될 수 있고, PLC 외부에서 PLC와 통신하도록 구성될 수도 있다. 한편, 도 2에 도시된 제1 메모리부(220)는 다운로드된 운영체제를 저장할 수 있고, 제2 메모리부(230)는 제1 메모리부(220)에 저장된 운영체제 중에서 최신의 운영체제를 로드할 수 있는데, 이에 대해서는 후술하도록 한다.
도 3은 본 발명의 일 실시예에 따른 PLC 운영체제 구동 방법을 도시한 순서도이다. 도 3을 참조하면, 본 발명의 일 실시예에 따른 PLC 운영체제 구동 방법은 MPU(210) 내부의 레지스터를 참조하여 MPU(210)의 통신 포트의 상태를 판단하는 단계(S310), 판단 결과, 통신 포트가 활성 상태이고 외부 장치(20)로부터 운영체제 업데이트 알림 신호가 수신되면 통신 포트를 통해 외부 장치(20)로부터 운영체제를 다운로드하는 단계(S320)포함하여 구성된다.
또한, 본 발명의 일 실시예에 따른 PLC 운영체제 구동 방법은 다운로드된 운영체제를 제1 메모리부(220)에 저장하는 단계(S330), 제1 메모리부(220)에 저장된 하나 이상의 운영체제 중에서 최신 운영체제를 제2 메모리부(230)에 로드하는 단계(S340) 및 제2 메모리부(230)를 참조하여 최신 운영체제를 구동시키는 단계(S350)을 포함하여 구성된다.
도 3에 도시된 PLC 운영체제 구동 방법은 일 실시예에 따른 것이고, 상술한 순서 및 순서를 이루는 구성들이 도 3에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 일부 순서 및 순서를 이루는 구성이 부가, 변경 및 삭제될 수 있다.
도 4는 본 발명의 다른 실시예에 따른 PLC 운영체제 구동 장치(200)가 PC(20)와 통신하는 모습을 도시한 도면이다. 이하, 도 3 및 도 4를 참조하여 본 발명의 PLC 운영체제 구동 방법을 구체적으로 설명하도록 한다.
도 3 및 도 4를 참조하면, 본 발명의 일 실시예에 따른 MPU(210) 내부 부트 프로그램(211)은 MPU(210) 내부의 레지스터를 참조하여 MPU(210)의 통신 포트의 상태를 판단할 수 있다. 상술한 바와 같이 부트 프로그램(211)은 통신 포트를 통해 PLC의 운영체제를 다운로드 할 수 있는데, 이 때 통신 포트의 상태는 MPU(210) 내부의 레지스터에 따라 설정될 수 있다.
레지스터는 MPU(210)가 여러 가지의 프로세스를 수행할 때, 필요한 데이터 및 데이터 프로세스를 위한 여러 가지의 조건을 하나 이상의 비트에 저장하여 유지하는 기억장치를 의미한다. 이와 같은 레지스터는, MPU(210)가 데이터 프로세스를 위해 외부 장치(20)와 통신할 수 있도록 하는 통신 포트의 조건을 하나 이상의 비트의 형태로 저장할 수 있다.
부트 프로그램(211)은 PLC 운영체제 구동 장치(200)에 전원이 인가되었을 때 MPU(210) 내부의 레지스터의 값을 참조할 수 있다. 보다 구체적으로, 부트 프로그램(211)은 레지스터의 값 중 통신 포트에 대응하는 값이 활성 값이면 통신 포트를 활성 상태로 판단할 수 있다. 반대로 부트 프로그램(211)은 레지스터의 값 중 통신 포트에 대응하는 값이 초기 값이면 통신 포트를 비활성 상태로 판단할 수 있다.
MPU(210) 내부의 레지스터의 값 중 통신 포트에 대응하는 값은 PLC 운영체제 구동 장치(200)에 전원이 공급되면 초기 값으로 설정되고, 전원이 공급된 후 운영체제가 구동되면 활성 값으로 설정될 수 있다. 다시 말해, MPU(210) 내부의 레지스터의 값은 운영체제가 구동되기 전 까지는 초기 값을 유지할 수 있다.
이에 따라, PLC 운영체제 구동 장치(200)에 전원이 공급된 시점으로부터 운영체제가 구동된 시점까지의 시간에서는 레지스터의 값이 초기 값일 수 있다. 상술한 바와 같이, 부트 프로그램(211)은 PLC 운영체제 구동 장치(200)에 전원이 공급되면 곧바로 실행되므로 PLC 구동 장치에 전원이 공급된 후 부트 프로그램(211)이 최초로 확인하는 레지스터의 값은 초기 값일 수 있다.
이와 같이, 본 발명은 PLC에 전원이 인가될 때마다 임의의 값을 갖는 메모리의 특정 주소를 참조하지 않고 MPU(210) 내부의 레지스터 값을 참조함으로써, 전원 인가에 따른 운영체제 다운로드의 오류를 방지할 수 있다.
다시 도 3 및 도 4를 참조하면, 통신 포트의 상태를 판단한 결과, 통신 포트가 활성 상태이고 외부 장치(20)로부터 운영체제 업데이트 알림 신호가 수신되면 부트 프로그램(211)은 통신 포트를 통해 외부 장치(20)로부터 운영체제를 다운로드 할 수 있다. 여기서 외부 장치(20)는 PLC 운영체제 구동 장치(200)에 운영체제를 전송할 수 있는 임의의 디바이스를 포함할 수 있고, 예를 들어, 상술한 PC(20)일 수 있다.
예를 들어, PLC를 모니터링하는 PC(20)의 사용자는 PLC가 제어하는 공정의 변화에 따라 운영체제의 기능을 추가 또는 변경하여 최신 운영체제를 프로그래밍할 수 있다. 그 후, 사용자는 PC(20)에 설치된 PADT를 통해 운영체제의 업데이트 알림 신호를 PLC 운영체제 구동 장치(200)에 송신할 수 있다.
부트 프로그램(211)은 통신 포트의 상태를 판단한 후에 운영체제 업데이트 알림 신호를 수신할 수 있고, 운영체제 업데이트 알림 신호가 수신된 후에 통신 포트의 상태를 판단할 수도 있다. 이에 따라, 운영체제를 다운로드 하기 위한 통신 포트와 운영체제 업데이트 알림 신호를 수신하기 위한 통신 포트는 동일할 수 있고 서로 다를 수도 있다.
도 4를 참조하면, 부트 프로그램(211)은 운영체제가 다운로드되면 다운로드된 운영체제를 제1 메모리부(220)에 저장할 수 있다. 제1 메모리부(220)는 복수의 운영체제 영역을 포함할 수 있다. 보다 구체적으로, 제1 메모리부(220)는 복수의 분리된 운영체제 영역을 포함하고, 각각의 영역에는 버전이 다른 복수의 운영체제가 저장될 수 있다.
예를 들어, 제1 메모리부(220)는 제1 운영체제 영역 및 제2 운영체제 영역을 포함할 수 있다. 제1 운영체제 영역에는 최신 버전의 운영체제가 저장될 수 있고, 제2 운영체제 영역에는 구 버전의 운영체제가 저장될 수 있다. 도 4에서는 두 개의 운영체제 영역만을 도시하였으나, 이에 제한되지 않음은 당연하다.
이와 같은 제1 메모리부(220)는 전원 공급이 중단 되어도 메모리에 저장된 데이터가 유지되는 비휘발성 기억장치일 수 있고 예를 들어, 플래시 메모리(220)일 수 있다. 이에 따라, 본 발명에서는 PLC 운영체제에 인가되던 전원의 공급이 중단되어도 제1 메모리부(220)에 저장된 복수의 운영체제가 유지될 수 있다.
부트 프로그램(211)은 제1 메모리부(220)의 메모리 영역 중에서 최고(最古)의 운영체제가 저장된 메모리 영역에 다운로드된 운영체제를 저장할 수 있다. 일반적으로 외부 장치(20)로부터 다운로드된 운영체제는 최신 운영체제일 수 있다. 이에 따라, 부트 프로그램(211)은 가장 오래된 운영체제를 삭제하고 다운로드된 최신 운영체제를 저장할 수 있다.
예를 들어, 메모리 영역은 상술한 제1 운영체제 영역 및 제2 운영체제 영역을 포함할 수 있다. 제1 운영제체 영역에는 최신 버전의 운영체제가 저장되어 있고, 제2 운영체제 영역에는 구 버전의 운영체제가 저장될 수 있다. 이 때, 부트 프로그램(211)은 제2 운영체제 영역에 저장된 구 버전의 운영체제를 삭제하고, 제2 운영체제 영역에 다운로드된 최신 운영체제를 저장할 수 있다. 이에 따라, 제1 메모리는 최신의 운영체제로부터 순차적으로 버전이 낮은 운영체제를 각각 저장할 수 잇다.
이와 같이, 본 발명은 외부 장치(20)로부터 다운로드된 운영체제를 최고(最古)의 운영체제가 저장된 메모리 영역에 저장함으로써, 보다 최신의 운영체제를 저장 및 관리할 수 있다.
다시 도 4를 참조하면, 부트 프로그램(211)은 제1 메모리부(220)에 저장된 하나 이상의 운영체제 중에서 최신 운영체제를 제2 메모리부(230)에 로드할 수 있다. 보다 구체적으로, 부트 프로그램(211)은 제1 메모리부(220)의 운영체제 영역에 각각 저장된 하나 이상의 운영체제의 헤더 데이터를 참조하여 버전 정보를 파악할 수 있다. 이에 따라, 부트 프로그램(211)은 버전 정보에 기초하여 최신 운영체제를 추출할 수 있고, 추출된 최신 운영체제를 제2 메모리부(230)에 로드할 수 있다.
제2 메모리부(230)는 전원 공급이 중단되면 메모리에 저장된 데이터가 소실되는 휘발성 기억장치일 수 있고 예를 들어, 램(Random Access Memory; RAM, 230)일 수 있다. 이에 따라, 본 발명에서는 저장신뢰도가 높은 비휘발성 기억장치로부터 데이터 처리 속도가 빠른 휘발성 기억장치로 최신 운영체제를 로드하여 운영체제를 구동할 수 있다.
부트 프로그램(211)은 제2 메모리부(230)를 참조하여 최신 운영체제를 구동시킬 수 있다. 보다 구체적으로, 부트 프로그램(211)은 최신 운영체제가 로드된 제2 메모리부(230)의 시작 주소로 점프하여 최신 운영체제를 구동시킬 수 있다. 다시 말해, 부트 프로그램(211)은 최신 운영체제를 구성하는 비트를 시작 주소에서부터 읽음으로써 최신 운영체제를 구동시킬 수 있다.
도 5는 본 발명의 일 실시예에 따라 통신 포트가 비활성 상태일 때 통신 포트를 활성 상태로 변경하는 과정을 도시한 순서도이다. 이하, 도 4 및 도 5를 참조하여, 통신 포트가 비활성 상태일 때 운영체제 구동을 통해 통신 포트를 활성 상태로 변경하는 과정을 구체적으로 설명하도록 한다.
도 5를 참조하면, 상술한 바와 같이 부트 프로그램(211)은 MPU(210) 내부의 레지스터를 참조하여 MPU(210)의 통신 포트의 상태를 판단할 수 있다(S510). 예를 들어, PLC 운영체제 구동 장치(200)에 전원이 공급되었으나 아직 운영체제가 구동되지 않은 경우에 레지스터의 값은 초기 값일 수 있다. 반면에, 상술한 바와 같이 부트 프로그램(211)은 PLC 운영체제 구동 장치(200)에 전원이 공급되면 곧바로 실행될 수 있다. 이에 따라, 부트 프로그램(211)은 MPU(210)의 통신 포트가 비활성 상태라고 판단할 수 있다.
판단 결과, 통신 포트가 비활성 상태이면 부트 프로그램(211)은 제2 메모리부(230)를 참조하여 최신 운영체제를 구동시킬 수 있다(S520). 보다 구체적으로, 부트 프로그램(211)은 통신 포트가 비활성 상태이므로 외부 장치(20)로부터 운영체제를 다운로드하지 못할 수 있다. 이 때, 부트 프로그램(211)은 제1 메모리 영역에 저장된 운영체제 중 최신 운영체제를 제2 메모리에 로드하고, 제2 메모리부(230)를 참조하여 최신 운영체제를 구동시킬 수 있다.
최신 운영체제가 구동되면 MPU(210)는 내부 레지스터의 값 중 통신 포트에 대응하는 값을 활성 값으로 설정할 수 있다. 이에 따라, 통신 포트는 비활성 상태에서 활성 상태로 상태가 변경될 수 있다(S530).
도 6은 최신 운영체제의 유효성에 따라 최신 운영체제를 구동하거나 최신 운영체제를 재다운로드하는 과정을 도시한 순서도이다. 이하, 도 4 및 도 6을 참조하여 최신 운영체제가 유효하지 않은 경우 최신 운영체제를 다시 다운로드하는 과정을 구체적으로 설명하도록 한다.
도 6을 참조하면, 부트 프로그램(211)은 제2 메모리부(230)에 로드된 최신 운영체제가 유효한지 여부를 판단할 수 있다(S610). 운영체제가 유효하지 않은 경우는 운영체제를 구성하는 데이터의 오류에 의해 발생할 수 있고, 운영체제가 로드된 제2 메모리부(230)의 오류에 의해 발생할 수도 있다.
최신 운영체제가 유효하다고 판단되면, 부트 프로그램(211)은 도 3을 참조하여 설명했던 방법과 같이 최신 운영체제를 구동시킨다(S660). 반면에 최신 운영체제가 유효하지 않다고 판단되면, 부트 프로그램(211)은 제1 메모리부(220)에 저장된 다른 운영체제를 제2 메모리부(230)에 로드할 수 있다(S620). 보다 구체적으로, 제1 메모리부(220)는 최신 운영체제를 저장하는 메모리 영역 및 최신 운영체제와 버전이 다른 운영체제를 저장하는 메모리 영역을 포함할 수 있다.
예를 들어, 제1 메모리부(220)에 포함되는 제1 운영체제 영역에는 최신 운영체제가 저장되고, 제1 메모리부(220)에 포함되는 제2 운영체제 영역에는 다른 운영체제가 저장될 수 있다. 부트 프로그램(211)은 제2 운영체제 영역에서 다른 운영체제를 추출하여 제2 메모리부(230)에 로드할 수 있다.
만약, 제1 메모리부(220)에 세 개 이상의 운영체제가 저장된 경우, 부트 프로그램(211)은 세 개 이상의 운영체제 중 최신 운영체제를 제외한 가장 상위 버전의 운영체제를 제2 메모리부(230)에 로드할 수 있다. 이에 따라, 최신 운영체제가 일시적으로 유효하지 않은 경우에도, 제1 메모리부(220)에 저장된 가장 상위 버전의 운영체제가 구동되도록 할 수 있다.
이와 같이, 본 발명은 로드된 최신 운영체제가 유효하지 않으면 예비적으로 메모리에 저장된 다른 운영체제를 로드하여 구동시킴으로써, PLC 운영체제 구동의 안정성을 높일 수 있다.
한편, 다른 운영체제가 로드되면, 부트 프로그램(211)은 도 3에서 설명한 방법과 동일한 방법으로 다른 운영체제를 구동할 수 있다(S630). 다른 운영체제가 구동되면 MPU(210)는 내부 레지스터의 값 중 통신 포트에 대응하는 값을 활성 값으로 설정할 수 있다. 이에 따라, 통신 포트는 비활성 상태에서 활성 상태로 상태가 변경될 수 있다(S640).
통신 포트가 활성 상태로 변경되면 해당 통신 포트를 통해 최신 운영체제를 다시 다운로드 할 수 있다(S650). 통신 포트가 활성 상태일 때, 최신 운영체제를 다운로드하여 제1 메모리부(220)에 저장하고, 최신 운영체제를 제2 메모리부(230)에 로드하여 구동시키는 방법은 도 3에서 설명한 방법과 동일하므로 생략하도록 한다.
이와 같이, 본 발명은 로드된 최신 운영체제가 유효하지 않으면 다른 운영체제를 구동시켜 통신 포트를 활성화 하고, 외부 장치(20)로부터 최신 운영체제를 다시 다운로드 함으로써, 운영체제의 오류를 빠르게 복구할 수 있다.
전술한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.

Claims (8)

  1. MPU 내부의 레지스터를 참조하여 상기 MPU의 통신 포트의 상태를 판단하는 단계;
    상기 판단 결과 상기 통신 포트가 활성 상태이고 외부 장치로부터 운영체제 업데이트 알림 신호가 수신되면 상기 통신 포트를 통해 상기 외부 장치로부터 운영체제를 다운로드하는 단계;
    상기 다운로드된 운영체제를 제1 메모리부에 저장하는 단계;
    상기 제1 메모리부에 저장된 하나 이상의 운영체제 중에서 최신 운영체제를 제2 메모리부에 로드하는 단계; 및
    상기 제2 메모리부를 참조하여 상기 최신 운영체제를 구동시키는 단계를 포함하고,
    상기 판단 결과 상기 통신 포트가 비활성 상태이면 상기 제2 메모리부를 참조하여 상기 최신 운영체제를 구동시키는 단계; 및
    상기 통신 포트를 활성 상태로 변경하는 단계를 더 포함하는 PLC 운영체제 구동 방법.
  2. 제1항에 있어서,
    MPU 내부의 레지스터를 참조하여 상기 MPU의 통신 포트의 상태를 판단하는 단계는
    상기 레지스터의 값 중 상기 통신 포트에 대응하는 값이 활성 값이면 상기 통신 포트를 활성 상태로 판단하고, 상기 레지스터의 값 중 상기 통신 포트에 대응하는 값이 초기 값이면 상기 통신 포트를 비활성 상태로 판단하는 단계를 포함하는 PLC 운영체제 구동 방법.
  3. 제2항에 있어서,
    상기 레지스터의 값 중 통신 포트에 대응하는 값은
    PLC 운영체제 구동 장치에 전원이 공급되면 초기 값으로 설정되고, 상기 전원이 공급된 후 상기 최신 운영체제가 구동되면 활성 값으로 설정되는 PLC 운영체제 구동 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 제2 메모리부에 로드된 상기 최신 운영체제가 유효하지 않으면 상기 제1 메모리부에 저장된 다른 운영체제를 상기 제2 메모리부에 로드하는 단계; 및
    상기 제2 메모리부를 참조하여 상기 다른 운영체제를 구동시키는 단계를 더 포함하는 PLC 운영체제 구동 방법.
  6. 제5항에 있어서,
    상기 다른 운영체제를 구동시켜 상기 통신 포트를 활성 상태로 변경하는 단계; 및
    상기 통신 포트를 통해 상기 외부 장치로부터 상기 최신 운영체제를 다시 다운로드하는 단계를 더 포함하는 PLC 운영체제 구동 방법.
  7. 제1항에 있어서,
    상기 다운로드된 운영체제를 제1 메모리부에 저장하는 단계는
    상기 제1 메모리부의 메모리 영역 중에서 최고(最古)의 운영체제가 저장된 메모리 영역에 상기 다운로드된 운영체제를 저장하는 단계를 포함하는 PLC 운영체제 구동 방법.
  8. 제1항에 있어서,
    상기 제1 메모리부는
    비휘발성 기억장치이고,
    상기 제2 메모리부는
    휘발성 기억장치인 PLC 운영체제 구동 방법.
KR1020160172577A 2016-12-16 2016-12-16 Plc 운영체제 구동 방법 KR101900729B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160172577A KR101900729B1 (ko) 2016-12-16 2016-12-16 Plc 운영체제 구동 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160172577A KR101900729B1 (ko) 2016-12-16 2016-12-16 Plc 운영체제 구동 방법

Publications (2)

Publication Number Publication Date
KR20180070177A KR20180070177A (ko) 2018-06-26
KR101900729B1 true KR101900729B1 (ko) 2018-09-20

Family

ID=62788634

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160172577A KR101900729B1 (ko) 2016-12-16 2016-12-16 Plc 운영체제 구동 방법

Country Status (1)

Country Link
KR (1) KR101900729B1 (ko)

Also Published As

Publication number Publication date
KR20180070177A (ko) 2018-06-26

Similar Documents

Publication Publication Date Title
JP2000357095A (ja) 埋込式システムにソフトウェアをダウンロードする方法および装置
JP2009053920A (ja) 車載用電子制御ユニットのプログラム管理システム
US7418589B2 (en) System and method for updating a basic input/output system
CN112947977A (zh) 一种软件在线升级方法及系统
CN102081526B (zh) 基本输入/输出系统架构
EP2778910B1 (en) Systems and methods to extend rom functionality
WO2019207729A1 (ja) 産業用コンピュータ、産業用コンピュータシステム、オペレーティングシステム更新方法及びプログラム
US10453422B2 (en) Electronic apparatus and driving method thereof
JP2005258996A (ja) Fpgaのリモートメンテナンス方式
KR101900729B1 (ko) Plc 운영체제 구동 방법
KR100849212B1 (ko) 메모리 카드 및 메모리 카드의 구동 프로그램 업데이트방법
JP2007172200A (ja) ソフトウェア更新システム
CN113923240A (zh) 利用局部ota方法在物联网网关中动态升级设备接口协议的系统及方法
WO2020129324A1 (ja) モジュール及びこれを備える情報処理装置、並びにモジュールのプログラムデータを更新するプログラムデータ更新方法
CN110442074B (zh) 可编程逻辑控制器程序的处理装置
CN109643089B (zh) 控制单元、数据更新方法、存储介质
JPH10187454A (ja) Bios書き換え方式
US10935935B2 (en) Safety control unit, safety control method, and safety control program
US20230259353A1 (en) Operation management device and operation management method
JP2010086206A (ja) 設定装置及びフィールドネットワークシステム
JP2007042038A (ja) 端末機器の制御装置及び制御方法
JP2004287712A (ja) 電子装置
JP2006202053A (ja) 電子機器
JP2004258722A (ja) 処理システム
WO2018212081A1 (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