KR20220075652A - Plc 프로그램의 데이터 관리 방법, 장치 및 그 plc 시스템 - Google Patents

Plc 프로그램의 데이터 관리 방법, 장치 및 그 plc 시스템 Download PDF

Info

Publication number
KR20220075652A
KR20220075652A KR1020200163958A KR20200163958A KR20220075652A KR 20220075652 A KR20220075652 A KR 20220075652A KR 1020200163958 A KR1020200163958 A KR 1020200163958A KR 20200163958 A KR20200163958 A KR 20200163958A KR 20220075652 A KR20220075652 A KR 20220075652A
Authority
KR
South Korea
Prior art keywords
task
variable
duplicate
plc
duplicate variable
Prior art date
Application number
KR1020200163958A
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 KR1020200163958A priority Critical patent/KR20220075652A/ko
Publication of KR20220075652A publication Critical patent/KR20220075652A/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
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Security & Cryptography (AREA)
  • Programmable Controllers (AREA)

Abstract

본 발명은 PLC 프로그램의 데이터 관리 방법, 장치 및 그 PLC 시스템에 관한 것이다. 본 발명의 일 실시예에 따른 방법은 PLC 시스템에 접속하여 PLC 프로그램을 PLC 시스템에 다운로드하는 전자 장치에 의해 수행되는 PLC의 프로그램 데이터 관리 방법으로서, 작성된 PLC 프로그램을 빌드하는 단계; 및 빌드되는 PLC 프로그램에서, 다수 태스크에 의해 공유되는 변수인 중복 변수를 검출하는 단계; 및 중복 변수가 검출되는 경우, 어느 태스크에서 변경된 중복 변수의 공유 데이터 값이 다른 태스크에 반영되는 시기에 관한 중복 변수의 업데이트 방식을 설정하는 단계;를 포함한다.

Description

PLC 프로그램의 데이터 관리 방법, 장치 및 그 PLC 시스템{METHOD AND APPARATUS FOR MANAGING PROGRAM DATA OF PROGRAMMABLE LOGIC CONTROLLER, AND THE PLC SYSTEM USING THE SAME}
본 발명은 PLC(programmable logic controller) 프로그램의 데이터 관리 방법, 장치 및 그 PLC 시스템에 관한 것으로서, 더욱 상세하게는 다수의 PLC 프로그램에서 중복으로 사용되는 공유 데이터를 검출하는 등의 관리를 위한 방법, 장치 및 그 PCL 시스템에 관한 것이다.
PLC(programmable Logic Controller) 시스템은 산업 현장에서 각종 기기나 설비 등을 제어하는 장치이다. 이러한 PLC 시스템은 메모리에 저장된 프로그램을 실행하여 각종 기기나 설비 등을 제어할 수 있다.
도 1은 PLC 프로그램을 PLC 시스템의 메모리에 저장하는 과정을 나타낸다.
사용자는 도 1에 도시된 과정을 통해, PLC 시스템에 대한 다양한 제어가 가능하다. 즉, 도 1을 참조하면, PLC 시스템을 이용하는 사용자는 PC(Personal Computer) 또는 노트북 등과 같은 관리 단말의 관리 툴(engineering tool)을 이용하여 PLC 시스템의 각종 제어를 위한 프로그램(즉, PLC 프로그램)을 작성(S101) 및 빌드(build)할 수 있다(S102). 이후, PLC 시스템의 구동 상태 또는 정지 상태에서, 관리 단말이 PLC 시스템의 CPU 모듈 등에 접속하여, 빌드된 PLC 프로그램을 PLC 시스템의 CPU 모듈 등의 메모리에 PLC 프로그램을 저장(즉, 다운로드)할 수 있다.
도 2는 PLC 프로그램의 동작에 대한 일 예를 나타낸다.
한편, PLC 시스템에 다운로드된 PLC 프로그램은 다양한 태스크(task)에 의해 수행될 수 있으며, 그 동작 중에 다수의 태스크에서 특정 데이터를 공유하여 사용할 수도 있다. 즉, 도 2를 참조하면, 태스크 A 및 태스크 B는 Count의 변수를 공유하여 사용한다. 이하, Count 같이 다수의 태스크에서 중복 사용됨에 따라 공유 데이터를 가지는 변수를 “중복 변수”라 지칭한다.
태스크 A는 Count의 값을 1,2, … 등으로 계속 변경할 수 있으며, 태스크 B는 Count의 값을 읽어 처리를 할 수 있다. 이때, Count가 중복 변수이므로, 태스크 B의 프로그램 수행 중에 태스크 A에 의해 Count의 값이 변경될 수 있다.
그 결과, 태스크 B는 변경된 중복 변수의 공유 데이터 값에 따라 의도치 않는 동작을 수행할 수 있는 문제점이 발생한다. 즉, 다른 태스크에서 Count에 대한 쓰기 동작을 수행하여 이전의 공유 데이터 값이 덮어쓰기 되는 경우, 이러한 문제점이 발생할 수 있다.
상기한 바와 같은 종래 기술의 문제점을 해결하기 위하여, 본 발명은 다수의 PLC 프로그램에서 중복으로 사용되는 공유 데이터의 검출 및 그 업데이트 시기에 대한 설정 등의 관리를 위한 방법, 장치 및 그 PCL 시스템을 제공하는데 그 목적이 있다.
다만, 본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제에 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 과제를 해결하기 위한 본 발명의 일 실시예에 따른 방법은 PLC 시스템에 접속하여 PLC 프로그램을 PLC 시스템에 다운로드하는 전자 장치에 의해 수행되는 PLC의 프로그램 데이터 관리 방법으로서, 작성된 PLC 프로그램을 빌드하는 단계; 및 빌드되는 PLC 프로그램에서, 다수 태스크에 의해 공유되는 변수인 중복 변수를 검출하는 단계; 및 중복 변수가 검출되는 경우, 어느 태스크에서 변경된 중복 변수의 공유 데이터 값이 다른 태스크에 반영되는 시기에 관한 중복 변수의 업데이트 방식을 설정하는 단계;를 포함한다.
상기 설정하는 단계는, 중복 변수에 대한 리스트와, 각 중복 변수에 대한 선택 가능한 다수의 업데이트 방식을 제공하는 단계; 및 입력 받은 어느 하나의 업데이트 방식으로 해당 중복 변수에 대한 업데이트 방식을 설정하는 단계;를 포함할 수 있다.
상기 업데이트 방식은 중복 변수의 공유 데이터 값이 변경되는 대로 즉시 반영하는 방식을 포함할 수 있다.
상기 업데이트 방식은 제1 태스크에서 변경된 중복 변수의 고유 데이터 값을 제2 태스크가 동작 전에 읽어오되, 제2 태스크의 동작 전에는 변경 전의 공유 데이터 값을 적용하며, 제2 태스크의 동작 후에는 사전 읽어온 변경된 고유 데이터 값을 반영하는 방식을 포함할 수 있다.
상기 업데이트 방식은, 중복 변수의 공유 데이터 값이 변경되는 대로 즉시 반영하는 제1 방식; 및 제1 태스크에서 변경된 중복 변수의 고유 데이터 값을 제2 태스크가 동작 전에 읽어오되, 제2 태스크의 동작 전에는 변경 전의 공유 데이터 값을 적용하며, 제2 태스크의 동작 후에는 사전 읽어온 변경된 고유 데이터 값을 반영하는 제2 방식; 중에서 적어도 하나가 선택될 수 있다.
상기 설정하는 단계는 중복 변수를 가지는 각 태스크에 대해 개별로 업데이트 방식에 대한 설정을 수행하는 단계를 포함할 수 있다.
상기 설정하는 단계는 중복 변수를 가지는 각 태스크에 대해 서로 동일하거나 다른 업데이트 방식으로 해당 중복 변수에 대한 업데이트 방식을 설정하는 단계를 포함할 수 있다.
상기 설정하는 단계에서, 중복 변수를 가지는 각 태스크에 대해 서로 동일하거나 다른 업데이트 방식으로 해당 중복 변수에 대한 설정이 가능할 수도 있다.
본 발명의 일 실시예에 따른 방법은 중복 변수에 대한 업데이트 방식을 설정한 후, PLC 시스템의 CPU 모듈에 PLC 프로그램을 다운로드하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 전자 장치는 PLC 시스템에 접속하여 PLC 프로그램을 PLC 시스템에 다운로드하는 전자 장치로서, 관리 툴이 저장된 메모리와, 관리 툴을 이용하여 작성된 PLC 프로그램에 대한 다양한 설정을 제어하는 제어부를 각각 포함하며, 상기 제어부는, 작성된 PLC 프로그램을 빌드하는 프로그램 생성부; 빌드되는 PLC 프로그램에서, 다수 태스크에 의해 공유되는 변수인 중복 변수를 검출하는 중복변수 생성부; 및 중복 변수가 검출되는 경우, 어느 태스크에서 변경된 중복 변수의 공유 데이터 값이 다른 태스크에 반영되는 시기에 관한 중복 변수의 업데이트 방식을 설정하는 업데이트 설정부;를 포함한다.
상기 업데이트 설정부는 중복 변수에 대한 리스트와 각 중복 변수에 대한 선택 가능한 다수의 업데이트 방식을 제공한 후, 입력 받은 어느 하나의 업데이트 방식으로 해당 중복 변수에 대한 업데이트 방식을 설정할 수 있다.
상기 업데이트 설정부는, 공유 데이터의 값이 변경되는 대로 즉시 반영하는 제1 방식; 제1 태스크에서 변경된 중복 변수의 고유 데이터 값을 제2 태스크가 동작 전에 읽어오되, 제2 태스크의 동작 전에는 변경 전의 공유 데이터 값을 적용하며, 제2 태스크의 동작 후에는 사전 읽어온 변경된 고유 데이터 값을 반영하는 제2 방식; 중에서 적어도 하나의 방식으로 업데이트 방식을 설정할 수 있다.
본 발명의 일 실시예에 따른 PLC 시스템은 전체 시스템을 제어하는데 필요한 연산처리를 수행하는 CPU 모듈; 및 CPU 모듈에 접속하여 PLC 프로그램을 CPU 모듈에 다운로드하는 관리 단말;을 포함하며, 상기 관리 단말은, 관리 툴을 이용하여 작성된 PLC 프로그램에 대한 설정을 제어하되, 작성된 PLC 프로그램을 빌드하는 동작과, 빌드되는 PLC 프로그램에서 다수 태스크에 의해 공유되는 변수인 중복 변수를 검출하는 동작과, 중복 변수가 검출되는 경우에 어느 태스크에서 변경된 중복 변수의 공유 데이터 값이 다른 태스크에 반영되는 시기에 관한 중복 변수의 업데이트 방식을 설정하는 동작을 각각 수행할 수 있다.
상기와 같이 구성되는 본 발명은 여러 PLC 프로그램에서 중복으로 사용되는 데이터를 관리 툴에서 자동으로 검출하고, 사용자가 선택한 방식으로 그 업데이트 방식을 설정할 수 있는 이점이 있다.
또한, 본 발명은 중복 변수에 대해 각 태스크에서 업데이트의 방식을 설정할 수 있어, 사용자가 원하는 시기에 중복 변수의 공유 데이터 값을 업데이트할 수 있는 이점이 있다.
또한, 본 발명은 업데이트 방식의 설정에 따라, 중복 변수의 공유 데이터 값이 변경되면 즉시 업데이트가 되도록 하거나, 태스크의 동작 전/후 시점에 맞추어 중복 변수의 공유 데이터 값을 업데이트할 수 있는 이점이 있다.
또한, 본 발명은 사용자가 작성한 PLC 프로그램의 데이터를 보다 편리하게 관리할 수 있을 뿐 아니라, PLC 프로그램 내에서의 데이터 동기화 및 정합성 유지를 확보하여, 시용자가 의도한 대로 PLC 시스템의 제어를 보다 정확하게 수행할 수 있는 이점이 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 PLC 프로그램을 PLC 시스템의 메모리에 저장하는 과정을 나타낸다.
도 2는 PLC 프로그램의 동작에 대한 일 예를 나타낸다.
도 3은 본 발명의 일 실시예에 따른 PLC 시스템(10)의 블록 구성도를 나타낸다.
도 4는 본 발명의 일 실시예에 따른 관리 단말(100)의 블록 구성도를 나타낸다.
도 5는 제어부(150)의 공유 데이터 검출 등의 관리를 위한 블록 구성도를 나타낸다.
도 6은 본 발명의 일 실시예에 따른 PLC 프로그램의 데이터 관리 방법의 과정을 나타낸다.
도 7은 본 발명의 일 실시예에 따른 PLC 프로그램의 데이터 관리 방법에 따라 생성된 중복 변수 리스트의 일 예를 나타낸다.
본 발명의 상기 목적과 수단 및 그에 따른 효과는 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며, 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 경우에 따라 복수형도 포함한다. 본 명세서에서, "포함하다", “구비하다”, “마련하다” 또는 “가지다” 등의 용어는 언급된 구성요소 외의 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
본 명세서에서, “또는”, “적어도 하나” 등의 용어는 함께 나열된 단어들 중 하나를 나타내거나, 또는 둘 이상의 조합을 나타낼 수 있다. 예를 들어, “또는 B”“및 B 중 적어도 하나”는 A 또는 B 중 하나만을 포함할 수 있고, A와 B를 모두 포함할 수도 있다.
본 명세서에서, “예를 들어” 등에 따르는 설명은 인용된 특성, 변수, 또는 값과 같이 제시한 정보들이 정확하게 일치하지 않을 수 있고, 허용 오차, 측정 오차, 측정 정확도의 한계와 통상적으로 알려진 기타 요인을 비롯한 변형과 같은 효과로 본 발명의 다양한 실시 예에 따른 발명의 실시 형태를 한정하지 않아야 할 것이다.
본 명세서에서, 어떤 구성요소가 다른 구성요소에 '연결되어' 있다거나 '접속되어' 있다고 기재된 경우, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성 요소에 '직접 연결되어' 있다거나 '직접 접속되어' 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.
본 명세서에서, 어떤 구성요소가 다른 구성요소의 '상에' 있다거나 '접하여' 있다고 기재된 경우, 다른 구성요소에 상에 직접 맞닿아 있거나 또는 연결되어 있을 수 있지만, 중간에 또 다른 구성요소가 존재할 수 있다고 이해되어야 할 것이다. 반면, 어떤 구성요소가 다른 구성요소의 '바로 위에' 있다거나 '직접 접하여' 있다고 기재된 경우에는, 중간에 또 다른 구성요소가 존재하지 않은 것으로 이해될 수 있다. 구성요소간의 관계를 설명하는 다른 표현들, 예를 들면, '~사이에'와 '직접 ~사이에' 등도 마찬가지로 해석될 수 있다.
본 명세서에서, '제1', '제2' 등의 용어는 다양한 구성요소를 설명하는데 사용될 수 있지만, 해당 구성요소는 위 용어에 의해 한정되어서는 안 된다. 또한, 위 용어는 각 구성요소의 순서를 한정하기 위한 것으로 해석되어서는 안되며, 하나의 구성요소와 다른 구성요소를 구별하는 목적으로 사용될 수 있다. 예를 들어, '제1구성요소'는 '제2구성요소'로 명명될 수 있고, 유사하게 '제2구성요소'도 '제1구성요소'로 명명될 수 있다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 PLC 시스템(10)의 블록 구성도를 나타낸다.
PLC(Programmable Logic Controller) 시스템은 산업 현장에서 각종 기기나 설비 등을 제어하는 장치로서, 다양한 부하들에 대한 로직, 시퀀스, 타이밍, 카운트, 또는 연산 등의 제어를 수행할 수 있다. 이러한 PLC 시스템(10)은, 도 1에 도시된 바와 같이, 관리 단말(100), CPU 모듈(200) 또는 기타 모듈(300) 등을 포함할 수 있다.
관리 단말(100)은 CPU 모듈(200) 또는 기타 모듈(300)의 PLC 시스템(10)에 대한 관리를 위해, CPU 모듈(200) 또는 기타 모듈(300)에 접속하는 장치로서, 컴퓨팅(computing)이 가능한 전자 장치일 수 있다. 즉, 사용자는 관리 단말(100)을 통해 PLC 시스템(10)의 CPU 모듈(200) 또는 기타 모듈(300)에 접속하여 PLC 시스템(10)을 관리할 수 있다.
예를 들어, 관리 단말(100)은 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 태블릿 PC(tablet personal computer), 넷북 컴퓨터(netbook computer), 스마트폰(smart phone), 스마트패드(smart pad), 또는 PDA(personal digital assistant) 등일 수 있으나, 이에 한정되는 것은 아니다.
사용자는 관리 단말(100)에 설치된 어플리케이션(Application)인 관리 툴(engineering tool)을 이용하여 PLC 프로그램을 CPU 모듈(200) 또는 기타 모듈(300)의 PLC 시스템(10)에 다운로드 하여 해당 PLC 프로그램이 운용(실행)되게 함으로써 입/출력 등을 제어할 수 있다. 가령, 사용자는 관리 툴을 이용해 PLC 시스템(10)에 적용할 프로그램을 래더(Ladder) 프로그램의 형식으로 작성 및 빌드하고, 빌드된 PLC 프로그램을 CPU 모듈(200) 또는 기타 모듈(300)에 다운로드 수 있다.
도 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)는 타 장치, 특히 CPU 모듈(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)는 PLC 프로그램의 다운로드를 위해 CPU 모듈(200) 또는 기타 모듈(300)와 통신할 수 있다. 예를 들어, 관리 단말(100)의 접속을 위한 통신 방식으로는 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 프로그램, 중복 변수 리스트, 업데이트 설정, 후술할 PLC 프로그램의 데이터 관리 방법에 관련된 프로그램 정보 등이 포함될 수 있으나, 이에 한정되는 것은 아니다. 예를 들어, 메모리(140)는 그 유형에 따라 하드디스크 타입(hard disk type), 마그네틱 매체 타입(Sagnetic media type), CD-ROM(compact disc read only memory), 광기록 매체 타입(Optical Media type), 자기-광 매체 타입(Sagneto-optical media type), 멀티미디어 카드 마이크로 타입(Sultimedia 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)의 공유 데이터 검출 등의 관리를 위한 블록 구성도를 나타낸다.
제어부(150)는 후술할 본 발명의 일 실시예에 따른 PLC 프로그램의 데이터 관리 방법의 수행을 제어하는데, 이를 위해, 도 5에 도시된 바와 같이, 프로그래밍 처리부(151), 프로그램 생성부(152), 변수 리스트 생성부(153), 업데이트 설정부(154) 및 다운로드부(155)를 포함할 수 있다. 예를 들어, 프로그래밍 처리부(151), 프로그램 생성부(152), 변수 리스트 생성부(153), 업데이트 설정부(154) 및 다운로드부(155)는 제어부(150)의 하드웨어 구성이거나, 제어부(150)에서 수행되는 소프트웨어인 프로세스일 수 있으며, 특히 관리 툴에 포함된 구성일 수 있으나, 이에 한정되는 것은 아니다.
CPU 모듈(200)은 기본 유닛의 역할을 수행하는 모듈이다. 즉, CPU 모듈(200)은 PLC 시스템(10)을 제어하는데 필요한 연산처리를 수행하는 함으로써 PLC 시스템(10)의 전체 동작을 제어할 수 있다. 이때, CPU 모듈(200)은 인터페이스를 통해 이에 연결된 기타 모듈(120)에 대한 인식, 제어, 감시 등을 수행할 수 있으며, 이들과의 데이터 송수신을 수행할 수 있다. 구체적으로, CPU 모듈(200)은 제어부와 메모리를 포함할 수 있다.
이때, CPU 모듈(200)의 제어부는 각종 제어 기능을 수행할 수 있다. 특히, CPU 모듈(200)의 제어부는 관리 단말(100)로부터 PLC 프로그램을 다운로드하여 CPU 모듈(200)의 메모리에 저장하도록 제어할 수 있다. 또한, CPU 모듈(200)의 제어부는 CPU 모듈(200)의 메모리에 저장된 PLC 프로그램을 실행(운용)하여 PLC 시스템(10)을 제어할 수 있다. 예를 들어, CPU 모듈(200)의 제어부는 하드웨어인 프로세서와, 해당 프로세서에서 수행되는 소프트웨어인 프로세스 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
CPU 모듈(200)의 메모리는 CPU 모듈(200)의 제어부의 제어 기능을 위해 필요한 다양한 정보를 저장할 수 있다. 특히, CPU 모듈(200)의 메모리는 PLC 프로그램에 대한 저장 공간을 마련하여 PLC 프로그램을 저장할 수 있다. 예를 들어, CPU 모듈(200)의 메모리는 하드디스크 타입(hard disk type), 마그네틱 매체 타입(Sagnetic media type), 플래시 메모리 타입(flash memory type), 롬 타입(read only memory type), 또는 램 타입(random access memory type) 등일 수 있으나, 이에 한정되는 것은 아니다. 또한, CPU 모듈(200)의 메모리는 그 용도/위치에 따라 캐시(cache), 버퍼, 주기억장치, 또는 보조기억장치이거나 별도로 마련된 저장 시스템일 수 있으나, 이에 한정되는 것은 아니다.
기타 모듈(300)은 CPU 모듈(200)의 제어에 따라 소정의 동작을 수행할 수 있으며, 다양한 종류의 모듈(300-1, …300-n)을 포함할 수 있다. 예를 들어, 기타 모듈(300)은 센서, 스위치 등의 외부 장치로부터 입력 동작을 수행하는 입력 모듈과, 램프, 솔레노이드, 개폐기 등의 외부 장치로 출력을 전달하는 동작을 수행하는 출력 모듈과, 타 기기/장치/시스템과 데이터 송수신을 위한 통신 동작을 수행하는 통신 모듈 등을 포함할 수 있으나, 이에 한정되는 것은 아니며, 그 외에 다양한 증설 모듈을 포함할 수 있다.
이하, 본 발명에 따른 PLC 프로그램의 데이터 관리 방법에 대해 보다 상세하게 설명하도록 한다.
도 6은 본 발명의 일 실시예에 따른 PLC 프로그램의 데이터 관리 방법의 과정을 나타내며, 도 7은 본 발명의 일 실시예에 따른 PLC 프로그램의 데이터 관리 방법에 따라 생성된 중복 변수 리스트의 일 예를 나타낸다.
즉, 도 6을 참조하면, 본 발명의 일 실시예에 따른 본 발명의 일 실시예에 따른 PLC 프로그램의 데이터 관리 방법은 S201 내지 S206을 포함할 수 있다.
먼저, 사용자가 관리 툴을 이용하여 PLC 프로그램을 작성하며(S201), 이러한 PLC 프로그램 작성에 대한 제어는 프로그래밍 처리부(151)가 수행한다. 즉, S201에서, 프로그래밍 처리부(151)는 사용자가 PLC 프로그램을 작성할 수 있는 환경(시스템)을 사용자에게 제공하며, 해당 시스템에서 사용자가 입력부(110)를 통해 작성한 PLC 프로그램의 소스 코드 파일을 메모리(140)에 저장한다.
이후, 프로그램 생성부(152)는 작성된 PLC 프로그램을 빌드한다(S202). 즉, S202에서, 프로그램 생성부(152)는 PLC 프로그램의 소스 코드 파일을 CPU 모듈(200) 또는 기타 모듈(300)의 전자 장치에서 실행 가능한 소프트웨어로 생성하여 메모리(140)에 저장한다.
한편, 변수 리스트 생성부(153)는 PLC 프로그의 빌드 과정 중에 PLC 프로그램에서 사용된 변수에 대한 리스트를 생성하여 메모리(140)에 저장한다(S203). 또한, 변수 리스트 생성부(153)는 PLC 프로그램에서 다수의 태스크에서 사용된 변수인 중복 변수의 존재 여부를 해당 리스트 내에서 확인하여 검출한다(S204).
만일, S204에서 중복 변수가 미 검출되는 경우, S206를 바로 수행한다. 즉, 다운로드부(155)는 PLC 프로그램에 대한 다운로드를 수행한다(S206). 반면, S204에서 중복 변수가 검출되는 경우에 S205를 수행한 다음에 S206를 수행한다.
한편, S205에서, 업데이트 설정부(154)는 중복 변수의 업데이트 방식에 대한 선택을 사용자로부터 입력 받아 해당 입력에 따른 설정을 수행한다. 이때, 중복 변수에 대한 “업데이트 방식”이란 어느 태스크에서 변경된 중복 변수의 공유 데이터 값이 다른 태스크에 반영되는 시기에 관한 사항을 의미할 수 있다.
업데이트 방식은 제1 방식 및 제2 방식 중에 적어도 하나를 포함할 수 있다. 이때, 제1 태스크 및 제2 태스크가 어느 중복 변수를 공유하되, 제2 태스크에서의 해당 중복 변수의 업데이트 방식에 대한 설정 상황으로 가정하여, 제1 및 제2 방식을 설명하면 다음과 같다.
먼저, 제1 방식은 중복 변수의 공유 데이터 값이 변경되는 대로 즉시 반영하는 방식이다. 즉, 제1 태스크(타 태스크)에서 중복 변수의 공유 데이터 값이 변경되는 즉시로, 제2 태스크(설정 대상 태스크)에서는 제1 태스크에서 변경된 중복 변수의 공유 데이터 값을 이용하여 동작하는 방식이다.
반면, 제2 방식은 제1 태스크에서 변경된 중복 변수의 고유 데이터 값을 제2 태스크가 그 동작 전에 읽어오되, 제2 태스크의 동작 전에는 변경 전의 공유 데이터 값을 적용하며, 제2 태스크의 동작 후에는 사전 읽어온 변경된 고유 데이터 값을 반영하는 방식이다. 즉, 제2 태스크가 현재 동작 시에는 제1 태스크에 의한 변경 전의 공유 데이터 값을 이용하여 동작하며, 그 이후의 동작 시에는 제1 태스크에 의한 변경 후의 공유 데이터 값을 이용하여 동작하는 방식이다.
다만, 업데이트 설정부(154)는 제1 태스크 및 제2 태스크에 대해 개별로 업데이트 방식에 대한 설정을 수행할 수 있다. 즉, 제1 태스크에 대한 업데이트 방식 설정과, 제2 태스크에 대한 업데이트 방식 설정이 각각 수행될 수 있다. 이때, 업데이트 설정부(154)는 중복 변수를 가지는 각 태스크에 대해 서로 동일하거나 다른 업데이트 방식으로 해당 중복 변수에 대한 업데이트 방식을 설정할 수 있다.
특히, 도 7을 참조하면, S205에서, 변수 리스트 생성부(153)는 사용자가 업데이트 방식을 선택할 수 있도록 중복 변수에 대한 리스트와, 각 중복 변수에 대한 선택 가능한 다수의 업데이트 방식을 디스플레이(130)를 통해 제공할 수 있다. 가령, 변수 리스트 생성부(153)는 제1 방식 및 제2 방식 중에 적어도 하나에 대한 선택이 가능한 선택부를 디스플레이(130)에 제공할 수 있다. 이후, 업데이트 설정부(154)는 제공된 해당 리스트 내의 각 중복 변수에 대한 업데이트 방식의 선택을 입력부(110)를 통해 사용자로부터 입력 받아 이를 설정할 수 있다. 가령, 업데이트 설정부(154)는 사용자가 입력부(110)를 통해 선택부에서 선택한 제1 방식 또는 제2 방식을 해당 중복 변수에 대한 업데이트 방식으로 설정할 수 있다.
도 7을 참조하면, 중복 변수 리스트는 중복 변수 명칭, 중복 사용하는 태스크의 수, 중복 사용 태스크에서의 해당 중복 변수에 대한 업데이트 방식에 대한 설정 정보(선택 가능한 업데이트 방식 등)를 포함할 수 있다.
즉, Count의 경우, 태스크 A 및 B에서 중복 사용한다. 이때, 태스크 A에서의 Count에 대해 제1 방식으로 설정하였고, 태스크 B에서의 Count에 대해 제2 방식으로 설정하였다. 이와 같이 동일한 중복 변수를 가지는 각 태스크에 대해 서로 다른 업데이트 방식으로 해당 중복 변수를 설정할 수도 있다.
한편, Input의 경우, 태스크 A, B 및 C에서 중복 사용한다. 이때, 태스크 A, B 및 C에서의 Input에 대해 모두 동일한 제1 방식으로 설정하였다. 이와 같이 동일한 중복 변수를 가지는 각 태스크에 대해 서로 동일한 업데이트 방식으로 해당 중복 변수를 설정할 수도 있다. 물론, 2개의 태스크(가령, A 및 B)에 대해 동일 업데이트 방식으로 설정하고, 다른 1개의 태스크(가령, C)에 대해 다른 업데이트 방식으로 설정할 수도 있다.
S205에 따라 중복 변수에 대한 업데이트 방식이 설정되는 경우, 이후 S206에서, 다운로드부(155)는 이러한 업데이트 방식 설정이 반영된 PLC 프로그램에 대한 다운로드를 수행한다.
상술한 바와 같이 구성되는 본 발명은 여러 PLC 프로그램에서 중복으로 사용되는 데이터를 관리 툴에서 자동으로 검출하고, 사용자가 선택한 방식으로 그 업데이트 방식을 설정할 수 있는 이점이 있다. 또한, 본 발명은 중복 변수에 대해 각 태스크에서 업데이트의 방식을 설정할 수 있어, 사용자가 원하는 시기에 중복 변수의 공유 데이터 값을 업데이트할 수 있는 이점이 있다. 또한, 본 발명은 업데이트 방식의 설정에 따라, 중복 변수의 공유 데이터 값이 변경되면 즉시 업데이트가 되도록 하거나, 태스크의 동작 전/후 시점에 맞추어 중복 변수의 공유 데이터 값을 업데이트할 수 있는 이점이 있다. 그 결과, 본 발명은 사용자가 작성한 PLC 프로그램의 데이터를 보다 편리하게 관리할 수 있을 뿐 아니라, PLC 프로그램 내에서의 데이터 동기화 및 정합성 유지를 확보하여, 시용자가 의도한 대로 PLC 시스템의 제어를 보다 정확하게 수행할 수 있는 이점이 있다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되지 않으며, 후술되는 청구범위 및 이 청구범위와 균등한 것들에 의해 정해져야 한다.
10: PLC 시스템 100: 관리 단말
110: 입력부 120: 통신부
130: 디스플레이 140: 메모리
150: 제어부 151: 프로그래밍 처리부
152: 프로그램 생성부 153: 변수 리스트 생성부
154: 업데이트 설정부 154: 다운로드부
200: CPU 모듈 300: 기타 모듈

Claims (12)

  1. PLC 시스템에 접속하여 PLC 프로그램을 PLC 시스템에 다운로드하는 전자 장치에 의해 수행되는 PLC의 프로그램 데이터 관리 방법으로서,
    작성된 PLC 프로그램을 빌드하는 단계; 및
    빌드되는 PLC 프로그램에서, 다수 태스크에 의해 공유되는 변수인 중복 변수를 검출하는 단계; 및
    중복 변수가 검출되는 경우, 어느 태스크에서 변경된 중복 변수의 공유 데이터 값이 다른 태스크에 반영되는 시기에 관한 중복 변수의 업데이트 방식을 설정하는 단계;
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 설정하는 단계는,
    중복 변수에 대한 리스트와, 각 중복 변수에 대한 선택 가능한 다수의 업데이트 방식을 제공하는 단계; 및
    입력 받은 어느 하나의 업데이트 방식으로 해당 중복 변수에 대한 업데이트 방식을 설정하는 단계;
    를 포함하는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 업데이트 방식은 중복 변수의 공유 데이터 값이 변경되는 대로 즉시 반영하는 방식을 포함하는 방법.
  4. 제1항 또는 제2항에 있어서,
    상기 업데이트 방식은 제1 태스크에서 변경된 중복 변수의 고유 데이터 값을 제2 태스크가 동작 전에 읽어오되, 제2 태스크의 동작 전에는 변경 전의 공유 데이터 값을 적용하며, 제2 태스크의 동작 후에는 사전 읽어온 변경된 고유 데이터 값을 반영하는 방식을 포함하는 방법.
  5. 제1항 또는 제2항에 있어서,
    상기 업데이트 방식은,
    중복 변수의 공유 데이터 값이 변경되는 대로 즉시 반영하는 제1 방식; 및
    제1 태스크에서 변경된 중복 변수의 고유 데이터 값을 제2 태스크가 동작 전에 읽어오되, 제2 태스크의 동작 전에는 변경 전의 공유 데이터 값을 적용하며, 제2 태스크의 동작 후에는 사전 읽어온 변경된 고유 데이터 값을 반영하는 제2 방식;
    중에서 적어도 하나가 선택되는 방법.
  6. 제1항 또는 제2항에 있어서,
    상기 설정하는 단계는 중복 변수를 가지는 각 태스크에 대해 개별로 업데이트 방식에 대한 설정을 수행하는 단계를 포함하는 방법.
  7. 제6항에 있어서,
    상기 설정하는 단계는 중복 변수를 가지는 각 태스크에 대해 서로 동일하거나 다른 업데이트 방식으로 해당 중복 변수에 대한 업데이트 방식을 설정하는 단계를 포함하는 방법.
  8. 제1항에 있어서,
    중복 변수에 대한 업데이트 방식을 설정한 후, PLC 시스템의 CPU 모듈에 PLC 프로그램을 다운로드하는 단계를 더 포함하는 방법.
  9. PLC 시스템에 접속하여 PLC 프로그램을 PLC 시스템에 다운로드하는 전자 장치로서,
    관리 툴이 저장된 메모리와, 관리 툴을 이용하여 작성된 PLC 프로그램에 대한 다양한 설정을 제어하는 제어부를 각각 포함하며,
    상기 제어부는,
    작성된 PLC 프로그램을 빌드하는 프로그램 생성부;
    빌드되는 PLC 프로그램에서, 다수 태스크에 의해 공유되는 변수인 중복 변수를 검출하는 중복변수 생성부; 및
    중복 변수가 검출되는 경우, 어느 태스크에서 변경된 중복 변수의 공유 데이터 값이 다른 태스크에 반영되는 시기에 관한 중복 변수의 업데이트 방식을 설정하는 업데이트 설정부;
    를 포함하는 전자 장치.
  10. 제9항에 있어서,
    상기 업데이트 설정부는 중복 변수에 대한 리스트와 각 중복 변수에 대한 선택 가능한 다수의 업데이트 방식을 제공한 후, 입력 받은 어느 하나의 업데이트 방식으로 해당 중복 변수에 대한 업데이트 방식을 설정하는 전자 장치.
  11. 제9항 또는 제10항에 있어서,
    상기 업데이트 설정부는,
    공유 데이터의 값이 변경되는 대로 즉시 반영하는 제1 방식; 및
    제1 태스크에서 변경된 중복 변수의 고유 데이터 값을 제2 태스크가 동작 전에 읽어오되, 제2 태스크의 동작 전에는 변경 전의 공유 데이터 값을 적용하며, 제2 태스크의 동작 후에는 사전 읽어온 변경된 고유 데이터 값을 반영하는 제2 방식;
    중에서 적어도 하나의 방식으로 업데이트 방식을 설정하는 전자 장치.
  12. 전체 시스템을 제어하는데 필요한 연산처리를 수행하는 CPU 모듈; 및
    CPU 모듈에 접속하여 PLC 프로그램을 CPU 모듈에 다운로드하는 관리 단말;을 포함하며,
    상기 관리 단말은,
    관리 툴을 이용하여 작성된 PLC 프로그램에 대한 설정을 제어하되, 작성된 PLC 프로그램을 빌드하는 동작과, 빌드되는 PLC 프로그램에서 다수 태스크에 의해 공유되는 변수인 중복 변수를 검출하는 동작과, 중복 변수가 검출되는 경우에 어느 태스크에서 변경된 중복 변수의 공유 데이터 값이 다른 태스크에 반영되는 시기에 관한 중복 변수의 업데이트 방식을 설정하는 동작을 각각 수행하는 PLC 시스템.
KR1020200163958A 2020-11-30 2020-11-30 Plc 프로그램의 데이터 관리 방법, 장치 및 그 plc 시스템 KR20220075652A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200163958A KR20220075652A (ko) 2020-11-30 2020-11-30 Plc 프로그램의 데이터 관리 방법, 장치 및 그 plc 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200163958A KR20220075652A (ko) 2020-11-30 2020-11-30 Plc 프로그램의 데이터 관리 방법, 장치 및 그 plc 시스템

Publications (1)

Publication Number Publication Date
KR20220075652A true KR20220075652A (ko) 2022-06-08

Family

ID=81981899

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200163958A KR20220075652A (ko) 2020-11-30 2020-11-30 Plc 프로그램의 데이터 관리 방법, 장치 및 그 plc 시스템

Country Status (1)

Country Link
KR (1) KR20220075652A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230016596A (ko) 2021-07-26 2023-02-02 주식회사 아이에스티엔 SAP, PLC 및 IoT 기기 통합 관리 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230016596A (ko) 2021-07-26 2023-02-02 주식회사 아이에스티엔 SAP, PLC 및 IoT 기기 통합 관리 장치

Similar Documents

Publication Publication Date Title
CN106293507B (zh) 具有外部存储器的电子设备及操作电子设备的方法
CN111142421B (zh) 工程装置、工程装置的控制方法以及存储介质
US10162328B2 (en) Controller and control system
EP2919115A2 (en) Task migration method and apparatus
CN103455352A (zh) 部署应用软件的方法及应用软件部署装置
CN103544035A (zh) 用于移动终端的应用清理方法及装置
US11675621B2 (en) Method for controlling execution of application, electronic device and storage medium for the same
EP3647942B1 (en) Engineering apparatus, control method of engineering apparatus, and program
JP2009217321A (ja) 情報処理装置及び情報処理プログラム
KR20220075652A (ko) Plc 프로그램의 데이터 관리 방법, 장치 및 그 plc 시스템
CN110825409A (zh) 参数管理方法、电子设备及计算机存储介质
JP2015069315A (ja) デバイス
KR20220132248A (ko) Plc 프로그램의 지원 방법, 장치 및 서버
WO2018096717A1 (ja) コントロールシステム及びコントロール方法
KR20210046426A (ko) 어플리케이션의 최적화 방법 및 이를 지원하는 전자 장치
US20210064275A1 (en) Control System, Development Assistance Device, and Development Assistance Program
US20160062926A1 (en) Storage control devices and method therefor to invoke address thereof
CN110069417B (zh) A/b测试方法和装置
CN113821219A (zh) 一种实现应用程序容器化的方法及系统
US20190212708A1 (en) Safety control unit, safety control method, and safety control program
US9047010B2 (en) Selective key distinction at system startup
US20190187669A1 (en) Control unit, data refresh method, and data refresh program
JPWO2021005691A1 (ja) 制御装置、プログラム監視方法及びプログラム
US20240143287A1 (en) Development support device, development support method, and non-transitory storage medium
KR20140052336A (ko) 애플리케이션 검증을 위한 시스템 및 방법