[go: up one dir, main page]

KR100715915B1 - Synchronization method of data memory using shared memory between PI device and HM device - Google Patents

Synchronization method of data memory using shared memory between PI device and HM device Download PDF

Info

Publication number
KR100715915B1
KR100715915B1 KR1020050060850A KR20050060850A KR100715915B1 KR 100715915 B1 KR100715915 B1 KR 100715915B1 KR 1020050060850 A KR1020050060850 A KR 1020050060850A KR 20050060850 A KR20050060850 A KR 20050060850A KR 100715915 B1 KR100715915 B1 KR 100715915B1
Authority
KR
South Korea
Prior art keywords
data
shared memory
plc
memory
hmi
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020050060850A
Other languages
Korean (ko)
Other versions
KR20070005825A (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 KR1020050060850A priority Critical patent/KR100715915B1/en
Publication of KR20070005825A publication Critical patent/KR20070005825A/en
Application granted granted Critical
Publication of KR100715915B1 publication Critical patent/KR100715915B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • 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/15Plc structure of the system
    • G05B2219/15118Shared memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Programmable Controllers (AREA)

Abstract

본 발명은 PLC기기의 데이터 저장 영역의 데이터를 공유 메모리를 통해 HMI장비와 동기화시켜 데이터 처리속도 및 효율을 향상시킬 수 있도록 하는 PLC기기와 HMI장비간의 공유메모리를 이용한 데이터 메모리 동기화 방법을 제공하는데 그 목적이 있다.The present invention provides a data memory synchronization method using a shared memory between a PLC device and the HMI device to improve the data processing speed and efficiency by synchronizing the data in the data storage area of the PLC device with the HMI device through a shared memory. There is a purpose.

본 발명에 따른 PLC기기와 HMI장비간의 공유메모리를 이용한 데이터 메모리 동기화 방법은 상기 PLC기기의 종류에 따라 공유메모리를 생성하고, 상기 PLC기기와 상기 HMI장비간의 통신을 연결하는 단계; 상기 HMI장비의 객체가 지정하는 PLC기기의 주소에서 데이터를 읽은 후 공유 메모리에 저장하는 단계; 및 사용자 인터페이스 모듈을 통해 객체 접근 요청이 있을 경우, 공유 메모리의 포인터를 이용하여 데이터를 읽은 주소에 대응하는 해당 데이터를 표시하는 단계;를 포함하는 것을 특징으로 한다.A data memory synchronization method using a shared memory between a PLC device and an HMI device according to the present invention includes: generating a shared memory according to a type of the PLC device and connecting communication between the PLC device and the HMI device; Reading data from an address of a PLC device designated by an object of the HMI device and storing the data in a shared memory; And when there is an object access request through the user interface module, displaying corresponding data corresponding to the address where the data is read using a pointer of the shared memory.

PLC기기, HMI장비, 공유메모리, 데이터동기화 PLC device, HMI device, shared memory, data synchronization

Description

피엘시 기기와 에이치엠아이 장비간의 공유메모리를 이용한 데이터 메모리 동기화 방법{Method for synchronizing data-memory using shared memory in PLC and HMI}Method for synchronizing data-memory using shared memory in PLC and HMI}

도 1은 본 발명에 따른 PLC기기와 HMI장비의 구조를 보인 블록도,1 is a block diagram showing the structure of a PLC device and HMI equipment according to the present invention,

도 2는 본 발명에 따른 PLC기기의 메모리와 동기화된 HMI장비간 공유메모리를 보인 도면,2 is a view illustrating a shared memory between HMI devices synchronized with a memory of a PLC device according to the present invention;

도 3은 본 발명에 따른 공유메모리를 이용한 PLC와 HMI장치간의 데이터 메모리 동기화 방법을 설명하기 위한 순서도,3 is a flowchart illustrating a data memory synchronization method between a PLC and an HMI device using a shared memory according to the present invention;

도 4는 본 발명에 따른 통신 연결단계를 설명하기 위한 순서도,4 is a flowchart illustrating a communication connection step according to the present invention;

도 5는 본 발명에 따른 메모리를 저장 및 표시하는 단계를 설명하기 위한 순서도.5 is a flow chart for explaining the step of storing and displaying the memory according to the present invention.

*도면의 주요부분에 대한 부호의 설명** Explanation of symbols for main parts of drawings *

10: PLC기기 11: 중앙처리장치10: PLC device 11: Central processing unit

12: 입출력 인터페이스 13: 메모리12: I / O interface 13: memory

14: 통신 프로세서 20: HMI장비14: communication processor 20: HMI device

21: 운영시스템 22: 중앙처리장치21: operating system 22: central processing unit

23: 메모리 24: 사용자 인터페이스모듈23: memory 24: user interface module

25: 통신모듈25: communication module

본 발명은 기기간의 메모리 데이터를 공유하여 처리할 수 있는 방법에 관한 것으로, 상세하게는 PLC기기의 데이터 메모리를 HMI장비의 메모리에 공유하고, 공유 메모리를 통해 HMI장비와 동기화시켜 사용자 인터페이스 모듈에서 객체의 주소를 이용함으로써 공유 데이터에 대해 해당 주소의 데이터를 표시할 수 있도록 하는 PLC기기와 HMI장비간의 공유메모리를 이용한 데이터 메모리 동기화 방법에 관한 것이다. The present invention relates to a method for sharing and processing memory data between devices, and more particularly, to share a data memory of a PLC device with a memory of an HMI device, and to synchronize an object with a HMI device through a shared memory. The present invention relates to a data memory synchronization method using a shared memory between a PLC device and an HMI device to display data of a corresponding address with respect to shared data by using an address.

통신망의 고도화 및 지능화에 따라 단위시설의 운용관리 개념에서 네트워크 관리, 서비스 관리, 사업 관리 개념으로 발전되는 등 통신망의 운용관리방식 및 개념이 변화되어 가고 있으나, 현재의 통신망은 다수의 공급자들로부터 제공된 서로 상이한 특성을 갖는 다양한 통신설비, 장비 및 시스템으로 구성되어 있기 때문에, 효율적으로 운용 및 보수유지, 관리하는 것이 상당히 어려운 문제중의 하나이다. 이것은 통신망을 관리하는 운용시스템(OS : Operation System) 또는 통신망 구성요소들은 공급사마다 특정한 정보모형과 인터페이스를 사용하는 경향이 있기 때문에 상호운용성(interoperability)을 유지하면서 통신망 전체 차원에서 통합하여 관리하기가 쉽지않기 때문이다. 따라서, 다양하고 이질적인 통신망 구성요소가 공존하고, 또 여러 형태의 운용시스템의 등장으로 운용 시스템들간의 연동기능이 미비하여 전체 운용시스템의 운용 효율성 저하가 예상되는 등 향후 다양화, 비대화, 고도화로 변모해가는 통신망 운용 및 서비스 환경에 능동적으로 대처할 필요가 있다.With the advancement and intelligence of the communication network, the operation management method and concept of the communication network are changing from the concept of operation management of the unit facilities to the concept of network management, service management, and business management.However, the current communication network is provided by a number of suppliers. Because it is composed of various communication facilities, equipment and systems having different characteristics from each other, efficient operation, maintenance and management is one of the difficult problems. This is because the operating system (OS) or network component that manages the network tends to use a specific information model and interface for each supplier, so it is easy to integrate and manage the entire network while maintaining interoperability. Because it does not. Therefore, diverse and heterogeneous communication network components coexist, and the appearance of various types of operating systems is inadequate to interoperability between operating systems, and the operational efficiency of the entire operating system is expected to decrease. It is necessary to proactively cope with the rising network operation and service environment.

일반적으로 PLC(Programable Logic Controller, 프로그램 가능 논리제어, 프로그램 가능 제어장치)기기는 입력, 출력, 기억, 연산 제어부를 갖추어 컴퓨터와 유사한 기능을 수행하는 시퀸스 제어장치이다.In general, a PLC (Programmable Logic Controller) device is a sequence control device that performs a function similar to a computer with an input, an output, a memory, and an operation control unit.

상기 PLC기기는 산업용 제어업무에 사용되는 장치로서 높은 신뢰성과 간편한 제어 소프트웨어, 유지 보수의 간편성, 저렴한 가격 등의 특징을 갖고 있기 때문에 많은 분야에서 이용하고 있으며, 그 적용 분야로는 대, 중, 소규모의 공장자동화나 송유관 가스관의 감시제어, 각종 시퀸스제어 등에 사용되고 있다.The PLC device is a device used in industrial control tasks, and is used in many fields because it has high reliability, simple control software, ease of maintenance, and low price, and its applications are large, medium, and small. It is used for factory automation, monitoring and control of oil pipeline gas pipe, and various sequence control.

이러한 PLC기기는 HMI(Human Machine Interface)장비와 연동하게 되는데, HMI장비는 표현해야할 객체의 데이터 값을 PLC로부터 얻어오기 위해 해당 명령어와 주소를 프래임화하여 PLC기기로 전송하게 된다. PLC기기는 받은 명령어를 분석하여 데이터를 프래임화하여 다시 HMI장비로 전송한다. HMI장비는 이렇게 돌려받은 응답 데이터를 분석하여 자신의 객체를 표현하게 된다. 만약 표현해야 할 객체가 복수개이면 명령어를 순차적으로 보내고 응답 또한 순차적으로 받게 된다. 객체수가 많아질수록 이 방법은 데이터 수신에 지연이 생기게 되고, 이는 곧 HMI장비의 객체 갱신 속도가 느려지게 되는 단점을 가지게 된다.The PLC device is linked with the HMI (Human Machine Interface) device, which in turn transfers the command and address to the PLC device in order to obtain the data value of the object to be expressed from the PLC. The PLC device analyzes the received command, frames the data, and sends it back to the HMI device. The HMI device analyzes the returned response data and expresses its own object. If there are multiple objects to be expressed, commands are sent sequentially and responses are received sequentially. As the number of objects increases, this method causes a delay in receiving data, which has the disadvantage of slowing down the object update rate of the HMI device.

본 발명은 상기한 문제를 해결하기 위한 것으로, 특히 PLC기기의 데이터 저장 영역의 데이터를 공유 메모리를 통해 HMI장비와 동기화시켜 데이터 처리속도 및 효율을 향상시킬 수 있도록 하는 PLC기기와 HMI장비간의 공유메모리를 이용한 데이터 메모리 동기화 방법을 제공하는데 그 목적이 있다.The present invention is to solve the above problems, in particular, the shared memory between the PLC device and the HMI device to improve the data processing speed and efficiency by synchronizing the data of the data storage area of the PLC device with the HMI device through the shared memory It is an object of the present invention to provide a data memory synchronization method.

상기 목적을 달성하기 위한 본 발명의 PLC기기와 HMI장비간의 공유메모리를 이용한 데이터 메모리 동기화 방법은 상기 PLC기기의 종류에 따라 공유메모리를 생성하고, 상기 PLC기기와 상기 HMI장비간의 통신을 연결하는 단계; 상기 HMI장비의 객체가 지정하는 PLC기기의 주소에서 데이터를 읽은 후 공유 메모리에 저장하는 단계; 및 사용자 인터페이스 모듈을 통해 객체 접근 요청이 있을 경우, 공유 메모리의 포인터를 이용하여 데이터를 읽은 주소에 대응하는 해당 데이터를 표시하는 단계;를 포함하는 것을 특징으로 한다.Data memory synchronization method using a shared memory between the PLC device and the HMI device of the present invention for achieving the above object is the step of generating a shared memory according to the type of the PLC device, and connecting the communication between the PLC device and the HMI device ; Reading data from an address of a PLC device designated by an object of the HMI device and storing the data in a shared memory; And when there is an object access request through the user interface module, displaying corresponding data corresponding to the address where the data is read using a pointer of the shared memory.

본 발명에 따른 상기 통신 연결단계는, 각 회사 제품별로 PLC기기의 종류를 확인하여 그에 맞는 메모리 맵의 공용체를 HMI장비에 만들고 공유 메모리를 등록하는 단계 및 상기 HMI장비의 통신모듈에서 PLC기기와 HMI장비간의 연결 방식을 확인한 후, 각 연결 방식에 따라 연결을 시도하고, 통신 연결이 될 경우 PLC의 주소에서 데이터를 읽어 오는 단계;로 구성하는 것이 바람직하다.In the communication connection step according to the present invention, the PLC device and HMI in the communication module of the HMI device to check the type of the PLC device for each company product, create a common memory map corresponding to the HMI device and register the shared memory; After checking the connection method between the equipment, try to connect according to each connection method, and if the communication connection is read the data from the address of the PLC; it is preferable to configure.

또한, 본 발명에 따른 상기 공유 메모리에 데이터를 저장하는 단계는, 상기 HMI장비의 객체에서 PLC기기에 데이터가 존재하는 주소를 확인하고 그 데이터를 받아오는 읽기 명령어를 생성하여 전송하는 단계; 상기 PLC기기에서 상기 명령어에 해당하는 데이터를 HMI장비로 전송하고, HMI장비에서 상기 PLC기기에서 전송된 데 이터를 분석하는 단계; 및 상기 단계에서 수신된 데이터에 대해 PLC기기의 주소 체계를 공유메모리의 주소 체계로 변환하는 공유메모리의 포인터를 이용하여 공유 메모리에 저장하는 과정을 반복하는 단계;로 구성하는 것이 바람직하다.The storing of the data in the shared memory according to the present invention may include: identifying and transmitting an address in which the data exists in the PLC device from the object of the HMI device and generating and transmitting a read command for receiving the data; Transmitting data corresponding to the command from the PLC device to the HMI device and analyzing data transmitted from the PLC device from the HMI device; And repeating the storing of the received data in the shared memory using the pointer of the shared memory for converting the address system of the PLC device into the shared memory address system.

이러한 방법에 따르면, 본 발명은 PLC기기의 데이터 메모리를 HMI장비에서의 메모리와 일치시키고, HMI장비에서 데이터 요구 시 PLC기기의 데이터 메모리 전체를 한번에 전송 가능한 최대크기로 나누어 전송받아 처리하도록 한다. 또한, 실제 사용자에게 보여지는 인터페이스 모듈은 통신과 관계없이 계속해서 메모리에 접근하여 해당 번지의 데이터를 읽어 표현해 주게 된다. 이렇게 함으로써 본 발명은 데이터 전송횟수를 최소화하고 또한 데이터 전송간 지연시간을 최소화할 수 있다. According to this method, the present invention is to match the data memory of the PLC device with the memory in the HMI device, and to receive and process the entire data memory of the PLC device divided into the maximum size that can be transmitted at once when the data request from the HMI device. Also, the interface module shown to the actual user continuously accesses the memory and reads and expresses the data of the corresponding address regardless of communication. By doing so, the present invention can minimize the number of data transmissions and also minimize the delay time between data transmissions.

이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명하면 다음과 같다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 PLC기기와 HMI장비의 구조를 보인 블록도이다. 도면을 참조하면, 도면 중 부호 10은 PLC기기이고, 부호 20은 HMI장비를 표시한 것이다.1 is a block diagram showing the structure of a PLC device and an HMI device according to the present invention. Referring to the drawings, reference numeral 10 denotes a PLC device, and reference numeral 20 denotes an HMI device.

상기 PLC기기(10)는 제어 및 연산을 수행하는 중앙처리장치(11)와, 외부의 입출력장치로 부터의 입력 또는 상기 중앙처리장치(11)로 부터의 출력을 인터페이스하는 입출력 인터페이스(12)와, 사용자의 프로그램을 입력시키기 위한 프로그램 및 상기 중앙처리장치(11)로 부터의 제어신호에 따라 입출력 데이터를 저장하였다 가 출력하는 메모리(13)들로 구성하여, 중앙처리장치(11)에서 프로그램 입력장치를 통해 입력되는 사용자 프로그램을 메모리(13)의 저장영역에 저장시킨 후 입출력 인터페이스(12)를 통해 입력되는 데이터를 메모리(13)에 저장하면서 이에 대한 연산을 수행한 후 이를 컨트롤하기 위한 제어신호를 입출력 인터페이스(12)를 통해 출력하게 된다. 그리고 상기의 중앙처리장치(11)는 상위기기와 통신을 수행하기 위한 통신프로세서(14)를 구비하고 있다.The PLC device 10 includes a central processing unit 11 that performs control and arithmetic operation, an input / output interface 12 that interfaces an input from an external input / output device, or an output from the central processing unit 11; In addition, a program for inputting a user's program and a memory 13 for storing and outputting input and output data according to a control signal from the central processing unit 11, the program input in the central processing unit 11 After storing the user program input through the device in the storage area of the memory 13 and storing the data input through the input and output interface 12 in the memory 13 and performing the operation for the control signal for controlling it Is output through the input / output interface 12. The central processing unit 11 includes a communication processor 14 for performing communication with the host device.

또한, 상기 PLC기기(10)와 통신을 하여 PLC 메모리에 저장된 객체를 표시하는 HMI(Human Machine Interface:20)장치는 통신망을 관리하는 운영시스템(21), 시스템을 제어하는 중앙처리장치(22), 데이터를 저장하는 메모리(23), 각종 객체를 출력하는 사용자 인터페이스모듈(24) 및 상기 PLC기기(10)와 통신하는 통신모듈(25)로 구성된다.In addition, the HMI (Human Machine Interface) device 20 which communicates with the PLC device 10 to display an object stored in the PLC memory includes an operating system 21 for managing a communication network and a central processing unit 22 for controlling the system. , A memory 23 for storing data, a user interface module 24 for outputting various objects, and a communication module 25 for communicating with the PLC device 10.

이와 같이 구성된 본 발명은 공유메모리를 이용한 PLC와 HMI장치간의 데이터 메모리를 동기화시키는데 있어서, PLC기기(10)에 저장된 데이터 메모리를 HMI장비(20)로 다운받아 HMI장비(20)의 사용자 인터페이스 모듈(24)에서 객체의 주소를 이용하여 공유 데이터에 대해 해당 주소의 데이터를 표시할 수 있도록 한다.In the present invention configured as described above, in synchronizing the data memory between the PLC and the HMI device using the shared memory, the user interface module of the HMI device 20 by downloading the data memory stored in the PLC device 10 to the HMI device 20 ( In (24), the address of the object can be displayed for the shared data using the address of the object.

도 2는 본 발명에 따른 PLC기기의 메모리와 동기화된 HMI장비간 공유메모리를 보인 도면이다.2 is a view illustrating a shared memory between HMI devices synchronized with a memory of a PLC device according to the present invention.

도면을 참조하면, PLC기기(10)의 메모리(13)는 사용에 필요한 명령어가 저장된 사용자 메모리(13a), 프로그래밍된 코드를 저장하는 시스템 메모리(13b) 및 작업 중 생성되는 데이터를 저장하는 데이터 메모리(13c)로 그 영역이 구분되며, 상 기 데이터 메모리(13c)는 읽기 데이터(15), 쓰기 데이터(16) 및 메모리 데이터(17)로 이루어진다.Referring to the drawings, the memory 13 of the PLC device 10 includes a user memory 13a in which instructions necessary for use are stored, a system memory 13b for storing programmed codes, and a data memory for storing data generated during operation. The area is divided by 13c, and the data memory 13c is composed of read data 15, write data 16 and memory data 17.

또한, 상기 PLC기기(10)의 데이터 영역 중 데이터 메모리(13c)에는 읽기 데이터(15), 쓰기 데이터(16) 및 메모리 데이터(17)가 저장되고 구분되고, 본 발명은 이러한 데이터들을 HMI장비(20)에서 통신모듈(25)을 통해 PLC기기(10)로부터 전송 받아 메모리(23)에 저장한 후 사용자 인터페이스 모듈(24)에서 데이터의 객체 주소를 이용하여 표시할 수 있도록 한다. In addition, in the data memory 13c of the PLC device 10, read data 15, write data 16, and memory data 17 are stored and classified. 20) received from the PLC device 10 through the communication module 25 and stored in the memory 23 so that the user interface module 24 can be displayed using the object address of the data.

도 3은 본 발명에 따른 공유메모리를 이용한 PLC와 HMI장치간의 데이터 메모리 동기화 방법을 설명하기 위한 순서도이다.3 is a flowchart illustrating a data memory synchronization method between a PLC and an HMI device using a shared memory according to the present invention.

도면을 참조하면, 본 발명은 PLC기기(10)에 따라 공유메모리를 생성하고, PLC기기(10)와 HMI장비(20)간의 통신을 연결하는 단계(S31); HMI장비(20)의 객체가 지정하는 PLC기기(10)의 주소에서 데이터를 읽은 후 공유 메모리에 저장하는 단계(S32); 사용자 인터페이스 모듈(24)에서는 사용된 객체의 주소를 사용하여 공유 메모리에서 해당 주소의 데이터를 가져와 표시하는 단계(S33);로 이루어진다.Referring to the drawings, the present invention generates a shared memory according to the PLC device 10, and connecting the communication between the PLC device 10 and the HMI device 20 (S31); Reading data from the address of the PLC device 10 designated by the object of the HMI device 20 and storing the data in the shared memory (S32); The user interface module 24 uses the address of the object used to fetch and display data of the corresponding address from the shared memory (S33).

이하, 본 발명에 따른 공유메모리를 이용한 PLC와 HMI장치간의 데이터 메모리 동기화 방법을 각 단계별로 상세하게 설명한다.Hereinafter, the data memory synchronization method between the PLC and the HMI device using the shared memory according to the present invention will be described in detail for each step.

도 4는 본 발명에 따른 통신 연결단계를 설명하기 위한 순서도이다. 도면을 참조하면, 일반적으로 PLC기기(10)는 각각의 회사별로 또는 제품별로 그 사양이 모두 틀리기 때문에 공용체를 만들어 공유 메모리에 등록할 필요가 있다.4 is a flowchart illustrating a communication connection step according to the present invention. Referring to the drawings, in general, the PLC device 10 needs to create a union and register it in the shared memory because all of the specifications are different for each company or product.

따라서, 본 발명은 각 회사 제품별로 PLC기기의 종류를 확인하여 그에 맞는 메모리 맵의 공용체를 HMI장비(20)에 만들고 공유 메모리를 등록한다. 일예로, L사 G제품의 경우 메모리의 구조는 Read Data(128Byte), Write Data(128Byte), Memory Data(8KByte)로 구성이 되므로 이 구조에 맞추어 표 1과 같이 HMI장비(20)에 공용체를 정의하고 공유 메모리에 등록을 한다. 공용체를 정의할 때에는 메모리의 접근이 용이하도록 여러 가지 데이터형을 이용하여 작성을 한다. 공유메모리 등록 후 공유메모리의 포인터를 사용자 인터페이스 모듈(24)이 가지고 있게 함으로서 공유메모리에서 데이터를 읽어올 수 있게 한다(S41).Therefore, the present invention checks the type of the PLC device for each company product to create a common memory map interface in the HMI device 20 and register the shared memory. For example, in case of the G company, the memory structure is composed of Read Data (128Byte), Write Data (128Byte), and Memory Data (8KByte). Define and register in shared memory. When defining unions, they are written using various data types to facilitate memory access. After registering the shared memory, the user interface module 24 holds the pointer of the shared memory so that data can be read from the shared memory (S41).

Read Data (128Byte)Read Data (128Byte) //공용체의 선천 typedef union{ char iodB[8ss8]; //Byte USHORT iddW[4224]; //Word long iodD[2112]; //Double Word }PlcMemMap; // innate typedef union {char iodB [8ss8]; // Byte USHORT iddW [4224]; // Word long iodD [2112]; // Double Word} PlcMemMap; Write Data (128Byte)Write Data (128Byte) Memory Data (8KByteMemory Data (8KByte //공유메모리를 생성 m_hMapping = CreateFileMapping( (HANDLE)INVALID_ HANDLE_VALUE, NULL, PAGE_READWIRTE, 0, sizeof(PlcData), _T("PLCMemMap")); //공유메모리의 포인터를 얻어옴 m_pViewOf = MapViewOfFile(m_hMapping, FILE_MAP_REAL |FILE_MAP_WRITE, 0, 0, 0); m_PlcData = (PlcMemMap*)m_pViewOf;// create shared memory m_hMapping = CreateFileMapping ((HANDLE) INVALID_ HANDLE_VALUE, NULL, PAGE_READWIRTE, 0, sizeof (PlcData), _T ("PLCMemMap")); // get a pointer to shared memory m_pViewOf = MapViewOfFile (m_hMapping, FILE_MAP_REAL | FILE_MAP_WRITE, 0, 0, 0); m_PlcData = (PlcMemMap *) m_pViewOf;

상기 단계 S41 이후, HMI장비(20)에서는 통신모듈(25)에서 HMI장비(20)와 PLC(10)기기간의 연결 방식 예를 들면, RS232C, 모뎀, 이더넷 등의 통신 연결 방식을 확인한 후, 각 연결 방식에 따라 연결을 시도하고, 통신 연결이 될 경우 PLC의 주소에서 데이터를 읽어 온다(S42-S43).After the above step S41, the HMI device 20 in the communication module 25 after confirming the connection method between the HMI device 20 and the PLC 10 device, for example, RS232C, modem, Ethernet, etc. The connection is attempted according to the connection method, and when the communication connection is established, data is read from the address of the PLC (S42-S43).

도 5는 본 발명에 따른 PLC데이터를 공유메모리에 저장하는 단계를 설명하기 위한 순서도이다. 도면을 참조하면, 본 발명은 PLC기기(10)와 HMI장비(20)사이에 통신이 연결되면, HMI장비(20)의 객체가 지정하는 PLC기기(10)의 주소에서 데이터를 읽은 후 공유 메모리에 저장한다.5 is a flowchart for explaining a step of storing PLC data in a shared memory according to the present invention. Referring to the drawings, when the communication is connected between the PLC device 10 and the HMI device 20, the shared memory after reading data from the address of the PLC device 10 designated by the object of the HMI device 20 Store in

즉, 본 발명은 HMI장비(20)의 객체에서 PLC기기(10)에 데이터가 존재하는 주소를 확인하여 그곳의 데이터를 받아오는 읽기 명령어를 생성한 후, 그 읽기 명령어를 전송한다(S51).That is, the present invention checks the address where the data exists in the PLC device 10 in the object of the HMI device 20, generates a read command for receiving the data therein, and transmits the read command (S51).

예를 들면, PLC 데이터 위치의 주소 "IW0.0.0", 데이터를 받아오는 명령어 "0500RSB06%IW0000204"를 만든다. 명령어를 만들 때에는 모든 객체의 데이터를 가장 적은 횟수로 받아올 수 있는 방법을 이용하여 객체의 데이터 갱신 속도를 최소화할 수 있도록 하는 것이 바람직하다.For example, create the address "IW0.0.0" of the PLC data location and the command "0500RSB06% IW0000204" to receive the data. When creating a command, it is desirable to minimize the data update rate of an object by using the method that can retrieve the data of all objects in the smallest number of times.

단계 S51에서와 같이, 본 발명은 HMI장비(20)에서 PLC기기(10)로 데이터 수신에 대한 명령어를 전송하면, 상기 PLC기기(10)에서 상기 명령어에 해당하는 데이터를 HMI장비(20)로 전송하게 되고, HMI장비(20)에서는 상기 PLC기기(10)에서 전송된 데이터를 분석한다(S52-S53).As in step S51, when the present invention transmits a command for data reception from the HMI device 20 to the PLC device 10, the data corresponding to the command from the PLC device 10 to the HMI device 20. The HMI device 20 analyzes the data transmitted from the PLC device 10 (S52-S53).

상기 단계 S53을 통해 PLC기기(10)의 데이터가 HMI장비(20)로 수신되면, 본 발명은 PLC기기(10)의 주소 체계를 공유메모리의 주소 체계로 변환(예, PLC 데이터 위치의 주소 "IW0.0.0", 공유메모리 데이터 위치 "iodW[0]")한 후 공유메모리의 포인터를 이용하여 공유 메모리에 저장한다(S54).When the data of the PLC device 10 is received by the HMI device 20 through the step S53, the present invention converts the address system of the PLC device 10 into the address system of the shared memory (for example, the address of the PLC data location " IW0.0.0 ", the shared memory data location" iodW [0] "), and then stored in the shared memory using the pointer of the shared memory (S54).

상기 단계 S54가 완료되면, 본 발명은 PLC기기(10)로부터 수신 받을 다른 객체가 존재할 경우에는 상기한 과정을 반복하고, 다른 객체가 존재하지 않을 경우에는 PLC기기(10)로 부터의 데이터 수신을 완료한다(S55).When the above step S54 is completed, the present invention repeats the above process when there is another object to be received from the PLC device 10, and receives data from the PLC device 10 when another object does not exist. Complete (S55).

상기 단계 S55가 완료되면, PLC기기(10)로부터의 모든 데이터가 HMI장비(20)의 공유메모리에 저장되고, 이러한 상태에서 사용자에 의해 객체 접근 요청이 있을 경우, 상기 HMI장비(20)는 공유 메모리의 포인터를 이용하여 데이터를 읽은 주소(예를 들면, m_PlcData-> iodW[0])에 대응하는 해당 데이터를 표시해 준다(S56).When the step S55 is completed, all data from the PLC device 10 is stored in the shared memory of the HMI device 20, and in this state, when there is an object access request by the user, the HMI device 20 is shared. The data corresponding to the address (for example, m_PlcData-> iodW [0]) from which the data is read is displayed by using the pointer of the memory (S56).

이와 같은 방법에 의해 개시되는 본 발명은 HMI장비의 인터페이스 부분이 통신과 별개로 동작되고, 사용되는 마이크로프로세서에 의해 속도가 결정되므로 데이터 갱신이 보다 신속히 이루어 질 수 있다.In the present invention disclosed by such a method, since the interface portion of the HMI device is operated separately from the communication, and the speed is determined by the microprocessor used, data update can be made more quickly.

이상에서 설명한 바와 같이 본 발명에 따른 공유메모리를 통한 메모리 동기화 방법은 PLC기기의 데이터 메모리를 HMI장비에서 공유메모리와 일치시키고, HMI 장비에서 데이터 요구 시 PLC의 데이터 메모리 전체를 한번에 전송 가능한 최대크기로 나누어 전송받아 처리하므로서 데이터 전송횟수를 최소화하고 또한 데이터 전송간 지연시간을 최소화할 수 있다.As described above, the method of synchronizing memory through the shared memory according to the present invention is to match the data memory of the PLC device with the shared memory in the HMI device, and to transfer the entire data memory of the PLC at once when data is requested from the HMI device. By dividing, receiving and processing, data transmission frequency can be minimized and delay time between data transmission can be minimized.

Claims (3)

PLC기기의 종류에 따라 공유메모리를 생성하고, PLC기기와 HMI장비 간의 통신을 연결하는 단계;Generating a shared memory according to the type of PLC device and connecting communication between the PLC device and the HMI device; 상기 HMI장비의 객체가 지정하는 PLC기기의 주소에서 데이터를 읽은 후 공유 메모리에 저장하는 단계; 및Reading data from an address of a PLC device designated by an object of the HMI device and storing the data in a shared memory; And 상기 HMI장비의 사용자 인터페이스 모듈을 통해 객체 접근 요청이 있을 경우, 공유 메모리의 포인터를 이용하여 데이터를 읽은 주소에 대응하는 해당 데이터를 표시하는 단계를 포함하여 이루어지는 PLC기기와 HMI장비간의 공유메모리를 이용한 데이터 메모리 동기화 방법.When the object access request is made through the user interface module of the HMI device, using the shared memory between the PLC device and the HMI device, comprising displaying the corresponding data corresponding to the address from which the data is read using a pointer of the shared memory. How to synchronize data memory. 제 1항에 있어서, 상기 통신 연결단계는,The method of claim 1, wherein the communication connection step, 각 회사 제품별로 PLC기기의 종류를 확인하여 그에 맞는 메모리 맵의 공용체를 HMI장비에 만들고 공유 메모리를 등록하는 단계 및Checking the types of PLC devices for each company's products, creating a common memory map interface on the HMI device, and registering shared memory. 상기 HMI장비의 통신모듈에서 PLC기기와 HMI장비간의 연결 방식을 확인한 후, 각 연결 방식에 따라 연결을 시도하고, 통신 연결이 될 경우 PLC의 주소에서 데이터를 읽어 오는 단계;로 이루어진 것을 특징으로 하는 PLC기기와 HMI장비간의 공유메모리를 이용한 데이터 메모리 동기화 방법. After confirming the connection method between the PLC device and the HMI device in the communication module of the HMI device, attempting to connect according to each connection method, and read the data from the address of the PLC when the communication connection is made; Data memory synchronization method using shared memory between PLC device and HMI device. 제 1항에 있어서, 상기 공유 메모리에 데이터를 저장하는 단계는,The method of claim 1, wherein storing data in the shared memory comprises: 상기 HMI장비의 객체에서 PLC기기에 데이터가 존재하는 주소를 확인하고 그 데이터를 받아오는 읽기 명령어를 생성하여 전송하는 단계;Confirming an address in which the data exists in the PLC device in the object of the HMI device and generating and transmitting a read command for receiving the data; 상기 PLC기기에서 상기 명령어에 해당하는 데이터를 HMI장비로 전송하고, HMI장비에서 상기 PLC기기에서 전송된 데이터를 분석하는 단계; 및Transmitting data corresponding to the command from the PLC device to the HMI device, and analyzing the data transmitted from the PLC device from the HMI device; And 상기 PLC기기로부터 수신된 데이터에 대해 PLC기기의 주소 체계를 공유메모리의 주소 체계로 변환하는 공유메모리의 포인터를 이용하여 공유 메모리에 저장하는 단계를 포함하여 구성되는 것을 특징으로 하는 PLC기기와 HMI장비간의 공유메모리를 이용한 데이터 메모리 동기화 방법.PLC device and HMI device comprising the step of storing in the shared memory using a pointer of the shared memory for converting the address system of the PLC device to the address system of the shared memory for the data received from the PLC device Method of synchronizing data memory using shared memory.
KR1020050060850A 2005-07-06 2005-07-06 Synchronization method of data memory using shared memory between PI device and HM device Expired - Fee Related KR100715915B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050060850A KR100715915B1 (en) 2005-07-06 2005-07-06 Synchronization method of data memory using shared memory between PI device and HM device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050060850A KR100715915B1 (en) 2005-07-06 2005-07-06 Synchronization method of data memory using shared memory between PI device and HM device

Publications (2)

Publication Number Publication Date
KR20070005825A KR20070005825A (en) 2007-01-10
KR100715915B1 true KR100715915B1 (en) 2007-05-08

Family

ID=37871206

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050060850A Expired - Fee Related KR100715915B1 (en) 2005-07-06 2005-07-06 Synchronization method of data memory using shared memory between PI device and HM device

Country Status (1)

Country Link
KR (1) KR100715915B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100843105B1 (en) * 2006-08-23 2008-07-02 주식회사 아이피에스 Computer-based controller, control system, and control method
CN109814904B (en) * 2019-01-10 2021-07-13 深圳市显控科技股份有限公司 HMI configuration synchronization system and method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970062927A (en) * 1996-02-27 1997-09-12 김광호 Communication device for programmable logic controller (PLC) and data format for it
KR200157529Y1 (en) * 1995-07-27 1999-09-15 이구택 Turnover device of wire rod rolled line
KR20010018286A (en) * 1999-08-18 2001-03-05 홍상복 A method for data transfer and sharing between different types of PLC

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200157529Y1 (en) * 1995-07-27 1999-09-15 이구택 Turnover device of wire rod rolled line
KR970062927A (en) * 1996-02-27 1997-09-12 김광호 Communication device for programmable logic controller (PLC) and data format for it
KR20010018286A (en) * 1999-08-18 2001-03-05 홍상복 A method for data transfer and sharing between different types of PLC

Also Published As

Publication number Publication date
KR20070005825A (en) 2007-01-10

Similar Documents

Publication Publication Date Title
KR102030012B1 (en) Communication Interface Apparatus and Interface Method Using the Same
US20050088276A1 (en) Home appliance network system and method for operating the same
CN102684943B (en) Textile industrial ethernet monitoring system and method thereof
CN102902243A (en) System and method for servicing field devices in an automation plant
AU2015234371B2 (en) Apparatus and method for analyzing a control network
CN104135533A (en) System and method of transmitting industrial data
CN103905410A (en) Multi-channel communication protocol converter capable of converting user-defined protocol to Modbus protocol
CN1658601B (en) Gateway setting tool
JP2019174872A (en) Information acquisition device, gateway device, program, storage medium, and method
CN102880146A (en) Profibus device monitoring and managing system
EP3583502A1 (en) Universal data access across devices
US10281887B2 (en) Optimized communications with HART instruments
KR100715915B1 (en) Synchronization method of data memory using shared memory between PI device and HM device
CN113395180B (en) Industrial real-time big data acquisition and release method and industrial real-time big data platform
US7984195B2 (en) Hybrid industrial networked computer system
CN101364088B (en) Industrial human-machine interface variable accessing method and system
KR102071971B1 (en) Human-machine interface system
CN117032118A (en) Soft PLC system based on industrial Internet of things
CN114979218A (en) A method for industrial Internet time series data collection and storage
US20130173748A1 (en) Apparatus and method for processing project information for cross-platform
Zhou Soft PLC Research And Development System Based On PC
US20250119319A1 (en) Application aware modbus gateway
CN114200894B (en) PLC production line holographic monitoring system based on network flow analysis
CN104678945B (en) Path affinity apparatus and advanced process control component
CN210199747U (en) Management system based on agricultural Internet of things

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R14-asn-PN2301

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

FPAY Annual fee payment

Payment date: 20120502

Year of fee payment: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20130503

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20130503

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301