KR100959100B1 - Method and Apparatus for arranging BACnet objects - Google Patents

Method and Apparatus for arranging BACnet objects Download PDF

Info

Publication number
KR100959100B1
KR100959100B1 KR1020080038894A KR20080038894A KR100959100B1 KR 100959100 B1 KR100959100 B1 KR 100959100B1 KR 1020080038894 A KR1020080038894 A KR 1020080038894A KR 20080038894 A KR20080038894 A KR 20080038894A KR 100959100 B1 KR100959100 B1 KR 100959100B1
Authority
KR
South Korea
Prior art keywords
bacnet
attribute
objects
information
memory
Prior art date
Application number
KR1020080038894A
Other languages
Korean (ko)
Other versions
KR20090113032A (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 KR1020080038894A priority Critical patent/KR100959100B1/en
Publication of KR20090113032A publication Critical patent/KR20090113032A/en
Application granted granted Critical
Publication of KR100959100B1 publication Critical patent/KR100959100B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44557Code layout in executable memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 BACnet오브젝트를 관리하는 장치에 관한 것이다. 고정구조속성의 BACnet오브젝트들에 대응되는 고정크기의 제 1 메모리영역과 가변구조속성의 BACnet오브젝트들에 대응되는 적응형크기의 제 2 메모리영역을 설정하고, 인덱스를 이용하여 BACnet 오브젝트를 관리한다.

Figure R1020080038894

BACnet오브젝트, 오브젝트, 가변성구조

The present invention relates to an apparatus for managing a BACnet object. A first memory area having a fixed size corresponding to the BACnet objects of the fixed structure attribute and a second memory area having an adaptive size corresponding to the BACnet objects of the variable structure attribute are set, and the BACnet object is managed using an index.

Figure R1020080038894

BACnet objects, objects, mutable structures

Description

BACnet오브젝트를 관리하는 장치 및 방법{Method and Apparatus for arranging BACnet objects}Device and method for managing objects {Method and Apparatus for arranging BACnet objects}

본 발명은 내장형 BACnet 장치에서 가변적 구조를 지니는 BACnet 오브젝트를 관리하는 방법에 관한 것이다. The present invention relates to a method for managing a BACnet object having a variable structure in an embedded BACnet device.

BACnet에서 정의하는 BACnet 오브젝트들은 다양한 형태의 속성정보들을 지닌다. 속성 정보들은 하나의 수치 정보와 같은 단순한 형태일 수도 있고 크기와 구조에 있어서 가변적인 구조를 갖는 복잡한 형태일 수도 있다. 경우에 따라서는 이러한 것들의 리스트 형태일 수도 있다.BACnet objects defined in BACnet have various types of attribute information. The attribute information may be a simple form such as one numerical information or a complex form having a variable structure in size and structure. In some cases, this may be in the form of a list of these.

빌딩 자동 제어 시스템에서 사용되는 BACnet 장치들은 내장형 시스템이므로, 내장형 시스템의 특성에 적합한 다양한 속성 정보를 지니는 오브젝트들을 관리하기 위한 체계적이고 효율적인 방법이 요구된다. Since the BACnet devices used in the building automatic control system are embedded systems, a systematic and efficient method for managing objects having various attribute information suitable for the characteristics of the embedded system is required.

BACnet에서 정의하는 BACnet 오브젝트들은 다양한 형태의 속성정보들을 지닌다. 속성 정보들은 하나의 수치 정보와 같은 단순한 형태일 수도 있고 크기와 구조에 있어서 가변적인 구조를 갖는 복잡한 형태일 수도 있다. 경우에 따라서는 이러한 것들의 리스트 형태일 수도 있다.BACnet objects defined in BACnet have various types of attribute information. The attribute information may be a simple form such as one numerical information or a complex form having a variable structure in size and structure. In some cases, this may be in the form of a list of these.

빌딩 자동 제어 시스템에서 사용되는 BACnet 장치들은 내장형 시스템이므로, 내장형 시스템의 특성에 적합한 다양한 속성 정보를 지니는 오브젝트들을 관리하기 위한 체계적이고 효율적인 방법이 요구된다. Since the BACnet devices used in the building automatic control system are embedded systems, a systematic and efficient method for managing objects having various attribute information suitable for the characteristics of the embedded system is required.

종래의 BACnet 오브젝트 구현방법에는 고정구조 오브젝트 구현방법과 가변구조 오브젝트 구현방법이 있다. 그러나, 종래의 이러한 구현 방법은 동적 할당과 간접 참조의 문제점을 내포하고 있다. Conventional BACnet object implementation methods include a fixed structure object implementation method and a variable structure object implementation method. However, this conventional implementation method involves the problems of dynamic allocation and indirect reference.

따라서, 본 발명에서는 종래 기술의 문제점을 해결하면서 BACnet장치에서 BACnet오브젝트를 관리하는 효율적인 방법에 대해서 제시하겠다.Therefore, in the present invention, an efficient method of managing a BACnet object in a BACnet device while solving the problems of the prior art will be presented.

본 발명에서는 종래의 고정구조 오브젝트에서 불필요한 메모리 사용과, 정해진 크기 이상 속성 정보를 포함할 수 없었던 문제점을 해결하고자 한다. 또한, 종래의 가변구조 오브젝트에서 빈번한 동적할당으로 인한 메모리 단편화 문제와 오브젝트 삭제시 메모리 영역 해제를 하지 않아 발생하는 메모리 누수의 문제점을 해결하고자 한다. The present invention is to solve the problem that the conventional fixed structure object can not include unnecessary memory usage and attribute information over a predetermined size. In addition, a memory fragmentation problem caused by frequent dynamic allocation in a conventional variable structure object and a memory leak caused by not releasing a memory area when deleting an object are solved.

본 발명에서는 메모리 영역 내부에 가변 크기 속성 정보를 위한 메모리를 확보하고 이를 관리하는 가변크기 오브젝트를 구현함으로써, 이상과 같은 문제점을 해결하고자 한다.The present invention solves the above problems by implementing a variable size object that secures and manages a memory for variable size attribute information in a memory area.

본 발명에서 제시하는 BACnet오브젝트를 관리하는 방법은 제한된 메모리 용량을 갖는 내장형 BACnet 장치에 있어서 메모리를 절약적으로 사용하여 많은 양의 가변적인 구조를 갖는 BACnet 오브젝트들을 효과적으로 다룰 수 있다. The method for managing a BACnet object proposed in the present invention can effectively handle BACnet objects having a large amount of variable structure by using memory in a built-in BACnet device having a limited memory capacity.

또한, 간접 참조 방식의 메모리 동적할당을 사용하지 않는 대신 제안된 인덱스에 의한 오브젝트 관리 방법을 사용하게 되면 훨씬 더 안정적으로 BACnet 장치를 구현할 수 있다. In addition, the BACnet device can be implemented more stably if the object management method using the proposed index is used instead of the memory dynamic allocation of the indirect reference method.

본 발명의 바람직한 일 실시예로서, 고정구조속성과 가변구조속성의 BACnet 오브젝트를 관리하는 장치는 상기 고정구조속성의 BACnet오브젝트들에 대응되는 고정크기의 제 1 메모리영역과 상기 가변구조속성의 BACnet오브젝트들에 대응되는 적응형크기의 제 2 메모리영역을 포함하는 메모리부; 상기 BACnet오브젝트 각각의 식별자와 각 식별자에 대응되는 BACnet오브젝트의 메모리 위치정보 및 크기정보를 포함하는 인덱스부; 를 포함한다. In a preferred embodiment of the present invention, an apparatus for managing a BACnet object of a fixed structure attribute and a variable structure attribute includes a first memory area of a fixed size corresponding to the BACnet objects of the fixed structure attribute and a BACnet object of the variable structure attribute. A memory unit including a second memory area of an adaptive size corresponding to the memory units; An index unit including an identifier of each of the BACnet objects and memory location information and size information of a BACnet object corresponding to each identifier; It includes.

본 발명의 또 다른 바람직한 일 실시예로서, 고정구조속성과 가변구조속성의 BACnet오브젝트를 관리하는 방법은 상기 고정구조속성의 BACnet오브젝트들에 대응되는 고정크기의 제 1 메모리영역과 상기 가변구조속성의 BACnet오브젝트들에 대응되는 적응형크기의 제 2 메모리영역을 설정하는 메모리설정단계; 상기 BACnet오브젝트 각각의 식별자와 각 식별자에 대응되는 BACnet오브젝트의 메모리 위치정보 및 크기정보를 매칭하는 인덱스테이블을 생성하는단계; 를 포함한다. According to another preferred embodiment of the present invention, a method for managing a BACnet object of a fixed structure attribute and a variable structure attribute includes a first memory area having a fixed size corresponding to the BACnet objects of the fixed structure attribute and the variable structure attribute. A memory setting step of setting a second memory area of an adaptive size corresponding to BACnet objects; Generating an index table matching the identifier of each BACnet object and memory location information and size information of the BACnet object corresponding to each identifier; It includes.

이하에서, 도면을 참조하여 본 발명의 실시예에 대하여 상세히 설명하기로 한다. 도면들 중 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들로 나타내고 있음에 유의해야 한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noted that the same elements among the drawings are denoted by the same reference numerals and symbols as much as possible even though they are shown in different drawings.

하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.In the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

또한, 본 발명에 보다 더 충실하도록 하기 위해서, 본 발명의 취지를 벗어나지 않는 범위 내에서 당업자 수준의 변경이나 변형이 있을 수 있음을 명기하는 바이다.In addition, in order to be more faithful to the present invention, it is noted that changes or modifications can be made by those skilled in the art without departing from the spirit of the present invention.

도 1(a) 및 (b) 는 BACnet 오브젝트를 구현하는 기존 방법을 도시한다. 1 (a) and (b) illustrate an existing method of implementing a BACnet object.

종래의 BACnet 오브젝트 구현방법에는 도 1 (a)에 도시된 것과 같은 고정구조 오브젝트 구현방법과 도 1(b)에 도시된 것과 같은 가변구조 오브젝트 구현방법이 있다. Conventional BACnet object implementation methods include a fixed structure object implementation method as shown in Figure 1 (a) and a variable structure object implementation method as shown in Figure 1 (b).

도 1(a)에 도시된 바와 같은 고정구조 오브젝트 구현방법에서는 오브젝트 구조체 변수 영역 내부에 모든 속성 정보가 들어있으며, 간접 참조는 이루어지지 않는다. 따라서, 고정구조 오브젝트 구현방법에서는 BACnet 오브젝트의 구조 및 크기를 사전에 고정해야 한다. In the method of implementing a fixed structure object as shown in FIG. 1A, all the attribute information is contained in the object structure variable region, and no indirect reference is made. Therefore, in the fixed structure object implementation method, the structure and size of the BACnet object must be fixed in advance.

다만, 이 경우 사전에 오브젝트의 구조나 크기를 고정함으로써 불필요하게 메모리를 사용하는 경우가 발생할 수 있으며, 또한 고정된 크기 이상으로 속성 정보를 포함할 수 없는 문제점이 존재한다. However, in this case, the memory may be unnecessarily used by fixing the structure or size of the object in advance, and there is a problem that the attribute information cannot be included beyond the fixed size.

도 1(a)에 도시된 바와 같은 가변구조 오브젝트 구현방법에서는 오브젝트 구조체 변수 영역 내부에 속성 정보를 포함할 수 있으며, 일부 속성 정보는 오브젝트 구조체 변수 영역 외부에 존재한다. 따라서, 오브젝트 구조체 변수에서는 외부에 존재하는 속성에 대한 참조를 포함하고, 간접 참조가 이루어진다.In the method of implementing a variable structure object as illustrated in FIG. 1A, attribute information may be included in an object structure variable region, and some attribute information exists outside the object structure variable region. Thus, object structure variables contain references to externally existing attributes, and indirect references are made.

가변구조 오브젝트 구현방법의 경우, 일부 속성 정보가 오브젝트 구조체 변수 영역 외부에 존재하므로 메모리를 동적 할당받아 사용한다. 그러나, 빈번한 메모리 동적 할당으로 메모리 단편화 문제가 발생할 수 있다. In the case of the variable structure object implementation method, some attribute information exists outside the object structure variable area so that memory is dynamically allocated and used. However, frequent memory dynamic allocation can cause memory fragmentation problems.

또한, 오브젝트를 삭제할 경우 참조된 속성값이 존재하는 메모리 영역을 해제하여야 하는데, 이를 해제하지 않을 경우 메모리가 누수되는 문제점이 존재한다. In addition, when the object is deleted, the memory area in which the referenced attribute value exists must be released. Otherwise, the memory leaks.

BACnet에서 정의하는 BACnet 오브젝트들은 다양한 형태의 속성정보들을 지닌다. 속성 정보들은 간단한 형태일 수도 있고 크기와 구조에 있어 가변적인 리스트 형태일 수도 있다. 빌딩 자동 제어 시스템에서 사용되는 BACnet 장치들은 내장형 시스템이므로, 내장형 시스템의 특성에 적합한 다양한 속성 정보를 지니는 오브젝트들을 관리하기 위한 체계적이고 효율적인 방법이 요구된다. BACnet objects defined in BACnet have various types of attribute information. The attribute information may be in a simple form or in a list form that is variable in size and structure. Since the BACnet devices used in the building automatic control system are embedded systems, a systematic and efficient method for managing objects having various attribute information suitable for the characteristics of the embedded system is required.

도 2 는 본 발명의 바람직한 일 실시예로서, BACnet오브젝트를 관리하는 장치의 내부 구성도를 도시한다. FIG. 2 is a diagram illustrating an internal configuration of an apparatus for managing a BACnet object as a preferred embodiment of the present invention.

BACnet오브젝트를 관리하는 장치는 인덱스부(200) 및 메모리부(210)를 포함하고, 메모리부(210)는 제 1 메모리영역(220)과 제 2 메모리영역(230)을 포함한다. The apparatus for managing the BACnet object includes an index unit 200 and a memory unit 210, and the memory unit 210 includes a first memory area 220 and a second memory area 230.

인덱스부(200)는 BACnet오브젝트 각각의 식별자와 각 식별자에 대응되는 BACnet오브젝트의 메모리 위치정보 및 크기정보를 포함한다. BACnet오브젝트 인덱스부의 일 예는 도 3을 참고한다. The index unit 200 includes an identifier of each BACnet object and memory location information and size information of a BACnet object corresponding to each identifier. See FIG. 3 for an example of the BACnet object index unit.

제 1 메모리영역(220)은 고정구조속성의 BACnet오브젝트들에 대한 속성정보를 포함하고, 고정된 크기를 지닌다. 또한, 제 1 메모리영역(220)은 BACnet오브젝트의 고정구조속성 및 가변구조속성의 속성정보를 지닌 헤더를 포함한다. 구체적인 일 예로 스케쥴 오브젝트의 설정 속성을 위한 헤더는 도 5(c)를 참고한다. The first memory area 220 includes attribute information on BACnet objects of fixed structure attributes and has a fixed size. In addition, the first memory area 220 includes a header having attribute information of the fixed structure attribute and the variable structure attribute of the BACnet object. As a specific example, the header for the configuration attribute of the schedule object is described with reference to FIG. 5 (c).

제 2 메모리영역(230)은 BACnet오브젝트의 가변구조속성의 속성정보를 지닌 헤더를 포함한다. The second memory area 230 includes a header having attribute information of the variable structure attribute of the BACnet object.

도 3 은 인덱스부의 일 예인 인덱스 테이블을 도시한다. 3 illustrates an index table that is an example of an index unit.

BACnet오브젝트의 인덱스테이블은 개별 오브젝트 정보가 어디에 존재하는지 쉽게 알려주며, BACnet오브젝트 각각의 식별자와 각 식별자에 대응되는 BACnet오브젝트의 메모리 위치정보 및 크기정보를 포함한다. The index table of the BACnet object easily indicates where the individual object information exists, and includes the identifier of each BACnet object and the memory location information and size information of the BACnet object corresponding to each identifier.

도 3 에 도시된 인덱스부는 2가지 관점에서 속성을 분류한 인덱스를 이용하고 있다. 먼저, 설정속성은 사용자가 사전에 정의해 놓은 속성을 의미하고, 실시간 속성은 시스템이나 장치 내부에서 정해지는 속성을 의미한다. 다음으로, 속성의 크기가 고정인지 가변적인가에 따라 분류한다.The index unit shown in FIG. 3 uses an index that classifies attributes from two viewpoints. First of all, the setting attribute refers to a property defined in advance by the user, and the real-time property refers to a property determined in the system or device. Next, they are classified according to whether the size of the attribute is fixed or variable.

도 4 는 도 3의 인덱스테이블에 따라 메모리를 사용하는 개념을 도시한다. 4 illustrates a concept of using a memory according to the index table of FIG. 3.

도 4에 표시된 인덱스테이블에는 BACnet 장치가 갖는 개별 오브젝트들에 대한 인덱스 정보를 갖는다. 하나의 오브젝트에 대한 인덱스 정보는 해당 오브젝트의 설정 정보와 실시간 정보 영역에 대한 시작 주소와 각각의 크기 정보를 갖는다. 도 4에서 예를 든 BACnet 장치는 3개의 오브젝트를 갖고 있기 때문에 3개의 인덱스 정보를 갖고 있다.The index table shown in FIG. 4 has index information on individual objects of the BACnet device. The index information of one object has setting information of the corresponding object, a start address of the real-time information area, and size information of each object. Since the BACnet device illustrated in FIG. 4 has three objects, it has three index information.

도 5 내지 도 10은 본 발명의 개념을 스케쥴 오브젝트를 이용하여 도시한다. 5 through 10 illustrate the concept of the present invention using a schedule object.

도 5는 BACnet오브젝트 중 스케줄 오브젝트의 정의를 도시한다. 5 illustrates the definition of a schedule object in a BACnet object.

도 6은 본 발명에 따라 구성한 스케줄 오브젝트의 메모리 영역을 도시한다. 6 illustrates a memory area of a schedule object constructed in accordance with the present invention.

메모리 영역은 설정 속성 영역(610)과 실시간 속성 영역(620)으로 구분되고, 설정 속성 영역(610)과 실시간 속성 영역(620) 각각은 제 1 메모리 영역과 제 2 메모리 영역을 포함한다. The memory area is divided into a setting property area 610 and a real time property area 620, and each of the setting property area 610 and the real time property area 620 includes a first memory area and a second memory area.

제 1 메모리 영역은 고정크기로서 헤더 정보와 고정크기 속성을 포함하고, 제 2 메모리 영역은 적응형의 가변크기로서 가변크기 속성을 포함한다. The first memory area includes header information and a fixed size attribute as a fixed size, and the second memory area includes a variable size attribute as an adaptive variable size.

도 7은 스케줄오브젝트의 설정속성영역(610)을 위한 헤더정보를 도시한다. 헤더정보는 BACnet오브젝트의 가변구조속성의 속성정보를 포함한다(730).7 shows header information for the setting attribute area 610 of the schedule object. The header information includes attribute information of the variable structure attribute of the BACnet object (730).

도 8은 본 발명에 따라 스케쥴 오브젝트의 메모리부를 설정한 일 예를 도시한다. 8 illustrates an example of setting a memory unit of a schedule object according to the present invention.

메모리부는 크게 고정크기 속성의 제 1 메모리 영역(810)과 가변크기 속성의 제 2 메모리 영역(820)으로 구성된다. 스케줄 오브젝트의 경우 5개의 가변 크기 속성을 갖고 있으므로, 제 1 메모리영역(810)은 각각의 가변크기 속성에 대한 오프셋과 고정크기 공통 속성 및 기타 고정 속성에 대한 정보를 포함하는 헤더 정보를 포함한다. The memory unit is largely composed of a first memory region 810 having a fixed size attribute and a second memory region 820 having a variable size attribute. Since the schedule object has five variable size attributes, the first memory area 810 includes header information including information about an offset for each variable size attribute, a fixed size common attribute, and other fixed attributes.

제 2 메모리 영역은 상대적인 오프셋을 이용하여 접근되고, 가변크기 속성의 개수에 대응되도록 적응적으로 메모리의 크기가 설정된다. The second memory area is accessed using a relative offset, and the size of the memory is adaptively set to correspond to the number of variable size attributes.

도 9 는 본 발명에 따라 가변속성정보를 관리하는 방법을 도시한다.9 illustrates a method of managing variable attribute information according to the present invention.

BACnet에서 정보를 다루는 기본단위는 오브젝트에 속하는 속성으로서, 한 오브젝트의 특정한 속성 값을 얻거나 변경하기 위해서는 다음과 같은 동작과 그에 대응되는 전달해야 하는 정보가 필요하다. The basic unit that handles information in BACnet is an attribute belonging to an object. In order to obtain or change a specific attribute value of an object, the following operations and corresponding information to be transmitted are required.

먼저, 배열 속성이 아닌 경우에 오브젝트의 속성 값을 얻고자 하는 경우 오브젝트 식별자와 속성 식별자를 전달한다. 오브젝트의 속성값을 변경하고자 하는 경우에는 오브젝트 식별자, 속성 식별자 및 오브젝트 속성값을 전달한다. First, if you want to get the property value of an object when it is not an array property, the object identifier and property identifier are passed. When changing an attribute value of an object, an object identifier, an attribute identifier, and an object attribute value are transmitted.

다음으로, 배열 속성인 경우에 오브젝트의 속성 값을 얻고자 하는 경우 오브젝트 식별자, 속성 식별자 및 배열 인덱스를 전달한다. 오브젝트의 속성값을 변경 하고자 하는 경우에는 오브젝트 식별자, 속성 식별자, 오브젝트 속성값 및 배열 인덱스를 전달한다. Next, in the case of an array attribute, when an object attribute value is to be obtained, an object identifier, an attribute identifier, and an array index are transmitted. If you want to change the property value of an object, the object identifier, property identifier, object property value, and array index are delivered.

본 발명에서는 가변구조 속성을 배열 속성으로 구조화 한다. In the present invention, the variable structure attribute is structured as an array attribute.

즉, 도 8에 도시된 바와 같이 제 2 메모리영역은 메모리부 내에서 연속된 메모리 공간내에서 설정되어 배열속성으로 구조화 하며, 간접참조를 수행하지 않는다. That is, as shown in FIG. 8, the second memory area is set in a contiguous memory space in the memory unit and structured as an array attribute, and does not perform indirect reference.

그리고, 오프셋에 의해 지정된 가변 속성 정보는 도 9에 도시된 바와 같은 형태를 지닌다. The variable attribute information designated by the offset has a form as shown in FIG. 9.

먼저, 모든 가변구조 속성에 대한 속성정보의 헤더부는 고정크기로 설정한다(910). 다음으로, 본 발명의 일 실시예에서는 BACnet에서 데이터 사이즈를 표기하는 방식을 그대로 채용하여 태그화된 사이즈 정보는 6바이트로 구성된다(920).First, the header portion of the attribute information for all the variable structure attributes is set to a fixed size (910). Next, in one embodiment of the present invention, the size information tagged using the method of noting the data size in BACnet as it is is composed of 6 bytes (920).

6바이트는 최대 4바이트로 표현할 수 있는 데이터 크기를 담기 위하여 정의된 값이다. 만일 6바이트 중에 일부만 사용하여 데이터 크기를 표현할 수 있는 경우에는, 나머지 바이트를 특정 데이터로 채운다. 본 발명에서는 일 예로서 0xaa 로 채운다. 이 경우 배열 요소는 속성정보의 종류에 따라 다양한 데이터 구조를 지닐 수 있다. 6 bytes is a value defined to hold a data size that can be represented by up to 4 bytes. If only part of the 6 bytes can be used to represent the data size, the remaining bytes are filled with specific data. In the present invention, it is filled with 0xaa as an example. In this case, the array element may have various data structures according to the type of attribute information.

도 10(a) 및 (b)는 스케줄오브젝트의 가변크기 속성인 Exception_Schedule을 볼 발명에 따라 관리하는 예를 도시한다. 10 (a) and 10 (b) show an example of managing Exception_Schedule, which is a variable size attribute of a schedule object, according to the present invention.

도 10(a)는 BACnet 오브젝트의 가변 속성 가운데 대표적인 스케쥴 오브젝트의 Exception_Schedule 속성 정보가 메모리에 위치할 때에 어떻게 구성되는 가에 대한 예이다. FIG. 10 (a) is an example of how Exception_Schedule attribute information of a representative schedule object among the variable attributes of a BACnet object is configured when located in a memory.

도 10(a)에서 Exception_Schedule은 3개의 요소를 갖는 리스트 형태의 속성이다. 각각의 요소는 크기와 구조가 가변적이다.In FIG. 10 (a), Exception_Schedule is a list type attribute having three elements. Each element is variable in size and structure.

도 10(b)에서 보면 알 수 있듯이 3개의 요소는 각각의 크기가 16, 30, 20 바이트로 모두 다 다르지만, 속성 정보의 앞 부분에는 이러한 것들을 충분히 고려할 수 있도록 구성된다.As can be seen in FIG. 10 (b), the three elements are all different in size, 16, 30, and 20 bytes, but the front of the attribute information is configured to sufficiently consider these things.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플라피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. Computer-readable recording media include all kinds of recording devices that store data that can be read by a computer system. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, which are also implemented in the form of carrier waves (for example, transmission over the Internet). It also includes. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

이상 도면과 명세서에서 최적 실시예들이 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. The best embodiments have been disclosed in the drawings and specification above. Although specific terms have been used herein, they are used only for the purpose of describing the present invention and are not used to limit the scope of the present invention as defined in the meaning or claims.

그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

도 1(a) 및 (b) 는 BACnet 오브젝트를 구현하는 기존 방법을 도시한다. 1 (a) and (b) illustrate an existing method of implementing a BACnet object.

도 2 는 본 발명의 바람직한 일 실시예로서, BACnet오브젝트를 관리하는 장치의 내부 구성도를 도시한다. FIG. 2 is a diagram illustrating an internal configuration of an apparatus for managing a BACnet object as a preferred embodiment of the present invention.

도 3 은 인덱스부의 일 예인 인덱스 테이블을 도시한다. 3 illustrates an index table that is an example of an index unit.

도 4 는 도 3 의 인덱스테이블에 따라 메모리를 사용하는 개념을 도시한다. 4 illustrates a concept of using a memory according to the index table of FIG. 3.

도 5는 BACnet오브젝트 중 스케줄 오브젝트의 정의를 도시한다. 5 illustrates the definition of a schedule object in a BACnet object.

도 6은 본 발명에 따라 구성한 스케줄 오브젝트의 메모리 영역을 도시한다. 6 illustrates a memory area of a schedule object constructed in accordance with the present invention.

도 7은 스케줄오브젝트의 헤더정보를 도시한다.7 shows header information of a schedule object.

도 8은 본 발명에 따라 스케쥴 오브젝트의 메모리부를 설정한 일 예를 도시한다. 8 illustrates an example of setting a memory unit of a schedule object according to the present invention.

도 9 는 본 발명에 따라 가변속성정보를 관리하는 방법을 도시한다.9 illustrates a method of managing variable attribute information according to the present invention.

도 10(a) 및 (b)는 스케줄오브젝트의 가변크기 속성인 Exception_Schedule을 볼 발명에 따라 관리하는 예를 도시한다.10 (a) and 10 (b) show an example of managing Exception_Schedule, which is a variable size attribute of a schedule object, according to the present invention.

Claims (14)

고정구조속성과 가변구조속성의 BACnet오브젝트를 관리하는 장치로서,As a device that manages BACnet objects of fixed and variable structure attributes, 상기 고정구조속성의 BACnet오브젝트들에 대응되는 고정크기의 제 1 메모리영역과 상기 가변구조속성의 BACnet오브젝트들에 대응되는 적응형크기의 제 2 메모리영역을 포함하는 메모리부;A memory unit including a fixed sized first memory area corresponding to the BACnet objects of the fixed structure attribute and an adaptive sized second memory area corresponding to the BACnet objects of the variable structure attribute; 상기 고정구조속성의 BACnet오브젝트들 및 상기 가변구조속성의 BACnet오브젝트들 각각의 식별자와 각 식별자에 대응되는 BACnet오브젝트의 메모리 위치정보 및 크기정보를 포함하는 인덱스부; 를 포함하는 것을 특징으로 하는 BACnet오브젝트를 관리하는 장치.An index unit including an identifier of each of the BACnet objects of the fixed structure attribute and the BACnet objects of the variable structure attribute, and memory location information and size information of a BACnet object corresponding to each identifier; Apparatus for managing a BACnet object comprising a. 제 1 항에 있어서, 상기 제 1 메모리영역은 The memory device of claim 1, wherein the first memory area comprises: BACnet오브젝트의 상기 고정구조속성 및 상기 가변구조속성의 속성정보를 지닌 헤더를 포함하는 것을 특징으로 하는 BACnet오브젝트를 관리하는 장치.And a header having attribute information of the fixed structure attribute and the variable structure attribute of the BACnet object. 제 1 항에 있어서, 상기 제 2 메모리영역은 The method of claim 1, wherein the second memory area is BACnet오브젝트의 상기 가변구조속성의 속성정보를 지닌 헤더를 포함하는 것을 특징으로 하는 BACnet오브젝트를 관리하는 장치.And a header having attribute information on the variable structure attribute of the BACnet object. 제 1 항에 있어서, 상기 인덱스부는The method of claim 1, wherein the index unit 상기 가변구조속성을 갖는 각각의 BACnet오브젝트들이 존재하는 메모리의 시작주소를 나타내는 오프셋 정보를 포함하는 것을 특징으로 하는 BACnet오브젝트를 관리하는 장치.And offset information indicating a start address of a memory in which the respective BACnet objects having the variable structure attribute exist. 제 4 항에 있어서, 상기 제 2 메모리영역은 The method of claim 4, wherein the second memory area is 상기 가변구조속성의 BACnet오브젝트의 속성정보를 지닌 헤더 내의 정보 및 상기 오프셋 정보를 기초로 각각의 상기 가변구조속성의 BACnet오브젝트에 대응되는 메모리 크기를 적응적으로 설정하는 것을 특징으로 하는 BACnet오브젝트를 관리하는 장치.BACnet object management, characterized by adaptively setting the memory size corresponding to each BACnet object of the variable structure attribute based on the information in the header and the offset information of the BACnet object of the variable structure attribute Device. 제 5 항에 있어서, 상기 제 2 메모리영역은 The method of claim 5, wherein the second memory area is 상기 메모리부 내에서 연속된 메모리 공간내에서 설정되는 것을 특징으로 하는 BACnet오브젝트를 관리하는 장치.And a BACnet object set in a contiguous memory space in the memory unit. 제 2 항에 있어서, 상기 속성정보는 The method of claim 2, wherein the attribute information is BACnet오브젝트의 개수, BACnet오브젝트의 식별정보 및 BACnet오브젝트의 크기가 고정인지 가변인지에 관한 크기정보, BACnet오브젝트가 사용자에 의해 지정되는 것인지 시스템에 의해 지정되는 것인지를 알려주는 종류정보를 포함하는 것을 특징으로 하는 BACnet오브젝트를 관리하는 장치.The number of BACnet objects, identification information of BACnet objects, size information on whether the size of BACnet objects is fixed or variable, and type information indicating whether the BACnet objects are designated by the user or the system. Device that manages BACnet objects. 고정구조속성과 가변구조속성의 BACnet오브젝트를 관리하는 방법으로서,As a way to manage BACnet objects of fixed and variable structure attributes, 상기 고정구조속성의 BACnet오브젝트들에 대응되는 고정크기의 제 1 메모리영역과 상기 가변구조속성의 BACnet오브젝트들에 대응되는 적응형크기의 제 2 메모리영역을 설정하는 메모리설정단계;Setting a first memory area having a fixed size corresponding to the BACnet objects of the fixed structure attribute and a second memory area having an adaptive size corresponding to the BACnet objects of the variable structure attribute; 상기 고정구조속성의 BACnet오브젝트들 및 상기 가변구조속성의 BACnet오브젝트들 각각의 식별자와 각 식별자에 대응되는 BACnet오브젝트의 메모리 위치정보 및 크기정보를 매칭하는 인덱스테이블을 생성하는단계; 를 포함하는 것을 특징으로 하는 BACnet오브젝트를 관리하는 방법.Generating an index table matching the identifiers of the BACnet objects of the fixed structure attribute and the BACnet objects of the variable structure attribute and memory location information and size information of the BACnet object corresponding to each identifier; How to manage the BACnet object, characterized in that it comprises a. 제 8 항에 있어서, 상기 제 1 메모리영역은 The method of claim 8, wherein the first memory area is BACnet오브젝트의 상기 고정구조속성 및 상기 가변구조속성의 속성정보를 지닌 헤더를 포함하는 것을 특징으로 하는 BACnet오브젝트를 관리하는 방법.And a header having attribute information of the fixed structure attribute and the variable structure attribute of the BACnet object. 제 8 항에 있어서, 상기 제 2 메모리영역은 The method of claim 8, wherein the second memory area is BACnet오브젝트의 상기 가변구조속성의 속성정보를 지닌 헤더를 포함하는 것을 특징으로 하는 BACnet오브젝트를 관리하는 방법.A method for managing a BACnet object, comprising a header having attribute information of the variable structure attribute of a BACnet object. 제 8 항에 있어서, 상기 인덱스테이블은The method of claim 8, wherein the index table 상기 가변구조속성을 갖는 각각의 BACnet오브젝트들이 존재하는 메모리의 시작주소를 나타내는 오프셋 정보를 포함하는 것을 특징으로 하는 BACnet오브젝트를 관리하는 방법.And offset information indicating a start address of a memory in which the respective BACnet objects having the variable structure attribute exist. 제 11 항에 있어서, 상기 제 2 메모리영역은 12. The method of claim 11, wherein the second memory area is 상기 가변구조속성의 BACnet오브젝트의 속성정보를 지닌 헤더 내의 정보 및 상기 오프셋 정보를 기초로 각각의 상기 가변구조속성의 BACnet오브젝트에 대응되는 메모리 크기를 적응적으로 설정하는 것을 특징으로 하는 BACnet오브젝트를 관리하는 방법.BACnet object management, characterized by adaptively setting the memory size corresponding to each BACnet object of the variable structure attribute based on the information in the header and the offset information of the BACnet object of the variable structure attribute How to. 제 12 항에 있어서, 상기 제 2 메모리영역은 The method of claim 12, wherein the second memory area is 상기 메모리설정단계에서 연속된 메모리 공간내에서 설정되는 것을 특징으로 하는 BACnet오브젝트를 관리하는 방법.The method of managing a BACnet object, characterized in that set in the contiguous memory space in the memory setting step. 제 9 항에 있어서, 상기 속성정보는 The method of claim 9, wherein the attribute information is BACnet오브젝트의 개수, BACnet오브젝트의 식별정보 및 BACnet오브젝트의 크기가 고정인지 가변인지에 관한 크기정보, BACnet오브젝트가 사용자에 의해 지정되는 것인지 시스템에 의해 지정되는 것인지를 알려주는 종류정보를 포함하는 것을 특징으로 하는 BACnet오브젝트를 관리하는 방법.The number of BACnet objects, identification information of BACnet objects, size information on whether the size of BACnet objects is fixed or variable, and type information indicating whether the BACnet objects are designated by the user or the system. To manage BACnet objects.
KR1020080038894A 2008-04-25 2008-04-25 Method and Apparatus for arranging BACnet objects KR100959100B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080038894A KR100959100B1 (en) 2008-04-25 2008-04-25 Method and Apparatus for arranging BACnet objects

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080038894A KR100959100B1 (en) 2008-04-25 2008-04-25 Method and Apparatus for arranging BACnet objects

Publications (2)

Publication Number Publication Date
KR20090113032A KR20090113032A (en) 2009-10-29
KR100959100B1 true KR100959100B1 (en) 2010-05-26

Family

ID=41554166

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080038894A KR100959100B1 (en) 2008-04-25 2008-04-25 Method and Apparatus for arranging BACnet objects

Country Status (1)

Country Link
KR (1) KR100959100B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990029912A (en) * 1997-09-19 1999-04-26 이데이 노부유끼 Data structure identification method and recording medium
JP2008234668A (en) 2000-12-11 2008-10-02 Matsushita Electric Ind Co Ltd Memory management device, memory management method, memory management program and computer readable recording medium recording this program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990029912A (en) * 1997-09-19 1999-04-26 이데이 노부유끼 Data structure identification method and recording medium
JP2008234668A (en) 2000-12-11 2008-10-02 Matsushita Electric Ind Co Ltd Memory management device, memory management method, memory management program and computer readable recording medium recording this program

Also Published As

Publication number Publication date
KR20090113032A (en) 2009-10-29

Similar Documents

Publication Publication Date Title
CN106096023B (en) Method for reading data, method for writing data and data server
KR101767710B1 (en) Card-based management of discardable files
CN102508784B (en) Data storage method of flash memory card in video monitoring equipment, and system thereof
CN103927261B (en) For the efficiently distribution simplifying supply storage and the method and system reclaimed
CN106294190B (en) Storage space management method and device
US7937522B2 (en) Method for flash memory data management
CN108845877B (en) Method, device and system for managing memory
US11314689B2 (en) Method, apparatus, and computer program product for indexing a file
CN101162441B (en) Access apparatus and method for data
US8205025B2 (en) Efficient buffered reading with a plug-in for input buffer size determination
CN106201355A (en) Data processing method and device and storage system
CN108399050B (en) Data processing method and device
US20150169570A1 (en) Method and device for managing data
US9152547B2 (en) Apparatus and method for scratch pad memory management
EP3103039B1 (en) System and method for an efficient database storage model based on sparse files
CN109308269B (en) Memory management method and device
CN103218305B (en) The distribution method of memory space
CN102541969B (en) File protection method and system based on file allocation table (FAT) file system, and memory
JPH10333949A (en) Data storage control system
US8332605B2 (en) Reorganization of a fragmented directory of a storage data structure comprised of the fragmented directory and members
CN111562883B (en) Cache management system, method and device for solid state disk
US9619151B2 (en) Region management apparatus, region management method, and program
KR100959100B1 (en) Method and Apparatus for arranging BACnet objects
CN105468304A (en) Native memory card and management method thereof
CN113032414B (en) Data management method, device, system, computing equipment and storage 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: 20130408

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150305

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170309

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180403

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 10