KR20160110687A - Hmi 클라이언트와 서버간의 프로젝트 파일 동기화 시스템 - Google Patents

Hmi 클라이언트와 서버간의 프로젝트 파일 동기화 시스템 Download PDF

Info

Publication number
KR20160110687A
KR20160110687A KR1020150033416A KR20150033416A KR20160110687A KR 20160110687 A KR20160110687 A KR 20160110687A KR 1020150033416 A KR1020150033416 A KR 1020150033416A KR 20150033416 A KR20150033416 A KR 20150033416A KR 20160110687 A KR20160110687 A KR 20160110687A
Authority
KR
South Korea
Prior art keywords
file
hmi
project
server
engineering
Prior art date
Application number
KR1020150033416A
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 KR1020150033416A priority Critical patent/KR20160110687A/ko
Publication of KR20160110687A publication Critical patent/KR20160110687A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Abstract

본 발명은 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 시스템에 관한 것으로, HMI 엔지니어링 타임에 특정 프로젝트에 대한 엔지니어링 파일정보를 생성하는 HMI 서버와, 상기 HMI 서버로부터 생성된 특정 프로젝트에 대한 엔지니어링 파일정보를 제공받아 프로젝트 목록별로 엔지니어링 파일정보를 리스트화하여 저장 및 관리하는 파일 동기화 서버와, 상기 파일 동기화 서버로부터 프로젝트 목록별로 리스트화 된 엔지니어링 파일정보를 제공받아 상기 HMI 서버의 특정 프로젝트에 대한 엔지니어링 파일과 동기화하는 적어도 하나의 HMI 클라이언트를 포함함으로써, HMI 시스템에서 HMI 클라이언트와 서버간의 프로젝트 파일을 효율적으로 동기화할 수 있는 효과가 있다.

Description

HMI 클라이언트와 서버간의 프로젝트 파일 동기화 시스템{SYSTEM FOR PROJECT FILE SYNCHRONIZATION BETWEEN HMI CLIENT/SERVER}
본 발명은 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 시스템에 관한 것으로, 보다 상세하게는 별도의 파일 동기화 서버를 이용하여 HMI(Human Machine Interface) 시스템에서 HMI 클라이언트와 서버간의 프로젝트 파일을 효율적으로 동기화할 수 있도록 한 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 시스템에 관한 것이다.
일반적으로, 자동화에 사용되는 HMI(Human Machine Interface) 시스템은 다양한 제어 대상 기기(예컨대, PLC, 인버터 등)와 통신하고, 작업자가 HMI 화면을 통해 제어 대상 기기를 감시하거나 조작할 수 있도록 한다.
상기 HMI 시스템을 구성하는 방법으로는 크게, 소규모의 분야에 주로 사용하는 스탠드 얼론 시스템(Stand Alone System)과, 중/대규모의 분야에 주로 사용하는 클라이언트/서버 시스템이 있다.
상기 스탠드 얼론 시스템과 클라이언트/서버 시스템 모두 HMI 시스템을 운영하기 위해서는 프로젝트(Project)를 생성하고, 태그 데이터베이스 및 화면 작화 등의 프로젝트 엔지니어링 작업을 필수로 하게 되며, 런타임(runtime) 운영 중에 HMI 서버에서 생성되는 보고서(report) 등의 프로젝트 파일을 클라이언트에 동기화하여야 한다.
상기 스탠드 얼론 시스템은 프로젝트 엔지니어링 머신과 이를 운영하는 런타임 머신이 동일하기 때문에 프로젝트 파일에 대한 동기화의 문제점은 발생하지 않는다. 하지만, HMI 클라이언트/서버 시스템에서는 프로젝트를 엔지니어링 하는 작업은 HMI 서버에서 이루어지고, 실제적인 HMI 운영은 원격의 HMI 클라이언트에서 이루어지기 때문에 새로이 추가되거나 수정된 프로젝트 파일을 HMI 클라이언트와 동기화하는 방법과, 프로제트 파일의 동기화시 런타임 운영 및 시스템 부하에 대한 문제점은 항상 존재한다.
도 1은 종래의 HMI 클라이언트/서버 시스템을 설명하기 위한 전체적인 블록 구성도이고, 도 2는 종래의 HMI 클라이언트/서버 시스템에서 프로젝트 파일의 동기화 수행 과정을 설명하기 위한 흐름도이다.
도 1 및 도 2를 참조하면, 하나의 HMI 서버(10)에서 프로젝트에 대한 엔지니어링을 수행하고, 프로젝트 파일(예컨대, 엔지니어링 파일 또는 보고서 파일 등)이 저장되어 있는 폴더를 윈도우의 공유폴더 기능을 이용하여 오픈(open)시킨다.
그리고, 복수의 HMI 클라이언트(20-1 내지 20-N)는 엔지니어링 타임 혹은 런타임 운영 중에 HMI 서버(10)의 공유폴더에 접속하여 대상 폴더를 선택한 후, 운영에 필요한 프로젝트 파일을 복사한다. 프로젝트 파일에 대한 복사를 수행하고, 복사가 성공되면 동기화 루틴이 종료된다.
이러한 종래의 기술은 윈도우 운영체제(OS)하에서 공유폴더의 기능을 이용하여, HMI 서버(10)의 지정된 공유폴더를 각 HMI 클라이언트(20-1 내지 20-N)의 해당 폴더에 복사하는 간단한 방식이다.
즉, 종래의 HMI 클라이언트/서버 시스템에서 프로젝트 파일을 동기화하는 방식은, HMI 서버(10)에서 공유폴더라는 윈도우 운영체제(OS) 기법을 사용해서 프로젝트 파일을 공유하고, 이를 여러 대의 HMI 클라이언트(20-1 내지 20-N)에서 복사하여 가져가는 구조로 되어 있다.
그러나, 종래의 HMI 클라이언트/서버 시스템에서 프로젝트 파일의 동기화 방식은 몇 가지 문제점이 있다. 즉, HMI 런타임을 운영할 때 HMI 서버(10)는 엔지니어링 된 프로젝트 파일의 읽고 쓰기를 반복적으로 수행한다. 이와 동시에 해당 프로젝트 파일이 있는 폴더는 공유되어 다수의 HMI 클라이언트(20-1 내지 20-N)에서 접속 및 복사 작업을 수행하기 때문에, 파일의 공유 충돌이 발생함과 아울러 네트워크 성능에 상당한 무리를 동반한다.
또한, HMI 클라이언트(20-1 내지 20-N)는 프로젝트 파일을 폴더 단위로 전체 복사하기 때문에, HMI 서버(10)에서 바뀌지 않은 프로젝트 파일이 재복사 수행되어, 프로젝트 파일의 동기화 시간이 증가하며 네트워크 리소스 낭비 및 디스크 IO가 증가하는 문제점이 있다.
본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 별도의 파일 동기화 서버를 이용하여 HMI(Human Machine Interface) 시스템에서 HMI 클라이언트와 서버간의 프로젝트 파일을 효율적으로 동기화할 수 있도록 한 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 시스템을 제공하는데 있다.
전술한 목적을 달성하기 위하여 본 발명의 제1 측면은, HMI 엔지니어링 타임에 특정 프로젝트에 대한 엔지니어링 파일정보를 생성하는 HMI 서버; 상기 HMI 서버로부터 생성된 특정 프로젝트에 대한 엔지니어링 파일정보를 제공받아 프로젝트 목록별로 엔지니어링 파일정보를 리스트화하여 저장 및 관리하는 파일 동기화 서버; 및 상기 파일 동기화 서버로부터 프로젝트 목록별로 리스트화 된 엔지니어링 파일정보를 제공받아 상기 HMI 서버의 특정 프로젝트에 대한 엔지니어링 파일과 동기화하는 적어도 하나의 HMI 클라이언트를 포함하는 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 시스템을 제공하는 것이다.
여기서, 상기 HMI 서버는, HMI 런타임 운영 중에 생성되는 특정 프로젝트에 대한 런타임 운영파일정보를 상기 파일 동기화 서버로 제공함이 바람직하다.
바람직하게, 상기 파일 동기화 서버는, 상기 HMI 서버로부터 HMI 런타임 운영 중에 생성되는 특정 프로젝트에 대한 런타임 운영파일정보를 제공받아 상기 HMI 서버에서 새로 추가되거나 수정된 특정 프로젝트의 엔지니어링 파일정보가 존재할 경우, 기저장된 특정 프로젝트의 엔지니어링 파일정보와 함께 해당 특정 프로젝트의 최종 수정시간을 갱신할 수 있다.
바람직하게, 상기 특정 프로젝트에 대한 런타임 운영파일정보는, HMI 런타임 운영 중에 상기 HMI 서버에서 새로 추가되거나 수정되는 특정 프로젝트의 엔지니어링 파일정보 및 보고서 파일정보 중 적어도 하나의 파일정보로 이루어질 수 있다.
바람직하게, 상기 파일 동기화 서버는, 상기 HMI 서버로부터 생성된 특정 프로젝트에 대한 엔지니어링 파일정보를 제공받아 기저장된 프로젝트 리스트에 대한 갱신을 수행함과 아울러 프로젝트 목록별로 엔지니어링 파일 및 최종 수정시간을 리스트화하여 저장 및 관리할 수 있다.
바람직하게, 각 HMI 클라이언트는, 상기 파일 동기화 서버로부터 현재 프로젝트 목록별로 리스트화 된 엔지니어링 파일정보를 제공받은 후, HMI 런타임 운영 중에 특정 프로젝트에 대한 런타임 운영파일정보가 변경되었는지 주기적으로 체크하여 변경된 런타임 운영파일정보가 존재할 경우 이를 제공받아 갱신할 수 있다.
바람직하게, 각 HMI 클라이언트는, 현재 저장된 자신의 특정 프로젝트의 정보를 확인한 후, 상기 파일 동기화 서버에 저장된 특정 프로젝트의 최종 수정시간을 비교하여 상기 파일 동기화 서버에 저장된 특정 프로젝트가 최신일 경우, 각 HMI 클라이언트에 저장된 특정 프로젝트에 대한 엔지니어링 파일정보를 확인하고, 상기 파일 동기화 서버에 저장된 특정 프로젝트에 대한 엔지니어링 파일의 최종 수정시간을 비교하여 상기 파일 동기화 서버에 저장된 특정 프로젝트에 대한 엔지니어링 파일이 최신일 경우, 해당 엔지니어링 파일 및 최종 수정시간을 제공받아 이를 갱신함과 아울러 해당 특정 프로젝트의 최종 수정시간을 갱신할 수 있다.
본 발명의 제2 측면은, 파일 동기화 서버를 이용하여 HMI 클라이언트와 서버간의 프로젝트 파일을 동기화하는 방법으로서, (a) 상기 HMI 서버를 통해 HMI 엔지니어링 타임에 특정 프로젝트에 대한 엔지니어링 파일정보를 생성하는 단계; (b) 상기 파일 동기화 서버를 통해 상기 단계(a)에서 생성된 특정 프로젝트에 대한 엔지니어링 파일정보를 제공받아 프로젝트 목록별로 엔지니어링 파일정보를 리스트화하여 저장 및 관리하는 단계; 및 (c) 상기 HMI 클라이언트를 통해 상기 단계(b)에서 프로젝트 목록별로 리스트화 된 엔지니어링 파일정보를 제공받아 상기 HMI 서버의 특정 프로젝트에 대한 엔지니어링 파일과 동기화하는 단계를 포함하는 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 방법을 제공하는 것이다.
여기서, 상기 단계(a) 이후에, 상기 HMI 서버를 통해 HMI 런타임 운영 중에 생성되는 특정 프로젝트에 대한 런타임 운영파일정보를 상기 파일 동기화 서버로 제공하는 단계를 더 포함함이 바람직하다.
바람직하게, 상기 단계(b)는, (b-1) 상기 파일 동기화 서버를 통해 상기 단계(a)에서 생성된 특정 프로젝트의 정보를 확인하여 기저장된 프로젝트 리스트에 존재하는지 판단하는 단계; (b-2) 상기 단계(b-1)의 판단 결과, 상기 단계(a)에서 생성된 특정 프로젝트가 기저장된 프로젝트 리스트에 존재하지 않을 경우, 특정 프로젝트의 정보와 함께 해당 엔지니어링 파일정보를 기저장된 프로젝트 리스트에 추가하는 단계; (b-3) 상기 단계(b-1)의 판단 결과, 상기 단계(a)에서 생성된 특정 프로젝트가 기저장된 프로젝트 리스트에 존재할 경우, 상기 단계(a)에서 생성된 특정 프로젝트의 엔지니어링 파일정보가 기저장된 프로젝트에 존재하는지 판단하는 단계; (b-4) 상기 단계(b-3)의 판단 결과, 상기 단계(a)에서 생성된 특정 프로젝트의 엔지니어링 파일정보가 기저장된 프로젝트에 존재하지 않을 경우, 해당 엔지니어링 파일정보를 기저장된 프로젝트에 추가하는 단계; (b-5) 상기 단계(b-3)의 판단 결과, 상기 단계(a)에서 생성된 특정 프로젝트의 엔지니어링 파일정보가 기저장된 프로젝트에 존재할 경우, 상기 단계(a)에서 생성된 특정 프로젝트에 대한 엔지니어링 파일의 최종 수정시간과 기저장된 프로젝트에 대한 엔지니어링 파일의 최종 수정시간을 비교 판단하는 단계; 및 (b-6) 상기 단계(b-5)의 비교 판단 결과, 상기 단계(a)에서 생성된 특정 프로젝트에 대한 엔지니어링 파일이 최신일 경우, 해당 엔지니어링 파일정보와 함께 해당 특정 프로젝트의 최종 수정시간을 갱신하는 단계를 포함할 수 있다.
바람직하게, 상기 단계(c)는, (c-1) 상기 HMI 클라이언트를 통해 현재 저장된 자신의 특정 프로젝트의 정보를 확인하는 단계; (c-2) 상기 단계(c-1)에서 확인된 특정 프로젝트의 최종 수정시간과 상기 파일 동기화 서버에 저장된 특정 프로젝트의 최종 수정시간을 비교 판단하는 단계; (c-3) 상기 단계(c-2)의 비교 판단 결과, 상기 파일 동기화 서버에 저장된 특정 프로젝트가 최신일 경우, 상기 단계(c-1)에서 확인된 특정 프로젝트에 대한 엔지니어링 파일정보를 확인하는 단계; (c-4) 상기 단계(c-3)에서 확인된 특정 프로젝트에 대한 엔지니어링 파일의 최종 수정시간과 상기 파일 동기화 서버에 저장된 특정 프로젝트에 대한 엔지니어링 파일의 최종 수정시간을 비교 판단하는 단계; 및 (c-5) 상기 단계(c-4)의 비교 판단 결과, 상기 파일 동기화 서버에 저장된 특정 프로젝트에 대한 엔지니어링 파일이 최신일 경우, 해당 엔지니어링 파일정보와 함께 해당 특정 프로젝트의 최종 수정시간을 갱신하는 단계를 포함할 수 있다.
바람직하게, 상기 단계(c) 이후에, 상기 HMI 클라이언트를 통해 상기 단계(b)에서 현재 프로젝트 목록별로 리스트화 된 엔지니어링 파일정보를 제공받은 후, HMI 런타임 운영 중에 특정 프로젝트에 대한 런타임 운영파일정보가 변경되었는지 주기적으로 체크하여 변경된 런타임 운영파일정보가 존재할 경우 이를 제공받아 갱신하는 단계를 더 포함할 수 있다.
이상에서 설명한 바와 같은 본 발명의 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 시스템에 따르면, HMI 서버와 파일 동기화 서버를 분리함으로서 엔지니어링 된 파일을 HMI 서버/클라이언트간에 효율적으로 복제할 수 있으며, HMI 시스템의 운영 중에도 프로젝트 파일 복사가 전체 시스템에 주는 영향을 최소화하여 효율적인 시스템을 운영할 수 있는 이점이 있다.
또한, 본 발명에 따르면, HMI 서버에 영향을 미치지 않고 프로젝트 파일의 동기화를 효율적으로 구현할 수 있으며, 각 프로젝트 및 이와 관련된 파일의 시간정보를 체계화하여 불필요한 복사 작업을 방지하고 버전관리를 효율적으로 수행할 수 있을 뿐만 아니라 파일 동기화 서버를 HMI 프로젝트에 대한 백업 서버로서 활용할 수 있는 이점이 있다.
또한, 본 발명에 따르면, 공장 자동화, 빌딩 제어 시스템, 수처리, 전력감시 등 HMI 시스템이 사용되는 분야에 사용될 수 있으며, HMI 고유 기능인 감시 및 제어 기능을 구현하는데 안정적으로 운영할 수 있는 이점이 있다.
도 1은 종래의 HMI 클라이언트/서버 시스템을 설명하기 위한 전체적인 블록 구성도이다.
도 2는 종래의 HMI 클라이언트/서버 시스템에서 프로젝트 파일의 동기화 수행 과정을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 시스템을 설명하기 위한 전체적인 블록 구성도이다.
도 4는 본 발명의 일 실시예에 적용된 HMI 서버와 파일 동기화 서버의 데이터 전달 과정을 설명하기 위한 개념도이다.
도 5는 본 발명의 일 실시예에 적용된 파일 동기화 서버와 HMI 클라이언트의 데이터 전달 과정을 설명하기 위한 개념도이다.
도 6은 본 발명의 일 실시예에 적용된 파일 동기화 서버의 프로젝트 목록 관리를 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 적용된 파일 동기화 서버의 프로젝트 파일 관리를 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 방법을 설명하기 위한 전체적인 흐름도이다.
도 9는 본 발명의 일 실시예에 적용된 파일 동기화 서버를 통해 프로젝트 파일을 업로드하는 과정을 구체적으로 설명하기 위한 흐름도이다.
도 10은 본 발명의 일 실시예에 적용된 HMI 클라이언트를 통해 프로젝트 파일을 동기화하는 과정을 구체적으로 설명하기 위한 흐름도이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다. 본 발명의 실시예는 당업계에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되어지는 것이다. 또한, 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
도 3은 본 발명의 일 실시예에 따른 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 시스템을 설명하기 위한 전체적인 블록 구성도이고, 도 4는 본 발명의 일 실시예에 적용된 HMI 서버와 파일 동기화 서버의 데이터 전달 과정을 설명하기 위한 개념도이며, 도 5는 본 발명의 일 실시예에 적용된 파일 동기화 서버와 HMI 클라이언트의 데이터 전달 과정을 설명하기 위한 개념도이며, 도 6은 본 발명의 일 실시예에 적용된 파일 동기화 서버의 프로젝트 목록 관리를 설명하기 위한 도면이며, 도 7은 본 발명의 일 실시예에 적용된 파일 동기화 서버의 프로젝트 파일 관리를 설명하기 위한 도면이다.
도 3 내지 도 7을 참조하면, 본 발명의 일 실시예에 따른 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 시스템은, 크게 HMI 서버(100), 파일 동기화 서버(200) 및 적어도 하나의 HMI 클라이언트(300-1 내지 300-N) 등을 포함하여 이루어진다.
여기서, HMI 서버(100)는 HMI 엔지니어링 타임(engineering time)에 특정 프로젝트에 대한 엔지니어링 파일정보(예컨대, 태그 데이터베이스, 화면 작화, 사운드, 비디오 파일 등의 경로, 파일이름 및 최종 수정시간 정보를 포함)를 생성하여 이를 파일 동기화 서버(200)에 업로드(upload)하는 기능을 수행한다.
또한, HMI 서버(100)는 HMI 런타임(runtime) 운영 중에 생성되는 특정 프로젝트에 대한 런타임 운영파일정보를 파일 동기화 서버(200)로 업로드하는 기능을 수행할 수 있다.
이때, 상기 특정 프로젝트에 대한 런타임 운영파일정보는 예컨대, HMI 런타임 운영 중에 HMI 서버(100)에서 새로 추가되거나 수정되는 특정 프로젝트의 엔지니어링 파일정보 및 보고서(report) 파일정보(예컨대, 보고서 파일의 경로, 파일이름 및 최종 수정시간 정보 등을 포함) 중 적어도 하나의 파일정보로 이루어짐이 바람직하다.
파일 동기화 서버(200)는 HMI 서버(100)로부터 생성된 특정 프로젝트에 대한 엔지니어링 파일정보를 제공받아 프로젝트 목록별로 엔지니어링 파일정보를 리스트화하여 저장 및 관리하며, 이를 각 HMI 클라이언트(300-1 내지 300-N)에 다운로드(download) 서비스하는 기능을 수행한다.
즉, 파일 동기화 서버(200)는 도 6에 도시된 바와 같이, HMI 서버(100)로부터 업로드 된 특정 프로젝트의 번호, 이름 및 최종 수정시간 등을 리스트(list)화하여 저장 및 관리할 수 있으며, 도 7에 도시된 바와 같이, 프로젝트 목록별로 엔지니어링 파일의 경로(Path), 이름 및 최종 수정시간 등을 리스트화하여 저장 및 관리할 수 있다.
상기와 같이 파일 동기화 서버(200)에서 프로젝트 및 프로젝트에 속한 모든 파일은 목록뿐만 아니라 최종적으로 수정된 시간을 별도로 저장 및 관리함으로써, 파일 동기화 요청시 업데이트 되어야 할 항목을 선별하여 서비스할 수 있다.
또한, 파일 동기화 서버(200)는 HMI 서버(100)로부터 HMI 런타임 운영 중에 생성된 특정 프로젝트에 대한 런타임 운영파일정보를 제공받아 HMI 서버(100)에서 새로 추가되거나 수정된 특정 프로젝트의 엔지니어링 파일정보가 존재할 경우, 프로젝트 리스트에 기저장된 특정 프로젝트의 엔지니어링 파일정보와 함께 해당 특정 프로젝트의 최종 수정시간을 추가 또는 갱신할 수 있다.
또한, 파일 동기화 서버(200)는 HMI 서버(100)로부터 HMI 런타임 운영 중에 생성된 특정 프로젝트에 대한 런타임 운영파일정보를 제공받아 특정 프로젝트에 대한 보고서 파일이 존재할 경우, 해당 특정 프로젝트에 대한 보고서 파일의 경로(Path), 이름 및 최종 수정시간 등을 추가 또는 갱신할 수도 있다.
도 4에 도시된 바와 같이, HMI 서버(100)와 파일 동기화 서버(200)의 데이터 전달 과정을 구체적으로 살펴보면, 먼저 HMI 서버(100)에서 프로젝트에 대한 엔지니어링을 수행한 후, 파일 동기화 서버(200)로 해당 프로젝트에 대한 업로드를 요청한다.
그런 다음, 파일 동기화 서버(200)는 프로젝트 리스트에 대한 갱신을 수행하고, 각 프로젝트별 파일 목록 및 최종 수정시간 등을 저장하여 관리를 한다. 또한, HMI 서버(100)에서 HMI 런타임 운영 중에 생성되는 파일도 동일한 방식으로 파일 동기화 서버(200)에 업로드를 요청한다. 파일 동기화 서버(200)는 프로젝트의 개별 파일들에 대한 목록과 시간정보를 별도로 저장한다.
그리고, 각 HMI 클라이언트(300-1 내지 300-N)는 파일 동기화 서버(200)로부터 프로젝트 목록별로 리스트화 된 엔지니어링 파일정보를 제공받아 HMI 서버(100)의 특정 프로젝트에 대한 엔지니어링 파일과 동기화하는 기능을 수행한다.
즉, 각 HMI 클라이언트(300-1 내지 300-N)는 현재 저장된 자신의 특정 프로젝트의 정보(예컨대, 프로젝트 이름 및 최종 수정시간 등)를 확인한 후, 파일 동기화서버(200)에 저장된 특정 프로젝트의 최종 수정시간을 비교하여, 파일 동기화 서버(200)에 저장된 특정 프로젝트가 최신일 경우, 각 HMI 클라이언트(300-1 내지 300-N)에 저장된 특정 프로젝트에 대한 엔지니어링 파일정보를 확인한다.
그런 다음, 각 HMI 클라이언트(300-1 내지 300-N)는 파일 동기화 서버(200)에 저장된 특정 프로젝트에 대한 엔지니어링 파일의 최종 수정시간을 비교하여, 파일 동기화 서버(200)에 저장된 특정 프로젝트에 대한 엔지니어링 파일이 최신일 경우, 해당 엔지니어링 파일 및 최종 수정시간을 제공받아 이를 갱신함과 아울러 해당 특정 프로젝트의 최종 수정시간을 갱신한다.
또한, 각 HMI 클라이언트(300-1 내지 300-N)는 HMI 런타임 운영 중에 HMI 서버(100)에 접속을 하여 실시간 및 이력 데이터를 받아 런타임을 운영하며, 파일 동기화 서버(200)로부터 현재 프로젝트 목록별로 리스트화 된 엔지니어링 파일정보를 제공받은 후, HMI 런타임 운영 중에 특정 프로젝트에 대한 런타임 운영파일정보가 변경되었는지 주기적으로 체크하여 변경된 런타임 운영파일정보가 존재할 경우 이를 제공받아 갱신할 수 있다.
도 5에 도시된 바와 같이, 파일 동기화 서버(200)와 각 HMI 클라이언트(300-1 내지 300-N)의 데이터 전달 과정을 구체적으로 살펴보면, 각 HMI 클라이언트(300-1 내지 300-N)는 초기에 프로젝트에 대한 엔지니어링 파일을 요청하여 다운로드받은 후, HMI 런타임 운영 중에 주기적으로 변경된 파일이 있는지 체크하고 최신 파일이 있는 경우에는 다운로드받아 파일을 갱신한다.
한편, 본 발명의 일 실시예에서는 파일 동기화 서버(200)를 HMI 서버(100)와 HMI 클라이언트(300-1 내지 300-N)와 분리하여 독립적으로 구현하였지만, 이에 국한하지 않으며, 파일 동기화 서버(200)의 모든 기능을 기존의 HMI 서버(100) 및/또는 HMI 클라이언트(300-1 내지 300-N)에 탑재되어 수행할 수도 있다.
전술한 바와 같이 구성된 본 발명의 일 실시예에 따른 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 시스템은 예컨대, 공장 자동화, 빌딩 제어 시스템, 수처리, 전력감시 등 HMI 시스템이나 SCADA 시스템이 사용되는 분야에 사용될 수 있다.
이하에는 본 발명의 일 실시예에 따른 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 방법을 구체적으로 설명하기로 한다.
도 8은 본 발명의 일 실시예에 따른 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 방법을 설명하기 위한 전체적인 흐름도이고, 도 9는 본 발명의 일 실시예에 적용된 파일 동기화 서버를 통해 프로젝트 파일을 업로드하는 과정을 구체적으로 설명하기 위한 흐름도이며, 도 10은 본 발명의 일 실시예에 적용된 HMI 클라이언트를 통해 프로젝트 파일을 동기화하는 과정을 구체적으로 설명하기 위한 흐름도이다.
도 1 내지 도 10을 참조하면, 본 발명의 일 실시예에 따른 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 방법은, 먼저 HMI 서버(100)를 통해 HMI 엔지니어링 타임에 특정 프로젝트에 대한 엔지니어링 파일정보를 생성한다(S100).
이후에, 파일 동기화 서버(200)를 통해 상기 단계S100에서 생성된 특정 프로젝트에 대한 엔지니어링 파일정보를 제공받아 프로젝트 목록별로 엔지니어링 파일정보를 리스트화하여 저장 및 관리한다(S200).
도 9를 참조하여 상기 단계S200을 보다 구체적으로 설명하면, 먼저 HMI 서버(100)는 상기 단계S100에서 생성된 특정 프로젝트를 파일 동기화 서버(200)로 업로드 요청한다(S201). 이후에, 파일 동기화 서버(200)를 통해 상기 단계S201에서 업로드 요청된 특정 프로젝트의 목록을 읽은 후(S202), 요청 받은 특정 프로젝트가 현재 저장된 프로젝트 리스트에 존재하는지 판단한다(S203).
상기 단계S203의 판단 결과, 상기 단계S201에서 생성된 특정 프로젝트가 현재 저장된 프로젝트 리스트에 존재하지 않은 신규 프로젝트일 경우, 특정 프로젝트의 정보를 프로젝트 리스트에 추가하고(S204), 특정 프로젝트에 속한 엔지니어링 파일정보를 복사한 후 특정 프로젝트의 파일 목록에 추가한다(S205). 작업이 완료된 후 해당 특정 프로젝트의 최종 수정시간을 갱신한다(S206).
한편, 상기 단계S203의 판단 결과, 상기 단계S201에서 생성된 특정 프로젝트가 현재 저장된 프로젝트 리스트에 이미 존재할 경우, 상기 단계S201에서 생성된 특정 프로젝트에 속한 엔지니어링 파일정보가 현재 저장된 프로젝트에 존재하는지 판단한다(S207).
상기 단계S207의 판단 결과, 상기 단계S201에서 생성된 특정 프로젝트에 속한 엔지니어링 파일정보가 현재 저장된 프로젝트에 존재하지 않을 경우, 상기 단계S205 및 단계S206으로 진행하여, 해당 특정 프로젝트에 속한 엔지니어링 파일정보를 특정 프로젝트의 파일 목록에 추가한 후, 해당 특정 프로젝트의 최종 수정시간을 갱신한다.
한편, 상기 단계S207의 판단 결과, 상기 단계S201에서 생성된 특정 프로젝트에 속한 엔지니어링 파일정보가 현재 저장된 프로젝트에 존재할 경우, 상기 단계S201에서 생성된 특정 프로젝트에 속한 엔지니어링 파일의 최종 수정시간과 현재 저장된 프로젝트에 속한 엔지니어링 파일의 최종 수정시간을 비교 판단한다(S208).
상기 단계S208의 비교 판단 결과, 상기 단계S201에서 생성된 특정 프로젝트에 속한 엔지니어링 파일이 최신일 경우, 해당 특정 프로젝트에 속한 엔지니어링 파일정보를 복사하여 특정 프로젝트의 파일 목록을 갱신하고(S209), 해당 특정 프로젝트의 최종 수정시간을 갱신한다(S210).
그런 다음, 각 HMI 클라이언트(300-1 내지 300-N)를 통해 상기 단계S200에서 프로젝트 목록별로 리스트화 된 엔지니어링 파일정보를 제공받아 HMI 서버(100)의 특정 프로젝트에 대한 엔지니어링 파일과 동기화한다(S300).
도 10을 참조하여 상기 단계S300을 보다 구체적으로 설명하면, 각 HMI 클라이언트(300-1 내지 300-N)를 통해 현재 저장된 자신의 특정 프로젝트의 정보를 확인한 후(S301), 상기 단계S301에서 확인된 특정 프로젝트의 최종 수정시간과 파일 동기화 서버(200)에 저장된 특정 프로젝트의 최종 수정시간을 비교 판단한다(S302).
상기 단계S302의 비교 판단 결과, 파일 동기화 서버(200)에 저장된 특정 프로젝트가 최신일 경우, 상기 단계S301에서 확인된 특정 프로젝트에 속한 엔지니어링 파일정보를 확인한다(S303).
이후에, 상기 단계S303에서 확인된 특정 프로젝트에 속한 엔지니어링 파일의 최종 수정시간과 파일 동기화 서버(200)에 저장된 특정 프로젝트에 속한 엔지니어링 파일의 최종 수정시간을 비교 판단한다(S304).
상기 단계S304의 비교 판단 결과, 파일 동기화 서버(200)에 저장된 특정 프로젝트에 속한 엔지니어링 파일이 최신일 경우, 해당 특정 프로젝트에 속한 엔지니어링 파일정보를 다운로드받아 이를 갱신하고, 해당 특정 프로젝트의 최종 수정시간을 갱신한다(S305).
추가적으로, 상기 단계S100 이후에, HMI 서버(100)를 통해 HMI 런타임 운영 중에 생성되는 특정 프로젝트에 대한 런타임 운영파일정보를 파일 동기화 서버(200)로 제공하는 단계를 더 포함할 수 있다.
더욱이, 상기 단계S300 이후에, 각 HMI 클라이언트(300-1 내지 300-N)를 통해 상기 단계S200에서 현재 프로젝트 목록별로 리스트화 된 엔지니어링 파일정보를 제공받은 후, HMI 런타임 운영 중에 특정 프로젝트에 대한 런타임 운영파일정보가 변경되었는지 주기적으로 체크하여 변경된 런타임 운영파일정보가 존재할 경우 이를 제공받아 갱신하는 단계를 더 포함할 수도 있다.
전술한 본 발명에 따른 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 시스템에 대한 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 본 발명에 속한다.
100 : HMI 서버,
200 : 파일 동기화 서버,
300-1 내지 300-N : HMI 클라이언트

Claims (7)

  1. HMI 엔지니어링 타임에 특정 프로젝트에 대한 엔지니어링 파일정보를 생성하는 HMI 서버;
    상기 HMI 서버로부터 생성된 특정 프로젝트에 대한 엔지니어링 파일정보를 제공받아 프로젝트 목록별로 엔지니어링 파일정보를 리스트화하여 저장 및 관리하는 파일 동기화 서버; 및
    상기 파일 동기화 서버로부터 프로젝트 목록별로 리스트화 된 엔지니어링 파일정보를 제공받아 상기 HMI 서버의 특정 프로젝트에 대한 엔지니어링 파일과 동기화하는 적어도 하나의 HMI 클라이언트를 포함하는 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 시스템.
  2. 제1 항에 있어서,
    상기 HMI 서버는, HMI 런타임 운영 중에 생성되는 특정 프로젝트에 대한 런타임 운영파일정보를 상기 파일 동기화 서버로 제공하는 것을 특징으로 하는 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 시스템.
  3. 제1 항 또는 제2 항에 있어서,
    상기 파일 동기화 서버는, 상기 HMI 서버로부터 HMI 런타임 운영 중에 생성되는 특정 프로젝트에 대한 런타임 운영파일정보를 제공받아 상기 HMI 서버에서 새로 추가되거나 수정된 특정 프로젝트의 엔지니어링 파일정보가 존재할 경우,
    기저장된 특정 프로젝트의 엔지니어링 파일정보와 함께 해당 특정 프로젝트의 최종 수정시간을 갱신하는 것을 특징으로 하는 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 시스템.
  4. 제2 항에 있어서,
    상기 특정 프로젝트에 대한 런타임 운영파일정보는, HMI 런타임 운영 중에 상기 HMI 서버에서 새로 추가되거나 수정되는 특정 프로젝트의 엔지니어링 파일정보 및 보고서 파일정보 중 적어도 하나의 파일정보로 이루어진 것을 특징으로 하는 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 시스템.
  5. 제1 항에 있어서,
    상기 파일 동기화 서버는, 상기 HMI 서버로부터 생성된 특정 프로젝트에 대한 엔지니어링 파일정보를 제공받아 기저장된 프로젝트 리스트에 대한 갱신을 수행함과 아울러 프로젝트 목록별로 엔지니어링 파일 및 최종 수정시간을 리스트화하여 저장 및 관리하는 것을 특징으로 하는 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 시스템.
  6. 제1 항에 있어서,
    각 HMI 클라이언트는, 상기 파일 동기화 서버로부터 현재 프로젝트 목록별로 리스트화 된 엔지니어링 파일정보를 제공받은 후, HMI 런타임 운영 중에 특정 프로젝트에 대한 런타임 운영파일정보가 변경되었는지 주기적으로 체크하여 변경된 런타임 운영파일정보가 존재할 경우 이를 제공받아 갱신하는 것을 특징으로 하는 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 시스템.
  7. 제1 항에 있어서,
    각 HMI 클라이언트는, 현재 저장된 자신의 특정 프로젝트의 정보를 확인한 후, 상기 파일 동기화 서버에 저장된 특정 프로젝트의 최종 수정시간을 비교하여 상기 파일 동기화 서버에 저장된 특정 프로젝트가 최신일 경우, 각 HMI 클라이언트에 저장된 특정 프로젝트에 대한 엔지니어링 파일정보를 확인하고,
    상기 파일 동기화 서버에 저장된 특정 프로젝트에 대한 엔지니어링 파일의 최종 수정시간을 비교하여 상기 파일 동기화 서버에 저장된 특정 프로젝트에 대한 엔지니어링 파일이 최신일 경우, 해당 엔지니어링 파일 및 최종 수정시간을 제공받아 이를 갱신함과 아울러 해당 특정 프로젝트의 최종 수정시간을 갱신하는 것을 특징으로 하는 HMI 클라이언트와 서버간의 프로젝트 파일 동기화 시스템.
KR1020150033416A 2015-03-10 2015-03-10 Hmi 클라이언트와 서버간의 프로젝트 파일 동기화 시스템 KR20160110687A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150033416A KR20160110687A (ko) 2015-03-10 2015-03-10 Hmi 클라이언트와 서버간의 프로젝트 파일 동기화 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150033416A KR20160110687A (ko) 2015-03-10 2015-03-10 Hmi 클라이언트와 서버간의 프로젝트 파일 동기화 시스템

Publications (1)

Publication Number Publication Date
KR20160110687A true KR20160110687A (ko) 2016-09-22

Family

ID=57102729

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150033416A KR20160110687A (ko) 2015-03-10 2015-03-10 Hmi 클라이언트와 서버간의 프로젝트 파일 동기화 시스템

Country Status (1)

Country Link
KR (1) KR20160110687A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102356571B1 (ko) * 2021-08-02 2022-02-09 주식회사 핑고엔터테인먼트 다자간의 파일 동기화 방법 및 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102356571B1 (ko) * 2021-08-02 2022-02-09 주식회사 핑고엔터테인먼트 다자간의 파일 동기화 방법 및 시스템

Similar Documents

Publication Publication Date Title
US20200356448A1 (en) Manifest-based snapshots in distributed computing environments
CN112000741B (zh) 内外网数据交换系统、方法、装置、计算机设备和介质
CN108429755B (zh) 网络安全基础信息动态管理平台及方法
CN110162334B (zh) 一种代码管理方法、装置及存储介质
US20100107156A1 (en) Local collector
US20120324436A1 (en) Method of updating versioned software using a shared cache
US20060129616A1 (en) System and method for synchronizing computer files between a local computer and a remote server
CN107688611B (zh) 一种基于saltstack的Redis键值管理系统及方法
CN110046062B (zh) 分布式数据处理方法及系统
CN109710586B (zh) 一种集群节点配置文件同步方法及装置
CN104899116A (zh) 数据备份的方法、源服务器、目标服务器及系统
JP2011519441A (ja) 切断データ/オフラインデータの処理/入力の同期化
JP5106062B2 (ja) ファイル検索方法、ファイル検索装置、検索システム、及び、ファイル検索プログラム
KR20160110687A (ko) Hmi 클라이언트와 서버간의 프로젝트 파일 동기화 시스템
JP2009217395A (ja) 仮想サーバソフトウェア更新システム、仮想サーバソフトウェア更新方法、サーバ、及びサーバ用プログラム
JP6643114B2 (ja) 画像処理装置、その制御方法、及びプログラム
CN111147226A (zh) 数据存储方法、装置及存储介质
WO2006043322A1 (ja) サーバ管理プログラム、サーバ管理方法、およびサーバ管理装置
CN115189931A (zh) 一种分布式密钥管理方法、装置、设备、存储介质
CN113553488A (zh) 搜索引擎中索引数据的更新方法、装置、电子设备及介质
KR102131669B1 (ko) 데이터 연계 시스템
KR20120011574A (ko) 분산 파일 관리 장치 및 방법
CN107291790B (zh) 管理双工ems服务器之间的db的方法
JP6467298B2 (ja) サーバ運用作業履歴管理装置、システム、方法、およびプログラム
CN114466026B (zh) 应用程序接口的更新方法、装置、存储介质和计算设备