KR20220132248A - Plc 프로그램의 지원 방법, 장치 및 서버 - Google Patents

Plc 프로그램의 지원 방법, 장치 및 서버 Download PDF

Info

Publication number
KR20220132248A
KR20220132248A KR1020210037275A KR20210037275A KR20220132248A KR 20220132248 A KR20220132248 A KR 20220132248A KR 1020210037275 A KR1020210037275 A KR 1020210037275A KR 20210037275 A KR20210037275 A KR 20210037275A KR 20220132248 A KR20220132248 A KR 20220132248A
Authority
KR
South Korea
Prior art keywords
plc
plc system
firmware
information
project
Prior art date
Application number
KR1020210037275A
Other languages
English (en)
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 KR1020210037275A priority Critical patent/KR20220132248A/ko
Publication of KR20220132248A publication Critical patent/KR20220132248A/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
    • 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
    • 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/4401Bootstrapping
    • 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/14Plc safety
    • G05B2219/14018IN, plc and comparator, error detector, backup, standby plc, switch, update OUT
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

본 발명은 PLC 프로그램의 지원 방법, 장치 및 서버에 관한 것이다. 본 발명의 일 실시예에 따른 방법은 전자 장치에 의해 수행되는 PLC 프로그램의 지원 방법으로서, PLC 프로그램 작성 및 파라미터 설정을 위한 프로젝트를 시작하는 단계; 프로젝트 대상의 PLC 시스템에 대한 시스템 구성 정보를 수집하는 단계; 사용자로부터 PLC 프로그램 작성 및 파라미터 설정의 작업을 입력 받는 단계; 작성된 PLC 프로그램 및 설정된 파라미터가 PLC 시스템의 현재 펌웨어 버전에 적용 가능한지 여부를 수집된 시스템 구성 정보를 이용하여 확인하는 단계; 적용 불가능한 펌웨어 버전으로 확인되는 경우, 서버에 접속하여 PLC 시스템에 적용 가능한 업데이트 버전의 펌웨어에 대한 정보를 다운로드 받은 후, PLC 시스템에 접속하여 다운로드 받는 펌웨어 정보를 기반으로 PLC 시스템의 펌웨어를 업데이트하는 단계; 작성된 PLC 프로그램 및 설정된 파라미터에 대한 정보를 PLC 시스템으로 다운로드하는 단계;를 포함한다.

Description

PLC 프로그램의 지원 방법, 장치 및 서버{METHOD, APPARATUS AND SERVER FOR SURPPORTING PROGRAMMABLE LOGIC CONTROLLER PROGRAM}
본 발명은 PLC 프로그램의 지원 기술에 관한 것으로서, 더욱 상세하게는 PLC 프로그램 및 파라미터에 대한 작업 시에나 작업된 PLC 프로그램 및 파라미터를 PLC 시스템에 적용 시에 필요한 정보를 사전에 파악하여 지원하기 위한 기술에 관한 것이다.
PLC(Programmable Logic Controller) 시스템은 다양한 장비 및 여러 종류의 기계나 프로세서 등을 제어하는 장치이다. 이러한 PLC 시스템은 디지털 또는 아날로그 입출력 모듈을 통해 로직, 시퀀스, 타이밍, 카운트 및 연산 등의 제어 동작을 수행할 수 있다.
도 1은 현장 엔지니어(사용자)가 PLC 프로그램 작업 시 발생하는 문제 해결을 위한 과정의 일 예를 나타낸다.
한편, 엔지니어(사용자)는 사용자 단말의 PLC 프로그래밍 툴을 이용하여 PLC 프로그램 작성 및 파라미터 설정의 작업을 수행하며, 작업된 해당 PLC 프로그램 및 파라미터를 PLC 시스템에 다운로드한다. 하지만, 사용자가 작업한 PLC 프로그램 및 파라미터의 설정이 대상 PLC 시스템 모듈에 다운로드되기 전에는 해당 모듈의 펌웨어 버전이 설정 파라미터의 항목을 지원하는지 알 수 없다.
즉, 사용자가 자신의 시스템 구상에 따라 PLC 프로그램을 작성하고 파라미터 등을 설정하여 대상 PLC 시스템 모듈에 다운로드하는데, 대상 PLC 시스템 모듈의 펌웨어가 그 설정 파라미터를 지원하지 않을 수 있다. 이 경우, 도 1에 도시된 바와 같이, 사용자는 이미 설정한 파라미터를 부득이하게 변경하거나, 고객 지원 센터에 연락해 펌웨어 업데이트 기술 지원을 요청해야 하므로, 작업 또는 다운로드의 효율성을 떨어뜨리고 작업 속도가 늦어지는 문제점이 발생한다.
또한, 파라미터 설정에 필수적인 파라미터 데이터 파일(parameter data file)(이하, “”이라 지칭함)이 사용자 단말(예를 들어, PC, 노트북 등)에 없을 수 있다. 이때, PDF는 다수의 파라미터에 대한 정의를 포함하는 파일이다. 이 경우에도 사용자가 해당 PDF의 다운로드를 지원하는 사이트를 찾아서 이를 다운로드 받아야 하므로, 동일하게 상술한 문제점이 발생한다.
도 2는 다수의 사용자가 PLC 프로그래밍 시 각 사용자의 단말에 설치된 PLC 프로그래밍 툴의 버전이 다른 경우에 대한 일 예를 나타낸다.
한편, PLC 시스템이 활용되는 실제 현장의 경우, 다수의 사용자 각각이 PLC 프로그램 및 파라미터에 대한 작업과 다운로드를 수행하는 경우가 빈번하다. 이 경우, 다수 사용자의 작업으로 인해, 특정 사용자의 단말에는 작업 또는 다운로드 시에 필요한 정보(즉, PLC의 대상 모듈에 대한 업데이트 버전의 펌웨어 정보, 파라미터 지원을 위한 파라미터 데이터 파일)이 없을 수 있으며, 동일하게 상술한 문제점이 발생한다.
구체적으로, 도 2를 참조하면, 비교적 최신 버전의 PLC 프로그래밍 툴을 가지고 작업하는 사용자 경우 해당 툴에서 지원하는 다양한 파라미터 등을 설정할 수 있지만, 해당 툴에서 설정한 파라미터 항목에 대해 대상 PLC 시스템 모듈의 펌웨어 버전에서 지원하지 않을 수 있다. 이 경우, 사용자는 보다 낮은 버전의 PLC 프로그래밍 툴을 설치하여 다시 파라미터를 설정하거나, 기 설정한 파라미터의 사용을 위해 해당 PLC 시스템 모듈의 벤더의 고객 지원 센터에 연락해서 펌웨어 업데이트 등의 기술 지원을 요청해야 한다.
또한, 제1 사용자의 단말에 특정 PDF가 있어 이를 기반으로 설정 및 다운로드한 PLC 프로그램을 이어서 작업하기 위해, 제2 사용자가 자신의 단말에 해당 PLC 프로그램의 업로드할 수 있다. 이때, 제2 사용자의 단말에는 제1 사용자가 사용한 PDF가 없으므로, 업로드 된 PLC 프로그램이 제2 사용자 단말에서 제대로 표시되지 않거나 에러가 발생할 수 있다. 이 경우, 제2 사용자는 제1 사용자를 통해 해당 PDF를 자신의 단말에 추가하거나, 해당 PDF의 다운로드를 지원하는 사이트를 찾아서 이를 자신의 단말에 다운로드해야 한다.
상기한 바와 같은 종래 기술의 문제점을 해결하기 위하여, 본 발명은 PLC 프로그램 및 파라미터에 대한 작업 시에나 작업된 PLC 프로그램 및 파라미터를 PLC 시스템에 적용 시에 필요한 정보를 사전에 파악하여 지원하기 위한 기술을 제공하는데 그 목적이 있다.
다만, 본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제에 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 과제를 해결하기 위한 본 발명의 일 실시예에 따른 방법은 전자 장치에 의해 수행되는 PLC 프로그램의 지원 방법으로서, PLC 프로그램 작성 및 파라미터 설정을 위한 프로젝트를 시작하는 단계; 프로젝트 대상의 PLC 시스템에 대한 시스템 구성 정보를 수집하는 단계; 사용자로부터 PLC 프로그램 작성 및 파라미터 설정의 작업을 입력 받는 단계; 작성된 PLC 프로그램 및 설정된 파라미터가 PLC 시스템의 현재 펌웨어 버전에 적용 가능한지 여부를 수집된 시스템 구성 정보를 이용하여 확인하는 단계; 적용 불가능한 펌웨어 버전으로 확인되는 경우, 서버에 접속하여 PLC 시스템에 적용 가능한 업데이트 버전의 펌웨어에 대한 정보를 다운로드 받은 후, PLC 시스템에 접속하여 다운로드 받는 펌웨어 정보를 기반으로 PLC 시스템의 펌웨어를 업데이트하는 단계; 작성된 PLC 프로그램 및 설정된 파라미터에 대한 정보를 PLC 시스템으로 다운로드하는 단계;를 포함한다.
상기 수집하는 단계는 PLC 시스템으로부터 시스템 구성 정보의 수집이 가능한 경우 PLC 시스템으로부터 해당 정보를 수집하고, PLC 시스템으로부터 시스템 구성 정보의 수집이 불가능한 경우 사용자로부터 해당 정보를 입력 받아 수집하는 단계를 포함할 수 있다.
상기 시작하는 단계는 새로운 프로젝트를 생성하거나, 전자 장치에 기 저장된 프로젝트를 불러오거나, PLC 시스템에 접속하여 PLC 시스템에 기 저장된 프로젝트를 불러오는 단계를 포함할 수 있다.
상기 시작하는 단계는 PLC 시스템에 접속하여 PLC 시스템에 기 저장된 프로젝트를 불러오는 단계를 포함할 수 있으며, 상기 수집하는 단계는 PLC 시스템에 대한 시스템 구성 정보를 PLC 시스템으로부터 수집하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 방법은 상기 수집하는 단계와 상기 입력 받는 단계의 사이에, PLC 시스템에 적용된 파라미터가 전자 장치에 현재 저장된 파라미터 데이터 파일에 의해 지원 가능한지 여부를 수집된 시스템 구성 정보를 이용하여 확인하는 단계; 및 지원 불가능한 파라미터 데이터 파일로 확인되는 경우, 서버에 접속하여 지원 가능한 종류의 파라미터 데이터 파일을 전자 장치로 다운로드하는 단계;를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 방법은 상기 서버에 대한 접속이 불가능한 경우, 상기 업데이트의 불가 및 PLC 시스템에 대한 펌웨어의 업데이트 필요에 대해 알림 메시지를 표시하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 전자 장치는, PLC 프로그래밍 툴이 저장된 메모리; 및 메모리에 저장된 PLC 프로그래밍 툴을 실행하며, PLC 프로그래밍 툴에서 작성되는 PLC 프로그램을 지원하기 위한 제어를 수행하는 제어부;를 포함한다.
상기 제어부는, PLC 프로그램 작성 및 파라미터 설정을 위한 프로젝트를 관리하는 과정과, 시작된 프로젝트 대상의 PLC 시스템에 대한 시스템 구성 정보를 수집하는 과정과, 사용자로부터 입력부를 통해 PLC 프로그램 작성 및 파라미터 설정의 작업을 입력 받는 과정과, 작성된 PLC 프로그램 및 설정된 파라미터가 PLC 시스템의 현재 펌웨어 버전에 적용 가능한지 여부를 수집된 시스템 구성 정보를 이용하여 확인하는 과정과, 적용 불가능한 펌웨어 버전으로 확인되는 경우 서버에 접속하여 PLC 시스템에 적용 가능한 업데이트 버전의 펌웨어에 대한 정보를 다운로드 받는 과정과, PLC 시스템에 접속하여 다운로드 받는 펌웨어 정보를 기반으로 PLC 시스템의 펌웨어를 업데이트하는 과정과, 작성된 PLC 프로그램 및 설정된 파라미터에 대한 정보를 PLC 시스템으로 다운로드하는 과정을 각각 제어할 수 있다.
상기 제어부는 상기 수집하는 과정에서, PLC 시스템으로부터 시스템 구성 정보의 수집이 가능한 경우 PLC 시스템으로부터 해당 정보를 수집하도록 제어하고, PLC 시스템으로부터 시스템 구성 정보의 수집이 불가능한 경우 사용자로부터 해당 정보를 입력 받아 수집하도록 제어할 수 있다.
상기 제어부는 상기 시작하는 과정에서, 새로운 프로젝트를 생성하도록 제어하거나, 메모리에 기 저장된 프로젝트를 불러오도록 제어하거나, PLC 시스템에 접속하여 PLC 시스템에 기 저장된 프로젝트를 불러오도록 제어할 수 있다.
상기 제어부는, 상기 시작하는 과정에서, PLC 시스템에 접속하여 PLC 시스템에 기 저장된 프로젝트를 불러오도록 제어할 수 있으며, 상기 수집하는 과정에서, PLC 시스템에 대한 시스템 구성 정보를 PLC 시스템으로부터 수집하도록 제어할 수 있다.
상기 제어부는 PLC 시스템에 적용된 파라미터가 전자 장치에 현재 저장된 파라미터 데이터 파일에 의해 지원 가능한지 여부를 수집된 시스템 구성 정보를 이용하여 확인하도록 제어할 수 있으며, 지원 불가능한 파라미터 데이터 파일로 확인되는 경우 서버에 접속하여 지원 가능한 종류의 파라미터 데이터 파일을 전자 장치로 다운로드하도록 제어할 수 있다.
상기 제어부는 상기 서버에 대한 접속이 불가능한 경우, 상기 업데이트의 불가 및 PLC 시스템에 대한 펌웨어의 업데이트 필요에 대해 알림 메시지를 디스플레이를 통해 표시하도록 제어할 수 있다.
상기와 같이 구성되는 본 발명은 PLC 프로그램 및 파라미터에 대한 작업 시에나 작업된 PLC 프로그램 및 파라미터를 PLC 시스템에 적용 시에 필요한 정보를 사전에 파악하여 지원할 수 있는 이점이 있다.
또한, 본 발명은 사용자의 작업 효율성을 증가시킬 수 있는 이점이 있다. 즉, 실제 현장에서 빈번하게 발생되는 다수 사용자의 동시 작업으로 인해, 펌웨어 버전이 설정한 파라미터에 대한 적용 불가한 버전인 경우나, 제1 사용자의 단말에 있는 PDF를 기반으로 제1 사용자가 작업하여 다운로드한 프로젝트에 대해, 다음에 업로드 받아 작업을 이어서 하는 제2 사용자의 단말에는 해당 PDF가 없음으로 인해, 해당 프로젝트나 파라미터 설정이 제대로 표시되지 않고 변경도 할 수 없는 경우에, 작업이 지연되는 것을 방지할 수 있다.
또한, 본 발명은 PDF 및 펌웨어에 대한 사용자의 사용 패턴 추세를 수집 및 분석할 수 있는 이점이 있다. 즉, 서버를 통해 사용자가 다운로드하는 PDF 및 펌웨어를 모니터링할 수 있으므로, 현재 현장에서 PLC 시스템의 모듈 조합에 대해 파악할 수 있으며, 특정 조합의 모듈로 구성했을 때 어떤 PDF 파일을 사용해서 파라미터 설정을 하는지 등에 대한 패턴을 분석할 수 있으며, 이러한 분석을 기반으로 PLC 시스템의 모듈에 대한 수요 예측이 가능하다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 현장 엔지니어(사용자)가 PLC 프로그램 작업 시 발생하는 문제 해결을 위한 과정의 일 예를 나타낸다.
도 2는 다수의 사용자가 PLC 프로그래밍 시 각 사용자의 단말에 설치된 PLC 프로그래밍 툴의 버전이 다른 경우에 대한 일 예를 나타낸다.
도 3은 본 발명의 일 실시예에 따른 시스템의 구성을 나타낸다.
도 4는 본 발명의 일 실시예에 따른 관리 단말(100)의 블록 구성도를 나타낸다.
도 5는 제어부(150)의 PLC 프로그램 지원 등의 관리를 위한 블록 구성도를 나타낸다.
도 6은 본 발명의 일 실시예에 따른 PLC 프로그램의 지원 방법에 대한 순서도를 나타낸다.
도 7은 도 6에 대한 보다 상세한 제1 실시예의 순서도를 나타낸다.
도 8은 도 6에 대한 보다 상세한 제2 실시예의 순서도를 나타낸다.
도 9는 펌웨어 업데이트 및 PDF 파일 다운로드를 위한 버전 테이블과, 관리 툴에 의해 확인된 필요 펌웨어 버전 및 PDF 파일 리스트에 대한 일 예를 나타낸다.
본 발명의 상기 목적과 수단 및 그에 따른 효과는 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며, 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 경우에 따라 복수형도 포함한다. 본 명세서에서, "포함하다", “구비하다”, “마련하다” 또는 “가지다” 등의 용어는 언급된 구성요소 외의 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
본 명세서에서, “또는”, “적어도 하나” 등의 용어는 함께 나열된 단어들 중 하나를 나타내거나, 또는 둘 이상의 조합을 나타낼 수 있다. 예를 들어, “또는 B”“및 B 중 적어도 하나”는 A 또는 B 중 하나만을 포함할 수 있고, A와 B를 모두 포함할 수도 있다.
본 명세서에서, “예를 들어” 등에 따르는 설명은 인용된 특성, 변수, 또는 값과 같이 제시한 정보들이 정확하게 일치하지 않을 수 있고, 허용 오차, 측정 오차, 측정 정확도의 한계와 통상적으로 알려진 기타 요인을 비롯한 변형과 같은 효과로 본 발명의 다양한 실시 예에 따른 발명의 실시 형태를 한정하지 않아야 할 것이다.
본 명세서에서, 어떤 구성요소가 다른 구성요소에 '연결되어’ 있다거나 '접속되어' 있다고 기재된 경우, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성 요소에 '직접 연결되어' 있다거나 '직접 접속되어' 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.
본 명세서에서, 어떤 구성요소가 다른 구성요소의 '상에' 있다거나 '접하여' 있다고 기재된 경우, 다른 구성요소에 상에 직접 맞닿아 있거나 또는 연결되어 있을 수 있지만, 중간에 또 다른 구성요소가 존재할 수 있다고 이해되어야 할 것이다. 반면, 어떤 구성요소가 다른 구성요소의 '바로 위에' 있다거나 '직접 접하여' 있다고 기재된 경우에는, 중간에 또 다른 구성요소가 존재하지 않은 것으로 이해될 수 있다. 구성요소 간의 관계를 설명하는 다른 표현들, 예를 들면, '~사이에'와 '직접 ~사이에' 등도 마찬가지로 해석될 수 있다.
본 명세서에서, '제1', '제2' 등의 용어는 다양한 구성요소를 설명하는데 사용될 수 있지만, 해당 구성요소는 위 용어에 의해 한정되어서는 안 된다. 또한, 위 용어는 각 구성요소의 순서를 한정하기 위한 것으로 해석되어서는 안되며, 하나의 구성요소와 다른 구성요소를 구별하는 목적으로 사용될 수 있다. 예를 들어, '제1구성요소'는 '제2구성요소'로 명명될 수 있고, 유사하게 '제2구성요소'도 '제1구성요소'로 명명될 수 있다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 시스템의 구성을 나타낸다.
본 발명의 일 실시예에 따른 시스템은, 도 3에 도시된 바와 같이, 사용자 단말인 사용자 단말(100)와, 사용자 단말(100)이 접속하는 PLC 시스템(200) 및 서버(300)를 각각 포함한다.
먼저, PLC(Programmable Logic Controller) 시스템(200)은 다양한 부하들에 대한 로직, 시퀀스, 타이밍, 카운트 및 연산 등의 제어를 수행하는 시스템이다. 이러한 PLC 시스템(200)은 전원 모듈(210), CPU 모듈(220) 및 하나 이상의 증설 모듈(230, 240, 250)을 포함한다.
전원 모듈(210)은 PLC 시스템(200)의 구동에 필요한 각종 전원을 관리하며, 필요한 전원을 각 모듈(220, 230, 240, 250)에 제공한다.
CPU 모듈(220)은 PLC 시스템(200)을 제어하는데 필요한 연산처리를 수행함으로써 PLC 시스템(200)의 전체 동작을 제어한다. 즉, CPU 모듈(220)은 인터페이스를 통해 이에 연결된 각 증설 모듈(230, 240, 250)에 대한 인식, 제어 및 감시를 수행하며, 각 증설 모듈(230, 240, 250)과의 데이터 송수신을 수행한다.
증설 모듈(230, 240, 250)은 CPU 모듈(220)의 제어에 따라 소정의 동작(입/출력 동작, 통신 동작 등)을 수행한다. 예를 들어, 증설 모듈(230, 240, 250)은 타 기기/장치/시스템과 데이터 송수신을 위한 통신 모듈(230)과, 센서, 스위치 등의 외부 장치로부터 입력을 받고, 램프, 솔레노이드, 개폐기 등의 외부 장치로 출력을 전달하는 입출력 모듈(IO 모듈)(240)과, 그 외의 다양한 기타 모듈(250)을 포함할 수 있다.
CPU 모듈(220)은 각 증설 모듈(230, 240, 250)의 동작을 제어할 수 있으며, CPU 모듈(220) 및 증설 모듈(230, 240, 250) 각각은 펌웨어(Firmware)를 저장하여 해당 펌웨어에 의해 그 작동이 제어될 수 있다.
사용자 단말(100)은 PLC 시스템(200)에 대한 관리를 위해 사용자가 사용하는 단말로서, 컴퓨팅(computing)이 가능한 전자 장치일 수 있다. 이러한 사용자 단말(100)은 PLC 시스템(200)에 대한 관리를 위해 설치된 소프트웨어 툴인 PLC 프로그래밍 툴(PLC programming tool)(이하, “관리 툴”이라 지칭함)을 이용하며, 다양한 통신 방식으로 PLC 시스템(200) 및 서버(300)에 접속 가능하다.
예를 들어, 사용자 단말(100)은 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 태블릿 PC(tablet personal computer), 넷북 컴퓨터(netbook computer), 스마트폰(smart phone), 스마트패드(smart pad), 또는 PDA(personal digital assistant) 등일 수 있으나, 이에 한정되는 것은 아니다.
사용자는 사용자 단말(100)에 관리 툴을 이용하여 다양한 관리를 수행할 수 있다. 즉, 사용자는 관리 툴을 통해, PLC 프로그램 작성/파라미터 설정의 작업, 작업된 PLC 프로그램/파라미터에 대한 PLC 시스템(200)으로의 다운로드, 업데이트 버전의 파라미터 데이터 파일(parameter data file)(이하, “”이라 지칭함)/펌웨어를 서버(300)로부터 사용자 단말(100)로 다운로드, 다운로드 된 업데이트 버전의 펌웨어를 기반으로 PLC 시스템(200)의 대상 모듈에 대한 펌웨어 업데이트 등을 수행할 수 있다.
이때, “대상 모듈”은 PLC 시스템(200)의 모듈(220, 230, 240, 250) 중에서 PLC 프로그램 작성 및 파라미터 설정의 작업이 적용되는 대상의 모듈, 즉 작성된 PLC 프로그램 및 설정된 파라미터가 다운로드 될 대상의 모듈을 의미한다.
이때, PDF는 다수의 파라미터에 대한 정의를 포함하는 파일로서, 가령 파라미터에 대한 설명, 기본값, 최소값, 최대값 등을 포함할 수 있다. 예를 들어, PDF는 EDS(electronic data sheet) 파일 등일 수 있다.
특히, 사용자는 관리 툴을 통해 PLC 프로그램 작성 및 파라미터 설정의 작업을 수행하고, 작업된 PLC 프로그램 및 파라미터를 PLC 시스템(200)에 다운로드하여, 해당 PLC 프로그램이 운용(실행)되게 할 수 있다. 그 결과, PLC 시스템(200)을 다양하게 구성하여 입/출력 등에 대한 다양한 제어 수행할 수 있다.
가령, 사용자는 관리 툴을 이용해 PLC 시스템(200)에 적용할 PLC 프로그램에 대한 작성 및 파라미터의 설정을 래더(Ladder) 프로그램의 형식으로 작업하여 빌드(build)하고, 빌드된 프로그램 및 파라미터를 CPU 모듈(220) 또는 증설 모듈(230, 240, 250)에 다운로드할 수 있다.
한편, 각 모듈(220, 230, 240, 250)의 펌웨어를 변경(즉, 업데이트)해야 할 경우, 사용자는 관리 툴을 이용해 PLC 시스템(200)의 CPU 모듈(220)에 접속할 수 있다.
도 4는 본 발명의 일 실시예에 따른 관리 단말(100)의 블록 구성도를 나타낸다.
이러한 관리 단말(100)는, 도 4에 도시된 바와 같이, 입력부(110), 통신부(120), 디스플레이(130), 메모리(140) 및 제어부(150)를 포함할 수 있다.
입력부(110)는 사용자의 입력에 대응하여, 입력데이터를 발생시키며, 다양한 입력수단을 포함할 수 있다. 예를 들어, 입력부(110)는 키보드(key board), 키패드(key pad), 돔 스위치(dome switch), 터치 패널(touch panel), 터치 키(touch key), 터치 패드(touch pad), 마우스(mouse), 메뉴 버튼(menu button) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
통신부(120)는 타 장치, 특히 PLC 시스템(200) 및 서버(300)와의 통신을 수행하는 구성이다. 예를 들어, 통신부(120)는 5G(5th generation communication), LTE-A(long term evolution-advanced), LTE(long term evolution), 블루투스, BLE(bluetooth low energe), NFC(near field communication), 와이파이(WiFi) 통신 등의 무선 통신을 수행하거나, 케이블 통신 등의 유선 통신을 수행할 수 있으나, 이에 한정되는 것은 아니다. 가령, 통신부(120)는 업데이트 버전의 PDF/펌웨어에 대한 다운로드를 위해, 서버(300)와 통신할 수 있다. 또한, 통신부(120)는 작업된 PLC 프로그램/파라미터의 다운로드 및 펌웨어를 위해, PLC 시스템(200)의 CPU 모듈(200) 또는 통신 모듈(230)과 통신할 수 있다. 예를 들어, 관리 단말(100)의 PLC 시스템(200)에 대한 접속을 위한 통신 방식으로는 RS-232, USB(Universal Serial Bus) 등일 수 있으나, 이에 한정되는 것이며, 그 외에 다양한 유/무선 통신 방식일 수 있다.
디스플레이(130)는 다양한 영상 데이터를 화면으로 표시하는 것으로서, 비발광형 패널이나 발광형 패널로 구성될 수 있다. 예를 들어, 디스플레이(130)는 액정 디스플레이(LCD; liquid crystal display), 발광 다이오드(LED; light emitting diode) 디스플레이, 유기 발광 다이오드(OLED; organic LED) 디스플레이, 마이크로 전자기계 시스템(MEMS; micro electro mechanical systems) 디스플레이, 또는 전자 종이(electronic paper) 디스플레이 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 가령, 디스플레이(130)는 PLC 프로그램 코드, 파라미터 설정, 후술할 PLC 프로그램의 지원 방법의 수행에 관련된 다양한 영상 데이터를 화면으로 표시할 수 있다. 또한, 디스플레이(130)는 입력부(110)와 결합되어 터치 스크린(touch screen) 등으로 구현될 수 있다.
메모리(140)는 관리 단말(100)의 동작에 필요한 각종 정보를 저장한다. 저장 정보로는 PLC 프로그램, 설정 파라미터, 업데이트 설정, PDF, 펌웨어, 후술할 PLC 프로그램의 지원 방법에 관련된 프로그램 정보 등이 포함될 수 있으나, 이에 한정되는 것은 아니다. 예를 들어, 메모리(140)는 그 유형에 따라 하드디스크 타입(hard disk type), 마그네틱 매체 타입(magnetic media type), CD-ROM(compact disc read only memory), 광기록 매체 타입(Optical Media type), 자기-광 매체 타입(magneto-optical media type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 플래시 저장부 타입(flash memory type), 롬 타입(read only memory type), 또는 램 타입(random access memory type) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 또한, 메모리(140)는 그 용도/위치에 따라 캐시(cache), 버퍼, 주기억장치, 또는 보조기억장치이거나 별도로 마련된 저장 시스템일 수 있으나, 이에 한정되는 것은 아니다.
제어부(150)는 관리 단말(100)의 다양한 제어 동작을 수행할 수 있다. 즉, 제어부(150)는 관리 툴을 통해 후술할 PLC 프로그램의 지원 방법의 수행을 제어할 수 있으며, 관리 단말(100)의 나머지 구성, 즉 입력부(110), 통신부(120), 디스플레이(130), 메모리(140) 등의 동작을 제어할 수 있다. 예를 들어, 제어부(150)는 하드웨어인 프로세서(processor)와, 해당 프로세서에서 수행되는 소프트웨어인 프로세스(process) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
도 5는 제어부(150)의 PLC 프로그램 지원 등의 관리를 위한 블록 구성도를 나타낸다.
제어부(150)는 후술할 본 발명의 일 실시예에 따른 PLC 프로그램의 지원 방법의 수행을 제어하는데, 이를 위해, 도 5에 도시된 바와 같이, 프로젝트 관리부(151), 정보 수집부(152), 프로그램 처리부(153), 업데이트 확인부(154), 서버 접속부(155) 및 PLC 접속부(156)를 포함할 수 있다. 예를 들어, 프로젝트 관리부(151), 정보 수집부(152), 프로그램 처리부(153), 업데이트 확인부(154), 서버 접속부(155) 및 PLC 접속부(156)는 제어부(150)의 하드웨어 구성이거나, 제어부(150)에서 수행되는 소프트웨어인 프로세스일 수 있으며, 특히 관리 툴에 포함된 구성일 수 있으나, 이에 한정되는 것은 아니다.
이하, 본 발명에 따른 PLC 프로그램의 지원 방법에 대해 보다 상세하게 설명하도록 한다.
도 6은 본 발명의 일 실시예에 따른 PLC 프로그램의 지원 방법에 대한 순서도를 나타낸다.
본 발명의 일 실시예에 따른 PLC 프로그램의 지원 방법은 PLC 프로그램 작성 및 파라미터 설정에 대한 작업 시에나 작업된 PLC 프로그램 및 파라미터를 PLC 시스템에 적용 시에 필요한 정보를 사전에 파악하여 지원하기 위한 방법으로서, 도 6에 도시된 바와 같이, S100 내지 S600을 포함한다. 이때, 업데이트 버전의 PDF 또는 펌웨어 등이 필요한 정보(이하, “필요 정보”라 지칭함)에 해당할 수 있다.
먼저, S100은 PLC 프로그램 작성 및 파라미터 설정을 위한 프로젝트를 시작하는 단계이다. 즉, 제어부(150)는 메모리(140)에 저장된 관리 툴을 실행한 후, 새로운 프로젝트를 생성하거나, PLC 시스템(200)에 기 저장된 프로젝트를 불러오거나, PLC 시스템에 접속하여 PLC 시스템에 기 저장된 프로젝트를 불러올 수 있다. 이때, 프로젝트는 PLC 프로그램 작성 및 파라미터 설정의 작업에 대한 정보를 저장하는 파일일 수 있다. 특히, PLC 시스템(200)에 기 저장된 프로젝트의 경우, 다른 사용자가 작업한 프로젝트일 수 있다. 가령, S100은 프로젝트 관리부(151)에 의해 제어될 수 있다.
이후, S200은 프로젝트 대상이 되는 PLC 시스템(200)에 대한 시스템 구성 정보를 수집하는 단계이다. 즉, 제어부(150)는 PLC 시스템(200)의 각 모듈(220, 230, 240, 250) 종류, 각 모듈(220, 230, 240, 250)에 설치된 펌웨어 버전, 각 모듈(220, 230, 240, 250)에 설정된 파라미터 등에 대한 정보를 수집한다.
이때, PLC 시스템(200)에 접속된 경우 등과 같이, PLC 시스템(200)으로부터 시스템 구성 정보의 수집이 가능한 경우, 제어부(150)는 PLC 시스템(200)으로부터 시스템 구성 정보를 수집할 수 있다. 또한, PLC 시스템(200)에 접속되어 있지 않은 경우 등과 같이, PLC 시스템(200)으로부터 시스템 구성 정보의 수집이 불가능한 경우, 제어부(150)는 사용자로부터 시스템 구성 정보를 입력 받아 수집할 수 있다.
가령, S100에서, PLC 시스템(200)에 접속하여 PLC 시스템(200)에 기 저장된 프로젝트를 불러온 경우, PLC 시스템(200)에 이미 접속된 상태이므로, S200에서는 PLC 시스템(200)에 대한 시스템 구성 정보를 PLC 시스템(200)으로부터 수집할 수 있다.
한편, PLC 시스템(200) 및 사용자로부터 모두 시스템 구성 정보의 수집이 불가능한 경우, 제어부(150)는 디스플레이(130)를 통해 필요 정보의 업데이트 불가한 것에 대한 알림 메시지를 표시할 수 있다. 또한, 제어부(150)는 향후 PLC 시스템(200) 대상 모듈에 대한 펌웨어의 업데이트가 필요할 수도 있음에 대한 알림 메시지도 표시할 수 있다. 가령, S200은 정보 수집부(151)에 의해 제어될 수 있다.
이후, S300은 PDF의 업데이트가 필요한지 여부를 확인하여, 필요하다면 해당 업데이트를 수행하는 단계이다. 즉, 제어부(150)는 PLC 시스템(200)에 적용된 파라미터가 사용자 단말(100)에 현재 저장된 PDF에 의해 지원 가능한지 여부를 수집된 시스템 구성 정보를 이용하여 확인한다. 이때, “지원 가능”은 사용자 단말(100)에 현재 저장된 PDF이 PLC 시스템(200)에 적용된 파라미터에 대해 정의하고 있음을 의미할 수 있다. 만일, 지원 불가능한 PDF인 것으로 확인이 되는 경우, 제어부(150)는 통신부(120)를 통해 서버(300)에 접속하여 지원 가능한 종류의 PDF를 다운로드하여 메모리(140)에 저장할 수 있다.
다만, 서버(300)로부터 지원 가능 PDF의 다운로드가 불가능한 경우, 제어부(150)는 디스플레이(130)를 통해 상술한 알림 메시지를 표시할 수 있다.
가령, S300은 업데이트 확인부(154) 및 서버 접속부(155)에 의해 제어될 수 있다. 즉, 업데이트 확인부(154)가 상술한 PDF의 지원 가능 여부 확인을 제어할 수 있고, 서버 접속부(155)가 상술한 지원 가능한 종류의 PDF 다운로드를 제어할 수 있다.
이후, S400은 사용자로부터 PLC 프로그램 작성 및 파라미터 설정의 작업을 입력 받는 단계이다. 즉, 제어부(150)는 PLC 시스템(200)에 적용할 PLC 프로그램에 대한 작성 및 파라미터의 설정에 따른 작업을 사용자로부터 입력 받아 해당 PLC 프로그램 및 파라미터를 빌드할 수 있다. 가령, S400은 프로그램 처리부(153)에 의해 제어될 수 있다.
이후, S500은 대상 모듈의 펌웨어에 대한 업데이트가 필요한지 여부를 확인하여, 필요하다면 해당 업데이트를 수행하는 단계이다. 즉, 제어부(150)는 S400에서 작업된 PLC 프로그램/파라미터가 PLC 시스템(200)의 대상 모듈에 현재 설치된 펌웨어 버전에 적용 가능한지 여부를 수집된 시스템 구성 정보를 이용하여 확인한다. 이때, “적용 가능”은 대상 모듈에 현재 설치된 펌웨어 버전이 작업된 PLC 프로그램/파라미터에 대한 호환을 제공함을 의미할 수 있다.
만일, 적용 불가능한 펌웨어 버전인 것으로 확인이 되는 경우, 제어부(150)는 통신부(120)를 통해 서버(300)에 접속하여 PLC 시스템(200)에 적용 가능한 업데이트 버전의 펌웨어에 대한 정보를 다운로드하여 메모리(140)에 저장할 수 있다. 이후, 제어부(150)는 통신부(120)를 통해 PLC 시스템(200)에 접속하여, 다운로드 받아 메모리(140)에 저장한 펌웨어 정보를 기반으로 PLC 시스템(200)의 대상 모듈에 대해 펌웨어를 업데이트한다. 즉 해당 업데이트 버전의 펌웨어를 대상 모듈에 다운로드한다.
다만, 서버(300)로부터 PDF의 다운로드가 불가능한 경우, 제어부(150)는 디스플레이(130)를 통해 상술한 알림 메시지를 표시할 수 있다.
가령, S500은 업데이트 확인부(154), 서버 접속부(155) 및 PLC 접속부(156)에 의해 제어될 수 있다. 즉, 업데이트 확인부(154)가 상술한 펌웨어 버전의 적용 가능 여부 확인을 제어할 수 있고, 서버 접속부(155)가 상술한 적용 가능한 버전의 펌웨어 다운로드를 제어할 수 있으며, PLC 접속부(156)가 상술한 펌웨어 업데이트를 제어할 수 있다.
이후, S600은 S400에서 작업된 PLC 프로그램 및 파라미터에 대한 정보를 PLC 시스템(200)으로 다운로드하는 단계이다. 즉, 제어부(150)는 빌드된 PLC 프로그램 및 파라미터를 PLC 시스텝(200)의 CPU 모듈(220) 또는 증설 모듈(230, 240, 250)에 다운로드할 수 있다. 가령, S500은 PLC 접속부(156)에 의해 제어될 수 있다.
특히, 지원 가능 PDF 확인 및 업데이트를 위한 S300에서의 과정과, 적용 가능 펌웨어의 확인 및 업데이트를 위한 S500에서의 과정은 사용자가 별도로 인지하지 못하는 백그라운드로 처리할 수 있다. 즉, 이들 과정에서 사용자에게 별도의 동의 및 확인을 입력 받지 않더라도, 관리 툴 자체에서 자동으로 해당 과정을 수행할 수 있다.
한편, 서버(300)의 경우, S300 및 S500가 자동으로 수행됨에 따라, 대상 모듈의 종류 및 작업된 PLC 프로그램/파라미터에 따라 필요한 PDF 및 펌웨어에 대한 추세를 분석할 수 있으며, 해당 분석을 기반으로 PLC 시스템(200)의 모듈에 대한 수요를 예측할 수 있다.
이하, S100 내지 S600에 대한 보다 상세한 제1 및 제2 실시예에 대해 설명하도록 한다.
이때, 제1 실시예는 사용자 단말(100)에서 새로운 프로젝트를 생성하거나, 사용자 단말(100)에 기 저장된 프로젝트를 불러오는 경우에 해당한다. 반면, 제2 실시예는 PLC 시스템(200)에 접속하여 PLC 시스템(200)에 기 저장된 프로젝트를 불러오는 경우에 해당한다.
도 7은 도 6에 대한 보다 상세한 제1 실시예의 순서도를 나타낸다.
먼저, 도 7을 참조하면, 제1 실시예에서, 관리 툴을 실행한 후(S101), 새로운 프로젝트를 생성하거나 사용자 단말(100)에 기 저장된 프로젝트를 불어온다(S102). 이러한 S101 및 S102는 상술한 S100에 포함된다.
이후, PLC 시스템(200)으로부터 시스템 구성 정보의 수집이 가능한지 여부를 판단한다(S201). 만일, 가능하다면 PLC 시스템(200)으로부터 시스템 구성 정보를 수집하며(S202), 불가능하다면 사용자로부터 시스템 구성 정보의 수집이 가능한지 여부를 확인한다(S203). 즉, PLC 시스템(200)와 오프-라인(off-line) 상태인 경우, 사용자에게 대화형 인터페이스를 통해 직접 시스템 구성 정보를 입력 받을 수 있다. 사용자가 입력하는 경우, 해당 입력에 따른 시스템 구성 정보를 수집한다(S204). 반면, 사용자가 해당 입력을 거부하거나 사용자의 입력이 불가능하다면, 상술한 알림 메시지를 표시한다(S205). 이러한 S201 내지 S205는 상술한 S200에 포함된다.
이후, S202 및 S204에서 수집된 시스템 구성 정보를 이용하여 PDF 업데이트 필요 여부를 확인한다(S301). 즉, PLC 시스템(200)에 적용된 파라미터가 사용자 단말(100)에 현재 저장된 PDF에 의해 지원 가능한지 여부를 확인한다. 이때, 지원 불가능하여 PDF 업데이트가 필요하면 S302를 수행하고, 지원 가능하여 PDF 업데이트가 불필요하면 S401을 수행한다. 즉, 지원 불가능한 경우, 서버(300)로부터 지원 가능한 종류의 PDF에 대한 다운로드 가능 여부를 확인한다(S302). 이때, 다운로드 가능하다면, 해당 지원 가능 PDF를 다운로드한다(S303). 반면, 다운로드 불가능하다면, 상술한 알림 메시지를 표시하고(S304), S401을 수행한다. 이러한 S301 내지 S304는 상술한 S300에 포함된다.
이후, PLC 프로그램 작성 및 파라미터 설정의 작업을 입력 받는다(S401). 이러한 S401은 상술한 S400에 포함된다.
이후, 대상 모듈의 펌웨어에 대한 업데이트 필요 여부를 확인한다(S501). 즉, 작업된 PLC 프로그램/파라미터가 PLC 시스템(200)의 대상 모듈에 현재 설치된 펌웨어 버전에 적용 가능한지 여부를 S202 및 S204에서 수집된 시스템 구성 정보를 이용하여 확인한다. 이때, 적용 불가능하여 펌웨어 업데이트가 필요하면 S502를 수행하고, 적용 가능하여 펌웨어 업데이트가 불필요하면 S601을 수행한다. 즉, 적용 불가능한 경우, 서버(300)로부터 적용 가능한 펌웨어 버전에 대한 다운로드 가능 여부를 확인한다(S502). 이때, 다운로드 가능하다면, 해당 적용 가능 펌웨어 버전을 다운로드한 후, PLC 시스템(200)에 접속하여 PLC 시스템(200)의 대상 모듈로 다시 다운로드하여 그 대상 모듈의 펌웨어를 업데이트한다(S503). 반면, 다운로드 불가능하다면, 상술한 알림 메시지를 표시하고(S504), S601을 수행한다. 이러한 S501 내지 S504는 상술한 S500에 포함된다.
이후, S400에서 작업된 PLC 프로그램 및 파라미터를 PLC 시스템(200)으로 다운로드한다(S601). 이러한 S601은 상술한 S600에 포함된다.
도 8은 도 6에 대한 보다 상세한 제2 실시예의 순서도를 나타낸다.
한편, 도 8을 참조하면, 제2 실시예에서, 관리 툴을 실행한 후(S101'), PLC 시스템(200)에 접속하여 PLC 시스템(200)에 기 저장된 프로젝트를 불어온다(S102'). 이러한 S101' 및 S102'는 상술한 S100에 포함된다.
이후, 이미 PLC 시스템(200)에 접속되어 있으므로, PLC 시스템(200)으로부터 시스템 구성 정보를 수집한다(S201'). 이러한 S201'는 상술한 S200에 포함된다.
이후, S301' 내지 S304'와, S401'와, S501' 내지 S504'와, S601'는 각각 제1 실시예에서 상술한 S301 내지 S304와, S401와, S501 내지 S504와, S601의 내용과 동일하다. 다만, 제1 실시예에서의 “S202 및 S204에서 수집된 시스템 구성 정보”는 제2 실시예에서 “S201'에서 수집된 시스템 구성 정보”로 대체될 수 있다.
한편, 도 9는 펌웨어 업데이트 및 PDF 파일 다운로드를 위한 버전 테이블과, 관리 툴에 의해 확인된 필요 펌웨어 버전 및 PDF 파일 리스트에 대한 일 예를 나타낸다. 즉, 도 9(a)에 도시된 바와 같이, A 모듈의 경우, 설치될 수 있는 최신 펌웨어 버전은 V2.10이고, 현재 설치된 펌웨어 버전은 V2.00이다. 만일, 도 9(b)에 도시된 바와 같이, S500에서 확인된 필수 펌웨어 버전 정보기 V2.10인 경우, 해당 V2.10의 펌웨어를 서버(300)로부터 다운로드한 후, 이를 기반으로 대상 모듈에 대해 업데이트를 수행한다.
또한, C 모듈의 경우, C 모듈에 설치될 수 있는 최신 버전은 V8.40이고, 현재 설치된 버전은 V7.00이다. 이때, 필수 펌웨어 버전이 V8.20이므로, 해당 V8.20의 펌웨어를 서버(300)로부터 다운로드한 후, 이를 기반으로 대상 모듈에 대해 업데이트를 수행한다. 더불어, C 모듈은 S300에서 “SuperEDS”라는 PDF가 필요한 것으로 확인되므로, 해당 PDF를 서버(300)로부터 다운로드하여, 메모리(140)의 PDF 파일 폴더에 저장한다.
한편, B 모듈은 설치된 펌웨어 버전이 최신이므로, 펌웨어 업데이트가 불필요한다. 또한, D 모듈은 설치된 V1.10의 펌웨어 버전이 최신이 아니지만, 해당 V1.10가 충분히 작업된 PLC 프로그램 및 파라미터에 대해 커버 가능(즉, 적용 가능)하므로, 펌웨어 업데이트가 불필요한다. 만일, V2.00에 해당하는 최신 버전을 업데이트하는 경우, 사용자 단말(100) 또는 PLC 시스템(200)에 부하가 커질 수 있으므로, 작업된 PLC 프로그램 및 파라미터에 대한 적용 가능한 최소 버전의 펌웨어를 대상 모듈에 설치하는 것이 바람직하며, 본 발명의 S500에서는 이러한 적용 가능 최소 버전의 펌웨어에 대한 확인 및 업데이트를 수행한다. 이에 따라, 본 발명은 펌웨어 업데이트에 따른 부하를 최소화할 수 있다.
상술한 바와 같이 구성되는 본 발명은 PLC 프로그램 및 파라미터에 대한 작업 시에나 작업된 PLC 프로그램 및 파라미터를 PLC 시스템에 적용 시에 필요한 정보를 사전에 파악하여 지원할 수 있는 이점이 있다.
또한, 본 발명은 사용자의 작업 효율성을 증가시킬 수 있는 이점이 있다. 즉, 실제 현장에서 빈번하게 발생되는 다수 사용자의 동시 작업으로 인해, 펌웨어 버전이 설정한 파라미터에 대한 적용 불가한 버전인 경우나, 제1 사용자의 단말에 있는 PDF를 기반으로 제1 사용자가 작업하여 다운로드한 프로젝트에 대해, 다음에 업로드 받아 작업을 이어서 하는 제2 사용자의 단말에는 해당 PDF가 없음으로 인해, 해당 프로젝트나 파라미터 설정이 제대로 표시되지 않고 변경도 할 수 없는 경우에, 작업이 지연되는 것을 방지할 수 있다.
또한, 본 발명은 PDF 및 펌웨어에 대한 사용자의 사용 패턴 추세를 수집 및 분석할 수 있는 이점이 있다. 즉, 서버를 통해 사용자가 다운로드하는 PDF 및 펌웨어를 모니터링할 수 있으므로, 현재 현장에서 PLC 시스템의 모듈 조합에 대해 파악할 수 있으며, 특정 조합의 모듈로 구성했을 때 어떤 PDF 파일을 사용해서 파라미터 설정을 하는지 등에 대한 패턴을 분석할 수 있으며, 이러한 분석을 기반으로 PLC 시스템의 모듈에 대한 수요 예측이 가능하다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되지 않으며, 후술되는 청구범위 및 이 청구범위와 균등한 것들에 의해 정해져야 한다.
100: 사용자 단말 110: 입력부
120: 통신부 130: 디스플레이
140: 메모리 150: 제어부
151: 프로젝트 관리부 152: 정보 수집부
153: 프로그램 처리부 154: 업데이트 확인부
155: 서버 접속부 156: PLC 접속부
200: PLC 시스템 210: 전원 모듈
220: CPU 모듈 230: 통신 모듈
240: IO 모듈 250: 기타 모듈

Claims (12)

  1. 전자 장치에 의해 수행되는 PLC 프로그램의 지원 방법으로서,
    PLC 프로그램 작성 및 파라미터 설정을 위한 프로젝트를 시작하는 단계;
    프로젝트 대상의 PLC 시스템에 대한 시스템 구성 정보를 수집하는 단계;
    사용자로부터 PLC 프로그램 작성 및 파라미터 설정의 작업을 입력 받는 단계;
    작성된 PLC 프로그램 및 설정된 파라미터가 PLC 시스템의 현재 펌웨어 버전에 적용 가능한지 여부를 수집된 시스템 구성 정보를 이용하여 확인하는 단계;
    적용 불가능한 펌웨어 버전으로 확인되는 경우, 서버에 접속하여 PLC 시스템에 적용 가능한 업데이트 버전의 펌웨어에 대한 정보를 다운로드 받은 후, PLC 시스템에 접속하여 다운로드 받는 펌웨어 정보를 기반으로 PLC 시스템의 펌웨어를 업데이트하는 단계;
    작성된 PLC 프로그램 및 설정된 파라미터에 대한 정보를 PLC 시스템으로 다운로드하는 단계;
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 수집하는 단계는 PLC 시스템으로부터 시스템 구성 정보의 수집이 가능한 경우 PLC 시스템으로부터 해당 정보를 수집하고, PLC 시스템으로부터 시스템 구성 정보의 수집이 불가능한 경우 사용자로부터 해당 정보를 입력 받아 수집하는 단계를 포함하는 방법.
  3. 제1항에 있어서,
    상기 시작하는 단계는 새로운 프로젝트를 생성하거나, 전자 장치에 기 저장된 프로젝트를 불러오거나, PLC 시스템에 접속하여 PLC 시스템에 기 저장된 프로젝트를 불러오는 단계를 포함하는 방법.
  4. 제1항에 있어서,
    상기 시작하는 단계는 PLC 시스템에 접속하여 PLC 시스템에 기 저장된 프로젝트를 불러오는 단계를 포함하며,
    상기 수집하는 단계는 PLC 시스템에 대한 시스템 구성 정보를 PLC 시스템으로부터 수집하는 단계를 포함하는 방법.
  5. 제3항 또는 제4항에 있어서,
    상기 수집하는 단계와 상기 입력 받는 단계의 사이에,
    PLC 시스템에 적용된 파라미터가 전자 장치에 현재 저장된 파라미터 데이터 파일에 의해 지원 가능한지 여부를 수집된 시스템 구성 정보를 이용하여 확인하는 단계; 및
    지원 불가능한 파라미터 데이터 파일로 확인되는 경우, 서버에 접속하여 지원 가능한 종류의 파라미터 데이터 파일을 전자 장치로 다운로드하는 단계;
    를 더 포함하는 방법.
  6. 제1항에 있어서,
    상기 서버에 대한 접속이 불가능한 경우, 상기 업데이트의 불가 및 PLC 시스템에 대한 펌웨어의 업데이트 필요에 대해 알림 메시지를 표시하는 단계를 더 포함하는 방법.
  7. PLC 프로그래밍 툴이 저장된 메모리; 및
    메모리에 저장된 PLC 프로그래밍 툴을 실행하며, PLC 프로그래밍 툴에서 작성되는 PLC 프로그램을 지원하기 위한 제어를 수행하는 제어부;를 포함하며,
    상기 제어부는,
    PLC 프로그램 작성 및 파라미터 설정을 위한 프로젝트를 관리하는 과정과, 시작된 프로젝트 대상의 PLC 시스템에 대한 시스템 구성 정보를 수집하는 과정과, 사용자로부터 입력부를 통해 PLC 프로그램 작성 및 파라미터 설정의 작업을 입력 받는 과정과, 작성된 PLC 프로그램 및 설정된 파라미터가 PLC 시스템의 현재 펌웨어 버전에 적용 가능한지 여부를 수집된 시스템 구성 정보를 이용하여 확인하는 과정과, 적용 불가능한 펌웨어 버전으로 확인되는 경우 서버에 접속하여 PLC 시스템에 적용 가능한 업데이트 버전의 펌웨어에 대한 정보를 다운로드 받는 과정과, PLC 시스템에 접속하여 다운로드 받는 펌웨어 정보를 기반으로 PLC 시스템의 펌웨어를 업데이트하는 과정과, 작성된 PLC 프로그램 및 설정된 파라미터에 대한 정보를 PLC 시스템으로 다운로드하는 과정을 각각 제어하는 전자 장치.
  8. 제7항에 있어서,
    상기 제어부는 상기 수집하는 과정에서, PLC 시스템으로부터 시스템 구성 정보의 수집이 가능한 경우 PLC 시스템으로부터 해당 정보를 수집하도록 제어하고, PLC 시스템으로부터 시스템 구성 정보의 수집이 불가능한 경우 사용자로부터 해당 정보를 입력 받아 수집하도록 제어하는 전자 장치.
  9. 제7항에 있어서,
    상기 제어부는 상기 시작하는 과정에서, 새로운 프로젝트를 생성하도록 제어하거나, 메모리에 기 저장된 프로젝트를 불러오도록 제어하거나, PLC 시스템에 접속하여 PLC 시스템에 기 저장된 프로젝트를 불러오도록 제어하는 전자 장치.
  10. 제7항에 있어서,
    상기 제어부는,
    상기 시작하는 과정에서, PLC 시스템에 접속하여 PLC 시스템에 기 저장된 프로젝트를 불러오도록 제어하며,
    상기 수집하는 과정에서, PLC 시스템에 대한 시스템 구성 정보를 PLC 시스템으로부터 수집하도록 제어하는 전자 장치.
  11. 제9항 또는 제10항에 있어서,
    상기 제어부는 PLC 시스템에 적용된 파라미터가 전자 장치에 현재 저장된 파라미터 데이터 파일에 의해 지원 가능한지 여부를 수집된 시스템 구성 정보를 이용하여 확인하도록 제어하며, 지원 불가능한 파라미터 데이터 파일로 확인되는 경우 서버에 접속하여 지원 가능한 종류의 파라미터 데이터 파일을 전자 장치로 다운로드하도록 제어하는 전자 장치.
  12. 제7항에 있어서,
    상기 제어부는 상기 서버에 대한 접속이 불가능한 경우, 상기 업데이트의 불가 및 PLC 시스템에 대한 펌웨어의 업데이트 필요에 대해 알림 메시지를 디스플레이를 통해 표시하도록 제어하는 전자 장치.
KR1020210037275A 2021-03-23 2021-03-23 Plc 프로그램의 지원 방법, 장치 및 서버 KR20220132248A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210037275A KR20220132248A (ko) 2021-03-23 2021-03-23 Plc 프로그램의 지원 방법, 장치 및 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210037275A KR20220132248A (ko) 2021-03-23 2021-03-23 Plc 프로그램의 지원 방법, 장치 및 서버

Publications (1)

Publication Number Publication Date
KR20220132248A true KR20220132248A (ko) 2022-09-30

Family

ID=83451453

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210037275A KR20220132248A (ko) 2021-03-23 2021-03-23 Plc 프로그램의 지원 방법, 장치 및 서버

Country Status (1)

Country Link
KR (1) KR20220132248A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117970865A (zh) * 2024-04-02 2024-05-03 深圳市今天国际软件技术有限公司 用于智慧物流系统的自动生成plc程序的方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117970865A (zh) * 2024-04-02 2024-05-03 深圳市今天国际软件技术有限公司 用于智慧物流系统的自动生成plc程序的方法及系统

Similar Documents

Publication Publication Date Title
US10705500B2 (en) Support device, method, and recording medium for simplifying control program changing operation
US9092239B2 (en) Configuring user interfaces in electronic devices
CN111142421B (zh) 工程装置、工程装置的控制方法以及存储介质
CN103761107B (zh) 软件包定制的装置及方法
JP2009146229A (ja) プログラマブルコントローラシステム
JP2009217321A (ja) 情報処理装置及び情報処理プログラム
KR20220132248A (ko) Plc 프로그램의 지원 방법, 장치 및 서버
US10983502B2 (en) Remote management device and remote management method
JP2009157533A (ja) プログラマブルコントローラシステム
EP2500665B1 (en) Air-conditioner control interface device, air conditioner, and air-conditioner control system
CN110825409A (zh) 参数管理方法、电子设备及计算机存储介质
KR20200050886A (ko) 엔지니어링 장치, 엔지니어링 장치의 제어 방법 및 프로그램
CN104461559A (zh) 浏览器与移动终端之间进行通信的方法及浏览器装置
JP4110557B2 (ja) プログラム実行システムを備えた検査装置およびプログラミングシステム
US20210405987A1 (en) Dynamic driver selection based on firmware for a hardware component
KR20220075652A (ko) Plc 프로그램의 데이터 관리 방법, 장치 및 그 plc 시스템
CN110069417B (zh) A/b测试方法和装置
CN113821219A (zh) 一种实现应用程序容器化的方法及系统
JP2006234459A (ja) ネットワーク対応型分析システム及び同システム用プログラム
CN100474285C (zh) 用于在装置上自动处理组件的方法和设备
CN111596952B (zh) 系统全局名称配置处理方法、装置、设备及介质
CN117743058A (zh) 终端测试方法、装置及系统
EP3920039A1 (en) Information processing device, method, and program
KR101175825B1 (ko) 휴대용 운영체제를 설치하는 방법 및 그를 이용하는휴대용정보기기
JP5864650B2 (ja) データ消去支援アプリケーションプログラム

Legal Events

Date Code Title Description
A201 Request for examination