KR20130116743A - Middleware technology based on device model - Google Patents

Middleware technology based on device model Download PDF

Info

Publication number
KR20130116743A
KR20130116743A KR1020120039396A KR20120039396A KR20130116743A KR 20130116743 A KR20130116743 A KR 20130116743A KR 1020120039396 A KR1020120039396 A KR 1020120039396A KR 20120039396 A KR20120039396 A KR 20120039396A KR 20130116743 A KR20130116743 A KR 20130116743A
Authority
KR
South Korea
Prior art keywords
application
driver
information
data
conversion
Prior art date
Application number
KR1020120039396A
Other languages
Korean (ko)
Other versions
KR101338153B1 (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 KR1020120039396A priority Critical patent/KR101338153B1/en
Publication of KR20130116743A publication Critical patent/KR20130116743A/en
Application granted granted Critical
Publication of KR101338153B1 publication Critical patent/KR101338153B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

PURPOSE: A middleware technology based on a device model is provided to develop middleware, which can be used for various devices and communication methods, at low costs in a shorter time only with the exchange of device model information without additional development. CONSTITUTION: An application (100) transmits parameter identification (ID) and conversion data to a driver (400) through a common application program interface (API) (500). The driver respectively converts addresses and data with parameter information and data information corresponding to a device model (410). An address converter (420) performs the address conversion. A data converter (430) performs the data conversion. A protocol converter (440) performs protocol conversion. [Reference numerals] (100) Application; (300) Device 1; (500) Middleware group API; (AA,DD,420) Address converter; (BB,EE,430) Data converter; (CC,FF,440) Protocol processor; (GG,HH) Device 2

Description

디바이스 모델 기반 미들웨어 기술{Middleware technology based on Device model}Middleware technology based on Device model

본 발명은 디바이스 모델 기반의 미들웨어 기술에 관한 것으로서, 특히 이와 같은 미들웨어 기술을 채용하는 드라이버를 포함하는 디바이스에 관한 것이다.The present invention relates to a device model based middleware technology, and more particularly to a device including a driver that employs such middleware technology.

산업용 기기의 감시, 제어용으로 사용되는 다양한 애플리케이션들은 해당 기기의 종류만큼이나 다양하게 개발되고 있다. 애플리케이션의 개발에 필수로 수반되는 기능 중 하나가 기기와의 통신 기능이다. 이와 같이 기기와 애플리케이션의 통신을 통하여 운영되는 분야는 자동화, 전력 등을 비롯하여 많은 분야의 산업현장에 적용된다.Various applications for monitoring and controlling industrial devices are being developed as diversely as the types of devices. One of the essential features of developing an application is the ability to communicate with the device. As such, the fields operated through communication between devices and applications are applied to industrial sites in many fields, including automation and power.

기기와 애플리케이션과의 통신을 위해서는 미들웨어에 해당하는 드라이버의 제작이 필요하다. 또한 이 드라이버는 기기별, 통신 프로토콜 별로 각기 제작되어 다양한 애플리케이션에 제공되고 있으며, 해당 애플리케이션은 사용되는 드라이버의 인터페이스를 반영하여 개발되어야 한다.In order to communicate with the device and the application, a driver corresponding to the middleware needs to be manufactured. In addition, this driver is manufactured for each device and communication protocol and provided to various applications, and the application should be developed to reflect the interface of the driver used.

최근, 산업 현장의 제품 라이프 사이클은 계속 짧아지고 있으며, 각 제품이 사용되는 다양한 응용분야의 통신에 대한 요구는 지속적으로 발생하고 있다. 이러한 요구를 만족시키기 위해서는 많은 노력과 시간의 투자가 반복적으로 필요하게 된다.In recent years, the product life cycle of industrial sites is getting shorter, and there is a continuous demand for communication in various applications where each product is used. In order to meet these demands, a lot of effort and time is required.

본 발명은 디바이스(기기) 모델을 기반으로 하여 드라이버 단에서 기기 정보를 처리하게 함으로써 애플리케이션에 단일화된 인터페이스를 제공하고 통신 방법(프로토콜) 별로 제작되던 드라이버의 제작 방법을 구조 변경을 통하여 개발 시간을 단축시키고, 통신 운영환경의 효율성을 제고하기 위한 것이다.The present invention provides a unified interface to an application by processing device information based on a device (device) model, and shortens development time by changing a structure of a driver manufacturing method that has been manufactured for each communication method (protocol). It is to improve the efficiency of communication operation environment.

본 발명의 일 실시 예에 따른 디바이스는, 주소 변환 정보와 데이터 변환 정보를 포함하는 디바이스 모델과 공통 API(Application Program Interface)를 저장하는 저장부; 및 상기 디바이스 모델을 참조하여, 애플리케이션의 사용자 인터페이스를 통해 표시되는 정보와 디바이스에서 인식 가능한 정보를 상호 변환하고, 상기 변환된 정보를 상기 공통 API를 통해 애플리케이션에 전달하고, 프로토콜 변환을 통해 상기 디바이스에 전달하는 드라이버의 구동을 제어하는 제어부를 포함한다.According to an embodiment of the present disclosure, a device may include: a storage unit configured to store a device model including address translation information and data translation information and a common application program interface (API); And converting the information displayed through the user interface of the application and the information recognizable by the device with reference to the device model, transferring the converted information to the application through the common API, and converting the information to the device through protocol conversion. It includes a control unit for controlling the driving of the driver to deliver.

일 실시 예에 있어서, 상기 드라이버는, 상기 변환된 정보를 상기 공통 API를 통해 서로 다른 종류의 복수의 애플리케이션들에 전달하는 것을 특징으로 한다.The driver may deliver the converted information to a plurality of different types of applications through the common API.

또한 일 실시 예에 있어서, 상기 디바이스 모델은, 프로토콜 변환 정보를 더 포함하고, 상기 드라이버는, 상기 프로토콜 변환 정보에 근거하여 상기 프로토콜 변환을 수행하는 것을 특징으로 한다.The device model may further include protocol conversion information, and the driver may perform the protocol conversion based on the protocol conversion information.

또한 일 실시 예에 있어서, 상기 애플리케이션의 사용자 인터페이스를 통해 표시되는 정보는, 파라미터 식별 정보 및 변환 데이터를 포함하고, 상기 디바이스에서 인식 가능한 정보는, 상기 디바이스의 주소 값 및 원시 데이터를 포함하는 것을 특징으로 한다.According to an embodiment, the information displayed through the user interface of the application may include parameter identification information and conversion data, and the information recognizable by the device may include an address value and raw data of the device. It is done.

또한 일 실시 예에 있어서, 상기 제어부는, 상기 애플리케이션의 실행을 제어하는 것을 특징으로 한다.In addition, in one embodiment, the controller is characterized in that for controlling the execution of the application.

또한 일 실시 예에 있어서, 상기 드라이버는, 통신 드라이버인 것을 특징으로 한다.In addition, in one embodiment, the driver is characterized in that the communication driver.

또한 일 실시 예에 있어서, 상기 애플리케이션은, 상기 디바이스의 감시 또는 제어용 애플리케이션인 것을 특징으로 한다.In addition, in one embodiment, the application is characterized in that the application for monitoring or control of the device.

본 발명을 통하여 디바이스 미들웨어(드라이버)를 개발하게 되면 애플리케이션의 입장에서는 공통의 API를 사용하게 되므로 기기별, 통신별 추가 작업이 필요 없게 된다. 또한 기기별 파라미터 정보의 변환이 필요 없게 되어 드라이버로부터 받은 정보를 사용자 인터페이스에 그대로 표시하게 된다. 이처럼 한번의 작업으로 여러 기기와 다양한 프로토콜에 적용될 수 있으므로, 어플리케이션의 유지보수 비용 절감에 기여하게 된다. 또한 드라이버의 입장에서도 기기별, 통신별로 드라이버를 모두 개발하여야 했으나, 본 발명을 적용하게 되면 디바이스 모델 정보에 따라 주소의 변환, 데이터의 변환, 프로토콜의 변환이 자동으로 이루어지므로 추가 개발 없이 디바이스 모델 정보의 교환만으로 여러 기기와 통신방법에 사용할 수 있는 미들웨어(드라이버)를 적은 시간과 비용으로 개발할 수 있게 된다.When the device middleware (driver) is developed through the present invention, a common API is used from an application's point of view, thereby eliminating the need for additional devices and communications. In addition, conversion of parameter information for each device is not necessary, and information received from the driver is displayed on the user interface as it is. This work can be applied to multiple devices and various protocols in one operation, contributing to the reduction of maintenance costs of the application. Also, from the driver's point of view, the driver had to be developed for each device and communication. However, when the present invention is applied, device model information is not developed without additional development since address conversion, data conversion, and protocol conversion are automatically performed according to device model information. With the exchange of the software, the middleware (driver) that can be used for various devices and communication methods can be developed with little time and cost.

도 1은 일반적인 미들웨어 기술을 설명하기 위한 도면이다.
도 2는 도 1에 도시된 애플리케이션(100) 및 드라이버(200)의 상세 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 미들웨어 기술을 설명하기 위한 도면이다.
도 4는 도 3에 도시된 드라이버(400)의 상세 블록도이다.
1 is a diagram for explaining a general middleware technology.
FIG. 2 is a detailed block diagram of the application 100 and the driver 200 shown in FIG. 1.
3 is a diagram illustrating a middleware technology according to an embodiment of the present invention.
4 is a detailed block diagram of the driver 400 illustrated in FIG. 3.

이하, 첨부된 도면을 참조하여 본 발명의 특징과 바람직한 실시 예를 구체적으로 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail the features and preferred embodiments of the present invention.

도 1은 일반적인 미들웨어 기술을 설명하기 위한 도면이다.1 is a diagram for explaining a general middleware technology.

애플리케이션(100)(application)은 사용자가 특정 작업들을 수행하게 해주는 컴퓨터 소프트웨어를 말한다. 애플리케이션(100)은, 컴퓨터 성능을 관리하고 통합시키는 시스템 소프트웨어(system software) 및 미들웨어(middleware)와 구분된다. 시스템 소프트웨어는 애플리케이션(100)에 서비스를 제공하고, 애플리케이션(100)은 사용자에게 서비스를 제공한다.Application 100 refers to computer software that allows a user to perform certain tasks. Application 100 is distinct from system software and middleware that manage and integrate computer performance. The system software provides a service to the application 100, and the application 100 provides a service to the user.

드라이버(200)(통신 드라이버)는 애플리케이션(100)이 기기(300)와 통신하기 위해 더 높은 수준의 컴퓨터 프로그램을 가능하게 하는 컴퓨터 프로그램이다. 드라이버(200)는 일반적으로, 하드웨어가 연결되는 컴퓨터 버스나 통신 서브시스템과 통신한다.Driver 200 (communication driver) is a computer program that enables a higher level computer program for application 100 to communicate with device 300. The driver 200 generally communicates with a computer bus or communication subsystem to which hardware is connected.

기기(300)(equipment 또는 apparatus)는 특정 작업을 수행할 수 있는 장치(device)를 말한다. 기기(300)는 작업 수행 과정에서 소비되지 않는다. 예를 들어, 기기(300)는 BIOS와 애플리케이션을 지원하는 운영체제와 같은 펌웨어 인터페이스를 포함하는 시스템 소프트웨어가 설치될 수 있는 장치를 말할 수 있다. 기기(300)는 드라이버(200)를 통해 애플리케이션(100)(application)과 통신한다.The device 300 (equipment or apparatus) refers to a device capable of performing a specific task. The device 300 is not consumed in the course of performing the work. For example, device 300 may refer to a device on which system software may be installed that includes a firmware interface, such as an operating system supporting BIOS and applications. The device 300 communicates with the application 100 through the driver 200.

일반적으로, 드라이버(200)는 기기(300)의 특성이나 통신 프로토콜에 따라 개별적으로 개발되어야 하며, 애플리케이션(100)에서 요구하는 사양에 맞추어 I/F(인터페이스)를 제작하거나, 제공되는 드라이버(200)의 I/F에 애플리케이션(100)의 사양을 맞추어 개발해야 한다. In general, the driver 200 must be individually developed according to the characteristics of the device 300 or the communication protocol, and produce an I / F (interface) according to the specification required by the application 100, or provide the driver 200 The application 100 needs to be developed according to the I / F.

각각의 드라이버(200)는 대응하는 기기(300)와의 통신을 위하여 개발될 수 있고, 애플리케이션(100)과 기기(300)와의 통신 기능을 담당하게 된다. 다시 말해, 드라이버(200)가 애플리케이션(100)이 요구하는 I/F를 맞추거나, 애플리케이션(100)이 요구하는 인터페이스를 드라이버(200)가 맞출 수 있도록 개발 되어야 한다.Each driver 200 may be developed for communication with the corresponding device 300, and is responsible for a communication function between the application 100 and the device 300. In other words, the driver 200 should be developed to match the I / F required by the application 100 or the driver 200 to match the interface required by the application 100.

기기(300)와의 통신에 필요한 요소로는 기기(300)의 주소 값과 원시데이터 값이 필요하다. 이때 파라미터의 기기(300) 주소 값은 애플리케이션(100)에서 사용자에게 보여지는 파라미터 ID와는 다르게 실제 기기(300)의 주소 값으로 전달되어야 하며, 이 변환작업이 애플리케이션(100)에서 이루어지도록 되어있다. 또한 데이터의 값도 실제 애플리케이션(100)에서 보여지는 값(사람이 이해할 수 있는 엔지니어링 값)과 통신에 사용되는 값(원시데이터)에는 차이가 있으며, 이 변환 또한 애플리케이션(100)에서 변환되어 드라이버(200)에 전달된다. 그러므로 드라이버(200)의 역할은 애플리케이션(100)으로부터 전달된 기기(300)의 주소 값에 데이터 값을 실어서 기기(300)에서 사용되는 통신 방식에 맞는 프로토콜 형태로 변환하여 전달하는 일이다.Elements required for communication with the device 300 need an address value and a raw data value of the device 300. In this case, unlike the parameter ID shown to the user in the application 100, the device 300 address value of the parameter must be transmitted to the address value of the actual device 300, and this conversion is performed in the application 100. In addition, the value of the data is different from the value shown in the actual application 100 (engineering value human understandable) and the value used for communication (raw data), and this conversion is also converted in the application 100 so that the driver ( 200). Therefore, the role of the driver 200 is to load the data value in the address value of the device 300 transferred from the application 100, converts it into a protocol form suitable for the communication method used in the device 300, and delivers it.

애플리케이션(100)은 현장의 기기(300)에 대한 감시와 제어를 위하여 통신이 필요하며, 이러한 통신의 역할을 드라이버(200)가 담당하게 된다. 이때 드라이버(200)는 통신의 대상이 되는 기기(300)의 종류와 통신 방식 즉 프로토콜의 종류에 따라 다르게 개발되어 제공되고 있다. 제공되는 드라이버(200)는 애플리케이션(100)에 I/F(인터페이스)형태로 제공되며, 애플리케이션(100)에서 해당 I/F를 호출하여 사용하는 방식으로 통신이 이루어진다. 도 1에 도시된 바와 같이, 이와 같은 드라이버(200)들은 다양한 기기(300)에 각각 다른 형태의 드라이버로 제공될 수 있다.The application 100 requires communication for monitoring and controlling the device 300 in the field, and the driver 200 is responsible for such communication. In this case, the driver 200 is developed and provided differently according to the type of the device 300 to be communicated with and the communication method, that is, the type of the protocol. The driver 200 provided is provided to the application 100 in the form of an I / F (interface), and communication is performed by calling and using the corresponding I / F in the application 100. As shown in FIG. 1, the drivers 200 may be provided as different types of drivers to the various devices 300.

인터페이스는 애플리케이션(100)에서 필요한 기능을 제공하기 위하여 드라이버(200)에서 개발하여 제공되는 경우도 있으나, 대부분 드라이버(200)에서 제공하는 인터페이스에 맞추어 애플리케이션(100)을 개발하는 것이 일반적이다. 이러한 이유로 드라이버(200)의 종류에 따라 해당 내용을 애플리케이션(100)에 구분 처리되도록 케이스마다 애플리케이션(100)에 반영시켜 수정해야 한다.The interface may be developed and provided by the driver 200 in order to provide functions required by the application 100, but it is common to develop the application 100 according to the interface provided by the driver 200. For this reason, according to the type of the driver 200, the contents should be reflected in the application 100 for each case so as to be separately processed in the application 100.

즉, 도 1을 참조하면, 이종의 기기(300)마다 각각 다른 드라이버(200)가 개발되어 운영될 수 있다. 즉, 기기(300)의 종류와 통신방법(예를 들어, 프로토콜)의 종류가 조합된 개수만큼 서로 다른 드라이버가 개발되어야 함을 알 수 있다. 또한, 애플리케이션(100)의 입장에서는 드라이버(200)마다 제공되는 인터페이스가 서로 다르기 때문에 사용하고자 하는 기기(300)의 개수만큼 드라이버(200)의 인터페이스 호출 부분을 각기 다르게 구현하여야 한다는 문제가 발생한다.That is, referring to FIG. 1, different drivers 200 may be developed and operated for each heterogeneous device 300. That is, it can be seen that different drivers should be developed by the number of combinations of types of device 300 and types of communication methods (for example, protocols). In addition, from the standpoint of the application 100, since the interfaces provided for the drivers 200 are different from each other, a problem arises in that the interface call portions of the driver 200 must be implemented differently as many as the number of devices 300 to be used.

도 2는 도 1에 도시된 애플리케이션(100) 및 드라이버(200)의 상세 블록도이다.FIG. 2 is a detailed block diagram of the application 100 and the driver 200 shown in FIG. 1.

드라이버(200)는 통신에 필요한 정보(기기(300)의 주소 값, 원시 데이터)를 애플리케이션(100)으로부터 전달받아 기기(300)에 전달하고 또한 기기(300)로부터 받은 정보를 애플리케이션(100)에 전달해 준다. 이때, 드라이버(200)의 역할은 정보를 기기(300)가 사용하는 전용 프로토콜의 형식으로 변환하여 통신을 하는 것이다. 이를 위해, 드라이버(200)는 변환부(210)를 포함한다. 만약, 기기(300)가 사용하는 특정 프로토콜이 아닌 다른 프로토콜을 사용하는 경우 드라이버(200)는 애플리케이션(100)과 기기(300) 사이의 통신을 수행할 수 없게 된다. 이 경우에, 해당 프로토콜을 사용하는 드라이버(200)가 별도로 제작되어야 한다.The driver 200 receives information required for communication (address value of the device 300 and raw data) from the application 100 and delivers the information to the device 300, and also transmits the information received from the device 300 to the application 100. Deliver it. In this case, the role of the driver 200 is to communicate information by converting the information into a format of a dedicated protocol used by the device 300. To this end, the driver 200 includes a converter 210. If a device other than the specific protocol used by the device 300 uses a protocol, the driver 200 may not perform communication between the application 100 and the device 300. In this case, the driver 200 using the protocol must be manufactured separately.

드라이버(200)는 애플리케이션(100) 단에서 사용자에게 보여지는 파라미터 이름(ID)을 직접 사용할 수 없고, 해당 파라미터의 주소 값을 이용하여 통신을 하여야 함을 알 수 있다. 이러한 이유로 애플리케이션(100)은 파라미터 ID와 주소 값의 변환 테이블(110)을 가지고 있어야 한다. 또한 통신 데이터가 사용자에게 직접 보여지는 데이터 값(엔지니어링 값)이 아닌 원시데이터 값을 사용해야 하므로 애플리케이션(100)은 파라미터의 데이터 값 변환에 필요한 설정 정보(120)를 알고 있어야 하며 이를 사용자에게 제공할 때 변환하여 표시하여야 한다. The driver 200 may not directly use the parameter name (ID) shown to the user in the application 100, but may know that the driver should communicate using the address value of the corresponding parameter. For this reason, the application 100 must have a translation table 110 of parameter IDs and address values. In addition, since the communication data must use raw data values rather than data values (engineering values) that are directly shown to the user, the application 100 needs to know the setting information 120 necessary for converting the data values of the parameters and provides them to the user. It should be converted and displayed.

드라이버(200)에서 제공하는 프로토콜도 한가지 프로토콜 만을 제공하게 되며, 프로토콜의 종류가 다른 통신을 위해서는 그에 해당하는 드라이버가 개발되어 제공되어야 한다.The protocol provided by the driver 200 also provides only one protocol, and a corresponding driver must be developed and provided for communication of different types of protocols.

도 3은 본 발명의 일 실시 예에 따른 미들웨어 기술을 설명하기 위한 도면이다.3 is a diagram illustrating a middleware technology according to an embodiment of the present invention.

본 발명의 일 실시 예에 따른 기기(300)는 기기(300)의 제어, 감시를 위한 애플리케이션(100)과 기기(300)와 애플리케이션(100)과의 통신을 담당하는 드라이버(400)가 설치되고, 애플리케이션(100)의 실행 및 드라이버(400)의 구동을 제어하는 제어부(미도시)와 기기(300)의 제어, 감시, 그리고 기기(300)와 애플리케이션(100)과의 통신을 지원하기 위한 정보를 저장하는 저장부(미도시)를 포함한다.The device 300 according to an embodiment of the present invention is installed with an application 100 for controlling and monitoring the device 300 and a driver 400 for communication between the device 300 and the application 100 is installed. Information for supporting the control and monitoring of the control unit (not shown) and the device 300 to control the execution of the application 100 and the driving of the driver 400 and the communication between the device 300 and the application 100. It includes a storage unit (not shown) for storing.

애플리케이션(100)은 드라이버의 종류에 상관없이 공통으로 제공되는 미들웨어 공통 API(500)(Application Programming Interface)를 통하여 드라이버(400)와 통신을 할 수 있다. 이때 애플리케이션(100)은 드라이버의 종류에 따라 다르게 구현될 필요가 없으며, 값의 조회 및 쓰기에 해당하는 구현만으로 기기(300)와 통신할 수 있게 된다. 미들웨어에 해당하는 드라이버(400) 단에서는 공통 API(500)로 수집된 내용을 주소변환기(420), 데이터변환기(430) 및 프로토콜처리기(440)를 통하여 애플리케이션(100)에서 해당 기기(300)로 정보를 전달하고, 반대로 해당 기기(300)에서 애플리케이션(100)으로 정보를 전달하게 된다.The application 100 may communicate with the driver 400 through a middleware common API 500 (Application Programming Interface) provided in common regardless of the type of driver. In this case, the application 100 does not need to be implemented differently according to the type of driver, and can communicate with the device 300 only by an implementation corresponding to inquiry and writing of a value. In the driver 400 corresponding to the middleware, the content collected by the common API 500 is transferred from the application 100 to the corresponding device 300 through the address converter 420, the data converter 430, and the protocol processor 440. The information is transmitted and, on the contrary, the information is transmitted from the corresponding device 300 to the application 100.

여기에서, 공통 API(500)는 애플리케이션(100)과 드라이버(400)가 상호 통신하기 위하여 인터페이스로 사용되기 위한 명세에 근거한 소스 코드를 말한다. 공통 API(500)는 루틴, 데이터 구조, 오브젝트 클레스 및 변수를 포함할 수 있다.Here, the common API 500 refers to source code based on a specification for the application 100 and the driver 400 to be used as an interface to communicate with each other. Common API 500 may include routines, data structures, object classes, and variables.

애플리케이션(100)은 기기(300)들과의 통신을 위하여 미들웨어 단의 드라이버(400)에서 제공하는 공통 API(500)를 사용하여 기기 파라미터의 값을 읽고 쓰기를 수행하게 된다. 이때 애플리케이션(100)에서 사용되는 API(500)는 공통이며 변하지 않기 때문에 기기(300)와 통신 방법의 변경에 따라 드라이버(400)가 변한다 하여도 애플리케이션(100)에서는 변경 작업이 필요 없게 된다. The application 100 reads and writes values of device parameters by using the common API 500 provided by the driver 400 of the middleware terminal to communicate with the devices 300. In this case, since the API 500 used in the application 100 is common and does not change, the application 100 does not need to be changed even if the driver 400 changes according to a change in the communication method with the device 300.

도 4는 도 3에 도시된 드라이버(400)의 상세 블록도이다.4 is a detailed block diagram of the driver 400 illustrated in FIG. 3.

애플리케이션(100)은 공통 API(500)를 통하여 파라미터 ID 및 변환데이터(엔지니어링 데이터)를 드라이버(400)에 전달한다. 파라미터 ID는 사용자 인터페이스인 애플리케이션(100)에서만 사용되며 기기(300)와의 통신에 있어서는 파라미터 주소(기기(300)의 주소)가 필요하게 된다. 또한 변환데이터도 기기(300)와의 통신에 있어서는 원시데이터로의 변환이 필요하게 된다. 드라이버(400)는 디바이스 모델(410)에 해당하는 파라미터 정보(412)와 데이터 정보(414)를 통하여 각각 주소 변환과 데이터 변환을 수행한다. 또한 기기와의 통신을 위한 통신 방법(프로토콜) 변환을 위하여 역시 디바이스 모델 중 하나인 기기 데이터 구성정보(416)를 통해 프로토콜 변환작업을 수행하게 된다. 주소 변환은 주소 변환부(420)에서 수행되며, 데이터 변환은 데이터 변환부(430)에서 수행되고, 프로토콜 변환은 프로토콜 변환부(440)에서 수행된다.The application 100 transmits the parameter ID and the conversion data (engineering data) to the driver 400 through the common API 500. The parameter ID is used only in the application 100 which is a user interface and requires a parameter address (the address of the device 300) in communication with the device 300. The converted data also needs to be converted to raw data in communication with the device 300. The driver 400 performs address conversion and data conversion through parameter information 412 and data information 414 corresponding to the device model 410, respectively. In addition, a protocol conversion operation is performed through device data configuration information 416, which is also one of device models, for conversion of a communication method (protocol) for communication with a device. The address conversion is performed by the address conversion unit 420, the data conversion is performed by the data conversion unit 430, and the protocol conversion is performed by the protocol conversion unit 440.

미들웨어인 드라이버(400) 단에서는 실제 통신에 필요한 작업을 수행하게 되는데 도 4에 도시된 바와 같이, 애플리케이션(100)으로부터 받은 정보를 실제 통신에 필요한 정보로의 변환작업을 수행하게 된다. 애플리케이션(100)에서 사용되는 파라미터 ID를 그대로 받아서 실제 기기(300)의 주소로 변환을 하고, 애플리케이션(100)에서의 값 표시에 사용되는 변환 데이터(엔지니어링 값)를 기기(300)와의 통신에 사용되는 원시 데이터로 변환하는 작업을 수행하게 된다. 이러한 변환에 필요한 정보를 드라이버(400)에서 디바이스 모델 정보(410)의 형태로 가지고 있으면서 활용하기에 가능한 기능이다. 또한 디바이스 모델 정보(430)에 포함되는 기기 데이터 구성정보(436)를 이용하여 프로토콜을 변환하여 사용하므로 프로토콜 별 별도의 드라이버 제작 작업 없이 기기 데이터 구성정보(436)를 통하여 기기 별 프로토콜 변환작업이 수행된다.The driver 400, which is middleware, performs tasks required for actual communication. As shown in FIG. 4, the information received from the application 100 is converted into information required for actual communication. Receives the parameter ID used in the application 100 as it is, converts it to the address of the actual device 300, and uses the converted data (engineering value) used to display the value in the application 100 for communication with the device 300. To convert the raw data into It is a function that can be utilized while having the information necessary for the conversion in the form of device model information 410 in the driver 400. In addition, since the protocol is converted using the device data configuration information 436 included in the device model information 430, the protocol conversion operation for each device is performed through the device data configuration information 436 without a separate driver production work for each protocol. do.

이와 같이, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.As such, it should be understood that the above-described embodiments are illustrative in all aspects and not restrictive. The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.

100: 애플리케이션 200: 드라이버
300: 기기 400: 드라이버
500: 공통 API
100: application 200: driver
300: device 400: driver
500: common API

Claims (7)

주소 변환 정보와 데이터 변환 정보를 포함하는 디바이스 모델과 공통 API(Application Program Interface)를 저장하는 저장부; 및
상기 디바이스 모델을 참조하여, 애플리케이션의 사용자 인터페이스를 통해 표시되는 정보와 디바이스에서 인식 가능한 정보를 상호 변환하고, 상기 변환된 정보를 상기 공통 API를 통해 애플리케이션에 전달하고, 프로토콜 변환을 통해 상기 디바이스에 전달하는 드라이버의 구동을 제어하는 제어부를 포함하는 디바이스.
A storage unit for storing a device model including address translation information and data translation information and a common application program interface (API); And
By referring to the device model, the information displayed through the user interface of the application and the information recognizable by the device are mutually converted, and the converted information is transmitted to the application through the common API, and the protocol is transmitted to the device through the conversion. Device comprising a control unit for controlling the driving of the driver.
제1 항에 있어서, 상기 드라이버는,
상기 변환된 정보를 상기 공통 API를 통해 서로 다른 종류의 복수의 애플리케이션들에 전달하는 것을 특징으로 하는 디바이스.
The method of claim 1, wherein the driver,
Device for transmitting the converted information to a plurality of different types of applications through the common API.
제1 항에 있어서, 상기 디바이스 모델은,
프로토콜 변환 정보를 더 포함하고,
상기 드라이버는,
상기 프로토콜 변환 정보에 근거하여 상기 프로토콜 변환을 수행하는 것을 특징으로 하는 디바이스.
The method of claim 1, wherein the device model,
Further includes protocol conversion information,
The driver,
And performing the protocol conversion based on the protocol conversion information.
제1 항에 있어서, 상기 애플리케이션의 사용자 인터페이스를 통해 표시되는 정보는,
파라미터 식별 정보 및 변환 데이터를 포함하고,
상기 디바이스에서 인식 가능한 정보는,
상기 디바이스의 주소 값 및 원시 데이터를 포함하는 것을 특징으로 하는 디바이스.
According to claim 1, Information displayed through the user interface of the application,
Including parameter identification information and conversion data,
Information recognizable by the device,
A device comprising an address value and raw data of the device.
제1 항에 있어서, 상기 제어부는,
상기 애플리케이션의 실행을 제어하는 것을 특징으로 하는 디바이스.
The apparatus of claim 1,
Device for controlling the execution of the application.
제1 항에 있어서, 상기 드라이버는,
통신 드라이버인 것을 특징으로 하는 디바이스.
The method of claim 1, wherein the driver,
A device comprising a communication driver.
제1 항에 있어서, 상기 애플리케이션은,
상기 디바이스의 감시 또는 제어용 애플리케이션인 것을 특징으로 하는 디바이스.
The method of claim 1, wherein the application,
Device for monitoring or control of the device.
KR1020120039396A 2012-04-16 2012-04-16 Middleware technology based on Device model KR101338153B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120039396A KR101338153B1 (en) 2012-04-16 2012-04-16 Middleware technology based on Device model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120039396A KR101338153B1 (en) 2012-04-16 2012-04-16 Middleware technology based on Device model

Publications (2)

Publication Number Publication Date
KR20130116743A true KR20130116743A (en) 2013-10-24
KR101338153B1 KR101338153B1 (en) 2013-12-06

Family

ID=49635747

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120039396A KR101338153B1 (en) 2012-04-16 2012-04-16 Middleware technology based on Device model

Country Status (1)

Country Link
KR (1) KR101338153B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101453372B1 (en) * 2014-04-15 2014-10-22 주식회사 스마티랩 SYSTEM FOR MEDIATE HETEROGENEOUS DATA EXCHANGE OF IoT DEVICES IN INTERNET OF THINGS
KR20160027789A (en) * 2014-09-02 2016-03-10 엘에스산전 주식회사 Modbus to echonet lite protocol converter

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100422251B1 (en) * 2001-12-07 2004-03-11 삼성전자주식회사 Multimedia gateway
KR20030063600A (en) * 2002-01-23 2003-07-31 주식회사 엘지이아이 Apparatus and method for controlling analog devices by using the home network system
KR100493883B1 (en) * 2003-01-02 2005-06-10 삼성전자주식회사 System and method for managing application
KR100876958B1 (en) * 2006-05-27 2009-01-28 한미아이티 주식회사 A Middleware for Data Communication Between Various Terminals and Application Server and An Operating Method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101453372B1 (en) * 2014-04-15 2014-10-22 주식회사 스마티랩 SYSTEM FOR MEDIATE HETEROGENEOUS DATA EXCHANGE OF IoT DEVICES IN INTERNET OF THINGS
KR20160027789A (en) * 2014-09-02 2016-03-10 엘에스산전 주식회사 Modbus to echonet lite protocol converter

Also Published As

Publication number Publication date
KR101338153B1 (en) 2013-12-06

Similar Documents

Publication Publication Date Title
US9398097B2 (en) Method for servicing a field device
CN102736565B (en) Communication method of automatic control equipment based on upper and lower computer structures
CN102523103B (en) Industrial monitoring network data collection node
US20110238188A1 (en) Engineering tool
JP2010272971A (en) Control system and method for rewriting control program
JP2016115344A (en) Systems and methods for memory map utilization
WO2014191627A1 (en) An apparatus and a system for controlling sensors
US10250413B2 (en) Facility system
JP7000686B2 (en) Control device
CN105100208A (en) Communication method of mobile terminal and wearable device
KR101338153B1 (en) Middleware technology based on Device model
CN103092609A (en) Method and man-machine interaction device for displaying interaction of configuration software and collector data
CN202583833U (en) Multi-motor intelligent servo system based on internet of things technology
US20080155115A1 (en) Method for data transmission
US8301273B2 (en) Method for providing functions in an industrial automation system, control program and industrial automation system
CN203754167U (en) Handheld terminal for elevator debugging and maintenance
JP2021530760A (en) Distributed multi-node control system and method
CN102004716A (en) System and method for realizing device sharing
KR20190029977A (en) A control system for device and process for operationg the control system
CN108196866B (en) Firmware updating method and device
CN202906948U (en) Communication apparatus based on modbus_RTU bus
CN110941195A (en) Smart home Modbus master control system controlled by portable terminal
CN110941245B (en) Monitoring method, device and system
CN114095303B (en) Communication device, data transmission method and electronic device
US11622015B2 (en) Method for configuring an OPC UA PubSub subscriber, automation system, computer program and computer-readable medium

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
FPAY Annual fee payment

Payment date: 20161010

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171011

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181001

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191001

Year of fee payment: 7