KR102434718B1 - Plc 시스템 - Google Patents

Plc 시스템 Download PDF

Info

Publication number
KR102434718B1
KR102434718B1 KR1020180025745A KR20180025745A KR102434718B1 KR 102434718 B1 KR102434718 B1 KR 102434718B1 KR 1020180025745 A KR1020180025745 A KR 1020180025745A KR 20180025745 A KR20180025745 A KR 20180025745A KR 102434718 B1 KR102434718 B1 KR 102434718B1
Authority
KR
South Korea
Prior art keywords
access
external device
program
management unit
program block
Prior art date
Application number
KR1020180025745A
Other languages
English (en)
Other versions
KR20190105328A (ko
Inventor
백승재
Original Assignee
엘에스일렉트릭(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘에스일렉트릭(주) filed Critical 엘에스일렉트릭(주)
Priority to KR1020180025745A priority Critical patent/KR102434718B1/ko
Publication of KR20190105328A publication Critical patent/KR20190105328A/ko
Application granted granted Critical
Publication of KR102434718B1 publication Critical patent/KR102434718B1/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
    • 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/13Plc programming
    • G05B2219/13144GUI graphical user interface, icon, function bloc editor, OI operator interface
    • 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

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

Abstract

본 발명의 일 실시예에 따른 PLC 시스템은 복수의 프로그램 블록이 저장된 프로그램 저장 영역을 포함하는 메모리; 제1 외부 장치로부터 상기 프로그램 저장 영역에 저장된 복수의 프로그램 블록 중 편집 대상 프로그램 블록에 대한 액세스(access) 요청을 제공받는 액세스 관리부; 및 상기 액세스 관리부로부터 상기 액세스 요청을 제공받고, 상기 제공받은 액세스 요청에 기초하여 상기 메모리에 저장된 상기 편집 대상 프로그램 블록에 대한 액세스 정보를 리드(read)하고, 상기 리드된 액세스 정보에 기초하여 상기 편집 대상 프로그램 블록에 대한 상기 제1 외부 장치의 액세스 허용 여부를 결정하는 프로그램 관리부를 포함하는 것을 특징으로 한다.

Description

PLC 시스템{PROGRAMMABLE LOGIC CONTROLLER SYSTEM}
본 발명은 PLC 시스템에 관한 것으로, 보다 구체적으로는 프로그램을 편집하는 외부 장치의 액세스를 효과적으로 관리하는 PLC 시스템에 관한 것이다.
PLC 시스템(Programmable Logic Controller System; 프로그래머블 로직 컨트롤러 시스템)은 산업 현장에서 각종 기기나 설비 등을 제어하는 장치이다.
이러한 PLC 시스템의 메모리는 프로그램 저장 영역을 포함하며, 프로그램 저장 영역은 프로그램이 저장될 수 있는 복수의 프로그램 블록으로 구성될 수 있다.
그리고, PLC 시스템은 다양한 통신 기술을 통해 복수의 외부 장치와 통신할 수 있으며, 복수의 사용자는 이러한 외부 장치를 이용하여 PLC 시스템에 저장된 프로그램을 편집할 수 있다.
구체적으로, 외부 장치는 프로그램 저장 영역에 액세스하여 PLC 시스템으로부터 프로그램을 제공받을 수 있다. 이에 따라, 사용자는 외부 장치를 이용하여 제공받은 프로그램을 편집하여 프로그램의 수정 버전을 생성할 수 있다. 그러면, 외부 장치는 프로그램 저장 영역에 다시 액세스하여 프로그램의 수정 버전을 PLC 시스템에 제공할 수 있다.
이때, 복수의 외부 장치가 프로그램의 수정 버전을 동시에 PLC 시스템에 제공하거나, 프로그램의 수정 버전이 PLC 시스템에 제공되는 중에 다른 외부 장치가 해당 프로그램을 제공받는 등의 충돌 상황을 방지하기 위해, PLC 시스템은 프로그램에 대한 외부 장치의 액세스를 관리할 필요가 있다.
한편, 종래의 PLC 시스템은 프로그램 저장 영역 전체를 기준으로 외부 장치의 액세스를 허용하거나 차단하였다.
구체적으로, 종래의 PLC 시스템은 프로그램 저장 영역에 액세스 중인 외부 장치가 하나라도 존재하는 경우, 해당 외부 장치가 편집하는 프로그램 블록과 다른 프로그램 블록을 편집하려는 외부 장치의 액세스도 차단하였다.
그리고, 종래의 PLC 시스템은 액세스 중인 외부 장치의 액세스가 종료된 후에 다른 외부 장치의 액세스를 순차적으로 허용하였다.
즉, 종래의 PLC 시스템에서는 프로그램 저장 영역 전체를 기준으로 외부 장치의 액세스를 관리하기 때문에 복수의 외부 장치가 각각 다른 프로그램 블록에 저장된 프로그램을 편집하더라도, 복수의 외부 장치가 동시에 프로그램 저장 영역에 액세스할 수 없다는 문제가 있다.
또한, 종래의 PLC 시스템은 프로그램 저장 영역 전체를 기준으로 외부 장치의 액세스를 관리하기 때문에 복수의 외부 장치의 액세스를 순차적으로 허용함으로써, 프로그램을 편집하는 외부 장치의 개수가 증가할수록 프로그램 편집에 소요되는 시간이 증가한다는 문제가 있다.
본 발명의 일 실시예에 따른 PLC 시스템은 프로그램 블록 단위로 외부 장치의 액세스를 관리함으로써 프로그램 저장 영역에 대한 복수의 외부 장치의 동시 액세스를 가능하게 하는 것을 목적으로 한다.
또한, 본 발명의 일 실시예에 따른 PLC 시스템은 프로그램 블록 단위로 외부 장치의 액세스를 관리함으로써 프로그램을 편집하는 외부 장치의 개수가 증가하더라도 프로그램 편집에 소요되는 시간을 최소화하는 것을 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명의 일 실시예에 따른 PLC 시스템은 복수의 프로그램 블록이 저장된 프로그램 저장 영역을 포함하는 메모리; 제1 외부 장치로부터 상기 프로그램 저장 영역에 저장된 복수의 프로그램 블록 중 편집 대상 프로그램 블록에 대한 액세스(access) 요청을 제공받는 액세스 관리부; 및 상기 액세스 관리부로부터 상기 액세스 요청을 제공받고, 상기 제공받은 액세스 요청에 기초하여 상기 메모리에 저장된 상기 편집 대상 프로그램 블록에 대한 액세스 정보를 리드(read)하고, 상기 리드된 액세스 정보에 기초하여 상기 편집 대상 프로그램 블록에 대한 상기 제1 외부 장치의 액세스 허용 여부를 결정하는 프로그램 관리부를 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 PLC 시스템은 프로그램 블록 단위로 외부 장치의 액세스를 관리함으로써 서로 다른 프로그램 블록에 대한 복수의 외부 장치의 동시 액세스를 가능하게 할 수 있다. 이에 따라, 프로그램의 편집 과정에서 소요되는 시간을 단축할 수 있으며, 프로그램의 편집 과정의 효율을 개선할 수 있다.
또한, 본 발명의 일 실시예에 따른 PLC 시스템은 프로그램 블록 단위로 외부 장치의 액세스를 관리함으로써 프로그램을 편집하는 외부 장치의 개수가 증가하더라도 프로그램 편집에 소요되는 시간을 최소화할 수 있다. 이에 따라, PLC 시스템이 사용되는 산업 현장의 규모가 크더라도, 다수의 사용자가 최소화된 시간에 맞추어 효율적으로 프로그램을 편집할 수 있다.
도 1은 본 발명의 일 실시예에 따른 PLC 시스템을 설명하는 개략도이다.
도 2는 도 1의 PLC 시스템 내 구성요소 간 관계를 설명하는 개략도이다.
도 3은 도 2의 복수의 프로그램 블록의 액세스 정보를 설명하는 개략도이다.
도 4는 도 1의 PLC 시스템이 수행하는 액세스 관리 방법을 설명하는 순서도이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
이하에서, 도 1 내지 도 3을 참조하여 본 발명의 일 실시예에 따른 PLC 시스템을 설명한다.
도 1은 본 발명의 일 실시예에 따른 PLC 시스템을 설명하는 개략도이다. 도 2는 도 1의 PLC 시스템의 구성 간의 관계를 설명하는 개략도이다. 도 3은 도 2의 복수의 프로그램 블록의 액세스 정보를 설명하는 개략도이다.
PLC 시스템(100)은 산업 현장에서 각종 기기나 설비 등을 제어하는 장치일 수 있다.
구체적으로, PLC 시스템(100)은 메모리(110), 액세스 관리부(120) 및 프로그램 관리부(130)를 포함할 수 있다.
참고로, PLC 시스템(100)은 외부 장치로부터 아날로그 신호를 제공받는 아날로그 입력 모듈(미도시), 외부 장치에게 아날로그 신호를 제공하는 아날로그 출력 모듈(미도시), 외부 장치로부터 디지털 신호를 제공받는 디지털 입력 모듈(미도시), 외부 장치에게 디지털 신호를 제공하는 디지털 출력 모듈(미도시) 및 전원을 공급하는 전원 모듈(미도시) 등 각종 모듈을 더 포함할 수 있으나, 이하에서는 메모리(110), 액세스 관리부(120) 및 프로그램 관리부(130)를 중심으로 설명하기로 한다.
이러한 PLC 시스템(100)은 메모리(110)에 저장된 프로그램을 실행하여 각종 기기나 설비 등을 제어할 수 있다.
예를 들어, PLC 시스템(100)은 각종 모듈로부터 입력값을 제공받고, 제공받은 입력값에 기초하여 메모리(110)에 저장된 프로그램을 실행함으로써 로직, 시퀀싱, 타이밍, 카운팅 또는 연산 등의 동작을 수행할 수 있다. 그리고, PLC 시스템(100)은 프로그램의 실행 결과를 각종 모듈에게 제공함으로써 산업 현장의 각종 기기나 설비 등을 제어할 수 있다.
한편, 메모리(110)는 다양한 종료의 휘발성 또는 불휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(110)는 ROM(Read Only Memory) 및 RAM(Random Access Memory)을 포함할 수 있다.
나아가, 메모리(110)는 프로그램 저장 영역(220)을 포함할 수 있다.
여기서, 프로그램 저장 영역(220)은 메모리(110)의 저장 공간에 할당된 영역일 수 있다. 구체적으로, 프로그램 저장 영역(220)은 PLC 시스템(100)에 의해 실행될 수 있는 프로그램이 저장되는 영역일 수 있다.
나아가, 프로그램 저장 영역(220)은 프로그램이 저장될 수 있는 복수의 프로그램 블록(230-1~230-N)으로 구성될 수 있다. 여기서, N은 임의의 양의 정수를 의미한다.
여기서, 복수의 프로그램 블록(230-1~230-N)은 프로그램 저장 영역(220)이 N개로 분할된 영역으로, 프로그램과 연관된 데이터가 저장될 수 있는 영역일 수 있다.
예를 들어, 하나의 프로그램 블록에는 하나 이상의 프로그램이 저장될 수 있다. 즉, 하나의 프로그램에 연관된 데이터 전체가 하나의 프로그램 블록에 저장될 수 있다.
또한, 하나의 프로그램이 복수의 프로그램 블록에 나눠서 저장될 수도 있다. 즉, 복수의 프로그램 블록 각각에 하나의 프로그램에 연관된 데이터의 일부분이 저장될 수 있다.
그리고, 복수의 프로그램 블록(230-1~230-N)에는 프로그램이 저장되지 않은 프로그램 블록이 있을 수도 있다.
그리고, 복수의 프로그램 블록(230-1~230-N)의 개수 및 복수의 프로그램 블록(230-1~230-N) 각각의 크기는 사용자 또는 메모리(110)의 제조 회사에 의해 미리 설정될 수 있다.
참고로, 하나의 프로그램 블록은 PLC 시스템(100)이 외부 장치 그룹(200)에게 프로그램 저장 영역(220)에 저장된 정보를 제공할 때 사용되는 최소 단위로 사용될 수 있다.
또한 하나의 프로그램 블록은 PLC 시스템(100)이 외부 장치 그룹(200)으로부터 프로그램 편집의 결과를 제공받을 때 사용하는 최소 단위로도 사용될 수 있다.
한편, 액세스 관리부(120)는 외부 장치 그룹(200)과의 통신을 수행할 수 있다. 그리고, 액세스 관리부(120)는 복수의 프로그램 블록(230-1~230-N)에 대한 외부 장치 그룹(200)의 액세스를 관리할 수 있다.
여기서, 외부 장치 그룹(200)은 외부 장치가 적어도 하나 포함된 그룹일 수 있다. 구체적으로, 외부 장치 그룹(200)은 외부 장치 1 내지 외부 장치 M(210-1~210-M)을 포함할 수 있다. 여기서, M은 임의의 양의 정수일 수 있다.
한편, 외부 장치(210-1~210-M)는 PLC 시스템(100)에 의해 실행될 수 있는 프로그램을 편집하는 장치일 수 있다. 각각의 외부 장치(210-1~210-M)는 예를 들어, PC(Personal Computer), 태블릿 PC 또는 스마트폰 등의 전자 기기일 수 있다.
외부 장치(210-1~210-M) 각각은 RS-232 또는 USB(Universal Serial Bus)등을 이용하여 액세스 관리부(120)와 통신을 수행하거나, 블루투스(Bluetooth), 이더넷, Wi-Fi 또는 LTE(3GPP Long Term Evolution) 등의 통신 프로토콜을 이용하여 액세스 관리부(120)와 통신을 수행할 수 있다.
예를 들어, 외부 장치 1(210-1)은 RS-232을 이용하여 액세스 관리부(120)와 통신하고, 외부 장치 2(210-2)는 USB를 이용하여 액세스 관리부(120)와 통신하고, 외부 장치 3 내지 외부 장치 M(210-3~210-M)은 이더넷을 이용하여 액세스 관리부(120)와 통신할 수 있다.
한편, 액세스 관리부(120)는 외부 장치 그룹(200)에 포함된 제1 외부 장치로부터 프로그램 저장 영역(220)에 저장된 복수의 프로그램 블록(230-1~230-N) 중 편집 대상 프로그램 블록에 대한 액세스 요청을 제공받을 수 있다.
참고로, 제1 외부 장치는 외부 장치 그룹(200)에 포함된 외부 장치(210-1~210-M) 중 임의의 하나일 수 있다.
이하에서, 제1 외부 장치를 중심으로 PLC 시스템(100)의 동작을 설명하지만, 이는 예시에 불과하며, PLC 시스템(100)은 외부 장치 그룹(200)에 포함된 복수의 외부 장치(210-1~210-N) 중 제1 외부 장치와 다른 외부 장치들에 대해서도 동일한 방식으로 동작할 수 있다.
여기서, 편집 대상 프로그램 블록은 복수의 프로그램 블록(230-1~230-N) 중에서 제1 외부 장치에 의해 선택된 프로그램 블록일 수 있다. 예를 들어, 편집 대상 프로그램 블록은 복수의 프로그램 블록(230-1~230-N) 중에서 제1 외부 장치를 이용하는 사용자가 편집하려는 프로그램 블록을 의미할 수 있다.
사용자는 제1 외부 장치를 통해 복수의 프로그램 블록(230-1~230-N) 중 적어도 하나의 프로그램 블록을 편집 대상 프로그램 블록으로 선택할 수 있다.
구체적으로, 제1 외부 장치가 PLC 시스템(100)과 처음으로 통신을 수행하는 경우, 제1 외부 장치는 액세스 관리부(120)에게 액세스 요청을 하여 복수의 프로그램 블록(230-1~230-N) 전체를 제공받을 수 있다.
이에 따라, 사용자는 복수의 프로그램 블록(230-1~230-N) 전체를 확인하고, 그 중에서 편집하고자 하는 프로그램 블록을 편집 대상 프로그램 블록으로 선택할 수 있다.
그리고, 제1 외부 장치가 과거에 복수의 프로그램 블록(230-1~230-N) 전체를 제공받아 저장하고 있는 경우, 사용자는 제1 외부 장치에 저장된 복수의 프로그램 블록(230-1~230-N) 전체를 확인하고, 그 중에서 편집하고자 하는 프로그램 블록을 편집 대상 프로그램 블록으로 선택할 수 있다.
그리고, 사용자는 제1 외부 장치를 이용하여 편집 대상 프로그램 블록을 편집하고, 편집 대상 프로그램 블록의 수정 버전을 PLC 시스템(100)에 제공할 수 있다.
구체적으로, 제1 외부 장치는 PLC 시스템(100)으로부터 편집 대상 프로그램 블록을 제공받을 수 있다. 이에 따라, 사용자는 제1 외부 장치를 이용하여 편집 대상 프로그램 블록에 저장된 데이터, 프로그램 등을 편집할 수 있다.
그러면, 제1 외부 장치는 편집 대상 프로그램 블록이 편집된 결과인 편집 대상 프로그램 블록의 수정 버전을 PLC 시스템(100)에 제공할 수 있다.
한편, 액세스 관리부(120)는 제1 외부 장치로부터 복수의 프로그램 블록(230-1~230-N) 중 편집 대상 프로그램 블록에 대한 액세스 요청을 제공받을 수 있다.
여기서, 액세스는 읽기 액세스 및 쓰기 액세스를 포함할 수 있다.
구체적으로, 읽기 액세스는 제1 외부 장치가 프로그램 관리부(130)로부터 편집 대상 프로그램 블록을 제공받는 동작을 의미할 수 있다. 그리고, 쓰기 액세스는 제1 외부 장치가 프로그램 관리부(130)에 편집 대상 프로그램 블록의 수정 버전을 제공하는 동작을 의미할 수 있다.
한편, 액세스 요청은 제1 외부 장치가 편집 대상 프로그램 블록에 대한 액세스를 수행하기 위해 PLC 시스템(100)에 제공하는 요청일 수 있다.
구체적으로, 액세스 요청은 읽기 액세스 요청 및 쓰기 액세스 요청을 포함할 수 있다. 여기서, 읽기 액세스 요청은 읽기 액세스를 수행하기 위한 요청일 수 있다. 그리고, 쓰기 액세스 요청은 쓰기 액세스를 수행하기 위한 요청일 수 있다.
제1 외부 장치로부터 액세스 요청을 제공받으면, 액세스 관리부(120)는 액세스 요청을 프로그램 관리부(130)에 제공할 수 있다.
그리고, 액세스 관리부(120)는 프로그램 관리부(130)로부터 편집 대상 프로그램 블록에 대한 제1 외부 장치의 액세스 허용 여부를 결정한 결과를 제공받을 수 있다. 이에 따라, 액세스 관리부(120)는 편집 대상 프로그램 블록에 대한 제1 외부 장치의 액세스를 허용하거나 차단할 수 있다.
구체적으로, 액세스 관리부(120)는 프로그램 관리부(130)로부터 액세스 허용 응답 또는 액세스 차단 응답을 제공받을 수 있다. 그러면, 액세스 관리부(120)는 액세스 허용 응답 또는 액세스 차단 응답에 따라 편집 대상 프로그램 블록에 대한 제1 외부 장치의 액세스를 허용하거나 차단할 수 있다.
프로그램 관리부(130)로부터 액세스 차단 응답을 제공받은 경우, 액세스 관리부(120)는 제1 외부 장치의 액세스를 차단할 수 있다.
그리고, 프로그램 관리부(130)로부터 액세스 허용 응답을 제공받은 경우, 액세스 관리부(120)는 제1 외부 장치의 액세스를 허용할 수 있다.
한편, 제1 외부 장치의 액세스 요청이 쓰기 액세스 요청인 경우, 액세스 관리부(120)는 제1 외부 장치로부터 편집 대상 프로그램 블록의 수정 버전을 제공받을 수 있다. 그리고, 액세스 관리부(120)는 편집 대상 프로그램 블록의 수정 버전을 프로그램 관리부(130)에게 제공할 수 있다.
제1 외부 장치의 액세스 요청이 읽기 액세스 요청인 경우, 액세스 관리부(120)는 프로그램 관리부(130)로부터 편집 대상 프로그램 블록을 제공받을 수 있다. 그리고, 액세스 관리부(120)는 편집 대상 프로그램 블록을 제1 외부 장치에게 제공할 수 있다.
한편, 프로그램 관리부(130)는 프로그램 저장 영역(220)에 저장된 복수의 프로그램 블록(230-1~230-N)을 관리할 수 있다.
구체적으로, 프로그램 관리부(130)는 액세스 관리부(120)로부터 액세스 요청을 제공받을 수 있다. 그리고, 프로그램 관리부(130)는 제공받은 액세스 요청에 기초하여 메모리(110)에 저장된 편집 대상 프로그램 블록에 대한 액세스 정보를 리드할 수 있다.
그러면, 프로그램 관리부(130)는 리드된 액세스 정보에 기초하여 편집 대상 프로그램 블록에 대한 제1 외부 장치의 액세스 허용 여부를 결정할 수 있다.
보다 구체적으로, 액세스 관리부(120)로부터 액세스 요청을 제공받은 후, 프로그램 관리부(130)는 리드된 액세스 정보에 기초하여 편집 대상 프로그램 블록에 액세스 중인 제2 외부 장치가 존재하는지 여부를 판단할 수 있다.
그리고, 프로그램 관리부(120)는 제2 외부 장치가 존재하는지 여부에 대한 판단 결과에 따라 제1 외부 장치의 액세스 허용 여부를 결정할 수 있다. 나아가, 프로그램 관리부(120)는 액세스 허용 여부 결정 결과에 따라 액세스 관리부(120)에 액세스 허용 응답 또는 액세스 차단 응답을 제공할 수 있다.
여기서, 제2 외부 장치는 외부 장치 그룹(200)에 포함된 외부 장치(210-1~210-N) 중에서 제1 외부 장치와 다른 임의의 장치를 의미할 수 있다.
제1 외부 장치가 쓰기 액세스 요청을 제공한 경우, 프로그램 관리부(130)는 액세스 허용 응답을 제공한 후, 액세스 관리부(120)로부터 편집 대상 프로그램 블록의 수정 버전을 제공받을 수 있다.
그러면, 프로그램 관리부(130)는 프로그램 저장 영역(220)에 저장된 편집 대상 프로그램 블록을 편집 대상 프로그램 블록의 수정 버전으로 변경할 수 있다. 참고로, 프로그램 관리부(130)가 프로그램 블록을 편집 대상 프로그램 블록의 수정 버전으로 변경하는 방식은 종래 기술에서 사용된 방식과 동일하므로, 구체적인 설명은 생략하도록 한다.
제1 외부 장치가 읽기 액세스 요청을 제공한 경우, 프로그램 관리부(130)는 액세스 허용 응답을 제공한 후, 액세스 관리부(120)에게 편집 대상 프로그램 블록을 제공할 수 있다.
한편, 프로그램 관리부(130)는 도 3과 같이 복수의 프로그램 블록(230-1~230-N) 각각에 복수의 액세스 정보 영역(310-1~310-N)을 할당할 수 있다.
여기서, 복수의 액세스 정보 영역(310-1~310-N) 각각은 복수의 프로그램 블록(230-1~230-N) 각각에 대한 액세스 정보가 저장되는 영역일 수 있다. 그리고, 액세스 정보는 프로그램 블록에 대해 액세스 중인 외부 장치에 관한 정보를 포함할 수 있다.
구체적으로, 액세스 정보는 프로그램 블록에 액세스 중인 외부 장치가 존재하는지 여부에 대한 정보를 포함할 수 있다.
예를 들어, 제1 프로그램 블록(230-1)에 액세스 중인 외부 장치가 존재하면 제1 액세스 정보 영역(310-1)에 '1'이 저장될 수 있다. 그리고, 제1 프로그램 블록(230-1)에 액세스 중인 외부 장치가 존재하지 않으면 제1 액세스 정보 영역(310-1)에 '0'이 저장될 수 있다.
다만 이는 예시에 불과하며, 본 발명의 액세스 정보는 액세스 중인 외부 장치의 존재 여부를 나타낼 수 있는 어떠한 형태의 정보도 포함한다.
나아가, 액세스 정보는 프로그램 블록에 액세스 중인 외부 장치가 수행하는 액세스의 종류에 대한 정보를 더 포함할 수도 있다. 즉, 액세스 정보는 읽기 액세스 또는 쓰기 액세스에 대한 정보도 포함할 수 있다.
그리고, 액세스 정보는 프로그램 블록에 대한 편집 이력에 대한 정보도 더 포함할 수 있다.
예를 들어, 편집 이력에 대한 정보는 프로그램 블록이 수정된 시간, 프로그램 블록을 편집한 외부 장치의 통신 수단, 프로그램 블록을 편집한 외부 장치의 IP 주소, 프로그램 블록을 편집한 외부 장치의 MAC 주소 및 프로그램 블록을 편집한 외부 장치에 의해 사용된 편집 프로그램의 버전 정보 등 각종 정보를 포함할 수 있다.
한편, 프로그램 관리부(130)는 편집 대상 프로그램 블록의 액세스 정보에 기초하여 편집 대상 프로그램 블록에 액세스 중인 제2 외부 장치가 존재하는지 여부를 식별하고, 식별 결과에 따라 제1 외부 장치의 액세스 허용 여부를 결정할 수 있다.
그리고, 프로그램 관리부(130)는 제1 외부 장치에 대한 액세스를 허용하는 경우, 편집 대상 프로그램 블록에 할당된 액세스 정보 영역에 제1 외부 장치에 관한 액세스 정보를 저장할 수 있다.
나아가, 편집 대상 프로그램 블록에 대한 제1 외부 장치의 액세스가 종료되면, 프로그램 관리부(130)는 편집 대상 프로그램 블록에 할당된 액세스 정보 영역에 액세스 중인 외부 장치가 존재하지 않음을 나타내는 정보를 저장할 수 있다.
참고로, 액세스의 종료는 제1 외부 장치의 읽기 액세스 또는 쓰기 액세스가 종료되는 것을 의미할 수 있다.
예를 들어, 제1 외부 장치가 편집 대상 프로그램 블록에 대한 읽기 액세스 요청을 액세스 관리부(120)에 제공할 수 있다. 이에 따라, 제1 외부 장치가 액세스 관리부(120)로부터 편집 대상 프로그램 블록을 완전히 제공받으면, 액세스가 종료될 수 있다.
다른 예를 들어, 제1 외부 장치가 편집 대상 프로그램 블록에 대한 쓰기 액세스 요청을 액세스 관리부(120)에 제공할 수 있다. 이에 따라, 프로그램 관리부(130)가 편집 대상 프로그램 블록을 편집 대상 프로그램 블록의 수정 버전으로 완전히 변경하면, 액세스가 종료될 수 있다.
편집 대상 프로그램 블록이 제1 프로그램 블록(230-1)인 경우를 예로 들어 액세스 정보에 관한 PLC 시스템(100)의 동작을 구체적으로 설명한다.
먼저, 제1 외부 장치는 액세스 관리부(120)에 제1 프로그램 블록(230-1)에 대한 액세스 요청을 제공할 수 있다.
이에 따라, 프로그램 관리부(130)는 액세스 관리부(120)로부터 제1 프로그램 블록(230-1)에 대한 액세스 요청을 제공받을 수 있다. 그러면, 프로그램 관리부(130)는 제1 액세스 정보 영역(310-1)에 저장된 정보에 기초하여 제1 프로그램 블록(230-1)에 액세스 중인 외부 장치가 존재하는 여부를 식별할 수 있다.
제1 프로그램 블록(230-1)에 액세스 중인 외부 장치가 존재하는 경우, 프로그램 관리부(130)는 제1 외부 장치의 액세스 차단을 결정할 수 있다. 그리고, 프로그램 관리부(130)는 액세스 관리부(120)에게 액세스 차단 응답을 제공할 수 있다.
제1 프로그램 블록(230-1)에 액세스 중인 외부 장치가 존재하지 않는 경우, 프로그램 관리부(130)는 제1 외부 장치의 액세스 허용을 결정할 수 있다. 그리고, 프로그램 관리부(130)는 액세스 관리부(120)에게 액세스 허용 응답을 제공할 수 있다.
나아가, 프로그램 관리부(130)는 제1 액세스 정보 영역(310-1)에 액세스 중인 외부 장치(즉, 제1 외부 장치)가 존재한다는 정보를 저장할 수 있다.
제1 외부 장치의 액세스가 종료되면, 프로그램 관리부(130)는 제1 액세스 정보 영역(310-1)에 액세스 중인 외부 장치가 존재하지 않는다는 정보를 저장할 수 있다.
이하에서, 도 1 내지 도 4를 참조하여 본 발명의 일 실시예에 따른 PLC 시스템(100)이 수행하는 액세스 관리 방법을 설명한다.
도 4는 도 1의 PLC 시스템이 수행하는 액세스 관리 방법을 설명하는 흐름도이다.
도 4를 참조하면, PLC 시스템(100)은 제1 외부 장치로부터 액세스 요청이 수신되는지 여부를 판단할 수 있다(S410).
제1 외부 장치로부터 액세스 요청이 수신되지 않은 경우, PLC 시스템(100)은 단계(S410)를 다시 수행할 수 있다.
제1 외부 장치로부터 액세스 요청이 수신되는 경우, PLC 시스템(100)은 편집 대상 프로그램 블록에 액세스 중인 제2 외부 장치가 존재하는지 여부를 식별할 수 있다(S420).
구체적으로, PLC 시스템(100)은 편집 대상 프로그램 블록의 액세스 정보에 기초하여 편집 대상 프로그램 블록에 액세스 중인 제2 외부 장치가 존재하는지 여부를 식별할 수 있다.
편집 대상 프로그램 블록에 액세스 중인 제2 외부 장치가 존재하지 않는 경우, PLC 시스템(100)은 제1 외부 장치의 액세스를 허용할 수 있다(S430).
구체적으로, PLC 시스템(100)은 액세스 요청에 대해 액세스 허용 응답을 생성하고, 생성된 액세스 허용 응답에 기초하여 제1 외부 장치의 액세스를 허용할 수 있다.
나아가, PLC 시스템(100)은 편집 대상 프로그램 블록의 액세스 정보 영역에 액세스 중인 외부 장치가 존재한다는 정보를 저장할 수 있다.
그리고, 액세스 정보가 액세스의 종류에 대한 정보를 더 포함하는 경우, PLC 시스템(100)은 편집 대상 프로그램 블록의 액세스 정보 영역에 제1 외부 장치가 요청한 액세스가 읽기 액세스인지 또는 쓰기 액세스인지에 대한 정보를 저장할 수 있다.
나아가, 액세스 정보가 편집 이력에 대한 정보도 더 포함하는 경우, PLC 시스템(100)은 제1 외부 장치의 IP 주소, MAC 주소, 제1 외부 장치에 의해 사용된 편집 프로그램의 버전 정보 등에 대한 정보를 액세스 정보 영역에 저장할 수 있다.
단계(S430)를 수행한 이후, PLC 시스템(100)은 액세스 요청의 종류에 따라 단계(S440) 또는 단계(S450)를 수행할 수 있다.
액세스 요청이 읽기 액세스 요청인 경우, PLC 시스템(100)은 편집 대상 프로그램 블록을 제1 외부 장치에게 제공할 수 있다(S440).
구체적으로, PLC 시스템(100)은 편집 대상 프로그램 블록을 제1 외부 장치에게 완전히 제공한 후, 편집 대상 프로그램 블록의 액세스 정보 영역에 액세스 중인 외부 장치가 존재하지 않는다는 정보를 저장할 수 있다.
한편, PLC 시스템(100)으로부터 편집 대상 프로그램 블록을 제공받은 제1 외부 장치는 사용자의 제어에 따라 편집 프로그램 블록을 편집하고, 편집 프로그램 블록의 수정 버전을 생성할 수 있다.
액세스 요청이 읽기 액세스 요청이 아닌 경우, 즉, 액세스 요청이 쓰기 액세스 요청이면, PLC 시스템(100)은 제1 외부 장치로부터 편집 대상 프로그램 블록의 수정 버전을 수신할 수 있다(S450).
단계(S450)를 수행한 이후, PLC 시스템(100)은 편집 대상 프로그램 블록을 편집 대상 프로그램 블록의 수정 버전으로 변경할 수 있다(S460).
편집 대상 프로그램 블록을 편집 대상 프로그램 블록의 수정 버전으로 완전히 변경한 후, PLC 시스템(100)은 편집 대상 프로그램 블록의 액세스 정보 영역에 액세스 중인 외부 장치가 존재하지 않는다는 정보를 저장할 수 있다.
참고로, 전술한 단계(S410), 단계(S430) 및 단계(S450)는 액세스 관리부(120)에 의해 수행될 수 있다. 그리고, 단계(S420), 단계(S440) 및 단계(S460)는 프로그램 관리부(130)에 의해 수행될 수 있다.
전술한 바와 같이, 본 발명의 일 실시예에 따른 PLC 시스템(100)은 복수의 프로그램 블록(230-1~230-N) 각각에 액세스 정보를 저장하고, 프로그램 블록 단위로 외부 장치의 액세스를 관리함으로써 프로그램 저장 영역(220)에 대한 복수의 외부 장치의 동시 액세스를 가능하게 할 수 있다. 이에 따라, 프로그램의 편집 과정에서 소요되는 시간을 단축할 수 있으며, 프로그램의 편집 과정의 효율을 개선할 수 있다.
또한, 본 발명의 일 실시예에 따른 PLC 시스템(100)은 복수의 프로그램 블록(230-1~230-N) 각각에 액세스 정보를 저장하고, 프로그램 블록 단위로 외부 장치의 액세스를 관리함으로써 프로그램을 편집하는 외부 장치의 개수가 증가하더라도 프로그램 편집에 소요되는 시간을 최소화할 수 있다. 이에 따라, PLC 시스템(100)이 사용되는 산업 현장의 규모가 크더라도, 다수의 사용자가 최소화된 시간에 맞추어 효율적으로 프로그램을 편집할 수 있다.
전술한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
100: PLC 시스템
110: 메모리
120: 액세스 관리부
130: 프로그램 관리부

Claims (12)

  1. 복수의 프로그램 블록이 저장된 프로그램 저장 영역을 포함하는 메모리;
    제1 외부 장치로부터 상기 프로그램 저장 영역에 저장된 복수의 프로그램 블록 중 편집 대상 프로그램 블록에 대한 액세스(access) 요청을 제공받는 액세스 관리부; 및
    상기 액세스 관리부로부터 상기 액세스 요청을 제공받고, 상기 제공받은 액세스 요청에 기초하여 상기 메모리에 저장된 상기 편집 대상 프로그램 블록에 대한 액세스 정보를 리드(read)하고, 상기 리드된 액세스 정보에 기초하여 상기 편집 대상 프로그램 블록에 대한 상기 제1 외부 장치의 액세스 허용 여부를 결정하는 프로그램 관리부를 포함하고,
    상기 액세스 정보는, 상기 복수의 프로그램 각각에 대해 액세스 중인 외부 장치에 관한 정보를 포함하고,
    상기 프로그램 관리부는, 상기 액세스 정보가 저장되는 액세스 정보 영역을 상기 메모리에 저장된 상기 복수의 프로그램 블록 각각에 할당하는
    PLC(Programmable Logic Controller) 시스템.
  2. 제1항에 있어서,
    상기 액세스 관리부는,
    상기 프로그램 관리부로부터 상기 액세스 허용 여부 결정 결과를 제공받고, 상기 제공받은 액세스 허용 여부 결정 결과에 따라 상기 편집 대상 프로그램 블록에 대한 상기 제1 외부 장치의 액세스를 허용하거나 차단하는
    PLC 시스템.
  3. 제1항에 있어서,
    상기 프로그램 관리부는,
    상기 리드된 액세스 정보에 기초하여 상기 편집 대상 프로그램 블록에 액세스 중인 제2 외부 장치가 존재하는지 여부를 판단하고, 상기 판단 결과 따라 상기 제1 외부 장치의 액세스 허용 여부를 결정하고, 상기 액세스 허용 여부 결정 결과에 따라 상기 액세스 관리부에 액세스 허용 응답 또는 액세스 차단 응답을 제공하되,
    상기 제2 외부 장치는 상기 제1 외부 장치와 다른 장치인
    PLC 시스템.
  4. 제3항에 있어서,
    상기 액세스 관리부는,
    상기 제공받은 액세스 허용 응답 또는 액세스 차단 응답에 따라 상기 편집 대상 프로그램 블록에 대한 상기 제1 외부 장치의 액세스를 허용하거나 차단하는
    PLC 시스템.
  5. 제3항에 있어서,
    상기 프로그램 관리부는,
    상기 편집 대상 프로그램 블록에 액세스 중인 상기 제2 외부 장치가 존재하는 경우, 상기 제1 외부 장치의 액세스 차단을 결정하고, 상기 액세스 관리부에 액세스 차단 응답을 제공하는
    PLC 시스템.
  6. 제3항에 있어서,
    상기 프로그램 관리부는,
    편집 대상 프로그램 블록에 액세스 중인 상기 제2 외부 장치가 존재하지 않는 경우, 상기 제1 외부 장치의 액세스 허용을 결정하고, 상기 액세스 관리부에 액세스 허용 응답을 제공하는
    PLC 시스템.
  7. 제1항에 있어서,
    상기 액세스 요청은,
    상기 프로그램 관리부로부터 상기 편집 대상 프로그램 블록을 제공받기 위한 읽기 액세스 요청 및 상기 프로그램 관리부에 상기 편집 대상 프로그램 블록의 수정 버전을 제공하기 위한 쓰기 액세스 요청을 포함하는
    PLC 시스템.
  8. 제7항에 있어서,
    상기 액세스 요청이 쓰기 액세스 요청이고, 상기 제1 외부 장치의 액세스가 허용된 경우,
    상기 액세스 관리부는,
    상기 제1 외부 장치로부터 제공받은 편집 대상 프로그램 블록의 수정 버전을 상기 프로그램 관리부로 제공하고,
    상기 프로그램 관리부는,
    상기 메모리에 저장된 편집 대상 프로그램 블록을 상기 제공받은 편집 대상 프로그램 블록의 수정 버전으로 변경하는
    PLC 시스템.
  9. 제7항에 있어서,
    상기 액세스 요청이 읽기 액세스 요청이고, 상기 제1 외부 장치의 액세스가 허용된 경우,
    상기 프로그램 관리부는,
    상기 액세스 관리부에게 상기 메모리에 저장된 상기 편집 대상 프로그램 블록을 제공하고,
    상기 액세스 관리부는,
    상기 제공받은 편집 대상 프로그램 블록을 상기 제1 외부 장치에게 제공하는
    PLC 시스템.
  10. 삭제
  11. 제1항에 있어서,
    상기 프로그램 관리부는,
    상기 제1 외부 장치의 액세스를 허용하는 경우, 상기 편집 대상 프로그램 블록에 할당된 액세스 정보 영역에 상기 제1 외부 장치에 관한 액세스 정보를 저장하는
    PLC 시스템.
  12. 제11항에 있어서,
    상기 프로그램 관리부는,
    상기 편집 대상 프로그램 블록에 대한 상기 제1 외부 장치의 액세스가 종료되면, 상기 편집 대상 프로그램 블록에 할당된 액세스 정보 영역에 액세스 중인 외부 장치가 존재하지 않음을 나타내는 정보를 저장하는
    PLC 시스템.
KR1020180025745A 2018-03-05 2018-03-05 Plc 시스템 KR102434718B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180025745A KR102434718B1 (ko) 2018-03-05 2018-03-05 Plc 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180025745A KR102434718B1 (ko) 2018-03-05 2018-03-05 Plc 시스템

Publications (2)

Publication Number Publication Date
KR20190105328A KR20190105328A (ko) 2019-09-17
KR102434718B1 true KR102434718B1 (ko) 2022-08-19

Family

ID=68070239

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180025745A KR102434718B1 (ko) 2018-03-05 2018-03-05 Plc 시스템

Country Status (1)

Country Link
KR (1) KR102434718B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0179747B1 (ko) * 1994-03-03 1999-05-15 이희종 프로그래머블 로직 콘트롤러의 핸디로더를 이용한 프로그램 수정방법
JPH11327614A (ja) * 1998-05-18 1999-11-26 Honda Motor Co Ltd プログラマブルコントローラの管理方法

Also Published As

Publication number Publication date
KR20190105328A (ko) 2019-09-17

Similar Documents

Publication Publication Date Title
US10637916B2 (en) Method and device for storage resource allocation for video cloud storage
US20080195833A1 (en) Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit
CN108845877B (zh) 管理内存的方法、装置和系统
EP2310936A1 (en) Storage system and method for managing a plurality of storage devices
CN109412875B (zh) zookeeper集群自动维护方法及装置
JP2022528349A (ja) データ記憶用の装置、方法及び読み取り可能な媒体
US11050661B2 (en) Creating an aggregation group
CN109254839A (zh) 确定任务触发时间的方法、构建任务定时器的方法及系统
TW201601489A (zh) 伺服器、伺服管理系統及伺服管理方法
CN105138481A (zh) 存储数据的处理方法、装置和系统
CN109981569A (zh) 网络系统访问方法、装置、计算机设备及可读存储介质
CN105224541B (zh) 数据的唯一性控制方法、信息存储方法及装置
CN103336670A (zh) 一种基于数据温度对数据块自动进行分布的方法和装置
KR102434718B1 (ko) Plc 시스템
CN111163245A (zh) 网络硬盘录像机中添加网络摄像机的方法及装置
US20160026480A1 (en) Substrate processing system, storage medium and method of registering new device
CN104732161A (zh) 一种信息处理方法及电子设备
CN111858020B (zh) 用户资源限制方法、装置及计算机存储介质
CN105335441B (zh) 基于局域网的分布式文件系统
CN108090087B (zh) 文件处理方法及装置
US10248455B2 (en) Storage device and task execution method thereof, and host corresponding to the storage device and task execution method thereof
CN113806076B (zh) 一种四控环境内存分配的方法、装置、设备及可读介质
CN103078926A (zh) 分布式存储系统的文件访问方法和装置以及系统
JP6327894B2 (ja) 共用データの配信方法、処理装置、コンピュータプログラム
CN108196790B (zh) 数据管理方法、存储设备及计算机可读存储介质

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