KR101493628B1 - 프로그래머블·로직·컨트롤러의 실행 환경을 버전 업 하는 방법, 시스템 및 프로그램이 기록된 컴퓨터 판독가능 매체 - Google Patents

프로그래머블·로직·컨트롤러의 실행 환경을 버전 업 하는 방법, 시스템 및 프로그램이 기록된 컴퓨터 판독가능 매체 Download PDF

Info

Publication number
KR101493628B1
KR101493628B1 KR1020137010198A KR20137010198A KR101493628B1 KR 101493628 B1 KR101493628 B1 KR 101493628B1 KR 1020137010198 A KR1020137010198 A KR 1020137010198A KR 20137010198 A KR20137010198 A KR 20137010198A KR 101493628 B1 KR101493628 B1 KR 101493628B1
Authority
KR
South Korea
Prior art keywords
version
controller
information
user
function
Prior art date
Application number
KR1020137010198A
Other languages
English (en)
Other versions
KR20130095763A (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 미쓰비시덴키 가부시키가이샤
Publication of KR20130095763A publication Critical patent/KR20130095763A/ko
Application granted granted Critical
Publication of KR101493628B1 publication Critical patent/KR101493628B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

(과제) 컨트롤러 OS 데이터의 버전 업의 필요성을 확인해, 자동적으로 행해지는 컨트롤러 OS 데이터의 불필요한 버전 업을 배제하여, 금전적, 시간적, 작업적으로 효율이 좋고, 또한 안전성을 고려한 컨트롤러 OS 데이터의 버전 업 방법을 제공한다.
(해결 수단) 현재 발달해 있는 인터넷망과 컨트롤러용 프로그래밍 툴의 조합을 활용하여, 컨트롤러용의 프로그래밍 툴을 컨트롤러에 접속했을 때, 컨트롤러의 OS 버전을 자동적으로 확인하여, 인터넷상의 소정의 사이트에 존재하는 최신 OS 버전을 확인한다. 그리고 버전 업 해야 한다고 판단했을 경우(예를 들면, 결함의 내재가 보고되어 있는 컨트롤러라고 판단했을 경우), 최신 OS 데이터를 컨트롤러에 다운로드한다.

Description

프로그래머블·로직·컨트롤러의 실행 환경을 버전 업 하는 방법, 시스템 및 프로그램이 기록된 컴퓨터 판독가능 매체{METHOD, SYSTEM, AND COMPUTER READABLE MEDIUM FOR UPGRADING RUNTIME ENVIRONMENT OF PROGRAMMABLE LOGIC CONTROLLER}
본 발명은 방법, 시스템 및 프로그램에 관한 것이다.
현대의 제조 설비, 및 특히 공업 자동화의 분야에 있어서, 자동화 프로세스는 많은 경우, 저수준(低水準)의 자동화 시스템이나 프로세스 제어 및 감시 시스템 등에 의해서 제어된다. 저수준의 자동화 시스템은 프로그래머블·로직·컨트롤러(PLC)에 의해서 제어 혹은 감시되는 전용 로봇 기기, 또는 다른 자동화 시스템을 포함하고 있는 것이 있다. 또 이와 같은 프로세스를 감시하기 위해, 머신·비전·시스템, 바코드 리더, 및 다양한 광학, 전기, 전기 기계, 온도 센서 등의 다양한 검지 장치 및 계기(計器)가 사용되는 것이 있다.
일반적으로, 유저는 라다-프로그램과 같은 제어 로직을 개발하고, PLC(컨트롤러)는 유저가 소망하는 제조 프로세스를 달성하기 위해서 이 제어 로직을 실행한다. 제어 로직은 유저·애플리케이션·소프트 웨어로서 컨트롤러의 메모리에 격납되고, 그것은 컨트롤러에 의해 판독 가능하다. 컨트롤러에는, 컨트롤러의 프로세서가 제어 로직을 처리하여 유저·애플리케이션을 실행할 수 있는 실행 환경이 제공된다. 이(예를 들면 퍼스널 컴퓨터에 있어서의 오퍼레이팅 시스템(OS)에 유사한) 실행 환경은 컨트롤러의 일부이므로, 컨트롤러 제조원이 그 실행 환경을 보수(保守)할 책임을 진다. 컨트롤러의 제조원은, 이 실행 환경에 문제 또는 결함이 있으면 자주 실행 환경의 버전 업을 행한다. 이 실행 환경은 불휘발성 메모리에 격납되므로, 제조원은 많은 경우 컨트롤러 전체를 교환하여 실행 환경에 버전 업을 적용하지만, 이 방법은 이들 컨트롤러의 제조원에 대해 서포트 비용의 증가를 가져온다. 또한, 유저는 그 실행 환경을 버전 업 할 때는 제조 프로세스를 정지해야 한다.
따라서 컨트롤러의 실행 환경의 효율적인 버전 업을 가능하게 하기 위한 시스템이나 방법이 요구된다.
본 발명의 예시적인 실시 형태는, 적어도 상기한 문제점이나 단점 및 전술되어 있지 않은 그 외의 단점에 대해서 언급하는 것이다. 본 발명은 상기 단점을 극복하는 것이 요구되고 있는 것이 아니고, 또 본 발명의 실시 형태에 의해서 반드시 상기한 단점을 극복하는 것도 아니다.
본 발명의 제1 국면에 의해서, 프로그래머블·로직·컨트롤러의 실행 환경을 버전 업 하는 방법이 제공되고 있다. 이 방법에는, 상기 컨트롤러의 컨트롤러 형식 및 상기 컨트롤러의 오퍼레이팅 시스템의 버전 정보를 판독하는 스텝과, 상기 컨트롤러 형식 및 상기 버전 정보에 대응하는 버전 업 정보를 판독하는 스텝과, 상기 버전 업 정보에 기초하여 상기 실행 환경 중에서 버전 업 되어야 할 부분을 판정하는 스텝과, 상기 실행 환경 중에서 상기 판정된 부분을 버전 업 하는 스텝이 포함되어 있다.
본 발명의 제2 국면에 의해서 프로그래머블·로직·컨트롤러의 소프트웨어 보수를 실행하는 시스템이 제공되고 있다. 이 시스템에는, 프로그래밍 툴과 컨트롤러가 구비되어 있다. 상기 프로그래밍 툴은 상기 컨트롤러의 실행 환경을 버전 업하기 위한 조작이 가능하다. 또, 상기 프로그래밍 툴은 그 컨트롤러의 컨트롤러 형식 및 상기 컨트롤러의 오퍼레이팅 시스템의 버전 정보를 판독하는 컨트롤러 형식 판정 유닛과, 상기 컨트롤러 형식 및 상기 버전 정보에 대응하는 버전 업 정보를 판독하는 버전 업 정보 판정 유닛과, 상기 버전 업 정보에 기초하여 상기 실행 환경 중에서 버전 업 되어야 할 부분을 판정하는 버전 업 에어리어 판정 유닛과, 상기 실행 환경 중의 상기 판정된 부분을 버전 업 하는 버전 업 유닛이 포함되어 있다.
본 발명의 상기 양태 및/또는 다른 양태는, 첨부 도면을 참조하여 본 발명의 몇 개의 예시적인 실시 형태를 설명함으로써 보다 한층 분명해질 것이다.
도 1은 시스템 구성의 일례를 나타내는 도면이다.
도 2는 컨트롤러(시퀀서)의 실행 환경(오퍼레이팅 시스템)에 버전 업을 적용할 수 있는 절차의 일례를 설명하는 도면이다.
도 3a는 컨트롤러의 구성의 일례를 나타내는 도면이다.
도 3b는 컨트롤러의 소프트웨어의 구조의 일례를 나타내는 도면이다.
도 4a는 OS 실행 파라미터의 실시예를 나타내는 도면이다.
도 4b는 OS 실행 파라미터의 실시예를 나타내는 도면이다.
도 5는 OS 프로그램을 더욱 상세하게 설명하는 도면이다.
도 6은 라다-프로그램의 일례를 나타내는 도면이다.
도 7a는 버전 업 정보 및 버전 업 소프트웨어를 나타내는 도면이다.
도 7b는 버전 업 정보 및 버전 업 소프트웨어를 나타내는 도면이다.
도 8a는 도 2의 절차의 일례를 더욱 상세하게 설명하는 도면이다.
도 8b는 도 2의 절차의 일례를 더욱 상세하게 설명하는 도면이다.
도 9는 프로그래밍 툴의 내부 구조를 설명하는 도면이다.
이하에 본 발명의 몇 개의 실시 형태를 첨부 도면을 참조하여 보다 상세하게 설명한다.
이하의 설명에서는, 다른 도면에 있어서도 유사한 요소에는 유사한 참조 번호가 사용된다. 발명의 포괄적인 이해를 도울 수 있도록, 상세한 구성이나 구성요소 등이 명세서 내에서 예시되어 있는데, 그렇지만, 본 발명은 구체적으로 예시된 이러한 사항 없이 실시하는 것도 가능하다. 추가로, 불필요한 세부를 기재함으로써 발명을 알기 어렵게 하는 경우가 있으므로, 기존의 기능 또는 구성은 상세하게 설명되어 있지 않다.
실시 형태.
도 1은 본 발명의 예시적인 실시 형태에 의한 시스템 구성을 나타내고 있다. 프로그래밍 툴(1)은 유저에 의해서 개발된 프로그램을 제어 시퀀서(2)에 인스톨 한다. 시퀀서(2)는 유저의 제조 프로세스를 제어하는 기기이다. 시퀀서(2)는 프로그래머블·로직·컨트롤러(PLC)여도 좋다. 시퀀서(2) 및 프로그래밍 툴(1)은 USB(유니버설·시리얼·버스) 등의 수단에 의해서 서로 접속될 수 있는 것이다. 프로그래밍 툴(1)은 다른 기능을 실행하는 별개의 논리 유닛 또는 처리 유닛을 구비하는 프로세서를 포함하고 있어도 좋다. 이들 각각 다른 논리 유닛은, 프로세서상에서 구현화되는 소프트웨어에 포함시킬 수 있다. 서버(3)는 인터넷(4)을 통하여 프로그래밍 툴(1)에 접속되어, 시퀀서(2)에서 사용되는 소프트웨어를 보수·버전 업 하기 위해서 필요한 정보나 파일을 격납한다. 이하, 「시퀀서」 및 「컨트롤러」라는 말이 교대로 이용되고 있지만, 그들은 시퀀서(2)를 가리키는 것이다. 서버(3)는 시퀀서(2)의 제조원 또는 시퀀서(2)를 서포트하는 다른 보수 회사에 의해서 관리되고 있는 컴퓨터여도 좋다. 서버(3)는 인터넷(4)과 접속되어 규정된 URL에 기초하여 소정의 요구를 수신한다. 서버(3)는 스토리지 유닛으로서, 하드·디스크·드라이브·유닛을 가질 수 있고, 그 스토리지 유닛 내에 시퀀서(2)의 보수 및 교환을 위해서 준비된(후술함) 버전 업 소프트웨어(52) 및 (후술함) 버전 업 정보(53)를 격납할 수 있다.
다음으로, 도 2는 컨트롤러(2)의 실행 환경(예를 들면, 오퍼레이팅 시스템)에 대해서, 그것에 의해 버전 업이 적용될 수 있는 절차를 나타내고 있다.
스텝 S201에서는, 고객이 자신이 보수하는 것을 바라는 대상 컨트롤러에 프로그래밍 툴을 접속한다. 스텝 S202에서는, 대상 컨트롤러의 OS(오퍼레이팅 시스템)의 버전을 나타내는 데이터(즉, 버전 정보) 및 다른 데이터가 프로그래밍 툴에 의해서 판독된다. 스텝 S203에서는, 프로그래밍 툴은 그 컨트롤러로부터 판독된 OS 버전(버전 정보)에 관해서 서버(3)에 격납되어 있는 OS 데이터 정보를 참조한다. 스텝 S204에서는, 프로그래밍 툴은 컨트롤러의 실행 환경(예를 들면, 오퍼레이팅 시스템)에 버전 업을 적용해야할지 여부를 판정한다. 또, 프로그래밍 툴은 프로그래밍 툴이 컨트롤러로부터 판독한 OS 버전을 나타내는 데이터(즉, 버전 정보) 및 다른 데이터에 기초하여, 버전 업의 내용을 결정한다. 프로그래밍 툴은 버전 업이 적용되어야 하는 것이 아니라고 판정했을 경우(스텝 S204에서「아니오」인 경우)에, 처리를 종료하고, 버전 업이 적용되어야 하는 것이라고 판정했을 경우(스텝 S204에서「예」인 경우)에, 처리를 스텝 S205로 진행한다. 스텝 S205에서는, 프로그래밍 툴은 컨트롤러의 실행 환경에 버전 업을 적용한다. 상기 절차는 본 발명에 의해서 상정될 수 있는 절차의 일례에 대한 개략적인 기술(記述)이며, 그에 대한 상세는, 다음에 컨트롤러의 구조를 상세하게 설명함으로써 밝혀질 것이다.
도 3a는 시퀀서(2)의 구성을 설명하기 위한 도면이다. 시퀀서(2)에서는, 외부 유닛(21 및 22)이 시스템 버스(24)를 통하여 컨트롤러 모듈(23)에 접속된다. 외부 유닛(21 및 22)은 도시되어 있지 않은 센서, 램프, 액추에이터 및 서보 등의 외부 장치 또는 외부 기기에 접속되는 유닛이며, 외부 장치 또는 외부 기기에 관한 데이터를 격납하고 있다. 이들 외부 장치 또는 외부 기기는, 예를 들면 외부 유닛(21 및 22)과의 사이에 정보나 신호를 교환하는 것 등에 의해, 소정의 제조 프로세스를 실행한다. 외부 유닛(21 및 22)은 비트 군(群)에 기초한 디지털 정보나 아날로그 신호의 입출력에 이용할 수 있다.
컨트롤러 모듈(23)은 프로세서(231)와, 메모리 유닛(232)과, 시스템 버스 I/F(233)와, 프로그래밍 툴 접속 유닛(234)을 포함한다. 컨트롤러 모듈은 시스템 버스 I/F(233)를 통하여 시스템 버스(24)와 통신한다. 프로세서(231)는 유저에 의해서 개발된 프로그램이나, 시퀀서(2)의 오퍼레이팅 시스템(OS)을 실행하는 MPU(마이크로·프로세싱·유닛)이다. 이하, 유저에 의해서 개발된 프로그램은 응용 프로그램이라고 칭한다. 메모리 유닛(232)은 불휘발성 메모리(232a) 및 휘발성 메모리(232b)를 구비하고 있다. 불휘발성 메모리(232a)는 OS 실행 파라미터(31), OS 프로그램 파일(32), OS 버전 정보(33), 유저 프로그램(34), 및 컨트롤러 정보(35) 등을 격납하고 있다. 휘발성 메모리(232b)는 외부 장치 또는 외부 기기에 관한 데이터를 외부 유닛(21 및 22)으로부터 시스템 버스(24) 경유로 취득하여 격납하고 있다. 그렇지만, 불휘발성 메모리(232a)에 격납된 정보의 전부 또는 일부는 고속 액세스의 목적으로 추가로 휘발성 메모리(232b)에 격납될 수도 있다.
메모리 유닛(232)의 내용은 반송파, RF 신호, 이더넷(등록상표)(Ethernet(등록상표)) 신호, TCP/IP 등의 다양한 수단을 통하여 버전 업 할 수 있다. 그 모든 것을 망라하고 있는 것은 아니지만, 기억 매체의 리스트에는 1개 또는 그 이상의 배선을 가지는 전기적 접속, 플로피(등록상표) 디스크 혹은 플렉서블 디스크(flexible disk)와 같은 휴대용 컴퓨터 디스켓, 자기테이프 혹은 다른 자기적 매체, 하드 디스크, 랜덤·액세스·메모리(RAM), 리드·온니·메모리(ROM), 소거 가능 프로그래머블·리드·온니·메모리(EPROM 또는 플래쉬 메모리), 메모리 카드, 그 외의 메모리칩 혹은 카트리지, 광 파이버, 휴대용 컴팩트·디스크·리드·온니·메모리(CD-ROM), 그 외의 광학적 매체, 펀치 카드, 종이 테이프, 그 외 구멍 패턴을 구비한 물리적 매체, 컴퓨터/컨트롤러가 판독할 수 있는 그 외의 매체, 또는 이러한 적당한 조합(組合)이 포함된다.
프로그래밍 툴 접속 유닛(234)은 시퀀서(2)가 네트워크·인터페이스·모듈을 통하여 프로그래밍 툴과 통신할 수 있는 네트워크·인터페이스·모듈(104)을 포함하고 있어도 좋다. 네트워크·인터페이스·모듈(104)은 데이터 버스에 연결된 네트워크·인터페이스·카드를 포함하고 있어도 좋다. 네트워크·인터페이스·모듈은 네트워크 링크로의 쌍방향 데이터 통신 접속을 제공한다. 그러한 쌍방향 데이터 통신 접속은 근거리 통신망(LAN)에 접속되는 것이라도 좋다. 예를 들어, 네트워크·인터페이스·모듈(104)은 대응하는 형태의 전화 회선으로의 데이터 통신 접속을 제공하는 통합 서비스·디지털·네트워크(ISDN) 카드 또는 모뎀이라도 좋다. 또 다른 실시예로서, 네트워크·인터페이스·모듈(104)은 호환성이 있는 LAN으로의 데이터 통신 접속을 제공하는 로컬·에어리어·네트워크·인터페이스·카드(LAN NIC)여도 좋다. 기존의 802.11a, 802.11b, 802.11g 및 Bluetooth 등의 무선 링크도 네트워크의 실장을 위해서 사용해도 좋다. 이와 같은 실장에 있어서는, 모두 네트워크·인터페이스·모듈(104)이 다양한 타입의 정보를 나타내는 디지털/아날로그·데이터·스트림을 반송(搬送)하는 전기적, 전자기적, 또는 광학적 신호를 송수신한다.
OS 실행 파라미터(31)는 OS 프로그램(32)의 연산 파라미터를 포함하고 있으려, 예를 들어, 와치독·타이머(WDT)·세팅을 OS 실행 파라미터(31)로서 포함할 수 있다. OS 프로그램(32)은 어느 일정한 연산을 실행하기 위해서 OS 실행 파라미터를 이용하는 기능을 참조한다. 예를 들어, 에러 처리용 기능(예를 들어, 제로 제산(除算)이 생겼을 때, 또는 유저의 코드 중의 규정이 컨트롤러에 의해서 실행할 수 없을 때에 무엇이 일어날지를 정의하는 기능)이 OS 프로그램(32)으로서 인식될 수 있다. OS 프로그램(32)은 OS 프로그램의 연산이 각 기능용 연산 파라미터에 기초하여 변화하도록 설계된다. OS 프로그램(32)의 다른 예로서 와치독·타이머(WDT)·세팅을 감시하여, 와치독·타이머(WDT)·세팅이 어느 일정 값(예를 들어, 200 밀리 초)을 초과한 경우, 현재 실행 중인 프로그램을 정지하는 프로그램이어도 좋다.
OS 프로그램(32)은 컨트롤러의 실행 환경의 전체적인 기능을 조정하는 프로그램 코드를 대표하는 것이다. OS 프로그램(32)은 퍼스널 컴퓨터의 OS의 커넬 코드와 유사하다. OS의 커넬 코드와 마찬가지로, OS 프로그램(32)은 특권 모드에서 동작하고, 라다-프로그램 등의 유저 프로그램은 OS 프로그램을 변경하거나 또는 OS 프로그램을 제어할 수 없지만, OS 프로그램은 유저 프로그램의 실행을 제어한다. 또한, OS 프로그램(32)은 컨트롤러 하드웨어의 최적인 실행, 유저·시퀀스·프로그램의 관리 및 실행, 프로그래밍 툴과의 통신, 컨트롤러 하드웨어의 진단, 및 하드웨어 진단의 결과의 보고 등의 책임을 진다.
OS 버전 정보(33)는 현행의 OS 프로그램(32)의 버전을 식별하기 위해 사용되는 정보이다. 유저 프로그램(34)은 컨트롤러를 제어하기 위한 명령의 리스트이다. 공장 자동화의 분야에서는, 라다-다이어그램 형식의 프로그램이 사용되는 일이 많다. 컨트롤러 정보(35)는 컨트롤러의 제조원, 모델명, 형식 등에 관한 정보에 상당하는 것이다.
도 3b는 컨트롤러의 소프트웨어의 내부 구조를 나타내고 있고, 도 3b의 상세한 설명은 도 6의 설명의 후에 행해진다.
도 4a 및 도 4b는 OS 실행 파라미터(31)의 몇 개의 예를 보다 상세하게 나타내고 있다. 와치독·타이머(WDT) 세팅(401)은 OS 실행 파라미터(31)의 일례이다. 도 4a는 그래픽컬·유저·인터페이스를 통하여, 복수의 OS 실행 파라미터를 나타내고 있다. 즉, 복수의 OS 실행 파라미터는 그래픽컬·유저·인터페이스를 사용하여 구성할 수 있다. 도 4a는 OS 실행 파라미터(31)의 다른 예인 에러 체크(402)도 나타내고 있다. OS 실행 파라미터는 도 4b에 도시된 바와 같이 MPU 레지스터와 같은 데이터 구조로서 구성할 수 있다. 데이터 구조(403)는 WDT 세팅(401)을 나타내고 있으며, WDT 세팅(401)의 다양한 부분을 가리키는 복수의 비트를 포함하고 있다. 예를 들어, 데이터 구조(403)의 비트 0은 초기 실행 감시 시간이 온으로 되어 있는지, 또는 오프로 되어 있는지를 지정한다. 비트 1은 저속 실행 감시 시간이 온으로 되어 있는지, 또는 오프로 되는지를 지정한다. 데이터 구조(403) 중의 나머지 비트군은, 도 4a에서 WDT 세팅 필드에 입력된 값을 지정할 수 있다. 마찬가지로, 데이터 구조(404)는 도 4a에 있어서 에러 체크(402)의 세팅에 관계된 복수의 비트를 나타내고 있다. 예를 들어, 데이터 구조(404) 중의 비트 0은, 도 4a에서 배터리 체크 실행 세팅이 유저에 의해 체크되는 경우에 「1」이다.
도 5는 OS 프로그램(32)을 보다 상세하게 나타낸 것이다. 도 5에 도시된 바와 같이, OS 프로그램(32)은 추가로 복수의 실행 모듈로 분할될 수 있다. 예를 들어, 실행 모듈(32a)은 어느 일정한 에러 처리를 실시하고, 다른 실행 모듈(32b)은 와치독·타이머(WDT)를 실시하고, 추가로 다른 실행 모듈(32c)은 라다-프로그램에서 사용되는 오퍼레이터에 대응하는 명령을 포함하는 명령 코드를 실시할 수 있다. 예를 들어, 실행 모듈(32)은 LD, MOV 등의 명령이나 그러한 정의를 포함할 수 있는 것이다.
도 6은 유저 프로그램(34)에 격납된 라다-프로그램의 일례를 나타내고 있다. 라다-프로그램은 일종의 유저·애플리케이션·프로그램이다. 라다-프로그램의 각 스텝은 오퍼레이터가 거기에 따라서 동작하는 오퍼랜드(operand)로 구성되어 있다. 오퍼레이터는 연산의 타입을 나타내는 식별자이다. 오퍼랜드는 오퍼레이터가 거기에 따라서 동작하는 데이터 또는 변수이다. 예를 들어, 커멘드LD SM(400)은 SM(400)으로 불리우는 오퍼랜드와, LD로 불리우는 오퍼레이터의 조합(組合)으로 구성된다. 오퍼레이터 LD는 SM(400)에 격납된 값을 메모리에 로드할 수 있는 명령이다. LD 명령은 메모리에 격납된 데이터를 SM(400)에 로드하도록 정의될 수 있다. 이 LD 명령은, 단순한 일례이며, 실행 환경이 다르면 LD를 다르게 정의할 수 있다.
도 3b는 컨트롤러의 소프트웨어의 내부 구조를 도시한 것이다. 컨트롤러의 소프트웨어의 내부 구조는, 7개의 레이어(7개의 소프트웨어 레이어)로 분할하는 것이 가능하고, OS 프로그램 파일(32)은 이 7개의 레이어 중 5개의 레이어를 포함한다. 또한, 도 3b에는, 7개의 레이어 중 6개의 레이어가 예시되어 있다.
유저 레이어(301)는 OS 실행 파라미터, 유저·시퀀스·프로그램, 및 I/O 데이터를 포함하고 있다. 유저 레이어(301)는 컨트롤러의 OS 프로그램(32)(도 3a 참조)의 파일 중에 포함되지 않지만, 컨트롤러의 OS 프로그램(32)의 파일과 밀접하게 관련하고 있다. OS 실행 파라미터는 OS 실행 파라미터(31)(도 3a 참조)에 대응하고, 유저·시퀀스·프로그램은 유저 프로그램(34)(도 3a 참조)에 대응하고 있다. I/O 데이터는 유저·시퀀스·프로그램의 실행을 위해서 사용되는 입력 데이터 및 출력 데이터를 가리킨다. 컨트롤러는 외부 유닛(21, 22)으로부터 입력 데이터를 취득하고, 유저·시퀀스·프로그램을 실행하여 데이터를 외부 유닛(21, 22)으로 출력한다.
유저 I/F 레이어(302)는 컨트롤러 OS의 일부이다. 보다 구체적으로는, 유저 I/F 레이어(302)는 OS 프로그램(32)(도 3a 참조)의 파일의 일부이다. 유저 I/F 레이어(302)는 OS 실행 파라미터·디코드 및 유저·시퀀스·프로그램·디코드 등의기능을 포함하고 있다. OS 실행 파라미터·디코드 기능은 OS 실행 파라미터(31)(도 3a 참조)를 판독하여 복호하기 위한 기능이다. 마찬가지로, 유저·시퀀스·프로그램·디코드 기능은, 유저·시퀀스·프로그램을 판독하여 복호하기 위한 기능이다.
애플리케이션 레이어(303)는 OS 프로그램(32)(도 3a 참조)의 파일의 일부이며, 유저·시퀀스·프로그램의 실행을 담당하고 있다. 보다 구체적으로는, 애플리케이션 레이어(303)는 유저·시퀀스·프로그램 명령 실행, 및 통신 기능을 포함하고 있다. 유저·시퀀스·프로그램 명령 실행은 유저 I/F 레이어(302)에서 유저·시퀀스·프로그램·디코드 기능에 의해서 복호된 명령을 실행하기 위한 기능이다. 통신 기능은 컨트롤러와 프로그래밍 툴의 사이의 통신을 취급하기 위한 기능이다.
진단 레이어(304)도 또한, OS 프로그램(32)(도 3a 참조)의 파일의 일부이며, 컨트롤러 자체의 체크 및 진단을 담당하고 있다. 진단 레이어(304)는 진단 결과 매니지먼트, 시스템 버스 진단, 모듈 진단 및 배터리 진단을 포함하고 있다. 진단 결과 매니지먼트는 시스템 버스 진단 기능, 모듈 진단 기능 및 배터리 진단 기능 등의 서로 다른 진단 기능으로부터 얻어진 진단 결과를 격납한다. 시스템 버스 진단은 시스템 버스 상태의 체크를 담당하는 기능이다. 모듈 진단은 컨트롤러 모듈 자체 및 외부 유닛 상태의 체크를 담당하는 기능이다. 배터리 진단은 배터리 상태의 체크를 담당하는 기능이다.
추상화 레이어(305)는 파일 액세스, 기기의 메모리 액세스, 모듈 액세스, 통신 데이터 버퍼, 및 동작 매니지먼트 등의 기능을 포함하고 있다. 추상화 레이어(305)도 마찬가지로, OS 프로그램(32)(도 3a 참조)의 파일의 일부이다. 파일 액세스 기능은, 다른 소프트웨어 레이어에 대해서 OS 실행 파라미터(31)(도 3a 참조)의 파일 또는 유저·시퀀스·프로그램(유저 프로그램(34))의 파일로의 액세스를 제어한다(예를 들면, 허용하거나 금지함). 기기 메모리 액세스는, 다른 레이어에 대해서, 기기 메모리로의 액세스를 제어한다(예를 들면, 허용하거나 금지함). 기기군(機器群)은, 예를 들면, 프로그램을 구성하는 구성요소(예를 들어, 접점 및 코일군)를 포함함과 아울러, 컨트롤러의 CPU에 있어서의 프로그래밍용의 가상 요소를 포함한다. 가상 요소는 컨트롤러의 CPU에 의해서 사용되는 프로그램 언어의 일부를 포함해도 좋다. 이들 가상 요소는, 어느 기능을 특정함과 아울러, 유저 프로그램에서 사용되는 기본적인 빌딩 블록(building block)을 나타내고 있는 것을 포함해도 좋다. 예를 들어, 가상 요소(기기)는 스위치를 나타내는 것을 포함해도 좋다. 유저는 스위치에 대응하는 가상 요소를 포함함으로써, 자신의 프로그램 중에 스위치를 포함할 수 있다. 기기 메모리는 휘발성 메모리 내에 있다. 모듈 액세스는 다양한 소프트웨어 레이어에 대해서, 외부 유닛 중 몇 개에 이론적으로 액세스하는 것을 제어한다(예를 들면, 허용하거나 금지함). 통신 데이터 버퍼는 통신 프로토콜의 사용을 요구하는 일 없이, 소프트웨어 레이어에 대해서 접속된 기기와 통신하는 것을 제어한다(예를 들면, 허용하거나 금지함). 동작 매니지먼트는 LED, 스위치 및 배터리를 취급한다. 동작 매니지먼트는 소프트웨어 레이어군에 대해서, LED나 스위치, 배터리로의 이론적인 액세스를 제어한다(예를 들면, 허용하거나 금지함).
마지막 레이어는 하드웨어 I/F(하드웨어 인터페이스) 레이어(306)이다. 하드웨어 I/F 레이어(306)도 마찬가지로 OS 프로그램(32)(도 3a 참조)의 파일의 일부이며, 하드웨어 자원과의 인터페이스 처리를 행하는 드라이버 프로그램을 포함하고 있다. 하드웨어 I/F 레이어(306)는 시퀀스 명령의 실행에 기초하여 다른 모듈의 제어를 담당하는 시퀀스 명령 실행 엔진·드라이버를 포함하고 있다. 하드웨어 I/F 레이어(306)는 불휘발성 메모리용 드라이버인 플래시 ROM 드라이버와, 시스템 버스용의 드라이버인 시스템 버스 통신 드라이버와, 통신 포트를 담당하는 통신 드라이버를 추가로 포함하고 있다.
다음으로, 버전 업 정보(53)의 상세한 설명이 도 7a 및 도 7b에 관련하여 제공된다. 버전 업 정보(53) 및 버전 업 정보(53)에 특유의 구조는, 본 발명에 대해서 컨트롤러의 소프트웨어를 버전 업 할 때의 독자적인 유연성을 제공하는 본 발명의 중요한 특징이다. 버전 업 정보(53)는 서버(3)(도 1 참조)에 격납되어, 인터넷(4)을 통하여 서버(3)로부터 프로그래밍 툴(1)로 전송된다. 어떠한 타입의 네트워크에서도 서버(3)로부터 프로그래밍 툴(1)로 버전 업 정보를 전송하기 위해 사용할 수 있다는 것에 주목해야 한다. 버전 업 소프트웨어(52)는 버전 업 정보(53)의 내용에 기초하여 프로그래밍 툴(1)에 의해서 시퀀서(2)에 인스톨된다. 버전 업 소프트웨어(52)는 버전 업 정보(53)에 기초하여 OS 프로그램(32)(도 3a 참조)을 새로운 버전의 것으로 완전하게 치환(置換)하던지, 또는 OS 프로그램(32)의 일부를 새로운 것으로 치환한다.
버전 업 정보(53)는 최상위 엔트리가 「컨트롤러 형식」인 트리 구조로 도 7a 및 도 7b에 제시되어 있다. 컨트롤러 형식(700)은 버전 업 소프트웨어(52)가 대상으로 하는 컨트롤러의 모델을 식별하는 정보이다. 컨트롤러에 2개 이상의 모델이 있을 때, 모델마다 다른 버전 업 소프트웨어(52)가 준비되는 것이 가능하고, 2 이상의 버전 업 정보(53)는 마찬가지로 각 버전 업 정보(53)에 대응하여 준비될 수 있는 것이다.
컨트롤러 형식(700)이 특정되면, OS 버전(701)이 버전 업 소프트웨어(52)에 대해서 특정된다. 버전 업 정보(53)는 추가로 하드웨어 변경의 요부(要否)(702)를 포함하고 있고, 하드웨어 변경의 요부(702)는 컨트롤러가 결함이 있는(defective) 하드웨어 설계를 포함하고 있는지 여부, 또는, 하드웨어의 변경이 필요한지 여부를 나타낸다. 하드웨어 변경의 요부(702)가 1(true)인 경우, 하드웨어의 교환이 필요하다고 하는 메시지가 컨트롤러의 유저에게 표시될 수 있다. 이 메시지는 프로그래밍 툴(1)을 통해서 표시되어도 좋다.
다음으로, 버전 업 요인(703)은 메이저 버전 업 정보와 마이너 버전 업 정보와 결함(defect information) 정보를 포함한다. 버전 업 요인(703)은 추가로 보수의 중요도, 즉, 긴급성을 특정하는 정보도 포함한다. 버전 업 소프트웨어(52)가 컨트롤러 중에 아직 존재하지 않는 새로운 기능을 포함하고 있는 경우, 메이저 버전 업은 「1(true)」이다. 예를 들어, 새로운 기능이 인터넷을 통하여 통신하는 컨트롤러의 OS(실행 환경)에 포함되는 경우가 있다. 마이너 버전 업 정보에는, 이미 컨트롤러 OS의 일부인, 어느 일정한 기능이 개량되어야 하고, 또한, 버전 업 소프트웨어(52)는 개량점을 포함하고 있다는 것이 제시되어 있다. 예를 들어, 버전 업 소프트웨어(52)에는 확장 WDT 기능을 장비(裝備)할 수도 있다. 마이너 버전 업 필드가 「1(true)」인 경우, 업그레이드의 중요도는 낮은 것에 주목해야 한다. 중요성이 「저」인 경우, 유저에게 선택지가 제공되고, 그 선택지를 이용하여 유저는 자신의 판단으로 버전 업 소프트웨어(52)를 인스톨하는 것을 선택해도 좋다.
버전 업 요인(703) 중의 결함 필드(결함 정보)는 컨트롤러의 실행 환경에 결함이 존재하는지 여부를 나타낸다. 보다 구체적으로는, 결함 필드는 OS 프로그램(32) 중에 결함이 존재할 경우에 「1(true)」로 할 수 있다. 예를 들어, 결함 필드는 WDT 기능이 동작하지 않거나, 또는 WDT 기능이 WDT 데이터 구조(403)로부터 파라미터를 잘못 취출했을 때 「1(true)」로 할 수 있다. 결함 필드가 1(true)인 경우, 업그레이드의 중요도는 「고」이다. 중요도가 「고」인 경우, 버전 업 소프트웨어(52)가 본질적인 문제의 수정을 위해 준비되어 있으므로, 버전 업 소프트웨어(52)가 즉시/강제적으로 컨트롤러(시퀀서(2))에 인스톨 될 수 있다. 그렇지만, 컨트롤러(시퀀서(2))의 유저는 결함을 포함하는 기능을 사용하고 있지 않는 경우가 있고, 그 경우, 유저에게 선택지가 제공되고, 그 선택지를 이용하여 유저는 컨트롤러 OS로의 업그레이드의 적용을 스킵하는 것을 선택하여도 좋다.
또한, OS 버전 업 개소(704)는 버전 업이 영향을 미치는 OS 레이어를 지정할 수 있다. 예를 들어, 버전 업 소프트웨어(52)는 진단 레이어만, 또는 OS 프로그램(32)의 진단 레이어 및 추상화 레이어의 양쪽 모두에 영향을 미치기도 한다.
버전 업 정보(705)는 버전 업 소프트웨어(52)에 영향을 받는 OS 프로그램(32)의 부분을 특정하는 정보이다. 이 엔트리에는 종속 엔트리가 존재하고 있다. 예를 들어, 제1 종속 엔트리는 버전 업 기능 일람(705-1)일 수 있다. 버전 업 기능 일람(705-1)은 OS 프로그램(32)에 포함되어 있는 기능을 특정한다. 예를 들어, WDT 기능이 영향을 받는 경우, 버전 업 기능 일람(705-1)은 기능 1의 다음의 버전 업 엔트리에 「1(true)」을 지정한다. 마찬가지로, 버전 업 소프트웨어(52)가 초기 실행 감시, 저속 실행 감시 등의 다른 OS 기능에 영향을 주는 경우, 버전 업 엔트리는 이러한 기능마다 특정될 수 있다. 버전 업 정보(705)는 다른 종속 엔트리로서 버전 업 명령 리스트(705-2)를 추가로 포함할 수도 있다. 버전 업 명령 리스트(705-2)는 버전 업이 LD, MOV 등 다른 명령에 적용되고 있는지 여부를 특정한다.
도 7b는 버전 업 소프트웨어(52)를 도식적으로 가리키고 있다. 버전 업 소프트웨어(52)는 컨트롤러의 실행 환경(OS)으로의 버전 업으로서 적용되는 바이너리 데이터를 포함하고 있다. 예시적인 실장에 의하면, 도 3b에서 설명된 소프트웨어 레이어 중 어느 하나가 버전 업 되어야 할 경우, 버전 업 소프트웨어(52)는 그 레이어의 특정의 기능에 대한 바이너리 데이터를 포함하고 있다. 따라서 레이어의 1개가 버전 업 될 필요가 없는 경우, OS 데이터(706)는 그 레이어를 버전 업하기 위한 바이너리 데이터를 포함하지 않는다. 또한, 버전 업 소프트웨어(52)는 OS 데이터(706)용 체크 섬(707)을 포함하고 있어도 좋다.
다음으로, 도 2에 도시된 절차의 상세에 대해서, 도 8a 및 도 8b를 이용해 설명된다. 스텝 S801에서, 유저는 대상 컨트롤러에 관한 보수를 실행하기 위해, 프로그래밍 툴을 대상 컨트롤러에 접속한다. 스텝 S802-1에서는, 프로그래밍 툴은 대상 컨트롤러로부터 컨트롤러 형식의 정보를 판독한다. 스텝 S802-2에서는, 프로그래밍 툴은 대상 컨트롤러로부터 OS 버전 정보를 판독한다. S803-1에서는, 프로그래밍 툴은 대상 컨트롤러를 인터넷에 접속한다. S803-2에서는, 프로그래밍 툴은 서버로부터 버전 업 정보를 판독하기 위해 서버(3)에 액세스한다. 서버는 2대 이상의 컨트롤러를 위한 버전 업 정보를 격납하고 있어도 괜찮다. 따라서 스텝 S804에서는, 프로그래밍 툴은 대상 컨트롤러에 대응하는 버전 업 정보가 존재하는지 여부를 판정한다. 존재하지 않은 경우, 절차를 종료시키거나, 혹은, 유저가 다음 컨트롤러에 관한 보수를 실행하기로 결정할 수 있다. 도 8a에서는, 절차를 종료시키는 경우를 예시하고 있다. 상기의 각 스텝은 프로그래밍 툴(1) 중의 논리 유닛군에 의해서 실행할 수 있다는 것에 주목해야 한다. 즉, 프로그래밍 툴은 서버로부터 데이터를 판독하는 제1 논리 유닛과, OS 버전 형식을 판독하는 제2 논리 유닛을 가질 수 있는 것이다.
스텝 S804에서는, 프로그래밍 툴은 대상 컨트롤러에 대응하는 버전 업 정보가 서버로부터 판독된 버전 업 정보 중에 존재한다고 판정되었을 경우, 절차를 스텝 S806-1로 진행한다. 스텝 S806-1에서는, OS 버전 업 정보(예를 들면, 도 7a에 도시된 버전 업 정보(53))가 대응하는 대상 컨트롤러용으로 판독된다. 프로그래밍 툴은 대상 컨트롤러에 대응하는 버전 업 정보(53)를 찾아낼 수 있도록 버전 업 정보를 해석해야 하는 경우도 있다.
스텝 S806-1에서 버전 업 정보가 결정되는, 즉 대상 컨트롤러에 대응하는 버전 업 정보(53)를 찾아내면, 스텝 S806-2에서는, 프로그래밍 툴은 버전 업 정보(53)에 있어서의 하드웨어 변경의 요부(702)를 확인한다. 스텝 S807에서는, 프로그래밍 툴은 하드웨어 변경의 요부(702)가 버전 업 정보(53) 중에서 「1(true)」인지 여부를 체크한다. 프로그래밍 툴은 「1(true)」인 경우(스텝 S807에서 「예」인 경우), 절차를 스텝 S808로 진행한다. 스텝 S808에서는, 프로그래밍 툴은 관리자에게, PLC에 대해서 하드웨어의 교환이 필요하다는 것을 통지한다. 예를 들어, 프로그래밍 툴은 컨트롤러를 교환할 필요가 있다는 것을 통지한다. 프로그래밍 툴은 스텝 S807에서 「0(false)」인 경우(스텝 S807에서 「아니오」인 경우), 절차를 S809-1로 진행한다. 스텝 S809-1에서는, 프로그래밍 툴은 버전 업 정보(53)에 있어서의 OS 버전 업 개소(704)를 확인한다. 스텝 S809-2에서는, 프로그래밍 툴은 이 버전 업에 의해서 정정되어야 할 결함이 있는지 여부를 판정한다. 이것은, 버전 업 정보(53) 중의 버전 업 요인(703) 하에서 「결함」정보가 「1(true)」인지 여부를 체크함으로써 판정된다. 프로그래밍 툴은 결함 정보가 「1(true)」인 경우(스텝 S809-2에서 「예」인 경우), 「업그레이드」의 중요도는 "고"이므로, 절차를 스텝 S810-1로 진행한다. 프로그래밍 툴은 결함 정보가 「0(false)」인 경우(스텝 S809-2에서 「아니오」인 경우), 절차를 종료시킨다.
스텝 S810-1에서는, 프로그래밍 툴은 버전 업 정보(53)에 있어서의 OS 버전 업 개소(704)를 확인한다. 스텝 S810-2에서는, 프로그래밍 툴은 버전 업이 컨트롤러의 OS 프로그램(32)의 기본 부분에 영향을 주는지 여부를 체크한다. 즉, 프로그래밍 툴은 OS 버전 업 개소(704) 하에서 진단 레이어, 추상화 레이어, 하드웨어 I/F 레이어 중 어느 1개가 「1(true)」인 경우, 그 버전 업이 컨트롤러의 OS 프로그램(32)의 기본 부분에 영향을 준다고 판정한다. 프로그래밍 툴은, 버전 업이 컨트롤러의 OS 프로그램(32)의 기본 부분에 영향을 준다고 판정했을 경우(스텝 S810-2에서 「예」인 경우), 절차를 스텝 S814-1로 그대로 진행한다. 스텝 814-1에서는, 프로그래밍 툴은 인터넷 경유로 서포트 사이트에 액세스하여, 서포트 사이트로부터 OS 데이터를 판독한다. 스텝 S814-2에서는, 프로그래밍 툴은 버전 업 소프트웨어(52)를 이용하여, 컨트롤러의 OS 프로그램(32)의 기본 부분 중의 다양한 레이어의 대응하는 부분을 대체한다. 예를 들어, 추상화 레이어(305)에 결함이 있는 경우, 프로그래밍 툴은 버전 업 소프트웨어(52)를 이용하여, OS 프로그램(32) 중의 추상화 레이어(305)를 대체한다.
한편, 프로그래밍 툴은, 버전 업이 컨트롤러의 OS 프로그램(32)의 기본 부분에 영향을 주지 않는다고 판정했을 경우(스텝 S810에서 「아니오」인 경우), 절차를 스텝 S811-1로 진행한다. 스텝 S811-1에서는, 프로그래밍 툴은 대상 컨트롤러로부터 OS 실행 파라미터(31) 및 OS 프로그램(32)을 판독한다. 스텝 S812-1 및 스텝 S812-2에서는, 프로그래밍 툴은 버전 업 정보(53)를 참조함으로써, OS 실행 파라미터 및 OS 프로그램 중에서 버전 업 소프트웨어(52)에 의한 영향을 받는 부분을 판정한다. 예를 들어, 스텝 S812-1에서는, 프로그래밍 툴은 OS 실행 파라미터(31)를 판독함으로써, 유저가 사용하고 있는 OS 기능을 특정한다. 예를 들어, 데이터 구조(403)(도 4b를 참조)의 비트 중에서 1개가 설정되는 경우, 이것은 WDT 기능이 WDT 세팅을 사용하고 있다는 것을 시사하고 있다고 말할 수 있다. 또한, 유저에 의해서 사용되지 않고 버전 업 소프트웨어(52)에 의한 영향을 받는 기능이 존재할 가능성이 있다. 이에, 스텝 S812-2에서는, 프로그래밍 툴은 버전 업 정보(53)에 있어서의 버전 업 기능 일람(705-1)을 확인한다. 버전 업 기능 일람(705-1)은, 버전 업 소프트웨어(52)에 의한 영향을 받고 있는 기능의 리스트를 제공한다.
또한, 유저에 의해서 사용되는 기능에 기초하여, 프로그래밍 툴은 이러한 기능을 버전 업 해야하는지 여부에 대한 선택지를 유저에게 제공해도 좋다.
추가로, 버전 업 기능 일람과 유저에 의해서 사용되는 기능의 사이에 중복이 없는 경우, OS 프로그램(32)에 대해서 버전 업이 적용되지 않을 수도 있는 가능성이 있다. 이것은, 버전 업 기능 일람 중에 특정된 몇 개의 기능에 결함이 있지만, 이러한 기능이 유저에 의해서 사용되고 있지 않을 때에 일어날 수 있다. 따라서 OS 프로그램(32) 중의 이러한 기능에 대해서는 버전 업을 행하지 않아도 괜찮을 가능성도 있다. 이에, 스텝 S810-3에서는, 프로그래밍 툴은 버전 업의 이차적인 필요성을 확인하기 위해서, 다음의 체크를 행한다. 프로그래밍 툴은 버전 업 기능 일람과 유저에 의해서 사용되는 기능의 사이에 중복이 있는지 여부, 즉 결함 대응의 OS 데이터가 유저에 의해 사용되는 기능을 대상으로 하고 있는지 여부를 체크한다. 프로그래밍 툴은 결함 대응의 OS 데이터가 유저에 의해 사용되는 기능을 대상으로 하고 있는 경우(스텝 S810-3에서 「예」인 경우), 절차를 스텝 S814-1로 진행하고, 결함 대응의 OS 데이터가 유저에 의해 사용되는 기능을 대상으로 하지 않은 경우(스텝 S810-3에서 「아니오」인 경우), 절차를 스텝 S811-2로 진행한다.
또한, 스텝 S812-2에서 유저에게 선택지를 제공했을 때는, 유저가 버전 업해야 한다는 선택지를 선택했을 경우가 스텝 S810-3에서 「예」인 경우에 대응하고, 유저가 버전 업 해서는 안 된다는 선택지를 선택했을 경우가 스텝 S810-3에서 「아니오」인 경우에 대응한다.
또한, 프로그래밍 툴은 라다-프로그램 또는 응용 프로그램 중에서 유저에 의해서 사용되고 있는 명령/오퍼레이터를 추출하는 것도 가능하다. 프로그래밍 툴은 추출된 명령을 버전 업 명령 리스트(705-2) 중의 명령과 비교하여, 거기에 따라 라다-프로그램에 대해서 버전 업을 적용할 수 있다. 이에, 스텝 S811-2에서는, 프로그래밍 툴은 대상 컨트롤러로부터 OS 실행 파라미터(31) 및 OS 프로그램(32)을 판독한다. 스텝 S812-3 및 스텝 S812-4에서는, 프로그래밍 툴은 버전 업 정보(53)를 참조함으로써, OS 실행 파라미터 및 OS 프로그램 중에서 버전 업 소프트웨어(52)에 의한 영향을 받는 부분을 판정한다. 예를 들어, 스텝 S812-3에서는, 프로그래밍 툴은 OS 실행 파라미터(31)를 판독함으로써, 유저가 사용하고 있는 명령을 특정한다. 또한, 유저에 의해서 사용되지 않지만 버전 업 소프트웨어(52)에 의한 영향을 받는 명령이 존재할 가능성이 있다. 이에, 스텝 S812-4에서는, 프로그래밍 툴은 버전 업 정보(53)에 있어서의 버전 업 명령 일람(705-2)을 확인한다. 버전 업 명령 일람(705-2)은 버전 업 소프트웨어(52)에 의한 영향을 받고 있는 명령의 리스트를 제공한다.
또한, 유저에 의해서 사용되는 명령에 기초하여, 프로그래밍 툴은 이러한 명령을 버전 업 해야할지 여부에 대한 선택지를 유저에게 제공해도 좋다.
이에 더하여, 버전 업 명령 일람과 유저에 의해서 사용되는 기능의 사이에 중복이 없는 경우, OS 프로그램(32)에 대해서 버전 업이 적용되지 않아도 괜찮을 가능성이 있다. 이것은, 버전 업 명령 일람 중에 특정된 몇 개의 명령에 결함이 있지만, 이러한 명령이 유저에 의해서 사용되고 있지 않을 때에 일어날 수 있다. 따라서 OS 프로그램(32) 중의 이러한 명령에 대해서는 버전 업을 행하지 않을 수 있다는 가능성도 있다. 이에, 스텝 S810-4에서는, 프로그래밍 툴은 버전 업의 3차적인 필요성을 확인하기 위해서, 다음의 체크를 행한다. 프로그래밍 툴은 버전 업 명령 일람과 유저에 의해서 사용되는 명령의 사이에 중복이 있는지 여부, 즉 결함 대응의 OS 데이터가 유저에 의해 사용되는 명령을 대상으로 하고 있는지 여부를 체크한다. 프로그래밍 툴은, 결함 대응의 OS 데이터가 유저에 의해 사용되는 기능을 대상으로 하고 있는 경우(스텝 S810-4에서 「예」인 경우), 절차를 스텝 S814-1로 진행하고, 결함 대응의 OS 데이터가 유저에 의해 사용되는 기능을 대상으로 하지 않은 경우(스텝 S810-4에서 「아니오」인 경우), 절차를 종료시킨다.
또한, 스텝 S812-4에서 유저에게 선택지를 제공했을 때는, 유저가 버전 업 해야 한다는 선택지를 선택했을 경우가 스텝 S810-4에서 「예」인 경우에 대응하고, 유저가 버전 업 해야하는 것은 아니라는 선택지를 선택했을 경우가 스텝 S810-4에서 「아니오」인 경우에 대응한다.
상기와 같은 절차에 의해서, 유저는 컨트롤러·오퍼레이팅·시스템의 버전 업의 절차에 대해서 보다 좋은 제어를 제공받을 수 있으며, 만약 유저가 버전 업에 의한 영향을 받을, 어느 기능이나 프로그램군을 사용하고 있지 않은 경우, 컨트롤러에 대해서 버전 업은 적용되지 않도록 제어를 실현할 수 있다.
다음으로, 프로그래밍 툴의 내부 구조가 도 9를 참조하여 보다 상세하게 설명된다. 프로그래밍 툴(1)은 컨트롤러의 컨트롤러 형식 및 컨트롤러의 오퍼레이팅 시스템의 버전 정보를 판독하는 컨트롤러 형식 판정 유닛(901)과, 컨트롤러 형식 및 버전 정보에 대응하는 버전 업 정보를 판독하는 버전 업 정보 판정 유닛(902)과, 버전 업 정보에 기초하여 오퍼레이팅 시스템 중에서 버전 업 되어야 할 부분을 판정하는 버전 업 에어리어 판정 유닛(903)과, 오퍼레이팅 시스템 중의 판정된 부분을 버전 업 하는 버전 업 유닛(904)을 포함한다.
버전 업 정보는 오퍼레이팅 시스템 중에서 버전 업 해야 할 부분을 특정하기 위한 정보를 포함한다. 상술한 것처럼, 버전 업 정보는 버전 업 기능 일람을 특정하는 정보를 포함한다. 버전 업 기능 일람은 오퍼레이팅 시스템에 포함되는, 버전 업 되어야 할 기능에 관한 정보를 포함한다. 버전 업 에어리어 판정 유닛(903)은 오퍼레이팅 시스템 실행 파라미터를 판독함으로써, 오퍼레이팅 시스템에 포함되는 기능이 컨트롤러의 유저에 의해서 사용되고 있는지 여부를 판정할 수 있다. 버전 업 유닛(904)은 오퍼레이팅 시스템의 기능 중에서 유저에 의해서 사용되고 있는 기능만 버전 업을 적용할 수 있다.
또한, 프로그래밍 툴은 버전 업 기능 일람으로부터 1개의 기능을 버전 업 할지 여부를 선택하기 위한 선택지를 유저에게 제공할 수 있다. 버전 업 유닛(904)은 그러한 선택지를 이용하여, 유저에 의해서 선택된 기능만 버전 업 한다.
버전 업 에어리어 판정 유닛(903)은 유저·애플리케이션·프로그램이 버전 업 정보(53)에서 특정된 복수의 명령으로부터 하나의 명령을 사용하고 있는지 여부를 추가로 판정할 수 있고, 버전 업 유닛(904)은 유저·애플리케이션·프로그램이 복수의 명령 중의 적어도 1개를 사용하고 있다고 판정되었을 경우, 이 유저·애플리케이션·프로그램을 버전 업 할 수 있다.
순서도나 블럭도의 각 블록, 및 순서도나 블럭도 내의 블록군의 조합은, 컴퓨터 프로그램 명령군에 의해서 실시할 수 있다는 것이 이해될 것이다. 이러한 컴퓨터 프로그램 명령은 범용 컴퓨터, 전용 컴퓨터, 또는 다른 프로그래머블·데이터 처리 장치 등의 프로세서에 공급되고, 컴퓨터 또는 다른 프로그래머블·데이터 처리 장치의 프로세서를 통하여 실행하는 명령군이 순서도나 블럭도의 블록 또는 복수의 블록으로 특정된 기능/동작을 실행하는 수단을 생성하도록 할 수 있다. 또한, 도 9에 있어서의 블록군의 각각은 FPGA, ASIC 등의 프로세서에 의해서 실장 가능하다.
이러한 컴퓨터 프로그램 명령군은 컴퓨터, 혹은 다른 프로그래머블·데이터 처리 장치, 또는 다른 기기군에 대해서도 그것들이 특정한 방법으로 기능하도록 지시할 수 있는 컴퓨터 판독 가능한 매체, 또는 보다 구체적으로는, 컴퓨터 판독 가능한 기억 매체에 격납되고, 거기에 따라서 컴퓨터로 판독 가능한 매체에 격납된 명령군이 순서도나 블럭도의 블록 또는 블록군으로 특정되는 기능/동작을 실시하는 명령군을 포함하는 것을 제조할 수 있도록 하는 것이 가능하다.
이상의 실시 형태군은 단순한 예시이며, 본 발명을 제한하도록 해석되어야 하는 것이 아니다. 본 교시는 다른 타입의 장치에 용이하게 적용 가능하다. 마찬가지로, 본 발명의 실시 형태의 설명은 청구항의 범위를 제한하는 일 없이, 예시적인 것이 의도되며, 다수의 대체, 변경 및 변형이 가능하다는 것은 당업자에게 명백할 것이다.
1: 프로그래밍 툴
2: 시퀀서
3: 서버
4: 인터넷
52: 버전 업 소프트웨어
53: 버전 업 정보

Claims (21)

  1. 프로그래머블·로직·컨트롤러의 실행 환경을 버전 업 하는 방법으로서,
    상기 컨트롤러의 컨트롤러 형식 및 상기 컨트롤러의 오퍼레이팅 시스템의 버전 정보를 판독하는 스텝과,
    상기 컨트롤러 형식 및 상기 버전 정보에 대응하는 버전 업 정보를 판독하는 스텝과,
    상기 버전 업 정보에 기초하여 상기 실행 환경 중에서 버전 업 되어야 할 부분을 판정하는 스텝과,
    상기 실행 환경 중에서 상기 판정된 부분을 버전 업 하는 스텝을 구비하고,
    상기 버전 업 정보는,
    하드웨어 변경의 요부에 관한 정보와,
    정정되어야 할 결함의 유무에 관한 정보와,
    버전 업 기능 일람과,
    버전 업 명령 일람을 포함하고,
    상기 방법은,
    상기 버전 업 정보에 기초하여 하드웨어의 변경이 필요하다고 판단하는 경우에, 상기 컨트롤러를 교환할 필요가 있는 것을 유저에게 통지하는 스텝을 추가로 구비하고,
    상기 판정하는 스텝은,
    상기 버전 업 정보에 기초하여 정정되어야 할 결함이 있다고 판단하는 경우에, 버전 업의 1차적인 필요성이 있다고 판단하는 스텝과,
    상기 버전 업 정보에 기초하여 버전 업 기능 일람과 유저에 의하여 사용되는 기능 사이에 중복이 있다고 판단하는 경우에, 버전 업의 2차적인 필요성이 있다고 판단하는 스텝과,
    상기 버전 업 정보에 기초하여 버전 업 명령 일람과 유저에 의하여 사용되는 명령 사이에 중복이 있다고 판단하는 경우에, 버전 업의 3차적인 필요성이 있다고 판단하는 스텝과,
    상기 1차적인 필요성과 상기 2차적인 필요성 또는 상기 3차적인 필요성이 있는 부분을 상기 버전 업 되어야 할 부분으로서 판정하는 스텝을 포함하는 것을 특징으로 하는 방법.
  2. 청구항 1에 있어서,
    상기 컨트롤러의 오퍼레이팅 시스템의 실행 파라미터를 판독함으로써, 상기 실행 환경에 포함되는 상기 기능이 상기 컨트롤러의 유저에 의해서 사용되고 있는지 여부를 판정하는 스텝과,
    상기 실행 환경 중, 상기 유저에 의해서 사용되고 있는 실행 환경의 기능만 버전 업을 적용하는 스텝을 추가로 구비하는 것을 특징으로 하는 방법.
  3. 청구항 1에 있어서,
    상기 버전 업 기능 일람 중의 기능을 버전 업 할지 여부를 선택하기 위한 선택지를 유저에게 제공하는 스텝과
    상기 선택지를 이용하여 상기 유저에 의해서 선택된 기능만을 버전 업 하는 스텝을 추가로 구비하는 것을 특징으로 하는 방법.
  4. 청구항 1에 있어서,
    유저·애플리케이션·프로그램이 복수의 명령 중의 1개의 명령을 사용하고 있는지 여부를 판정하는 스텝과,
    상기 유저·애플리케이션·프로그램이 상기 복수의 명령 중의 적어도 1개를 사용하고 있다고 판정되었을 경우에 상기 유저·애플리케이션·프로그램을 버전 업 하는 스텝을 추가로 구비하는 것을 특징으로 하는 방법.
  5. 프로그래머블·로직·컨트롤러의 소프트웨어 보수를 실행하는 시스템으로서,
    프로그래밍 툴과,
    컨트롤러를 구비하고,
    상기 프로그래밍 툴은 상기 컨트롤러의 실행 환경을 버전 업 하도록 조작 가능하고,
    상기 프로그래밍 툴은,
    상기 컨트롤러의 컨트롤러 형식 및 상기 컨트롤러의 오퍼레이팅 시스템의 버전 정보를 판독하는 컨트롤러 형식 판정 유닛과,
    상기 컨트롤러 형식 및 상기 버전 정보에 대응하는 버전 업 정보를 판독하는 버전 업 정보 판정 유닛과,
    상기 버전 업 정보에 기초하여 상기 실행 환경 중에서 버전 업 되어야 할 부분을 판정하는 버전 업 에어리어 판정 유닛과,
    상기 실행 환경 중의 상기 판정된 부분을 버전 업 하는 버전 업 유닛을 포함하고,
    상기 버전 업 정보는,
    하드웨어 변경의 요부에 관한 정보와,
    정정되어야 할 결함의 유무에 관한 정보와,
    버전 업 기능 일람과,
    버전 업 명령 일람을 포함하고,
    상기 시스템은,
    상기 버전 업 정보에 기초하여 하드웨어의 변경이 필요하다고 판단하는 경우에, 상기 컨트롤러를 교환할 필요가 있는 것을 유저에게 통지하는 수단을 추가로 구비하고,
    상기 버전 업 에어리어 판정 유닛은,
    상기 버전 업 정보에 기초하여 정정되어야 할 결함이 있다고 판단하는 경우에, 버전 업의 1차적인 필요성이 있다고 판단하는 수단과,
    상기 버전 업 정보에 기초하여 버전 업 기능 일람과 유저에 의하여 사용되는 기능 사이에 중복이 있다고 판단하는 경우에, 버전 업의 2차적인 필요성이 있다고 판단하는 수단과,
    상기 버전 업 정보에 기초하여 버전 업 명령 일람과 유저에 의하여 사용되는 명령 사이에 중복이 있다고 판단하는 경우에, 버전 업의 3차적인 필요성이 있다고 판단하는 수단과,
    상기 1차적인 필요성과 상기 2차적인 필요성 또는 상기 3차적인 필요성이 있는 부분을 상기 버전 업 되어야 할 부분으로서 판정하는 수단을 포함하는 것을 특징으로 하는 시스템.
  6. 청구항 5에 있어서,
    상기 버전 업 에어리어 판정 유닛은 상기 컨트롤러의 오퍼레이팅 시스템의 실행 파라미터를 판독함으로써, 상기 실행 환경에 포함되는 상기 기능이 상기 컨트롤러의 유저에 의해서 사용되고 있는지 여부를 판정하고,
    상기 버전 업 유닛은 상기 실행 환경 중에서, 상기 유저에 의해서 사용되고 있는 실행 환경의 기능만 버전 업을 적용하는 것을 특징으로 하는 시스템.
  7. 청구항 5에 있어서,
    상기 시스템에서는 상기 버전 업 기능 일람 중의 기능을 버전 업 할지 여부를 선택하기 위한 선택지가 유저에게 제공되고,
    상기 버전 업 유닛은 상기 유저에 의해서 선택된 기능만을 버전 업 하는 것을 특징으로 하는 시스템.
  8. 청구항 5에 있어서,
    상기 버전 업 에어리어 판정 유닛은 유저·애플리케이션·프로그램이 복수의 명령 중의 하나의 명령을 사용하고 있는지 여부를 판정하고,
    상기 버전 업 유닛은 상기 유저·애플리케이션·프로그램이 상기 복수의 명령 중의 적어도 1개를 사용하고 있다고 판정되었을 경우에, 상기 유저·애플리케이션·프로그램을 버전 업 하는 것을 특징으로 하는 시스템.
  9. 컴퓨터에, 프로그래머블·로직·컨트롤러의 실행 환경을 버전 업 하는 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독가능 매체로서,
    상기 컴퓨터에,
    상기 컨트롤러의 컨트롤러 형식 및 오퍼레이팅 시스템의 버전 정보를 판독하는 스텝과,
    상기 컨트롤러 형식 및 상기 버전 정보에 대응하는 버전 업 정보를 판독하는 스텝과,
    상기 버전 업 정보에 기초하여 상기 실행 환경 중에서 버전 업 되어야 할 부분을 판정하는 스텝과,
    상기 실행 환경 중에서 상기 판정된 부분을 버전 업 하는 스텝을 실행시키고,
    상기 버전 업 정보는,
    하드웨어 변경의 요부에 관한 정보와,
    정정되어야 할 결함의 유무에 관한 정보와,
    버전 업 기능 일람과,
    버전 업 명령 일람을 포함하고,
    상기 컴퓨터에,
    상기 버전 업 정보에 기초하여 하드웨어의 변경이 필요하다고 판단하는 경우에, 상기 컨트롤러를 교환할 필요가 있는 것을 유저에게 통지하는 스텝을 추가로 실행시키고,
    상기 판정하는 스텝은,
    상기 버전 업 정보에 기초하여 정정되어야 할 결함이 있다고 판단하는 경우에, 버전 업의 1차적인 필요성이 있다고 판단하는 스텝과,
    상기 버전 업 정보에 기초하여 버전 업 기능 일람과 유저에 의하여 사용되는 기능 사이에 중복이 있다고 판단하는 경우에, 버전 업의 2차적인 필요성이 있다고 판단하는 스텝과,
    상기 버전 업 정보에 기초하여 버전 업 명령 일람과 유저에 의하여 사용되는 명령 사이에 중복이 있다고 판단하는 경우에, 버전 업의 3차적인 필요성이 있다고 판단하는 스텝과,
    상기 1차적인 필요성과 상기 2차적인 필요성 또는 상기 3차적인 필요성이 있는 부분을 상기 버전 업 되어야 할 부분으로서 판정하는 스텝을 포함하는 것을 특징으로 하는 프로그램이 기록된 컴퓨터 판독가능 매체.
  10. 청구항 9에 있어서,
    상기 컴퓨터에,
    상기 컨트롤러의 오퍼레이팅 시스템의 실행 파라미터를 판독함으로써, 상기 실행 환경에 포함되는 상기 기능이 상기 컨트롤러의 유저에 의해서 사용되고 있는지 여부를 판정하는 스텝과,
    상기 실행 환경 중에서 상기 유저에 의해서 사용되고 있는 실행 환경의 기능만 버전 업을 적용하는 스텝을 추가로 실행시키는 것을 특징으로 하는 프로그램이 기록된 컴퓨터 판독가능 매체.
  11. 청구항 9에 있어서,
    상기 컴퓨터에,
    상기 버전 업 기능 일람 중의 기능을 버전 업 할지 여부를 선택하는 선택지를 유저에게 제공하는 스텝과,
    상기 유저에 의해서 선택된 기능만을 버전 업 하는 스텝을 추가로 실행시키는 것을 특징으로 하는 프로그램이 기록된 컴퓨터 판독가능 매체.
  12. 청구항 9에 있어서,
    상기 컴퓨터에,
    유저·애플리케이션·프로그램이 복수의 명령 중의 1개의 명령을 사용하고 있는지 여부를 판정하는 스텝과,
    상기 유저·애플리케이션·프로그램이 상기 복수의 명령 중의 적어도 1개를 사용하고 있다고 판정되었을 경우에 상기 유저·애플리케이션·프로그램을 버전 업 하는 스텝을 추가로 실행시키는 것을 특징으로 하는 프로그램이 기록된 컴퓨터 판독가능 매체.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
KR1020137010198A 2010-09-29 2011-07-06 프로그래머블·로직·컨트롤러의 실행 환경을 버전 업 하는 방법, 시스템 및 프로그램이 기록된 컴퓨터 판독가능 매체 KR101493628B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/893,914 2010-09-29
US12/893,914 US8806470B2 (en) 2010-09-29 2010-09-29 System, method, and apparatus for software maintenance of sensor and control systems
PCT/JP2011/065522 WO2012043008A1 (ja) 2010-09-29 2011-07-06 プログラマブル・ロジック・コントローラの実行環境をバージョンアップする方法、システム、およびプログラム

Publications (2)

Publication Number Publication Date
KR20130095763A KR20130095763A (ko) 2013-08-28
KR101493628B1 true KR101493628B1 (ko) 2015-02-23

Family

ID=45872020

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137010198A KR101493628B1 (ko) 2010-09-29 2011-07-06 프로그래머블·로직·컨트롤러의 실행 환경을 버전 업 하는 방법, 시스템 및 프로그램이 기록된 컴퓨터 판독가능 매체

Country Status (6)

Country Link
US (1) US8806470B2 (ko)
JP (1) JP4987169B2 (ko)
KR (1) KR101493628B1 (ko)
CN (1) CN103124938B (ko)
DE (1) DE112011103308B4 (ko)
WO (1) WO2012043008A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9229771B2 (en) * 2012-03-08 2016-01-05 Microsoft Technology Licensing, Llc Cloud bursting and management of cloud-bursted applications
EP2711797A1 (en) * 2012-09-21 2014-03-26 ABB Research Ltd. Operating a programmable logic controller
US9444896B2 (en) 2012-12-05 2016-09-13 Microsoft Technology Licensing, Llc Application migration between clouds
CN104216725B (zh) * 2013-06-04 2019-04-19 Sap欧洲公司 用于软件解决方案托管的存储库层策略调整
KR101707266B1 (ko) * 2013-08-29 2017-02-15 엘에스산전 주식회사 Plc에서의 os의 업데이트 장치 및 방법
JP5937637B2 (ja) * 2014-04-30 2016-06-22 ファナック株式会社 シーケンスプログラムの切り替え時に、切り替え予告信号を出力する制御装置
CN104035799A (zh) * 2014-06-19 2014-09-10 浪潮电子信息产业股份有限公司 一种软件可定制升级的方法
JP2016218932A (ja) * 2015-05-26 2016-12-22 京セラ株式会社 ソフトウェア更新装置およびソフトウェア更新システム
CN106293851A (zh) * 2016-08-19 2017-01-04 联想(北京)有限公司 一种固件升级方法及设备
JP6696383B2 (ja) * 2016-09-27 2020-05-20 ブラザー工業株式会社 数値制御装置
US10496398B2 (en) 2017-07-25 2019-12-03 Aurora Labs Ltd. Hot updates to ECU software using tool chain
EP3462262A1 (de) * 2017-09-29 2019-04-03 Siemens Aktiengesellschaft Automatisiertes zuordnen von messdaten zur cloudbasierten überwachung mechanischer assets
EP3742240A1 (de) * 2019-05-22 2020-11-25 Siemens Aktiengesellschaft Verfahren und engineering-system zur änderung eines programms einer industriellen automatisierungskomponente
CN115917500B (zh) * 2020-07-31 2023-09-12 三菱电机株式会社 记录介质、信息处理装置及更新管理方法
CN115421820B (zh) * 2022-11-03 2023-02-21 深圳市江元智造科技有限公司 一种基于安卓应用的自动清理方法、系统和可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175345A (ja) * 1997-12-15 1999-07-02 Mitsubishi Electric Corp プログラマブルコントローラ
JP2002222005A (ja) * 2001-01-24 2002-08-09 Yaskawa Electric Corp 数値制御装置システム
JP2002297388A (ja) 2001-03-29 2002-10-11 Yaskawa Electric Corp システムパートプログラムのダウンロード方法、それに用いるシステムメモリおよびシステムパートプログラム
JP2006227871A (ja) 2005-02-17 2006-08-31 Fujitsu Ten Ltd アップデートシステム、情報処理装置、情報配信装置、及びアップデート方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805898A (en) * 1995-02-24 1998-09-08 International Business Machines Corporation Method and apparatus for estimating installation time in a data processing system
JP3444737B2 (ja) 1996-12-26 2003-09-08 東京瓦斯株式会社 燃焼機器修理支援装置
US6360363B1 (en) * 1997-12-31 2002-03-19 Eternal Systems, Inc. Live upgrade process for object-oriented programs
US7080371B1 (en) * 1998-03-03 2006-07-18 Siebel Systems, Inc. Method, system, apparatus and program product for distribution and instantiation of software upgrades
US6711738B1 (en) * 2000-11-27 2004-03-23 Siemens Aktiengesellschaft Method for replacing technologically aging sub-systems in a system
US6763517B2 (en) * 2001-02-12 2004-07-13 Sun Microsystems, Inc. Automated analysis of kernel and user core files including searching, ranking, and recommending patch files
US7093244B2 (en) * 2001-04-18 2006-08-15 Domosys Corporation Method of remotely upgrading firmware in field-deployed devices
US7051327B1 (en) * 2001-05-08 2006-05-23 Gateway Inc. System for providing data backup and restore with updated version by creating data package based upon configuration data application data and user response to suggestion
JP2003015879A (ja) 2001-06-29 2003-01-17 Sharp Corp ファーム格納方法
JP2003022233A (ja) 2001-07-06 2003-01-24 Toshiba Corp 入出力モジュール装置、制御装置及びプログラミング装置
DE10161321A1 (de) * 2001-12-13 2003-06-26 Siemens Ag Verfahren zur Aktualisierung von elektronisch modifizierbaren Komponenten eines Automatisierungsgerätes
JP2003216430A (ja) 2002-01-18 2003-07-31 Nec Corp ソフトウェア自動更新システムおよび端末
US20040031029A1 (en) * 2002-08-06 2004-02-12 Kyu-Woong Lee Methods and systems for automatically updating software components in a network
JP4085930B2 (ja) * 2002-11-08 2008-05-14 コニカミノルタホールディングス株式会社 画像処理装置
JP4305740B2 (ja) 2003-07-16 2009-07-29 オムロン株式会社 プログラマブルコントローラシステムおよび接続保証方法
US7454745B2 (en) * 2003-07-31 2008-11-18 International Business Machines Corporation Automated semantic-based updates to modified code base
US20060080656A1 (en) * 2004-10-12 2006-04-13 Microsoft Corporation Methods and instructions for patch management
US20060106920A1 (en) * 2004-11-15 2006-05-18 Microsoft Corporation Method and apparatus for dynamically activating/deactivating an operating system
US20070016432A1 (en) * 2005-07-15 2007-01-18 Piggott Bryan N Performance and cost analysis system and method
US8392602B2 (en) 2005-09-30 2013-03-05 Rockwell Automation Technologies, Inc. Embedding controllers and devices with data to facilitate up-to-date control and configuration information
JP5025562B2 (ja) 2008-05-26 2012-09-12 三菱電機株式会社 プログラマブルコントローラシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175345A (ja) * 1997-12-15 1999-07-02 Mitsubishi Electric Corp プログラマブルコントローラ
JP2002222005A (ja) * 2001-01-24 2002-08-09 Yaskawa Electric Corp 数値制御装置システム
JP2002297388A (ja) 2001-03-29 2002-10-11 Yaskawa Electric Corp システムパートプログラムのダウンロード方法、それに用いるシステムメモリおよびシステムパートプログラム
JP2006227871A (ja) 2005-02-17 2006-08-31 Fujitsu Ten Ltd アップデートシステム、情報処理装置、情報配信装置、及びアップデート方法

Also Published As

Publication number Publication date
KR20130095763A (ko) 2013-08-28
CN103124938A (zh) 2013-05-29
JPWO2012043008A1 (ja) 2014-02-06
JP4987169B2 (ja) 2012-07-25
US8806470B2 (en) 2014-08-12
DE112011103308T5 (de) 2013-08-29
DE112011103308B4 (de) 2018-02-01
US20120079470A1 (en) 2012-03-29
WO2012043008A1 (ja) 2012-04-05
CN103124938B (zh) 2015-05-13

Similar Documents

Publication Publication Date Title
KR101493628B1 (ko) 프로그래머블·로직·컨트롤러의 실행 환경을 버전 업 하는 방법, 시스템 및 프로그램이 기록된 컴퓨터 판독가능 매체
US8644959B2 (en) System and method for functionalization in line with demand, for control and regulatory devices
CN101960417B (zh) 网络上现场设备的配置
US8904074B2 (en) Method and apparatus for distributing configuration files in a distributed control system
WO2006071918A2 (en) Architecture for control systems
JP2009099150A (ja) プログラムの自動修正方法及び自動化システム
JP4788912B2 (ja) Plc
CN107924171B (zh) 从装置、从装置的控制方法以及记录介质
US20080077370A1 (en) System and method for integrating a process control system into a training simulator
CN106464575A (zh) 提供映射到独立底层网络的逻辑模型的网关
JP4849261B2 (ja) 安全アプリケーション作成支援装置
EP2725438B1 (en) System and method for vendor release independent reusable customized function block libraries
KR102560634B1 (ko) Pc 프로그램을 사용하여 plc를 제어하는 방법
JP6973678B1 (ja) 制御装置、制御方法、及びプログラム
US8832670B2 (en) Programmable controller and programming tool for communication with legacy equipment
JP5119204B2 (ja) プログラマブルコントローラ、データ書き込み方法、及び受信モジュール
EP3039819B1 (en) Communication apparatus and relay protection apparatus
CN107533490B (zh) 控制系统及可编程逻辑控制器
JP6821559B2 (ja) 自己修復機能を有するフィールド機器
US20060190098A1 (en) Development system for process control systems as well as associated method and computer program product
US20140172130A1 (en) Modular System And Associated Method
CN115858074A (zh) 多上位机默认图形用户界面自适应显示方法、装置及系统
EP4155903A1 (en) Industrial automation project design telemetry
JP5435648B2 (ja) ファイル共有装置、ファイル共有装置のファームウェアアップデート方法、コンピュータプログラム
WO2006011271A1 (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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180119

Year of fee payment: 4