[go: up one dir, main page]

KR102278321B1 - Apparatus for managing realtime tag data in SCADA software and method thereof - Google Patents

Apparatus for managing realtime tag data in SCADA software and method thereof Download PDF

Info

Publication number
KR102278321B1
KR102278321B1 KR1020210045415A KR20210045415A KR102278321B1 KR 102278321 B1 KR102278321 B1 KR 102278321B1 KR 1020210045415 A KR1020210045415 A KR 1020210045415A KR 20210045415 A KR20210045415 A KR 20210045415A KR 102278321 B1 KR102278321 B1 KR 102278321B1
Authority
KR
South Korea
Prior art keywords
tag
column
data
value
storage buffer
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.)
Active
Application number
KR1020210045415A
Other languages
Korean (ko)
Inventor
김교봉
Original Assignee
김교봉
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김교봉 filed Critical 김교봉
Priority to KR1020210045415A priority Critical patent/KR102278321B1/en
Application granted granted Critical
Publication of KR102278321B1 publication Critical patent/KR102278321B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention relates to an apparatus and method for managing real-time tag data in a supervisory control and data acquisition (SCADA) software. The method of the present invention comprises the following steps of: identifying tags set within a chart group composed of a plurality of tags to check a name of a row to be used in a database and bit index occupying the inside of the row; categorizing tags using the same row by row into a group to generate a row group; initiating a row storage buffer and calculating a row storage buffer including a communication state of the tags according to a type of a tag by tag included in the row group; and storing the calculated row storage buffer in the database, thereby reducing a volume of data to save space for a disc when real-time tag data for composing a historian chart and generating a report of past tag data in the SCADA software are stored, so that a time spent on reading and writing data from the database is saved to enhance operation efficiency of the whole system.

Description

SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치 및 그 방법{Apparatus for managing realtime tag data in SCADA software and method thereof}Apparatus for managing realtime tag data in SCADA software and method thereof

본 발명은 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치 및 그 방법에 관한 것으로서, 특히 복수의 태그로 구성되는 차트 그룹 내에 설정된 태그들을 확인하여 데이터베이스에서 사용할 열(column)의 이름과 열 내에서 차지하는 비트인덱스를 확인하고, 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 열그룹을 생성하고, 열저장버퍼를 초기화한 후, 열그룹 내에 포함된 태그별로 태그 종류에 따라 태그의 통신 상태를 포함하는 열저장버퍼를 계산하고, 계산된 열저장버퍼를 데이터베이스에 저장하는 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치 및 그 방법에 관한 것이다.The present invention relates to an apparatus and method for managing real-time tag data in SCADA software. In particular, by checking tags set in a chart group consisting of a plurality of tags, the name of a column to be used in a database and the bit occupied in the column Check the index, classify tags using the same column into groups for each column, create a column group, initialize the column storage buffer, and include the tag communication status according to the tag type for each tag included in the column group. It relates to an apparatus and method for calculating real-time tag data in SCADA software that calculates a thermal storage buffer and stores the calculated thermal storage buffer in a database.

SCADA(Supervisory Control and Data Acquisition)는 집중 원격감시 제어시스템 또는 감시 제어 데이터 수집시스템이라고도 하는 SCADA 시스템의 감시 제어기능을 말한다. 이러한 SCADA 시스템은 통신 경로상의 아날로그 또는 디지털 신호를 사용하여 원격장치의 상태정보 데이터를 원격소장치(remote terminal unit)로 수집, 수신·기록·표시하여 중앙 제어 시스템이 원격 장치를 감시 제어하는 시스템을 말하며, 발전·송배전시설, 석유화학 플랜트, 제철공정 시설, 공장 자동화 시설 등 여러 종류의 원격지 시설 장치를 중앙 집중식으로 감시 제어하는 시스템이다. SCADA (Supervisory Control and Data Acquisition) refers to the supervisory control function of a SCADA system, also called a centralized remote monitoring control system or monitoring control data acquisition system. Such a SCADA system collects, receives, records, and displays the status information data of a remote device to a remote terminal unit using analog or digital signals on the communication path, so that the central control system monitors and controls the remote device. It is a system that centrally monitors and controls various types of remote facility devices such as power generation/transmission and distribution facilities, petrochemical plants, steel processing facilities, and factory automation facilities.

이러한 SCADA 시스템에 적용되는 SCADA 소프트웨어의 경우, 실시간 태그 데이터를 데이터베이스에 저장하기 위해서는 단순하게 한 개의 태그를 하나의 열(column)에 할당하여 지정된 시간 간격으로 행(row)을 추가하여 실시간 태그 데이터를 저장하는 방식이다. 이때, 디지털 태그 또는 아날로그 태그에 대해서 각각 미리 설정된 비트를 할당해야 함에 따라, 저장하고자 하는 태그수가 늘어날수록 디스크 공간 사용률이 증가하여 전체 시스템 운영 효율을 저하시킨다. In the case of SCADA software applied to such a SCADA system, to store real-time tag data in the database, simply assign one tag to one column and add rows at specified time intervals to store real-time tag data. way to save it. At this time, since preset bits must be allocated to each digital tag or analog tag, the disk space usage rate increases as the number of tags to be stored increases, thereby reducing overall system operating efficiency.

또한, 과거 태그 데이터를 확인하기 위한 히스토리안 차트(Historian Chart)를 작성하거나 보고서를 생성할 때, 데이터베이스에 저장되어 있는 데이터를 읽어오게 되는데, 이 과정 또한 각 태그에 해당되는 열에 각각 모두 접근해야 하므로 다수의 태그 데이터를 읽는 속도는 태그의 수와 비례하여 느려지게 된다.In addition, when creating a Historian chart to check past tag data or generating a report, data stored in the database is read, and this process also requires access to all columns corresponding to each tag. The reading speed of a large number of tag data becomes slow in proportion to the number of tags.

또한, SCADA 소프트웨어는 단독으로 사용되지 않고 각종 통신방식으로 연결된 다수의 PLC(Programmable Logic Controller), RTU(Remote Terminal Unit) 등의 디바이스와의 통신을 통해 수집된 데이터를 태그에 적용시키고 이를 데이터베이스에 저장하게 되는데, 통신이 비정상일 때의 태그 데이터는 통신이 정상적일 때의 데이터를 지속적으로 유지하고 있으므로 정상적인 데이터라고 할 수 없으나 추후 히스토리안 차트에서는 일정한 값을 지속적으로 유지하고 있으므로 정상적인 데이터로 오인할 수 있는 문제가 있다.In addition, SCADA software is not used alone, but applies data collected through communication with devices such as PLC (Programmable Logic Controller) and RTU (Remote Terminal Unit) connected by various communication methods to the tag and stores it in the database The tag data when communication is abnormal cannot be called normal data because it continuously maintains the data when communication is normal, but it can be mistaken for normal data because it continuously maintains a constant value in the later historian chart. there is a problem

한국등록특허 제10-1872648호 [제목: 고속통신을 위한 SCADA 시스템의 디바이스 연결 방법 및 그 장치]Korean Patent Registration No. 10-1872648 [Title: Device connection method and apparatus of SCADA system for high-speed communication]

본 발명의 목적은 복수의 태그로 구성되는 차트 그룹 내에 설정된 태그들을 확인하여 데이터베이스에서 사용할 열의 이름과 열 내에서 차지하는 비트인덱스를 확인하고, 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 열그룹을 생성하고, 열저장버퍼를 초기화한 후, 열그룹 내에 포함된 태그별로 태그 종류에 따라 태그의 통신 상태를 포함하는 열저장버퍼를 계산하고, 계산된 열저장버퍼를 데이터베이스에 저장하는 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치 및 그 방법을 제공하는 데 있다.An object of the present invention is to check the tags set in a chart group consisting of a plurality of tags, to check the name of a column to be used in the database and the bit index occupied in the column, and to classify the tags using the same column into groups for each column. SCADA software that creates a group and initializes the thermal storage buffer, calculates the thermal storage buffer including the communication status of the tag according to the tag type for each tag included in the thermal group, and stores the calculated thermal storage buffer in the database to provide an apparatus and method for managing real-time tag data in

본 발명의 다른 목적은 복수의 태그로 구성되는 차트 그룹 내에 설정된 태그들을 확인하여 데이터베이스에서 사용되는 열의 이름과 열 내에서 차지하는 비트인덱스를 확인하고, 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 열그룹을 생성하고, 열저장버퍼를 초기화한 후, 열그룹 내에 포함된 태그별로 태그 종류에 따라 태그읽기값에 포함된 정보를 추출하여 태그데이터와 통신상태를 제공하는 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치 및 그 방법을 제공하는 데 있다.Another object of the present invention is to check the tags set in a chart group consisting of a plurality of tags, check the name of a column used in the database and the bit index occupied in the column, and classify the tags using the same column into groups for each column real-time tag data from SCADA software, which provides tag data and communication status by creating a column group, initializes the column storage buffer, and extracts the information included in the tag read value according to the tag type for each tag included in the column group. To provide an apparatus and a method for managing the same.

본 발명의 실시예에 따른 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치는 열저장버퍼를 포함하는 저장부; 및 차트 그룹 내에 설정된 다수의 태그의 열 이름을 근거로 데이터베이스에서 사용할 열의 이름과 열 내에서 차지하는 비트인덱스를 확인하고, 상기 다수의 태그 중에서 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 하나 이상의 열그룹을 생성하고, 상기 생성된 하나 이상의 열그룹 중 어느 하나의 열그룹을 선택하고, 미리 설정된 상기 열저장버퍼를 초기화하고, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 어느 하나의 태그를 선택하고, 상기 선택된 어느 하나의 태그의 종류를 확인하고, 상기 선택된 어느 하나의 태그의 종류에 따라 상기 선택된 열그룹 내에 포함된 복수의 태그 내의 데이터를 상기 열저장버퍼에 저장하고, 상기 열저장버퍼에 저장된 값을 상기 데이터베이스 내의 특정 열에 저장하는 제어부를 포함할 수 있다.An apparatus for managing real-time tag data in SCADA software according to an embodiment of the present invention includes: a storage unit including a thermal storage buffer; and check the column name to be used in the database and the bit index occupied in the column based on the column name of a plurality of tags set in the chart group, and classify the tags using the same column among the plurality of tags into groups for each column. Creates one or more column groups, selects any one of the one or more created column groups, initializes the preset column storage buffer, and selects any one tag from among a plurality of tags included in the selected column group. select, check the type of the selected one tag, store data in a plurality of tags included in the selected column group according to the selected one tag type in the column storage buffer, and store the column storage buffer It may include a control unit for storing the value stored in a specific column in the database.

본 발명의 실시예에 따른 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 방법은 제어부에 의해, 차트 그룹 내에 설정된 다수의 태그의 열 이름을 근거로 데이터베이스에서 사용할 열의 이름과 열 내에서 차지하는 비트인덱스를 확인하는 단계; 상기 제어부에 의해, 상기 다수의 태그 중에서 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 하나 이상의 열그룹을 생성하는 단계; 상기 제어부에 의해, 상기 생성된 하나 이상의 열그룹 중 어느 하나의 열그룹을 선택하는 단계; 상기 제어부에 의해, 미리 설정된 열저장버퍼를 초기화하는 단계; 상기 제어부에 의해, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 어느 하나의 태그를 선택하는 단계; 상기 제어부에 의해, 상기 선택된 어느 하나의 태그의 종류를 확인하는 단계; 상기 제어부에 의해, 상기 선택된 어느 하나의 태그의 종류에 따라 상기 선택된 열그룹 내에 포함된 복수의 태그 내의 데이터를 상기 열저장버퍼에 저장하는 단계; 및 상기 제어부에 의해, 상기 열저장버퍼에 저장된 값을 상기 데이터베이스 내의 특정 열에 저장하는 단계를 포함할 수 있다.A method for managing real-time tag data in SCADA software according to an embodiment of the present invention is to check, by a control unit, the name of a column to be used in the database and the bit index occupied in the column based on the column names of a plurality of tags set in the chart group. step; generating, by the controller, one or more column groups by classifying tags using the same column among the plurality of tags into groups for each column; selecting, by the control unit, any one column group from among the one or more generated column groups; initializing, by the control unit, a preset thermal storage buffer; selecting, by the controller, any one tag from among a plurality of tags included in the selected column group; checking, by the control unit, the type of the selected one of the tags; storing, by the controller, data in a plurality of tags included in the selected column group in the column storage buffer according to the type of the selected one of the tags; and storing, by the controller, the value stored in the column storage buffer in a specific column in the database.

본 발명과 관련된 일 예로서 상기 선택된 어느 하나의 태그의 종류에 따라 상기 선택된 열그룹 내에 포함된 복수의 태그 내의 데이터를 상기 열저장버퍼에 저장하는 단계는, 상기 선택된 태그가 디지털 태그일 때, 미리 설정된 태그저장버퍼를 초기화하는 과정; 상기 선택된 디지털 태그의 태그데이터의 값이 참(true)인지 거짓(false)인지 판단하는 과정; 상기 판단 결과, 상기 선택된 디지털 태그의 태그데이터의 값이 참일 때, 상기 초기화된 태그저장버퍼의 첫 번째 비트를 미리 설정된 값인 하이값으로 설정하는 과정; 상기 판단 결과, 상기 선택된 디지털 태그의 태그데이터의 값이 참이 아닌 경우 또는 상기 태그저장버퍼의 첫 번째 비트를 하이로 설정한 경우, 상기 선택된 디지털 태그의 통신 상태가 이상 상태인지 여부를 확인하는 과정; 상기 확인 결과, 상기 선택된 디지털 태그의 통신 상태가 이상 상태일 때, 상기 태그저장버퍼의 두 번째 비트를 미리 설정된 값인 하이값으로 설정하는 과정; 상기 확인 결과, 상기 선택된 디지털 태그의 통신 상태가 이상 상태가 아닌 경우 또는 상기 태그저장버퍼의 두 번째 비트를 하이로 설정한 경우, 상기 열저장버퍼 내의 상기 선택된 디지털 태그의 비트인덱스에 대응하는 비트에 상기 태그저장버퍼의 값을 저장하는 과정; 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값을 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하는지 확인하는 과정; 및 상기 확인 결과, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값을 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재할 때, 상기 태그저장버퍼를 초기화하는 과정으로 복귀하여, 상기 태그저장버퍼를 초기화하는 과정부터 다시 수행하는 과정을 포함하며, 상기 열저장버퍼에 저장된 값을 상기 데이터베이스 내의 특정 열에 저장하는 단계는, 상기 확인 결과, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값을 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하지 않을 때, 상기 선택된 열그룹과 관련한 열저장버퍼의 값을 상기 데이터베이스 내의 특정 열에 저장할 수 있다.As an example related to the present invention, the step of storing data in the plurality of tags included in the selected column group according to the type of the selected one tag in the column storage buffer may include: when the selected tag is a digital tag, Initializing the set tag storage buffer; determining whether the value of the tag data of the selected digital tag is true or false; setting the first bit of the initialized tag storage buffer to a preset high value when the value of the tag data of the selected digital tag is true as a result of the determination; As a result of the determination, when the value of the tag data of the selected digital tag is not true or when the first bit of the tag storage buffer is set to high, the process of checking whether the communication state of the selected digital tag is abnormal ; setting the second bit of the tag storage buffer to a preset high value when the communication state of the selected digital tag is abnormal as a result of the check; As a result of the check, when the communication state of the selected digital tag is not in an abnormal state or when the second bit of the tag storage buffer is set to high, the bit corresponding to the bit index of the selected digital tag in the column storage buffer is storing the value of the tag storage buffer; checking whether there is another tag that does not store a value in the tag in the column storage buffer from among a plurality of tags included in the selected column group; and, as a result of the check, when there is another tag that does not store the value in the tag in the column storage buffer from among the plurality of tags included in the selected column group, the process returns to the process of initializing the tag storage buffer, the tag storage buffer and the step of storing the value stored in the column storage buffer in a specific column in the database includes, as a result of the check, a value in a tag among a plurality of tags included in the selected column group. When there is no other tag not stored in the column storage buffer, the value of the column storage buffer related to the selected column group may be stored in a specific column in the database.

본 발명과 관련된 일 예로서 상기 선택된 어느 하나의 태그의 종류에 따라 상기 선택된 열그룹 내에 포함된 복수의 태그 내의 데이터를 상기 열저장버퍼에 저장하는 단계는, 상기 선택된 태그가 아날로그 태그일 때, 상기 선택된 아날로그 태그의 태그데이터의 부호에 따라 상기 태그저장버퍼를 초기화하는 과정; 상기 아날로그 태그의 현재 태그데이터의 절댓값을 계산하는 과정; 상기 계산된 절댓값을 근거로 상기 아날로그 태그의 태그데이터의 정수 부분의 자릿수를 계산하는 과정; 미리 설정된 기준 자릿수에서 상기 계산된 태그데이터의 정수부분의 자릿수를 빼서, 지수를 계산하는 과정; 상기 계산된 지수를 상기 태그저장버퍼에서의 미리 설정된 3 비트의 지수 영역에 대응하도록 2진수 표기 형태로 변환하는 과정; 상기 계산된 절댓값에 10을 지수만큼 자승한 값을 곱하여 정수를 계산하는 과정; 상기 계산된 정수를 상기 태그저장버퍼에서의 미리 설정된 17 비트의 정수 영역에 대응하도록 2진수 표기 형태로 변환하는 과정; 상기 2진수로 변환된 지수와 상기 2진수로 변환된 정수와 상기 확인된 아날로그 태그의 태그데이터의 부호를 상기 태그저장버퍼에 저장하는 과정; 및 상기 열저장버퍼 내의 상기 선택된 아날로그 태그의 비트인덱스에 대응하는 비트에 상기 태그저장버퍼의 값을 저장하는 과정을 포함할 수 있다.As an example related to the present invention, the step of storing data in a plurality of tags included in the selected column group according to the type of the selected one tag in the column storage buffer may include: when the selected tag is an analog tag, the initializing the tag storage buffer according to the sign of the tag data of the selected analog tag; calculating an absolute value of the current tag data of the analog tag; calculating the number of digits of an integer part of the tag data of the analog tag based on the calculated absolute value; calculating an index by subtracting the digits of the integer part of the calculated tag data from the preset reference digits; converting the calculated exponent into a binary notation form to correspond to a preset 3-bit exponent area in the tag storage buffer; calculating an integer by multiplying the calculated absolute value by a value obtained by multiplying 10 by an exponent; converting the calculated integer into a binary notation form to correspond to a preset 17-bit integer region in the tag storage buffer; storing the exponent converted into binary number, the integer converted into binary number, and a sign of the checked tag data of the analog tag in the tag storage buffer; and storing the value of the tag storage buffer in a bit corresponding to the bit index of the selected analog tag in the column storage buffer.

본 발명과 관련된 일 예로서 상기 선택된 어느 하나의 태그의 종류에 따라 상기 선택된 열그룹 내에 포함된 복수의 태그 내의 데이터를 상기 열저장버퍼에 저장하는 단계는, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값을 상기 열저장버퍼에 저장하지 않은 또 다른 태그가 존재하는지 확인하는 과정; 상기 확인 결과, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값을 상기 열저장버퍼에 저장하지 않은 또 다른 태그가 존재할 때, 상기 태그저장버퍼를 초기화하는 과정으로 복귀하여, 상기 태그저장버퍼를 초기화하는 과정부터 다시 수행하는 과정; 상기 확인 결과, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값을 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하지 않을 때, 상기 선택된 아날로그 태그의 통신 상태가 이상 상태인지 여부를 확인하는 과정; 상기 확인 결과, 상기 선택된 아날로그 태그의 통신 상태가 이상 상태일 때, 상기 열저장버퍼의 63번째 비트를 미리 설정된 값인 하이값으로 설정하는 과정; 및 상기 확인 결과, 상기 선택된 아날로그 태그의 통신 상태가 이상 상태가 아닌 경우 또는 상기 열저장버퍼의 63번째 비트를 하이로 설정한 경우, 상기 선택된 열그룹과 관련한 열저장버퍼의 값을 상기 데이터베이스 내의 특정 열에 저장하는 과정을 더 포함할 수 있다.As an example related to the present invention, the step of storing data in the plurality of tags included in the selected column group in the column storage buffer according to the type of the selected one tag may include: checking whether there is another tag which does not store the value in the tag in the column storage buffer; As a result of the check, when there is another tag that does not store the value in the tag in the column storage buffer among the plurality of tags included in the selected column group, the process returns to the process of initializing the tag storage buffer, and the tag storage buffer The process of performing again from the process of initializing; As a result of the check, when there is no other tag that does not store the value in the tag in the column storage buffer among the plurality of tags included in the selected column group, it is checked whether the communication state of the selected analog tag is abnormal. process; setting the 63 th bit of the thermal storage buffer to a preset high value when the communication state of the selected analog tag is abnormal as a result of the check; and, as a result of the check, when the communication state of the selected analog tag is not in an abnormal state or when the 63rd bit of the column storage buffer is set to high, the value of the column storage buffer related to the selected column group is specified in the database. It may further include the process of storing in heat.

본 발명과 관련된 일 예로서 상기 제어부에 의해, 상기 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 태그 내의 값을 상기 열저장버퍼를 이용해서 상기 데이터베이스에 저장하지 않은 다른 열그룹이 존재하는지 확인하는 단계; 상기 확인 결과, 상기 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 태그 내의 값을 상기 열저장버퍼를 이용해서 상기 데이터베이스에 저장하지 않은 다른 열그룹이 존재할 때, 상기 제어부에 의해, 상기 열저장버퍼를 초기화하는 과정으로 복귀하여, 상기 열저장버퍼를 초기화하는 과정부터 다시 수행하는 단계; 상기 확인 결과, 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 태그 내의 값을 상기 열저장버퍼를 이용해서 상기 데이터베이스에 저장하지 않은 다른 열그룹이 존재하지 않을 때, 상기 제어부에 의해, 미리 설정된 지정 간격 동안 대기 상태를 유지하는 단계; 및 상기 지정 간격이 지나면, 상기 제어부에 의해, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 어느 하나의 태그를 선택하는 과정으로 복귀하여, 상기 어느 하나의 태그를 선택하는 과정부터 다시 수행하는 단계를 더 포함할 수 있다.As an example related to the present invention, the controller checks whether there is another column group that does not store the value in the tag included in the column group among the one or more created column groups in the database using the column storage buffer. step; As a result of the check, when there is another column group in which the value in the tag included in the column group is not stored in the database by using the column storage buffer among the one or more created column groups, the controller controls the column storage buffer returning to the process of initializing and performing again from the process of initializing the thermal storage buffer; As a result of the check, when there is no other column group that does not store the value in the tag included in the column group from among the one or more previously created column groups in the database using the column storage buffer, the control unit sets the preset value in advance. maintaining a standby state for a specified interval; and when the specified interval elapses, returning to the process of selecting, by the controller, any one tag from among a plurality of tags included in the selected column group, and performing again from the process of selecting one of the tags. may include more.

본 발명의 실시예에 따른 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치는 데이터베이스에서 읽은 열데이터를 저장하는 저장부; 및 차트 그룹 내에 설정된 다수의 태그의 열 이름을 근거로 데이터베이스에서 사용되는 열의 이름과 열 내에서 차지하는 비트인덱스를 확인하고, 상기 다수의 태그 중에서 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 하나 이상의 열그룹을 생성하고, 상기 생성된 하나 이상의 열그룹 중 어느 하나의 열그룹을 선택하고, 상기 데이터베이스에서 상기 열그룹과 관련한 열데이터를 읽고, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 어느 하나의 태그를 선택하고, 상기 선택된 어느 하나의 태그의 종류를 확인하고, 상기 선택된 어느 하나의 태그의 종류에 따라 상기 읽은 열데이터로부터 데이터를 추출하여 상기 복수의 태그별로 태그데이터와 통신상태를 전달하는 제어부를 포함할 수 있다.An apparatus for managing real-time tag data in SCADA software according to an embodiment of the present invention includes: a storage unit for storing thermal data read from a database; And, based on the column names of a plurality of tags set in the chart group, check the column names used in the database and the bit index occupied in the columns, and classify the tags using the same column among the plurality of tags into groups for each column. Creates one or more column groups, selects any one of the one or more created column groups, reads column data related to the column group from the database, and selects any one of a plurality of tags included in the selected column group. Select one tag, confirm the selected tag type, extract data from the read column data according to the selected one tag type, and deliver tag data and communication status for each of the plurality of tags It may include a control unit that

본 발명의 실시예에 따른 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 방법은 제어부에 의해, 차트 그룹 내에 설정된 다수의 태그의 열 이름을 근거로 데이터베이스에서 사용되는 열의 이름과 열 내에서 차지하는 비트인덱스를 확인하는 단계; 상기 제어부에 의해, 상기 다수의 태그 중에서 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 하나 이상의 열그룹을 생성하는 단계; 상기 제어부에 의해, 상기 생성된 하나 이상의 열그룹 중 어느 하나의 열그룹을 선택하는 단계; 상기 제어부에 의해, 상기 데이터베이스에서 상기 열그룹과 관련한 열데이터를 읽는 단계; 상기 제어부에 의해, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 어느 하나의 태그를 선택하는 단계; 상기 제어부에 의해, 상기 선택된 어느 하나의 태그의 종류를 확인하는 단계; 및 상기 제어부에 의해, 상기 선택된 어느 하나의 태그의 종류에 따라 상기 읽은 열데이터로부터 데이터를 추출하여 상기 복수의 태그별로 태그데이터와 통신상태를 전달하는 단계를 포함할 수 있다.In the method for managing real-time tag data in SCADA software according to an embodiment of the present invention, the name of a column used in the database and the bit index occupied in the column are checked based on the column names of a plurality of tags set in the chart group by the control unit. to do; generating, by the controller, one or more column groups by classifying tags using the same column among the plurality of tags into groups for each column; selecting, by the control unit, any one column group from among the one or more generated column groups; reading, by the controller, column data related to the column group from the database; selecting, by the controller, any one tag from among a plurality of tags included in the selected column group; checking, by the control unit, the type of the selected one of the tags; and extracting, by the control unit, data from the read column data according to the type of one of the selected tags, and transmitting the tag data and communication status for each of the plurality of tags.

본 발명과 관련된 일 예로서 상기 선택된 어느 하나의 태그의 종류에 따라 상기 읽은 열데이터로부터 데이터를 추출하여 상기 복수의 태그별로 태그데이터와 통신상태를 전달하는 단계는, 상기 선택된 태그가 디지털 태그일 때, 상기 읽은 열데이터에서 상기 선택된 디지털 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정; 상기 추출된 태그읽기값에서 상기 디지털 태그의 태그데이터를 추출하는 과정; 상기 추출된 태그읽기값에서 통신 상태의 값을 추출하는 과정; 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재하는지 확인하는 과정; 상기 확인 결과, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재할 때, 상기 읽은 열데이터에서 상기 다른 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정으로 복귀하여, 상기 읽은 열데이터에서 상기 다른 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정부터 다시 수행하는 과정; 및 상기 확인 결과, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재하지 않을 때, 차트 작성 및 보고서 작성 중 적어도 하나에 사용될 수 있도록 태그별로 태그데이터와 통신상태의 값을 전달하는 과정을 포함할 수 있다.As an example related to the present invention, the step of extracting data from the read column data according to the type of one of the selected tags and transmitting the tag data and communication status for each of the plurality of tags may include: , extracting a tag read value related to the bit index of the selected digital tag from the read column data; extracting tag data of the digital tag from the extracted tag read value; extracting a communication state value from the extracted tag read value; checking whether there is another tag from which a tag read value is not extracted from the read column data among a plurality of tags included in the selected column group; As a result of the check, when there is another tag for which the tag read value is not extracted from the read column data among the plurality of tags included in the selected column group, the tag read value related to the bit index of the other tag is obtained from the read column data. returning to the extracting process and performing again from the process of extracting the tag read value related to the bit index of the other tag from the read column data; And, as a result of the check, when there is no other tag that does not extract a tag read value from the read column data among a plurality of tags included in the selected column group, each tag can be used for at least one of chart writing and report writing. It may include the process of transmitting the tag data and the value of the communication state.

본 발명과 관련된 일 예로서 상기 선택된 어느 하나의 태그의 종류에 따라 상기 읽은 열데이터로부터 데이터를 추출하여 상기 복수의 태그별로 태그데이터와 통신상태를 전달하는 단계는, 상기 선택된 태그가 아날로그 태그일 때, 상기 읽은 열데이터에서 상기 선택된 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정; 상기 추출된 태그읽기값에서 2진수 형태의 상기 아날로그 태그의 지수를 추출하는 과정; 상기 추출된 태그읽기값에서 상기 아날로그 태그의 정수를 추출하는 과정; 상기 변환된 정수를 10에 상기 변환된 지수만큼 자승한 값으로 나누어 상기 선택된 아날로그 태그의 태그데이터를 계산하는 과정; 상기 추출된 태그읽기값에서의 부호 비트를 확인하여, 상기 아날로그 태그의 태그데이터가 음수인지 양수인지 확인하는 과정; 상기 아날로그 태그의 태그데이터가 음수일 때, 상기 계산된 태그데이터를 음수로 변환하는 과정; 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하는지 확인하는 과정; 상기 확인 결과, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재할 때, 상기 읽은 열데이터에서 상기 또 다른 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정으로 복귀하여, 상기 읽은 열데이터에서 상기 또 다른 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정부터 다시 수행하는 과정; 상기 확인 결과, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하지 않을 때, 상기 읽은 열데이터에서 통신 상태의 값을 추출하는 과정; 및 차트 작성 및 보고서 작성 중 적어도 하나에 사용될 수 있도록 태그별로 태그데이터와 통신상태의 값을 전달하는 과정을 포함할 수 있다.As an example related to the present invention, the step of extracting data from the read column data according to the type of one of the selected tags and transmitting the tag data and communication status for each of the plurality of tags may include: , extracting a tag read value related to the bit index of the selected tag from the read column data; extracting an exponent of the analog tag in binary form from the extracted tag read value; extracting an integer of the analog tag from the extracted tag read value; calculating the tag data of the selected analog tag by dividing the converted integer by a value obtained by multiplying 10 by the converted exponent; confirming whether the tag data of the analog tag is a negative number or a positive number by checking a sign bit in the extracted tag read value; converting the calculated tag data into a negative number when the tag data of the analog tag is negative; checking whether another tag from which a tag read value is not extracted from the read column data among a plurality of tags included in the selected column group exists; As a result of the check, when there is another tag for which a tag read value is not extracted from the read column data among a plurality of tags included in the selected column group, a tag read related to the bit index of the other tag is read from the read column data returning to the process of extracting a value and performing again from the process of extracting the tag read value related to the bit index of the another tag from the read column data; extracting a communication state value from the read column data when, as a result of the check, there is no tag from which the read tag value is extracted from the read column data among the plurality of tags included in the selected column group; and transmitting the tag data and the communication state value for each tag so that it can be used for at least one of chart writing and report writing.

본 발명은 복수의 태그로 구성되는 차트 그룹 내에 설정된 태그들을 확인하여 데이터베이스에서 사용할 열의 이름과 열 내에서 차지하는 비트인덱스를 확인하고, 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 열그룹을 생성하고, 열저장버퍼를 초기화한 후, 열그룹 내에 포함된 태그별로 태그 종류에 따라 태그의 통신 상태를 포함하는 열저장버퍼를 계산하고, 계산된 열저장버퍼를 데이터베이스에 저장함으로써, SCADA 소프트웨어에서 과거 태그 데이터에 관한 히스토리안 차트 작성 및 보고서 생성을 위한 실시간 태그 데이터 저장 시, 데이터의 용량을 줄여 디스크의 공간을 절약하고, 데이터베이스로부터 데이터를 읽고 쓰는데 소요되는 시간을 절약하고, 전체 시스템 운영 효율을 향상시킬 수 있는 효과가 있다.The present invention checks the tags set in a chart group consisting of a plurality of tags, checks the name of a column to be used in the database and the bit index occupied in the column, and divides the tags using the same column into groups for each column to form a column group. After creating and initializing the thermal storage buffer, by calculating the thermal storage buffer including the communication status of the tag according to the tag type for each tag included in the column group, and storing the calculated thermal storage buffer in the database, SCADA software When saving real-time tag data for historical tag data creation and report generation, it saves disk space by reducing data capacity, saves time required to read and write data from database, and improves overall system operation efficiency There is an effect that can be improved.

또한, 본 발명은 복수의 태그로 구성되는 차트 그룹 내에 설정된 태그들을 확인하여 데이터베이스에서 사용되는 열의 이름과 열 내에서 차지하는 비트인덱스를 확인하고, 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 열그룹을 생성하고, 열저장버퍼를 초기화한 후, 열그룹 내에 포함된 태그별로 태그 종류에 따라 태그읽기값에 포함된 정보를 추출하여 태그데이터와 통신상태를 제공함으로써, 한 번의 데이터베이스 읽기(select)로 복수의 태그데이터를 수집하여 차트 작성 및 보고서 생성이 신속하게 처리되도록 지원하고, 읽어온 태그데이터와 관련한 통신상태를 확인함에 따라 해당 태그데이터에 대한 신뢰도를 확보할 수 있는 효과가 있다.In addition, the present invention checks the tags set in the chart group consisting of a plurality of tags, checks the name of the column used in the database and the bit index occupied in the column, and classifies the tags using the same column into groups for each column. After creating a column group and initializing the column storage buffer, it provides tag data and communication status by extracting the information included in the tag read value according to the tag type for each tag included in the column group, so that the database read (select ) to collect multiple tag data to support chart creation and report generation quickly, and to check the communication status related to the read tag data, it has the effect of securing the reliability of the tag data.

도 1은 본 발명의 실시예에 따른 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치의 구성을 나타낸 블록도이다.
도 2 내지 도 5는 본 발명의 제 1 실시예에 따른 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 방법을 나타낸 흐름도이다.
도 6 내지 도 12는 본 발명의 제 1 실시예에 따른 태그의 데이터를 데이터베이스에 저장하기 위한 일 예를 나타낸 도이다.
도 13 내지 도 15는 본 발명의 제 2 실시예에 따른 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 방법을 나타낸 흐름도이다.
도 16 내지 도 21은 본 발명의 제 2 실시예에 따른 데이터베이스로부터 태그의 데이터를 읽어오기 위한 일 예를 나타낸 도이다.
1 is a block diagram showing the configuration of an apparatus for managing real-time tag data in SCADA software according to an embodiment of the present invention.
2 to 5 are flowcharts illustrating a method for managing real-time tag data in SCADA software according to the first embodiment of the present invention.
6 to 12 are diagrams illustrating an example for storing tag data in a database according to the first embodiment of the present invention.
13 to 15 are flowcharts illustrating a method for managing real-time tag data in SCADA software according to a second embodiment of the present invention.
16 to 21 are diagrams illustrating an example for reading tag data from a database according to a second embodiment of the present invention.

본 발명에서 사용되는 기술적 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It should be noted that the technical terms used in the present invention are only used to describe specific embodiments, and are not intended to limit the present invention. In addition, the technical terms used in the present invention should be interpreted as meanings generally understood by those of ordinary skill in the art to which the present invention belongs, unless otherwise defined in particular in the present invention, and excessively comprehensive It should not be construed in the meaning of a human being or in an excessively reduced meaning. In addition, when the technical term used in the present invention is an incorrect technical term that does not accurately express the spirit of the present invention, it should be understood by being replaced with a technical term that can be correctly understood by those skilled in the art. In addition, general terms used in the present invention should be interpreted as defined in advance or according to the context before and after, and should not be interpreted in an excessively reduced meaning.

또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서 "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Also, as used herein, the singular expression includes the plural expression unless the context clearly dictates otherwise. In the present invention, terms such as "consisting of" or "comprising" should not be construed as necessarily including all of the various elements or several steps described in the invention, and some of the elements or some steps may not be included. It should be construed that it may further include additional components or steps.

또한, 본 발명에서 사용되는 제 1, 제 2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고, 유사하게 제 2 구성 요소도 제 1 구성 요소로 명명될 수 있다.In addition, terms including ordinal numbers such as first, second, etc. used in the present invention may be used to describe the components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, a preferred embodiment according to the present invention will be described in detail with reference to the accompanying drawings, but the same or similar components are assigned the same reference numerals regardless of reference numerals, and redundant description thereof will be omitted.

또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.In addition, in describing the present invention, if it is determined that a detailed description of a related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, it should be noted that the accompanying drawings are only for easy understanding of the spirit of the present invention, and should not be construed as limiting the spirit of the present invention by the accompanying drawings.

도 1은 본 발명의 실시예에 따른 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)의 구성을 나타낸 블록도이다.1 is a block diagram showing the configuration of an apparatus 100 for managing real-time tag data in SCADA software according to an embodiment of the present invention.

도 1에 도시한 바와 같이, SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)는 통신부(110), 저장부(120), 표시부(130), 음성 출력부(140) 및 제어부(150)로 구성된다. 도 1에 도시된 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 1에 도시된 구성 요소보다 많은 구성 요소에 의해 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)가 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)가 구현될 수도 있다.As shown in FIG. 1 , the device 100 for managing real-time tag data in SCADA software includes a communication unit 110 , a storage unit 120 , a display unit 130 , a voice output unit 140 , and a control unit 150 . is composed Not all of the components of the device 100 for managing real-time tag data in the SCADA software shown in FIG. 1 are essential components, and real-time tag data in the SCADA software is generated by more components than those shown in FIG. The device 100 for managing may be implemented, or the device 100 for managing real-time tag data in SCADA software may be implemented with fewer components.

상기 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)는 스마트폰(Smart Phone), 휴대 단말기(Portable Terminal), 이동 단말기(Mobile Terminal), 폴더블 단말기(Foldable Terminal), 개인 정보 단말기(Personal Digital Assistant: PDA), PMP(Portable Multimedia Player) 단말기, 텔레매틱스(Telematics) 단말기, 내비게이션(Navigation) 단말기, 개인용 컴퓨터(Personal Computer), 노트북 컴퓨터, 슬레이트 PC(Slate PC), 태블릿 PC(Tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(Wearable Device, 예를 들어, 워치형 단말기(Smartwatch), 글래스형 단말기(Smart Glass), HMD(Head Mounted Display) 등 포함), 와이브로(Wibro) 단말기, IPTV(Internet Protocol Television) 단말기, 스마트 TV, 디지털방송용 단말기, AVN(Audio Video Navigation) 단말기, A/V(Audio/Video) 시스템, 플렉시블 단말기(Flexible Terminal), 디지털 사이니지 장치, 서버 등과 같은 다양한 단말기에 적용될 수 있다.The device 100 for managing real-time tag data in the SCADA software is a smart phone, a portable terminal, a mobile terminal, a foldable terminal, and a personal digital terminal (Personal Digital). Assistant: PDA), PMP (Portable Multimedia Player) Terminal, Telematics Terminal, Navigation Terminal, Personal Computer, Notebook Computer, Slate PC, Tablet PC, Ultra Book (ultrabook), wearable device (Wearable Device, for example, including watch-type terminal (Smartwatch), glass-type terminal (Smart Glass), HMD (Head Mounted Display), etc.), Wibro (Wibro) terminal, IPTV (Internet Protocol) Television) terminals, smart TVs, digital broadcast terminals, AVN (Audio Video Navigation) terminals, A/V (Audio/Video) systems, flexible terminals, digital signage devices, servers, etc. can be applied to various terminals. .

상기 통신부(110)는 유/무선 통신망을 통해 내부의 임의의 구성 요소 또는 외부의 임의의 적어도 하나의 단말기와 통신 연결한다. 이때, 상기 외부의 임의의 단말기는 다른 서버(미도시), 다른 단말(미도시) 등을 포함할 수 있다. 여기서, 무선 인터넷 기술로는 무선랜(Wireless LAN: WLAN), DLNA(Digital Living Network Alliance), 와이브로(Wireless Broadband: Wibro), 와이맥스(World Interoperability for Microwave Access: Wimax), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), IEEE 802.16, 롱 텀 에볼루션(Long Term Evolution: LTE), LTE-A(Long Term Evolution-Advanced), 광대역 무선 이동 통신 서비스(Wireless Mobile Broadband Service: WMBS) 등이 있으며, 상기 통신부(110)는 상기에서 나열되지 않은 인터넷 기술까지 포함한 범위에서 적어도 하나의 무선 인터넷 기술에 따라 데이터를 송수신하게 된다. 또한, 근거리 통신 기술로는 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association: IrDA), UWB(Ultra Wideband), 지그비(ZigBee), 인접 자장 통신(Near Field Communication: NFC), 초음파 통신(Ultra Sound Communication: USC), 가시광 통신(Visible Light Communication: VLC), 와이 파이(Wi-Fi), 와이 파이 다이렉트(Wi-Fi Direct) 등이 포함될 수 있다. 또한, 유선 통신 기술로는 전력선 통신(Power Line Communication: PLC), USB 통신, 이더넷(Ethernet), 시리얼 통신(serial communication), 광/동축 케이블 등이 포함될 수 있다.The communication unit 110 communicates with any internal component or at least one external terminal through a wired/wireless communication network. In this case, the external arbitrary terminal may include another server (not shown), another terminal (not shown), and the like. Here, as wireless Internet technologies, wireless LAN (WLAN), DLNA (Digital Living Network Alliance), WiBro (Wireless Broadband: Wibro), Wimax (World Interoperability for Microwave Access: Wimax), HSDPA (High Speed Downlink Packet Access) ), High Speed Uplink Packet Access (HSUPA), IEEE 802.16, Long Term Evolution (LTE), Long Term Evolution-Advanced (LTE-A), Wireless Mobile Broadband Service (WMBS), etc. In this case, the communication unit 110 transmits and receives data according to at least one wireless Internet technology within a range including Internet technologies not listed above. In addition, short-range communication technologies include Bluetooth, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), ZigBee, and Near Field Communication (NFC). , Ultra Sound Communication (USC), Visible Light Communication (VLC), Wi-Fi (Wi-Fi), Wi-Fi Direct (Wi-Fi Direct), etc. may be included. In addition, the wired communication technology may include power line communication (PLC), USB communication, Ethernet, serial communication, optical/coaxial cable, and the like.

또한, 상기 통신부(110)는 유니버설 시리얼 버스(Universal Serial Bus: USB)를 통해 임의의 단말과 정보를 상호 전송할 수 있다.Also, the communication unit 110 may mutually transmit information with an arbitrary terminal through a Universal Serial Bus (USB).

또한, 상기 통신부(110)는 이동통신을 위한 기술표준들 또는 통신방식(예를 들어, GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등)에 따라 구축된 이동 통신망 상에서 기지국, 상기 다른 서버, 상기 다른 단말 등과 무선 신호를 송수신한다.In addition, the communication unit 110 is a technology standard or communication method for mobile communication (eg, GSM (Global System for Mobile communication), CDMA (Code Division Multi Access), CDMA2000 (Code Division Multi Access 2000), EV -DO (Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA (Wideband CDMA), HSDPA (High Speed Downlink Packet Access), HSUPA (High Speed Uplink Packet Access), LTE (Long Term Evolution), LTE-A (Long Term Evolution-Advanced, etc.) transmits and receives radio signals to and from the base station, the other server, the other terminal, etc.

또한, 상기 통신부(110)는 상기 제어부(150)의 제어에 의해, 데이터베이스(또는 데이터베이스 서버)(미도시)에 접속한다.In addition, the communication unit 110 accesses a database (or database server) (not shown) under the control of the control unit 150 .

상기 저장부(120)는 다양한 사용자 인터페이스(User Interface: UI), 그래픽 사용자 인터페이스(Graphic User Interface: GUI) 등을 저장한다.The storage unit 120 stores various user interfaces (UIs), graphic user interfaces (GUIs), and the like.

또한, 상기 저장부(120)는 상기 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)가 동작하는데 필요한 데이터와 프로그램 등을 저장한다.In addition, the storage unit 120 stores data and programs necessary for the operation of the device 100 for managing real-time tag data in the SCADA software.

즉, 상기 저장부(120)는 상기 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. 또한, 이러한 응용 프로그램 중 적어도 일부는 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)의 기본적인 기능을 위하여 출고 당시부터 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100) 상에 존재할 수 있다. 한편, 응용 프로그램은 상기 저장부(120)에 저장되고, SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)에 설치되어, 제어부(150)에 의하여 상기 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)의 동작(또는 기능)을 수행하도록 구동될 수 있다.That is, the storage unit 120 is a device for managing real-time tag data in a plurality of application programs (application programs or applications) driven in the device 100 for managing real-time tag data in the SCADA software, and SCADA software It is possible to store data and instructions for the operation of ( 100 ). At least some of these applications may be downloaded from an external server via wireless communication. In addition, at least some of these application programs may exist on the device 100 for managing real-time tag data in SCADA software from the time of shipment for a basic function of the device 100 for managing real-time tag data in SCADA software. On the other hand, an application program is stored in the storage unit 120, installed in the device 100 for managing real-time tag data in SCADA software, and a device for managing real-time tag data in the SCADA software by the control unit 150 ( 100) may be driven to perform the operation (or function).

또한, 상기 저장부(120)는 플래시 메모리 타입(Flash Memory Type), 하드 디스크 타입(Hard Disk Type), 멀티미디어 카드 마이크로 타입(Multimedia Card Micro Type), 카드 타입의 메모리(예를 들면, SD 또는 XD 메모리 등), 자기 메모리, 자기 디스크, 광디스크, 램(Random Access Memory: RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory: ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory) 중 적어도 하나의 저장매체를 포함할 수 있다. 또한, SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)는 인터넷(internet)상에서 저장부(120)의 저장 기능을 수행하는 웹 스토리지(web storage)를 운영하거나, 또는 상기 웹 스토리지와 관련되어 동작할 수도 있다.In addition, the storage unit 120 is a flash memory type (Flash Memory Type), a hard disk type (Hard Disk Type), a multimedia card micro type (Multimedia Card Micro Type), a card type memory (eg, SD or XD) memory, etc.), magnetic memory, magnetic disk, optical disk, RAM (Random Access Memory: RAM), SRAM (Static Random Access Memory), ROM (Read-Only Memory: ROM), EEPROM (Electrically Erasable Programmable Read-Only Memory), It may include at least one storage medium among Programmable Read-Only Memory (PROM). In addition, the device 100 for managing real-time tag data in the SCADA software operates a web storage that performs a storage function of the storage unit 120 on the Internet, or operates in relation to the web storage You may.

또한, 상기 저장부(120)는 상기 제어부(150)의 제어에 의해 상기 통신부(110)를 통해 접속한 데이터베이스로부터 읽은 정보(또는 데이터) 등을 저장한다.In addition, the storage unit 120 stores information (or data) read from the database accessed through the communication unit 110 under the control of the control unit 150 .

또한, 상기 저장부(120)는 상기 제어부(150)의 제어에 의해 미리 설정된 크기의 하나 이상의 열저장버퍼를 포함한다.In addition, the storage unit 120 includes one or more thermal storage buffers having a size preset under the control of the control unit 150 .

또한, 상기 저장부(120)는 상기 제어부(150)의 제어에 의해 데이터베이스에서 읽은 열데이터를 저장(또는 임시 저장)한다.In addition, the storage unit 120 stores (or temporarily stores) the column data read from the database under the control of the control unit 150 .

상기 표시부(또는 디스플레이부)(130)는 상기 제어부(150)의 제어에 의해 상기 저장부(120)에 저장된 사용자 인터페이스 및/또는 그래픽 사용자 인터페이스를 이용하여 다양한 메뉴 화면 등과 같은 다양한 콘텐츠를 표시할 수 있다. 여기서, 상기 표시부(130)에 표시되는 콘텐츠는 다양한 텍스트 또는 이미지 데이터(각종 정보 데이터 포함)와 아이콘, 리스트 메뉴, 콤보 박스 등의 데이터를 포함하는 메뉴 화면 등을 포함한다. 또한, 상기 표시부(130)는 터치 스크린 일 수 있다.The display unit (or display unit) 130 may display various contents such as various menu screens using a user interface and/or a graphic user interface stored in the storage unit 120 under the control of the control unit 150 . have. Here, the content displayed on the display unit 130 includes various text or image data (including various information data) and a menu screen including data such as icons, list menus, and combo boxes. Also, the display unit 130 may be a touch screen.

또한, 상기 표시부(130)는 액정 디스플레이(Liquid Crystal Display: LCD), 박막 트랜지스터 액정 디스플레이(Thin Film Transistor-Liquid Crystal Display: TFT LCD), 유기 발광 다이오드(Organic Light-Emitting Diode: OLED), 플렉시블 디스플레이(Flexible Display), 3차원 디스플레이(3D Display), 전자잉크 디스플레이(e-ink display), LED(Light Emitting Diode) 중에서 적어도 하나를 포함할 수 있다.In addition, the display unit 130 includes a liquid crystal display (LCD), a thin film transistor liquid crystal display (TFT LCD), an organic light-emitting diode (OLED), and a flexible display. It may include at least one of a flexible display, a 3D display, an e-ink display, and a Light Emitting Diode (LED).

또한, 상기 표시부(130)는 상기 제어부(150)의 제어에 의해 상기 통신부(110)를 통해 접속한 데이터베이스로부터 읽은 정보(또는 데이터) 등을 표시한다.In addition, the display unit 130 displays information (or data) read from the database accessed through the communication unit 110 under the control of the control unit 150 .

상기 음성 출력부(140)는 상기 제어부(150)에 의해 소정 신호 처리된 신호에 포함된 음성 정보를 출력한다. 여기서, 상기 음성 출력부(140)에는 리시버(receiver), 스피커(speaker), 버저(buzzer) 등이 포함될 수 있다.The audio output unit 140 outputs audio information included in a signal processed by the control unit 150 . Here, the audio output unit 140 may include a receiver, a speaker, a buzzer, and the like.

또한, 상기 음성 출력부(140)는 상기 제어부(150)에 의해 생성된 안내 음성을 출력한다.In addition, the voice output unit 140 outputs a guide voice generated by the control unit 150 .

또한, 상기 음성 출력부(140)는 상기 제어부(150)의 제어에 의해 상기 통신부(110)를 통해 접속한 데이터베이스로부터 읽은 정보(또는 데이터) 등에 대응하는 음성 정보(또는 음향 효과)를 출력한다.In addition, the audio output unit 140 outputs audio information (or sound effects) corresponding to information (or data) read from the database accessed through the communication unit 110 under the control of the controller 150 .

상기 제어부(controller, 또는 MCU(microcontroller unit)(150)는 상기 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)의 전반적인 제어 기능을 실행한다.The controller (or microcontroller unit) 150 executes an overall control function of the device 100 for managing real-time tag data in the SCADA software.

또한, 상기 제어부(150)는 상기 저장부(120)에 저장된 프로그램 및 데이터를 이용하여 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)의 전반적인 제어 기능을 실행한다. 상기 제어부(150)는 RAM, ROM, CPU, GPU, 버스를 포함할 수 있으며, RAM, ROM, CPU, GPU 등은 버스를 통해 서로 연결될 수 있다. CPU는 상기 저장부(120)에 액세스하여, 상기 저장부(120)에 저장된 O/S를 이용하여 부팅을 수행할 수 있으며, 상기 저장부(120)에 저장된 각종 프로그램, 콘텐츠, 데이터 등을 이용하여 다양한 동작을 수행할 수 있다.In addition, the control unit 150 executes an overall control function of the device 100 for managing real-time tag data in SCADA software using the program and data stored in the storage unit 120 . The controller 150 may include a RAM, ROM, CPU, GPU, and bus, and the RAM, ROM, CPU, GPU, etc. may be connected to each other through a bus. The CPU may access the storage unit 120 and perform booting using the O/S stored in the storage unit 120 , and use various programs, contents, data, etc. stored in the storage unit 120 . Thus, various operations can be performed.

여기서, 본 발명의 실시예에 따른 상기 SCADA(Supervisory Control And Data Acquisition) 소프트웨어는 HMI(Human Machine Interface), MMI(Man Machine Interface) 등의 소프트웨어와 함께, 과거 태그 데이터에 관한 히스토리안 차트(Historian Chart) 작성 및 보고서 생성을 위한 실시간 태그 데이터 저장 시, 데이터의 용량을 줄여 디스크의 공간을 절약하고, 한 번의 데이터베이스 읽기(select)로 복수의 태그의 데이터를 수집하여 차트 작성 및 보고서 생성이 신속하게 처리되도록 하는 소프트웨어일 수 있다.Here, the SCADA (Supervisory Control And Data Acquisition) software according to the embodiment of the present invention, together with software such as HMI (Human Machine Interface) and MMI (Man Machine Interface), Historian Chart of the past tag data (Historian Chart) ) When saving real-time tag data for writing and report generation, it saves disk space by reducing the data capacity, and collects data of multiple tags with one database read (select) to quickly create charts and generate reports It may be software that makes it possible.

또한, 상기 SCADA에서 태그(Tag)는 SCADA에서 감시하거나 제어해야 할 요소들을 나타낸다.In addition, in the SCADA, a tag indicates elements to be monitored or controlled in the SCADA.

또한, 상기 태그는 디지털 태그(Digital Tag)와 아날로그 태그(Analog Tag)로 구분한다.In addition, the tag is divided into a digital tag and an analog tag.

상기 디지털 태그는 펌프의 동작 상태(예를 들어 Run/Stop), 램프의 켜진 상태(예를 들어 On/Off) 등과 같이 1개의 비트(Bit) 데이터 상태(예를 들어 High/Low)에 따라 해당 장치(또는 디바이스)의 동작 상태 등을 감시하거나 제어할 때 사용한다.The digital tag corresponds to one bit data state (eg High/Low) such as the operation state of the pump (eg, Run/Stop), the on state of the lamp (eg, On/Off), etc. It is used to monitor or control the operation status of the device (or device).

또한, 상기 아날로그 태그는 수위, 유량, 전압, 전류 등과 같이 연속적으로 변하는 양을 Byte(8 Bit), Word(16 Bit), Double Word(32 Bit) 등과 같이 복수의 비트(Bit) 데이터를 이용하여 해당 장치(또는 디바이스)의 동작 상태 등을 감시하거나 제어할 때 사용한다. 여기서, 상기 아날로그 태그는 대부분의 데이터가 소수점을 포함하여 5자리 정도의 범위를 벗어나지 않고 사용하고 있으며, 소수점을 포함하여야 하므로 부동소수점(Double Float) 형태로 저장한다.In addition, the analog tag uses a plurality of bit data such as Byte (8 Bit), Word (16 Bit), Double Word (32 Bit), etc. to continuously change quantity such as water level, flow rate, voltage, current, etc. It is used to monitor or control the operation status of the corresponding device (or device). Here, most of the data of the analog tag is used without departing from the range of about 5 digits including the decimal point, and it is stored in the form of a double float because it must include a decimal point.

상기 SCADA에서 히스토리안 차르를 표시할 때에는 보통 한 개의 태그만 표시하는 것이 아니라 복수의 태그를 차트 그룹(또는 트랜드 그룹)이라는 것을 생성하여, 복수의 태그 데이터를 동시에 확인한다.When displaying the historian chart in the SCADA, a plurality of tags is created as a chart group (or trend group), instead of displaying only one tag, and a plurality of tag data is checked at the same time.

예를 들어, 상기 제어부(150)는 펌프가 동작하는 전류와 이때 펌프에서 토출되는 물의 양, 압력 등을 한 번에 차트에서 확인할 있도록 구성한다.For example, the control unit 150 is configured to check the current at which the pump operates and the amount and pressure of water discharged from the pump at a time on the chart.

따라서, 데이터베이스 하나의 열에 여러 태그의 데이터를 압축하여 저장하면, 데이터베이스에 대한 접근 횟수가 줄어 읽기 및 쓰기에 대한 속도가 증대되며, 데이터의 용량을 줄여 디스크의 공간을 절약할 수 있다.Therefore, if the data of several tags is compressed and stored in one column of the database, the number of accesses to the database is reduced to increase the read and write speed, and the disk space can be saved by reducing the data capacity.

또한, 상기 제어부(150)는 태그의 통신 상태를 함께 저장하여 운영자가 데이터베이스에 저장된 데이터의 신뢰성을 판단할 수 있도록 도움을 줄 수 있다.In addition, the control unit 150 may help the operator to determine the reliability of data stored in the database by storing the communication state of the tag together.

또한, 상기 제어부(150)는 차트 그룹 내에 설정된 다수의 태그(또는 태그들)를 확인한다. 여기서, 상기 차트 그룹은 특정 디바이스(미도시)와 관련한 정보를 관리하기 위해서, 하나 이상의 디지털 태그, 하나 이상의 아날로그 태그 등으로 구성한다.Also, the controller 150 checks a plurality of tags (or tags) set in the chart group. Here, in order to manage information related to a specific device (not shown), the chart group consists of one or more digital tags, one or more analog tags, and the like.

또한, 상기 제어부(150)는 상기 확인된 다수의 태그의 열 이름을 근거로 데이터베이스(미도시)에서 사용할 열의 이름과 열 내에서 차지하는 비트인덱스를 확인한다. 이때, 상기 제어부(150)는 상기 데이터베이스 내에 상기 확인된 다수의 태그의 열 이름과 비트인덱스가 없으면, 해당 데이터베이스에서 열 및 비트인덱스를 새로 할당한다. 여기서, 상기 비트인덱스는 미리 설정된 기준 단위 비트(예를 들어 64개 비트)로 구성되는 하나의 열에서 다수의 태그 각각이 위치한 비트에 대응하는 인덱스(또는 하나의 열에서 다수의 태그 각각이 위치한 순서)를 나타낸다.Also, the controller 150 checks the name of a column to be used in the database (not shown) and the bit index occupied in the column based on the identified column names of the plurality of tags. In this case, if there are no column names and bit indices of the plurality of tags in the database, the controller 150 allocates new column and bit indexes in the database. Here, the bit index is an index corresponding to a bit in which each of a plurality of tags is located in one column composed of preset reference unit bits (for example, 64 bits) (or an order in which each of the plurality of tags is located in one column) ) is indicated.

이때, 상기 데이터베이스의 각 열은 미리 설정된 크기(예를 들어 64 비트, 128 비트, 256 비트 등 포함)를 저장할 수 있는 공간이 할당된다.At this time, each column of the database is allocated a space for storing a preset size (including, for example, 64 bits, 128 bits, 256 bits, etc.).

예를 들어, 열의 크기가 64 비트인 경우, 하나의 열에 디지털 태그는 최대 32개, 아날로그 태그는 최대 3개의 데이터를 저장할 수 있도록 비트인덱스(예를 들어 디지털 태그: 0 ~ 31, 아날로그 태그: 0 ~ 2)를 부여한다.For example, if the size of a column is 64 bits, the bit index (e.g. digital tag: 0 ~ 31, analog tag: 0) can store up to 32 digital tags and up to 3 analog tags in one column. ~ 2) is given.

또한, 본 발명의 실시예에서는 상기 비트인덱스의 기준 단위 비트를 64 비트로 설명하고 있으나, 이에 한정되는 것은 아니며, 해당 비트인덱스의 기준 단위 비트는 설계자의 설계에 따라 다양하게 설정(예를 들어 128 비트, 256 비트, 512 비트, 1024 비트 등 포함)할 수 있다.In addition, in the embodiment of the present invention, the reference unit bit of the bit index is described as 64 bits, but the present invention is not limited thereto, and the reference unit bit of the bit index is variously set according to the design of the designer (for example, 128 bits). , including 256 bits, 512 bits, 1024 bits, etc.).

또한, 상기 제어부(150)는 상기 확인된 다수의 태그 중에서 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 하나 이상의 열그룹을 생성(또는 구성)한다.Also, the controller 150 creates (or configures) one or more column groups by classifying tags using the same column among the identified plurality of tags into groups for each column.

또한, 상기 제어부(150)는 상기 생성된 하나 이상의 열그룹 중 첫 번째 열그룹(또는 어느 하나의 열그룹)을 선택한다.Also, the controller 150 selects a first column group (or any one column group) from among the one or more generated column groups.

또한, 상기 제어부(150)는 미리 설정된 열저장버퍼를 초기화한다. 여기서, 상기 열저장버퍼는 미리 설정된 기준 단위 비트(예를 들어 64 비트)로 구성한다.Also, the control unit 150 initializes a preset thermal storage buffer. Here, the column storage buffer is composed of a preset reference unit bit (eg, 64 bits).

즉, 상기 제어부(150)는 상기 열저장버퍼에 포함된 전체 비트값(또는 전체 데이터/값)을 미리 설정된 값(예를 들어 low에 해당하는 '0')으로 초기화하며, 상기 기준 단위 비트가 64 비트인 경우 16진수 표기 형태(또는 0x)로, 다음의 [수학식 1]에 따라 상기 열저장버퍼를 초기화한다.That is, the controller 150 initializes all bit values (or all data/values) included in the column storage buffer to a preset value (eg, '0' corresponding to low), and the reference unit bit is In the case of 64 bits, the column storage buffer is initialized in a hexadecimal notation form (or 0x) according to the following [Equation 1].

Figure 112021040864111-pat00001
Figure 112021040864111-pat00001

또한, 상기 제어부(150)는 상기 선택된 열그룹(또는 상기 선택된 첫 번째 열그룹) 내에 포함된 복수의 태그 중에서 어느 하나의 태그(또는 첫 번째 태그/비트인덱스가 빠른 하나의 태그)를 선택한다.Also, the controller 150 selects any one tag (or one tag having a faster first tag/bit index) from among a plurality of tags included in the selected column group (or the selected first column group).

또한, 상기 제어부(150)는 상기 선택된 어느 하나의 태그의 종류를 확인(또는 판단)한다.In addition, the control unit 150 checks (or determines) the type of any one of the selected tags.

즉, 상기 제어부(150)는 상기 선택된 태그가 디지털 태그인지 또는 아날로그 태그인지 확인(또는 판단)한다. 이때, 상기 제어부(150)는 상기 선택된 태그에 대한 디지털 태그 또는 아날로그 태그 확인 시, 해당 태그에 설정된 비트수(또는 해당 태그명)를 확인하여, 해당 태그가 디지털 태그인지 또는 아날로그 태그인지 확인할 수 있다. 여기서, 64 비트를 기준으로 상기 디지털 태그는 2 비트가 설정되고, 상기 아날로그 태그는 21 비트가 설정된 상태일 수 있다. 또한, 상기 태그명은 디지털 태그와 아날로그 태그를 구별하기 위해서, DTAG#*** 형태 또는 ATAG#*** 형태일 수 있다.That is, the controller 150 checks (or determines) whether the selected tag is a digital tag or an analog tag. In this case, when checking the digital tag or the analog tag for the selected tag, the controller 150 may check the number of bits (or the corresponding tag name) set in the corresponding tag to determine whether the corresponding tag is a digital tag or an analog tag. . Here, on the basis of 64 bits, the digital tag may have 2 bits set, and the analog tag may have 21 bits set. In addition, the tag name may be in the form of DTAG#*** or ATAG#*** in order to distinguish the digital tag from the analog tag.

상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 디지털 태그인 경우, 상기 제어부(150)는 미리 설정된 태그저장버퍼를 초기화한다. 여기서, 상기 태그저장버퍼는 태그의 태그데이터와 통신 상태의 값(또는 데이터)을 임시 저장하기 위한 용도로, 64 비트를 기준으로 디지털 태그를 위해서 2 비트로 구성하고, 아날로그 태그를 위해서 21 비트로 구성할 수 있다. 또한, 상기 디지털 태그를 위한 태그저장버퍼는 참('1') 또는 거짓('0')을 나타내기 위한 1개 비트의 태그데이터(또는 태그데이터 영역)와, 참('1'/정상) 또는 거짓('0'/이상)을 나타내기 위한 1개 비트의 통신 상태(또는 통신 상태 영역)로 구성한다. 또한, 상기 아날로그 태그를 위한 태그저장버퍼는 지수, 정수 및 부호를 나타내기 위한 21개 비트의 태그데이터(또는 태그데이터 영역)와, 참('1'/정상) 또는 거짓('0'/이상)을 나타내기 위한 1개 비트의 통신 상태(또는 통신 상태 영역)로 구성한다.When the check result (or the determination result) indicates that the selected tag is a digital tag, the controller 150 initializes a preset tag storage buffer. Here, the tag storage buffer is used to temporarily store the tag data of the tag and the value (or data) of the communication state, and consists of 2 bits for a digital tag and 21 bits for an analog tag based on 64 bits. can In addition, the tag storage buffer for the digital tag includes one bit of tag data (or tag data area) for indicating true ('1') or false ('0') and true ('1'/normal) Alternatively, it consists of a communication status (or communication status area) of 1 bit to indicate false ('0'/over). In addition, the tag storage buffer for the analog tag includes 21 bits of tag data (or tag data area) for representing exponents, integers and signs, and true ('1'/normal) or false ('0'/or more). ) is composed of one bit of communication status (or communication status area) to indicate.

즉, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 디지털 태그인 경우, 상기 제어부(150)는 상기 기준 단위 비트가 64 비트인 경우 2진수 표기 형태(또는 0b)로, 다음의 [수학식 2]에 따라 2 비트의 상기 태그저장버퍼를 초기화한다.That is, when the check result (or the determination result), and the selected tag is a digital tag, the control unit 150 in the form of binary notation (or 0b) when the reference unit bit is 64 bits, the following [mathematics According to Equation 2], the tag storage buffer of 2 bits is initialized.

Figure 112021040864111-pat00002
Figure 112021040864111-pat00002

또한, 상기 제어부(150)는 해당 태그(또는 상기 디지털 태그)의 현재 태그데이터가 참(또는 트루)인지 여부를 판단(또는 확인)한다.Also, the controller 150 determines (or confirms) whether the current tag data of the corresponding tag (or the digital tag) is true (or true).

즉, 상기 제어부(150)는 상기 선택된 디지털 태그의 태그데이터의 값이 참(true)인지 거짓(false)인지 판단한다.That is, the controller 150 determines whether the value of the tag data of the selected digital tag is true or false.

상기 판단 결과(또는 상기 확인 결과), 상기 선택된 디지털 태그의 태그데이터의 값이 참인 경우, 상기 제어부(150)는 상기 초기화된 태그저장버퍼의 첫 번째 비트(또는 0번 비트)를 미리 설정된 값인 하이('1')로 설정한다.When the determination result (or the confirmation result) indicates that the value of the tag data of the selected digital tag is true, the control unit 150 sets the first bit (or bit 0) of the initialized tag storage buffer to a preset high value. Set to ('1').

즉, 상기 판단 결과(또는 상기 확인 결과), 상기 선택된 디지털 태그의 태그데이터의 값이 참인 경우, 상기 제어부(150)는 다음의 [수학식 3]에 따라 상기 초기화된 태그저장버퍼의 첫번째 비트를 상기 하이값으로 설정한다.That is, when the determination result (or the confirmation result) and the value of the tag data of the selected digital tag are true, the control unit 150 stores the first bit of the initialized tag storage buffer according to the following [Equation 3] set to the above high value.

Figure 112021040864111-pat00003
Figure 112021040864111-pat00003

또한, 상기 판단 결과(또는 상기 확인 결과), 상기 선택된 디지털 태그의 태그데이터의 값이 참이 아닌 경우(또는 상기 선택된 디지털 태그의 태그데이터의 값이 거짓인 경우) 또는, 상기 태그저장버퍼의 첫 번째 비트를 하이로 설정한 경우, 상기 제어부(150)는 상기 선택된 디지털 태그의 통신 상태가 이상 상태인지 여부를 확인(또는 판단)한다.In addition, when the value of the tag data of the selected digital tag is not true (or the value of the tag data of the selected digital tag is false) in the determination result (or the confirmation result), or the first of the tag storage buffer When the th bit is set to high, the controller 150 checks (or determines) whether the communication state of the selected digital tag is abnormal.

즉, 상기 판단 결과(또는 상기 확인 결과), 상기 선택된 디지털 태그의 태그데이터의 값이 참이 아닌 경우(또는 상기 선택된 디지털 태그의 태그데이터의 값이 거짓인 경우) 또는, 상기 태그저장버퍼의 첫 번째 비트를 하이로 설정한 경우, 상기 제어부(150)는 상기 선택된 디지털 태그의 통신 상태를 나타내는 비트의 값이 미리 설정된 참(또는 트루/정상)인지 거짓(또는 폴스/이상)인지 확인한다.That is, when the determination result (or the confirmation result), the value of the tag data of the selected digital tag is not true (or the value of the tag data of the selected digital tag is false), or the first of the tag storage buffer When the th bit is set to high, the controller 150 checks whether the value of the bit indicating the communication state of the selected digital tag is preset true (or true/normal) or false (or false/abnormal).

상기 확인 결과, 상기 선택된 디지털 태그의 통신 상태가 이상 상태인 경우, 상기 제어부(150)는 상기 태그저장버퍼의 두 번째 비트(또는 1번 비트)를 미리 설정된 값인 하이('1')로 설정한다.As a result of the check, when the communication state of the selected digital tag is abnormal, the control unit 150 sets the second bit (or the first bit) of the tag storage buffer to a preset high ('1'). .

즉, 상기 선택된 디지털 태그의 통신 상태를 나타내는 비트의 값이 미리 설정된 거짓(또는 폴스/이상)인 경우, 상기 제어부(150)는 다음의 [수학식 4]에 따라 상기 태그저장버퍼의 두번째 비트를 상기 하이값으로 설정한다.That is, when the value of the bit indicating the communication state of the selected digital tag is preset false (or false/abnormal), the control unit 150 sets the second bit of the tag storage buffer according to the following [Equation 4]. set to the above high value.

Figure 112021040864111-pat00004
Figure 112021040864111-pat00004

여기서, '|' 연산자는 OR 연산자로, 상기 제어부(150)는 이전 태그저장버퍼의 값과 상기 0b10을 OR 연산하여 상기 태그저장버퍼의 값을 업데이트한다.Here, '|' The operator is an OR operator, and the control unit 150 updates the value of the tag storage buffer by ORing the value of the previous tag storage buffer and the 0b10.

또한, 상기 확인 결과, 상기 선택된 디지털 태그의 통신 상태가 이상 상태가 아닌 경우(또는 상기 선택된 디지털 태그의 통신 상태가 정상 상태인 경우) 또는, 상기 태그저장버퍼의 두 번째 비트를 하이로 설정한 경우, 상기 제어부(150)는 상기 열저장버퍼 내의 상기 선택된 디지털 태그의 비트인덱스에 대응하는 비트(또는 위치)에 상기 태그저장버퍼의 값(또는 상기 태그저장버퍼에 임시 저장된 값/데이터)을 저장한다.In addition, as a result of the check, when the communication state of the selected digital tag is not in an abnormal state (or when the communication state of the selected digital tag is in a normal state), or when the second bit of the tag storage buffer is set to high , the controller 150 stores the value of the tag storage buffer (or the value/data temporarily stored in the tag storage buffer) in a bit (or position) corresponding to the bit index of the selected digital tag in the column storage buffer. .

즉, 상기 확인 결과, 상기 선택된 디지털 태그의 통신 상태가 이상 상태가 아닌 경우(또는 상기 선택된 디지털 태그의 통신 상태가 정상 상태인 경우) 또는, 상기 태그저장버퍼의 두 번째 비트를 하이로 설정한 경우, 상기 제어부(150)는 다음의 [수학식 5]에 따라 상기 선택된 디지털 태그와 관련해서 태그데이터와 통신 상태에 대한 정보(또는 값/데이터)를 포함하는 상기 태그저장버퍼의 값을 상기 열저장버퍼 내에서의 상기 선택된 디지털 태그의 비트인덱스에 해당하는 비트에 저장(또는 적용)한다.That is, as a result of the check, when the communication state of the selected digital tag is not in an abnormal state (or when the communication state of the selected digital tag is in a normal state), or when the second bit of the tag storage buffer is set to high , the control unit 150 stores the value of the tag storage buffer including tag data and information (or value/data) on the communication state in relation to the selected digital tag according to the following [Equation 5] in the column It is stored (or applied) to the bit corresponding to the bit index of the selected digital tag in the buffer.

Figure 112021040864111-pat00005
Figure 112021040864111-pat00005

또한, 상기 제어부(150)는 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값(예를 들어 태그데이터, 통신 상태 등 포함)을 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하는지 확인(또는 판단)한다. 여기서, 상기 다른 태그는 해당 다른 태그의 태그데이터와 통신 상태를 나타내는 비트의 값을 상기 태그저장버퍼에 임시 저장한 후, 해당 다른 태그와 관련한 비트인덱스에 따라 상기 열저장버퍼 내의 특정 위치로 상기 태그저장버퍼에 임시 저장된 비트값을 저장하는 과정을 아직 수행하지 않은 태그일 수 있다.In addition, the control unit 150 checks whether there is another tag that does not store a value in the tag (including, for example, tag data, communication state, etc.) in the column storage buffer among a plurality of tags included in the previously selected column group ( or judge). Here, the other tag temporarily stores the tag data of the other tag and the bit value indicating the communication status in the tag storage buffer, and then moves the tag to a specific location in the column storage buffer according to the bit index related to the other tag. It may be a tag that has not yet performed the process of storing the bit value temporarily stored in the storage buffer.

상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터(또는 값)를 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하는 경우, 상기 제어부(150)는 상기 태그저장버퍼를 초기화하는 과정으로 복귀(또는 리턴)하여, 상기 태그저장버퍼를 초기화하는 과정, 상기 다른 태그의 현재 태그데이터가 참인지 여부를 판단하고 그 결과에 따라 상기 태그저장버퍼의 첫 번째 비트를 하이로 설정하는 과정, 상기 다른 태그의 통신 상태가 이상 상태인지 여부를 확인하고 그 결과에 따라 상기 태그저장버퍼의 두 번째 비트를 하이로 설정하는 과정, 상기 열저장버퍼 내의 상기 다른 태그의 비트인덱스에 대응하는 비트(또는 위치)에 상기 태그저장버퍼의 값을 저장하는 과정을 반복적으로 수행한다.As a result of the check, if there is another tag that does not store the data (or value) in the tag in the column storage buffer among the plurality of tags included in the previously selected column group, the controller 150 initializes the tag storage buffer returning (or returning) to the process of initializing the tag storage buffer, determining whether the current tag data of the other tag is true, and setting the first bit of the tag storage buffer to high according to the result process, checking whether the communication state of the other tag is abnormal, and setting the second bit of the tag storage buffer to be high according to the result, a bit corresponding to the bit index of the other tag in the column storage buffer The process of storing the value of the tag storage buffer in (or location) is repeatedly performed.

또한, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터(또는 값)를 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하지 않은 경우, 상기 제어부(150)는 앞서 선택된 열그룹과 관련한 열저장버퍼의 값을 상기 데이터베이스 내의 해당 열에 저장한다. 이때, 상기 제어부(150)는 해당 열저장버퍼의 값이 상기 데이터베이스에 저장되는 시점의 날짜와 시각 정보를 별도의 열에 추가로 저장할 수 있다.Also, as a result of the check, if there is no other tag that does not store the data (or value) in the tag in the column storage buffer among the plurality of tags included in the previously selected column group, the controller 150 controls the previously selected column The value of the column storage buffer associated with the group is stored in the corresponding column in the database. In this case, the controller 150 may additionally store the date and time information of the time when the value of the corresponding column storage buffer is stored in the database in a separate column.

즉, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그에 대해서 해당 복수의 태그에 저장된 태그데이터와 통신 상태에 대한 값을 상기 열저장버퍼에 모두 저장한 경우, 상기 제어부(150)는 해당 열저장버퍼에 저장된 값을 상기 데이터베이스 내의 해당 열에 저장한다.That is, as a result of the check, when all of the tag data and the communication state values stored in the plurality of tags included in the previously selected column group are stored in the column storage buffer, the controller 150 controls the corresponding The value stored in the column storage buffer is stored in the corresponding column in the database.

또한, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 아날로그 태그인 경우, 상기 제어부(150)는 상기 선택된 아날로그 태그의 태그데이터의 부호에 따라 상기 태그저장버퍼를 초기화한다. 여기서, 상기 태그저장버퍼는 태그의 태그데이터와 통신 상태의 값(또는 데이터)을 임시 저장하기 위한 용도로, 64 비트를 기준으로 디지털 태그를 위해서 2 비트로 구성하고, 아날로그 태그를 위해서 21 비트로 구성할 수 있다. 또한, 상기 디지털 태그를 위한 태그저장버퍼는 참('1') 또는 거짓('0')을 나타내기 위한 1개 비트의 태그데이터(또는 태그데이터 영역)와, 참('1'/정상) 또는 거짓('0'/이상)을 나타내기 위한 1개 비트의 통신 상태(또는 통신 상태 영역)로 구성한다. 또한, 상기 아날로그 태그를 위한 태그저장버퍼는 지수, 정수 및 부호를 나타내기 위한 21개 비트의 태그데이터(또는 태그데이터 영역)와, 참('1'/정상) 또는 거짓('0'/이상)을 나타내기 위한 1개 비트의 통신 상태(또는 통신 상태 영역)로 구성한다.Also, when the check result (or the determination result) indicates that the selected tag is an analog tag, the controller 150 initializes the tag storage buffer according to the sign of the tag data of the selected analog tag. Here, the tag storage buffer is used to temporarily store the tag data of the tag and the value (or data) of the communication state, and consists of 2 bits for a digital tag and 21 bits for an analog tag based on 64 bits. can In addition, the tag storage buffer for the digital tag includes one bit of tag data (or tag data area) for indicating true ('1') or false ('0') and true ('1'/normal) Alternatively, it consists of a communication status (or communication status area) of 1 bit to indicate false ('0'/over). In addition, the tag storage buffer for the analog tag includes 21 bits of tag data (or tag data area) for representing exponents, integers and signs, and true ('1'/normal) or false ('0'/or more). ) is composed of one bit of communication status (or communication status area) to indicate.

즉, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 아날로그 태그인 경우, 상기 제어부(150)는 상기 선택된 아날로그 태그의 태그데이터의 부호를 확인한다.That is, when the check result (or the determination result) indicates that the selected tag is an analog tag, the controller 150 checks the sign of the tag data of the selected analog tag.

또한, 상기 확인된 태그데이터의 부호가 양수인 경우, 상기 제어부(150)는 상기 기준 단위 비트가 64 비트인 태그저장버퍼에 대해서 다음의 [수학식 6]에 따라 상기 태그저장버퍼를 초기화한다.Also, when the sign of the checked tag data is positive, the controller 150 initializes the tag storage buffer according to the following [Equation 6] with respect to the tag storage buffer in which the reference unit bit is 64 bits.

즉, 상기 확인된 태그데이터의 부호가 양수인 경우, 상기 제어부(150)는 2진수 표기 형태로 21 비트의 상기 태그저장버퍼를 초기화(또는 모든 비트의 값을 '0'으로 설정)한다.That is, when the sign of the checked tag data is positive, the control unit 150 initializes the 21-bit tag storage buffer in a binary notation form (or sets the values of all bits to '0').

Figure 112021040864111-pat00006
Figure 112021040864111-pat00006

또한, 상기 확인된 태그데이터의 부호가 음수인 경우, 상기 제어부(150)는 상기 기준 단위 비트가 64 비트인 태그저장버퍼에 대해서 다음의 [수학식 7]에 따라 상기 태그저장버퍼를 초기화한다.Also, when the sign of the checked tag data is negative, the controller 150 initializes the tag storage buffer according to the following [Equation 7] with respect to the tag storage buffer in which the reference unit bit is 64 bits.

즉, 상기 확인된 태그데이터의 부호가 음수인 경우, 상기 제어부(150)는 2진수 표기 형태로 21 비트 중 0번째 비트 ~ 19번째 비트의 값을 '0'으로 설정하고, 20번째 비트의 값을 '1'로 설정(또는 음수로 설정)한다.That is, when the sign of the checked tag data is negative, the control unit 150 sets the value of the 0th bit to the 19th bit among 21 bits to '0' in binary notation form, and the value of the 20th bit is set to '1' (or set to a negative number).

Figure 112021040864111-pat00007
Figure 112021040864111-pat00007

또한, 상기 제어부(150)는 해당 태그(또는 상기 아날로그 태그)의 현재 태그데이터의 절댓값(또는 절댓값데이터)을 계산(또는 산출)한다.Also, the controller 150 calculates (or calculates) an absolute value (or absolute value data) of the current tag data of the corresponding tag (or the analog tag).

즉, 상기 제어부(150)는 미리 설정된 절댓값 함수를 이용해서 상기 선택된 아날로그 태그의 태그데이터에 대한 절댓값을 계산한다.That is, the controller 150 calculates an absolute value for the tag data of the selected analog tag by using a preset absolute value function.

또한, 상기 제어부(150)는 상기 계산된(또는 산출된) 절댓값(또는 상기 태그데이터의 절댓값)을 근거로 해당 태그의 태그데이터의 정수 부분의 자릿수(또는 정수자릿수)를 계산한다.Also, the controller 150 calculates the number of digits (or integer digits) of the integer part of the tag data of the corresponding tag based on the calculated (or calculated) absolute value (or the absolute value of the tag data).

즉, 상기 계산된 절댓값이 1 이상인 경우, 상기 제어부(150)는 다음의 [수학식 8]에 따라 상기 계산된 절댓값에 Log10을 적용한 후 소수점 이하는 버림하고(또는 내림하고), 버림된 값에 1을 더해서 해당 아날로그 태그의 태그데이터의 정수부분의 자릿수를 계산한다.That is, when the calculated absolute value is 1 or more, the control unit 150 applies Log10 to the calculated absolute value according to the following [Equation 8] and then rounds off (or rounds down) the decimal point to the discarded value. Add 1 to calculate the number of digits in the integer part of the tag data of the analog tag.

Figure 112021040864111-pat00008
Figure 112021040864111-pat00008

또한, 상기 계산된 절댓값이 1 미만인 경우, 상기 제어부(150)는 다음의 [수학식 9]에 따라 상기 계산된 절댓값에 Log10을 적용한 후 소수점 이하는 버림하여 해당 아날로그 태그의 태그데이터의 정수부분의 자릿수를 계산한다.In addition, when the calculated absolute value is less than 1, the control unit 150 applies Log10 to the calculated absolute value according to the following [Equation 9] and discards the decimal point or less of the integer part of the tag data of the analog tag. count the digits

Figure 112021040864111-pat00009
Figure 112021040864111-pat00009

또한, 상기 제어부(150)는 미리 설정된 기준 자릿수(예를 들어 5)에서 상기 계산된 태그데이터의 정수부분의 자릿수(또는 정수자릿수)를 빼서, 지수를 계산(또는 산출)한다.Also, the control unit 150 calculates (or calculates) the index by subtracting the number of digits (or integer digits) of the integer part of the calculated tag data from the preset reference number of digits (eg, 5).

즉, 상기 제어부(150)는 다음의 [수학식 10]에 따라 상기 계산된 아날로그 태그의 태그데이터의 정수부분의 자릿수를 이용해서 해당 아날로그 태그의 태그데이터와 관련한 지수를 계산한다.That is, the control unit 150 calculates an index related to the tag data of the analog tag by using the number of digits of the integer part of the calculated tag data of the analog tag according to the following [Equation 10].

Figure 112021040864111-pat00010
Figure 112021040864111-pat00010

또한, 상기 제어부(150)는 상기 계산된 지수(또는 아날로그 태그의 태그데이터와 관련한 지수)를 상기 태그저장버퍼에서의 미리 설정된 3 비트의 지수 영역에 대응하도록 2진수 표기 형태로 변환한다.In addition, the controller 150 converts the calculated exponent (or an exponent related to tag data of an analog tag) into a binary notation form to correspond to a preset 3-bit exponent area in the tag storage buffer.

또한, 상기 제어부(150)는 상기 계산된(또는 산출된) 절댓값에 10을 지수만큼 자승한 값을 곱하여 정수를 계산(또는 산출)한다.Also, the controller 150 calculates (or calculates) an integer by multiplying the calculated (or calculated) absolute value by a value obtained by multiplying 10 to the power of an exponent.

즉, 상기 제어부(150)는 다음의 [수학식 11]에 따라 상기 계산된 절댓값과 상기 계산된 지수를 이용해서 해당 아날로그 태그의 태그데이터와 관련한 정수(또는 자연수)를 계산한다.That is, the controller 150 calculates an integer (or a natural number) related to the tag data of the corresponding analog tag by using the calculated absolute value and the calculated exponent according to the following [Equation 11].

Figure 112021040864111-pat00011
Figure 112021040864111-pat00011

또한, 상기 제어부(150)는 상기 계산된 정수(또는 아날로그 태그의 태그데이터와 관련한 정수)를 상기 태그저장버퍼에서의 미리 설정된 17 비트의 정수 영역에 대응하도록 2진수 표기 형태로 변환한다.In addition, the controller 150 converts the calculated integer (or an integer related to tag data of an analog tag) into a binary notation form to correspond to a preset 17-bit integer region in the tag storage buffer.

또한, 상기 제어부(150)는 상기 2진수로 변환된 지수와 상기 2진수로 변환된 정수와 상기 확인된 아날로그 태그의 태그데이터의 부호를 상기 태그저장버퍼에 저장한다.In addition, the control unit 150 stores the exponent converted into the binary number, the integer converted into the binary number, and the sign of the checked tag data of the analog tag in the tag storage buffer.

즉, 상기 제어부(150)는 다음의 [수학식 12]에 따라 상기 초기화된 태그저장버퍼의 첫 번째 비트 내지 세 번째 비트에 상기 변환된 지수를 저장하고, 상기 초기화된 태그저장버퍼의 네 번째 비트 내지 스무 번째 비트에 상기 변환된 정수를 각각 저장한다.That is, the controller 150 stores the converted index in the first to third bits of the initialized tag storage buffer according to Equation 12 below, and the fourth bit of the initialized tag storage buffer Each of the converted integers is stored in bit to twentieth bits.

Figure 112021040864111-pat00012
Figure 112021040864111-pat00012

또한, 상기 제어부(150)는 상기 열저장버퍼 내의 상기 선택된 아날로그 태그의 비트인덱스에 대응하는 비트(또는 위치)에 상기 태그저장버퍼의 값(또는 상기 태그저장버퍼에 임시 저장된 값/데이터)을 저장한다.Also, the controller 150 stores the value of the tag storage buffer (or the value/data temporarily stored in the tag storage buffer) in a bit (or position) corresponding to the bit index of the selected analog tag in the column storage buffer. do.

즉, 상기 제어부(150)는 다음의 [수학식 13]에 따라 상기 선택된 아날로그 태그와 관련해서 정수를 포함하는 태그데이터와 통신 상태에 대한 정보(또는 값/데이터)를 포함하는 상기 태그저장버퍼의 값을 상기 열저장버퍼 내에서의 상기 선택된 아날로그 태그의 비트인덱스에 해당하는 비트에 저장(또는 적용)한다.That is, the control unit 150 controls the tag storage buffer including tag data including integers and communication status information (or value/data) in relation to the selected analog tag according to the following [Equation 13]. A value is stored (or applied) to a bit corresponding to the bit index of the selected analog tag in the column storage buffer.

Figure 112021040864111-pat00013
Figure 112021040864111-pat00013

또한, 상기 제어부(150)는 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값(예를 들어 태그데이터 등 포함)을 상기 열저장버퍼에 저장하지 않은 또 다른 태그가 존재하는지 확인(또는 판단)한다. 여기서, 상기 또 다른 태그는 해당 또 다른 태그의 절댓값을 계산하고, 태그데이터의 정수 자릿수를 계산하고, 지수를 계산하고, 해당 태그데이터를 정수로 계산하고, 정수와 지수를 2진수로 변환하여 상기 태그저장버퍼에 임시 저장한 후, 해당 또 다른 태그와 관련한 비트인덱스에 따라 상기 열저장버퍼 내의 다른 특정 위치로 상기 태그저장버퍼에 임시 저장된 비트값을 저장하는 과정을 아직 수행하지 않은 태그일 수 있다.In addition, the control unit 150 checks (or determines) whether there is another tag that does not store a value in the tag (eg, including tag data, etc.) in the column storage buffer among a plurality of tags included in the previously selected column group. )do. Here, the other tag calculates the absolute value of the other tag, calculates the number of integer digits of the tag data, calculates the exponent, calculates the corresponding tag data as an integer, and converts the integer and the exponent into binary. After being temporarily stored in the tag storage buffer, it may be a tag that has not yet performed the process of storing the bit value temporarily stored in the tag storage buffer to another specific location in the column storage buffer according to the bit index related to the other tag. .

상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터(또는 값)를 상기 열저장버퍼에 저장하지 않은 또 다른 태그가 존재하는 경우, 상기 제어부(150)는 상기 태그저장버퍼를 초기화하는 과정으로 복귀하여, 상기 태그저장버퍼를 초기화하는 과정, 해당 또 다른 태그의 태그데이터의 절댓값을 계산하는 과정, 해당 또 다른 태그의 태그데이터의 정수 자릿수를 계산하는 과정, 상기 지수를 계산하고 계산된 지수를 2진수로 변환하는 과정, 상기 태그데이터를 정수로 계산하고 계산된 정수를 2진수로 변환하는 과정, 상기 변환된 정수와 지수를 상기 태그저장버퍼에 저장하는 과정, 상기 또 다른 태그와 관련한 비트인덱스에 따라 상기 열저장버퍼 내의 상기 또 다른 태그의 비트인덱스에 대응하는 비트(또는 위치)에 상기 태그저장버퍼의 값을 저장하는 과정을 반복적으로 수행한다.As a result of the check, if there is another tag that does not store the data (or value) in the tag in the column storage buffer from among the plurality of tags included in the previously selected column group, the controller 150 stores the tag storage buffer. Returning to the initialization process, the process of initializing the tag storage buffer, the process of calculating the absolute value of the tag data of the other tag, the process of calculating the integer digits of the tag data of the other tag, calculating the index, converting the calculated exponent into a binary number, calculating the tag data into an integer and converting the calculated integer into a binary number, storing the converted integer and the exponent in the tag storage buffer, the another tag The process of storing the value of the tag storage buffer in a bit (or position) corresponding to the bit index of the another tag in the column storage buffer according to the related bit index is repeatedly performed.

또한, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터(또는 값)를 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하지 않은 경우, 상기 제어부(150)는 앞서 선택된 아날로그 태그의 통신 상태가 이상 상태인지 여부를 확인(또는 판단)한다.Also, as a result of the check, if there is no other tag that does not store the data (or value) in the tag in the column storage buffer among the plurality of tags included in the previously selected column group, the controller 150 controls the previously selected analog Check (or judge) whether the communication status of the tag is abnormal.

즉, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터(또는 값)를 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하지 않은 경우, 상기 제어부(150)는 상기 선택된 아날로그 태그의 통신 상태를 나타내는 비트의 값이 미리 설정된 참(또는 트루/정상)인지 거짓(또는 폴스/이상)인지 확인한다.That is, as a result of the check, if there is no other tag that does not store the data (or value) in the tag in the column storage buffer among the plurality of tags included in the previously selected column group, the controller 150 controls the selected analog Check whether the value of the bit indicating the communication status of the tag is preset true (or true/normal) or false (or false/abnormal).

상기 확인 결과, 앞서 선택된 아날로그 태그의 통신 상태가 이상 상태인 경우, 상기 제어부(150)는 상기 열저장버퍼의 63번째 비트를 미리 설정된 값인 하이('1')로 설정한다.As a result of the check, if the communication state of the previously selected analog tag is abnormal, the controller 150 sets the 63 th bit of the thermal storage buffer to a preset high ('1').

즉, 상기 앞서 선택된 아날로그 태그의 통신 상태를 나타내는 비트의 값이 미리 설정된 거짓(또는 폴스/이상)인 경우, 상기 제어부(150)는 상기 열저장버퍼의 63번째 비트를 상기 하이값으로 설정한다.That is, when the value of the bit representing the communication state of the previously selected analog tag is preset false (or false/abnormal), the controller 150 sets the 63rd bit of the thermal storage buffer to the high value.

또한, 상기 확인 결과, 상기 선택된 아날로그 태그의 통신 상태가 이상 상태가 아닌 경우(또는 상기 선택된 아날로그 태그의 통신 상태가 정상 상태인 경우) 또는, 해당 열저장버퍼의 63번째 비트를 하이로 설정한 경우, 상기 제어부(150)는 앞서 선택된 열그룹과 관련한 열저장버퍼의 값을 상기 데이터베이스 내의 해당 열에 저장한다. 이때, 상기 제어부(150)는 해당 열저장버퍼의 값이 상기 데이터베이스에 저장되는 시점의 날짜와 시각 정보를 별도의 열에 추가로 저장할 수 있다.In addition, as a result of the check, when the communication state of the selected analog tag is not in an abnormal state (or when the communication state of the selected analog tag is in a normal state), or when the 63rd bit of the corresponding thermal storage buffer is set to high , the controller 150 stores the value of the column storage buffer related to the previously selected column group in the corresponding column in the database. In this case, the controller 150 may additionally store the date and time information of the time when the value of the corresponding column storage buffer is stored in the database in a separate column.

즉, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그에 대해서 해당 복수의 태그에 저장된 태그데이터와 통신 상태에 대한 값을 상기 열저장버퍼에 모두 저장한 경우, 상기 제어부(150)는 해당 열저장버퍼에 저장된 값을 상기 데이터베이스 내의 해당 열에 저장한다.That is, as a result of the check, when all of the tag data and the communication state values stored in the plurality of tags included in the previously selected column group are stored in the column storage buffer, the controller 150 controls the corresponding The value stored in the column storage buffer is stored in the corresponding column in the database.

또한, 상기 제어부(150)는 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 태그 내의 값을 상기 열저장버퍼를 이용해서 상기 데이터베이스에 저장하지 않은 다른 열그룹이 존재하는지 확인(또는 판단)한다. 여기서, 상기 다른 열그룹은 해당 다른 열그룹에 포함된 복수의 태그의 태그데이터와 통신 상태를 나타내는 비트의 값을 디지털 태그 또는 아날로그 태그 여부에 따라 상기 태그저장버퍼에 임시 저장한 후, 해당 다른 열그룹에 포함된 복수의 태그와 관련한 비트인덱스에 따라 상기 열저장버퍼 내의 특정 위치로 상기 태그저장버퍼에 임시 저장된 비트값을 저장하는 과정을 아직 수행하지 않은 열그룹일 수 있다.In addition, the control unit 150 checks (or determines) whether another column group that does not store the value in the tag included in the column group in the database from among the one or more previously generated column groups exists in the database using the column storage buffer. . Here, the other column group temporarily stores the tag data of a plurality of tags included in the other column group and the bit value indicating the communication state in the tag storage buffer according to whether the tag is a digital tag or an analog tag, and then the other column It may be a column group in which the process of storing the bit value temporarily stored in the tag storage buffer to a specific location in the column storage buffer according to the bit index related to the plurality of tags included in the group has not yet been performed.

상기 확인 결과, 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 태그 내의 값을 상기 열저장버퍼를 이용해서 상기 데이터베이스에 저장하지 않은 다른 열그룹이 존재하는 경우, 상기 제어부(150)는 상기 열저장버퍼를 초기화하는 과정으로 복귀하여, 상기 열저장버퍼를 초기화하는 과정, 상기 선택된 열그룹(또는 상기 선택된 첫 번째 열그룹) 내에 포함된 복수의 태그 중에서 어느 하나의 태그를 선택하는 과정, 상기 선택된 어느 하나의 태그의 종류를 확인하는 과정, 상기 확인된 태그의 종류에 따라 태그데이터 및 통신 상태를 나타내는 비트의 값을 상기 태그저장버퍼에 저장하는 과정, 상기 태그저장버퍼에 저장된 값을 상기 열저장버퍼 내의 특정 비트인덱스에 대응하는 비트(또는 위치)에 저장하는 과정, 상기 열저장버퍼에 저장된 값을 상기 데이터베이스 내의 해당 열에 저장하는 과정을 반복적으로 수행한다.As a result of the check, if there is another column group that does not store the value in the tag included in the column group in the database using the column storage buffer from among the one or more column groups created above, the controller 150 controls the column Returning to the process of initializing the storage buffer, the process of initializing the column storage buffer, the process of selecting any one tag from among a plurality of tags included in the selected column group (or the selected first column group), the selected A process of confirming the type of any one tag, a process of storing the value of a bit indicating tag data and a communication state according to the checked tag type in the tag storage buffer, and storing the value stored in the tag storage buffer as the column The process of storing the bit (or position) corresponding to the specific bit index in the buffer and the process of storing the value stored in the column storage buffer in the corresponding column in the database are repeatedly performed.

또한, 상기 확인 결과, 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 태그 내의 값을 상기 열저장버퍼를 이용해서 상기 데이터베이스에 저장하지 않은 다른 열그룹이 존재하지 않은 경우, 상기 제어부(150)는 미리 설정된 지정 간격(또는 지정 시간) 동안 대기 상태를 유지한다.In addition, as a result of the check, if there is no other column group that does not store the value in the tag included in the column group in the database by using the column storage buffer among the one or more previously generated column groups, the control unit 150 maintains a standby state for a preset interval (or a specified time).

즉, 상기 확인 결과, 앞서 생성된 하나 이상의 열그룹과 관련해서 해당 하나 이상의 열그룹에 포함된 복수의 태그 내의 정보(예를 들어 태그데이터, 통신 상태 등 포함)를 상기 데이터베이스에 모두 저장한 경우, 상기 제어부(150)는 상기 미리 설정된 지정 간격(또는 지정 시간) 동안 대기 상태를 유지한다.That is, as a result of the check, when all information (including, for example, tag data, communication status, etc.) in a plurality of tags included in the one or more column groups previously created is stored in the database, The control unit 150 maintains a standby state for the preset predetermined interval (or specified time).

또한, 상기 지정 간격이 지나면, 상기 제어부(150)는 앞선 하나 이상의 열그룹 중에서 첫 번째 열그룹(또는 어느 하나의 열그룹)을 선택하는 과정부터 다시 수행한다.Also, when the specified interval elapses, the control unit 150 starts again from the process of selecting the first column group (or any one column group) from among the one or more previous column groups.

또한, 상기 제어부(150)는 차트 그룹 내에 설정된 다수의 태그(또는 태그들)를 확인한다. 여기서, 상기 차트 그룹은 특정 디바이스(미도시)와 관련한 정보를 관리하기 위해서, 하나 이상의 디지털 태그, 하나 이상의 아날로그 태그 등으로 구성한다.Also, the controller 150 checks a plurality of tags (or tags) set in the chart group. Here, in order to manage information related to a specific device (not shown), the chart group consists of one or more digital tags, one or more analog tags, and the like.

또한, 상기 제어부(150)는 상기 확인된 다수의 태그의 열 이름을 근거로 데이터베이스(미도시)에서 사용되는 열의 이름과 열 내에서 차지하는 비트인덱스를 확인한다. 여기서, 상기 비트인덱스는 미리 설정된 기준 단위 비트(예를 들어 64 비트)로 구성되는 하나의 열에서 다수의 태그 각각이 위치한 비트에 대응하는 인덱스(또는 하나의 열에서 다수의 태그 각각이 위치한 순서)를 나타낸다.Also, the controller 150 checks the name of a column used in the database (not shown) and the bit index occupied in the column based on the identified column names of the plurality of tags. Here, the bit index is an index corresponding to a bit in which each of a plurality of tags is located in one column composed of preset reference unit bits (eg, 64 bits) (or an order in which each of the plurality of tags is located in one column) indicates

또한, 상기 제어부(150)는 상기 확인된 다수의 태그 중에서 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 하나 이상의 열그룹을 생성(또는 구성)한다.Also, the controller 150 creates (or configures) one or more column groups by classifying tags using the same column among the identified plurality of tags into groups for each column.

또한, 상기 제어부(150)는 상기 생성된 하나 이상의 열그룹 중 첫 번째 열그룹(또는 어느 하나의 열그룹)을 선택한다.Also, the controller 150 selects a first column group (or any one column group) from among the one or more generated column groups.

또한, 상기 제어부(150)는 상기 데이터베이스에서 해당 열그룹과 관련한 열데이터를 읽는다. 이때, 상기 제어부(150)는 상기 데이터베이스에서 해당 열데이터와 관련한 날짜 및 시각 정보(또는 해당 열데이터가 저장된 시점의 날짜 및 시각 정보)를 상기 열데이터와 함께 읽을 수도 있다. 여기서, 상기 열데이터는 상기 데이터베이스에서 특정 열에 대응하는 데이터(또는 값)일 수 있다.Also, the control unit 150 reads column data related to a corresponding column group from the database. In this case, the controller 150 may read date and time information (or date and time information at a time point at which the column data is stored) related to the column data from the database together with the column data. Here, the column data may be data (or values) corresponding to a specific column in the database.

즉, 상기 제어부(150)는 기준 단위 비트가 64 비트인 경우 해당 데이터베이스에서 상기 열그룹과 관련해서 64 비트의 열데이터를 읽는다.That is, when the reference unit bit is 64 bits, the controller 150 reads 64-bit column data in relation to the column group from the database.

또한, 상기 제어부(150)는 상기 읽은 열데이터를 초기화된 열저장버퍼에 저장(또는 임시 저장)한다.Also, the controller 150 stores (or temporarily stores) the read column data in an initialized column storage buffer.

또한, 상기 제어부(150)는 상기 선택된 열그룹(또는 상기 선택된 첫 번째 열그룹) 내에 포함된 복수의 태그 중에서 어느 하나의 태그(또는 첫 번째 태그/비트인덱스가 빠른 하나의 태그)를 선택한다.Also, the controller 150 selects any one tag (or one tag having a faster first tag/bit index) from among a plurality of tags included in the selected column group (or the selected first column group).

또한, 상기 제어부(150)는 상기 선택된 어느 하나의 태그의 종류를 확인(또는 판단)한다.In addition, the control unit 150 checks (or determines) the type of any one of the selected tags.

즉, 상기 제어부(150)는 상기 선택된 태그가 디지털 태그인지 또는 아날로그 태그인지 확인(또는 판단)한다. 이때, 상기 제어부(150)는 상기 선택된 태그에 대한 디지털 태그 또는 아날로그 태그 확인 시, 해당 태그에 설정된 비트수(또는 해당 태그명)를 확인하여, 해당 태그가 디지털 태그인지 또는 아날로그 태그인지 확인할 수 있다. 여기서, 64 비트를 기준으로 상기 디지털 태그는 2 비트가 설정되고, 상기 아날로그 태그는 21 비트가 설정된 상태일 수 있다. 또한, 상기 태그명은 디지털 태그와 아날로그 태그를 구별하기 위해서, DTAG#*** 형태 또는 ATAG#*** 형태일 수 있다.That is, the controller 150 checks (or determines) whether the selected tag is a digital tag or an analog tag. In this case, when checking the digital tag or the analog tag for the selected tag, the controller 150 may check the number of bits (or the corresponding tag name) set in the corresponding tag to determine whether the corresponding tag is a digital tag or an analog tag. . Here, on the basis of 64 bits, the digital tag may have 2 bits set, and the analog tag may have 21 bits set. In addition, the tag name may be in the form of DTAG#*** or ATAG#*** in order to distinguish the digital tag from the analog tag.

상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 디지털 태그인 경우, 상기 제어부(150)는 상기 읽은 열데이터(또는 상기 열저장버퍼에 저장 중인 열데이터)에서 상기 선택된 태그의 비트인덱스와 관련한 태그읽기값을 추출한다.As a result of the check (or the determination result), when the selected tag is a digital tag, the controller 150 relates to the bit index of the selected tag in the read column data (or column data being stored in the column storage buffer). Extract the tag read value.

즉, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 디지털 태그인 경우, 상기 제어부(150)는 다음의 [수학식 14]에 따라 상기 읽은 열데이터 중에서 상기 선택된 디지털 태그의 비트인덱스에 대응하는 2진수 형태의 2 비트의 값(또는 태그읽기값)을 추출한다.That is, when the check result (or the determination result) indicates that the selected tag is a digital tag, the control unit 150 corresponds to the bit index of the selected digital tag among the read column data according to the following [Equation 14] Extracts the 2-bit value (or tag read value) in binary format.

Figure 112021040864111-pat00014
Figure 112021040864111-pat00014

또한, 상기 제어부(150)는 상기 추출된 태그읽기값에서 해당 디지털 태그의 태그데이터를 추출한다.Also, the control unit 150 extracts tag data of the corresponding digital tag from the extracted tag read value.

즉, 상기 제어부(150)는 다음의 [수학식 15]에 따라 상기 추출된 태그읽기값 중에서 첫번째 비트의 값을 해당 디지털 태그의 태그데이터로 추출한다.That is, the controller 150 extracts the value of the first bit among the extracted tag read values as tag data of the corresponding digital tag according to the following [Equation 15].

Figure 112021040864111-pat00015
Figure 112021040864111-pat00015

또한, 상기 제어부(150)는 상기 추출된 태그읽기값에서 통신 상태의 값을 추출한다.In addition, the control unit 150 extracts the value of the communication state from the extracted tag read value.

즉, 상기 제어부(150)는 다음의 [수학식 16]에 따라 상기 추출된 태그읽기값 중에서 두번째 비트의 값을 해당 디지털 태그의 통신 상태의 값으로 추출한다.That is, the controller 150 extracts the value of the second bit among the extracted tag read values as the value of the communication state of the corresponding digital tag according to the following [Equation 16].

Figure 112021040864111-pat00016
Figure 112021040864111-pat00016

또한, 상기 제어부(150)는 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재하는지 확인(또는 판단)한다. 여기서, 상기 다른 태그는 해당 다른 태그의 태그데이터와 통신 상태를 나타내는 비트의 값을 상기 읽은 열데이터로부터 아직 추출하지 않은 태그일 수 있다.Also, the control unit 150 checks (or determines) whether another tag from which a tag read value is not extracted from the read column data among a plurality of tags included in the previously selected column group exists. Here, the other tag may be a tag in which a value of a bit indicating a communication state with tag data of the other tag has not yet been extracted from the read column data.

상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재하는 경우, 상기 제어부(150)는 상기 읽은 열데이터에서 상기 다른 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정으로 복귀하여, 상기 읽은 열데이터에서 상기 다른 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정, 상기 태그읽기값에서 해당 다른 태그의 태그데이터를 추출하는 과정, 상기 태그읽기값에서 해당 다른 태그의 통신 상태의 값을 추출하는 과정, 상기 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하는지 확인하는 과정을 반복적으로 수행한다.As a result of the check, if there is another tag for which a tag read value is not extracted from the read column data among a plurality of tags included in the previously selected column group, the controller 150 controls the bit of the other tag in the read column data. Returning to the process of extracting the tag read value related to the index, the process of extracting the tag read value related to the bit index of the other tag from the read column data, the process of extracting the tag data of the other tag from the tag read value , the process of extracting the value of the communication state of the corresponding other tag from the tag read value, and the process of checking whether another tag from which the tag read value is not extracted from the column data is repeatedly performed.

또한, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재하지 않은 경우, 상기 제어부(150)는 차트 작성 및/또는 보고서 작성에 사용될 수 있도록 태그별로 태그데이터와 통신상태의 값을 전달(또는 출력)한다.In addition, as a result of the check, if there is no other tag for which a tag read value is extracted from the read column data among a plurality of tags included in the previously selected column group, the controller 150 creates a chart and/or writes a report Transmits (or outputs) tag data and communication status values for each tag so that it can be used for

또한, 상기 제어부(150)는 해당 태그에 대한 정보 요청에 따라 상기 태그별 태그데이터와 통신상태의 값을 근거로 히스토리안 차트를 작성하거나, 보고서를 작성(또는 생성)한다.In addition, the control unit 150 creates a historian chart or creates (or generates) a report based on the tag data for each tag and the value of the communication state according to a request for information on the corresponding tag.

또한, 상기 제어부(150)는 상기 작성된 히스토리안 차트, 상기 작성된 보고서 등을 상기 표시부(130)에 표시한다.In addition, the control unit 150 displays the written historian chart, the written report, and the like on the display unit 130 .

또한, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 아날로그 태그인 경우, 상기 제어부(150)는 상기 읽은 열데이터(또는 상기 열저장버퍼에 저장 중인 열데이터)에서 상기 선택된 태그의 비트인덱스와 관련한 태그읽기값을 추출한다.In addition, when the check result (or the determination result) indicates that the selected tag is an analog tag, the controller 150 controls the bit index of the selected tag in the read column data (or column data being stored in the column storage buffer). Extract the tag read value related to

즉, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 아날로그 태그인 경우, 상기 제어부(150)는 다음의 [수학식 17]에 따라 상기 읽은 열데이터 중에서 상기 선택된 아날로그 태그의 비트인덱스에 대응하는 2진수 형태의 21개 비트의 값(또는 태그읽기값)을 추출한다.That is, when the check result (or the determination result) indicates that the selected tag is an analog tag, the control unit 150 corresponds to the bit index of the selected analog tag among the read column data according to the following [Equation 17] extracts the value of 21 bits (or tag read value) in binary format.

Figure 112021040864111-pat00017
Figure 112021040864111-pat00017

또한, 상기 제어부(150)는 상기 추출된 태그읽기값에서 2진수 형태의 해당 아날로그 태그의 지수를 추출한다.In addition, the control unit 150 extracts the index of the analog tag in binary form from the extracted tag read value.

즉, 상기 제어부(150)는 다음의 [수학식 18]에 따라 상기 추출된 태그읽기값 중에서 0번째 비트의 값 ~ 2번째 비트의 값을 해당 아날로그 태그의 지수로 추출한다.That is, the control unit 150 extracts the value of the 0th bit to the value of the 2nd bit among the extracted tag read values as the index of the corresponding analog tag according to the following [Equation 18].

Figure 112021040864111-pat00018
Figure 112021040864111-pat00018

또한, 상기 제어부(150)는 상기 추출된 2진수 형태의 지수를 10진수 형태의 지수로 변환한다.In addition, the control unit 150 converts the extracted exponent in binary form into exponent in decimal form.

또한, 상기 제어부(150)는 상기 추출된 태그읽기값에서 해당 아날로그 태그의 정수를 추출한다.Also, the control unit 150 extracts an integer of the corresponding analog tag from the extracted tag read value.

즉, 상기 제어부(150)는 다음의 [수학식 19]에 따라 상기 추출된 태그읽기값 중에서 3번째 비트의 값 ~ 19번째 비트의 값을 해당 아날로그 태그의 정수로 추출한다.That is, the control unit 150 extracts the value of the third bit to the value of the 19th bit among the extracted tag read values as an integer of the corresponding analog tag according to the following [Equation 19].

Figure 112021040864111-pat00019
Figure 112021040864111-pat00019

또한, 상기 제어부(150)는 상기 추출된 2진수 형태의 정수를 10진수 형태의 정수로 변환한다.In addition, the control unit 150 converts the extracted integer in binary form into integer in decimal form.

또한, 상기 제어부(150)는 상기 변환된 정수를 10에 상기 변환된 지수만큼 자승한 값으로 나누어 상기 선택된 아날로그 태그의 태그데이터를 계산한다.Also, the controller 150 calculates the tag data of the selected analog tag by dividing the converted integer by a value obtained by multiplying 10 by the converted exponent.

즉, 상기 제어부(150)는 다음의 [수학식 20]에 따라 10진수 형태로 상기 변환된 정수 및 상기 10진수 형태로 변환된 지수를 이용해서 상기 선택된 아날로그 태그의 태그데이터를 계산한다.That is, the control unit 150 calculates the tag data of the selected analog tag using the integer converted into decimal form and the exponent converted into the decimal form according to the following [Equation 20].

Figure 112021040864111-pat00020
Figure 112021040864111-pat00020

또한, 상기 제어부(150)는 상기 추출된 태그읽기값에서의 부호 비트를 확인하여, 해당 아날로그 태그의 태그데이터가 음수인지 양수인지 확인한다.In addition, the control unit 150 checks the sign bit in the extracted tag read value to determine whether the tag data of the analog tag is negative or positive.

또한, 해당 부호 비트가 하이인 경우, 상기 제어부(150)는 상기 계산된 태그데이터를 음수로 변환한다.Also, when the corresponding sign bit is high, the controller 150 converts the calculated tag data into a negative number.

즉, 상기 제어부(150)는 다음의 [수학식 21]에 따라 상기 추출된 태그읽기값의 20번째 비트의 값을 확인하여, 상기 계산된 태그데이터가 음수인지 양수인지 확인하고, 확인 결과에 따라 태그데이터가 음수이면 해당 태그데이터의 값을 음수로 변환한다.That is, the control unit 150 checks the value of the 20th bit of the extracted tag read value according to the following [Equation 21], checks whether the calculated tag data is a negative number or a positive number, and according to the confirmation result If the tag data is negative, the value of the tag data is converted to a negative number.

Figure 112021040864111-pat00021
Figure 112021040864111-pat00021

또한, 상기 제어부(150)는 상기 확인 결과에 따라 태그데이터가 양수이면 앞서 계산된 태그데이터를 그대로 유지한다.In addition, if the tag data is positive according to the check result, the control unit 150 maintains the previously calculated tag data as it is.

또한, 상기 제어부(150)는 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하는지 확인(또는 판단)한다. 여기서, 상기 또 다른 태그는 해당 또 다른 태그의 태그데이터와 통신 상태를 나타내는 비트의 값을 상기 읽은 열데이터로부터 아직 추출하지 않은 태그일 수 있다.Also, the controller 150 checks (or determines) whether another tag from which a tag read value is not extracted from the read column data among a plurality of tags included in the previously selected column group exists. Here, the another tag may be a tag in which a value of a bit indicating a communication state and tag data of the other tag has not yet been extracted from the read column data.

상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하는 경우, 상기 제어부(150)는 상기 읽은 열데이터에서 상기 또 다른 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정으로 복귀하여, 상기 읽은 열데이터에서 상기 또 다른 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정, 상기 태그읽기값에서 2진수 형태의 해당 또 다른 태그의 지수를 추출하고 추출된 2진수 형태의 지수를 10진수 형태의 지수로 변환하는 과정, 상기 태그읽기값에서 2진수 형태의 해당 또 다른 태그의 정수를 추출하고 추출된 2진수 형태의 정수를 10진수 형태의 정수로 변환하는 과정, 상기 변환된 정수와 지수를 이용해서 해당 또 다른 태그의 태그데이터를 계산하는 과정, 상기 또 다른 태그의 태그데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하는지 확인하는 과정을 반복적으로 수행한다.As a result of the check, if there is another tag for which a tag read value is not extracted from the read column data among a plurality of tags included in the previously selected column group, the controller 150 controls the other tag from the read column data. Returning to the process of extracting the tag read value related to the bit index of The process of extracting the exponent of a tag and converting the extracted exponent in binary form into exponent in decimal form, extracting the integer of another tag in binary form from the tag read value, and converting the extracted integer in binary form The process of converting to an integer in decimal form, the process of calculating the tag data of another tag using the converted integer and exponent, and another tag that does not extract the tag read value from the tag data of the other tag Repeat the process to check if it exists.

또한, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하지 않은 경우, 상기 제어부(150)는 상기 읽은 열데이터에서 통신 상태의 값을 추출한다.Also, as a result of the check, if there is no tag from which a tag read value is extracted from the read column data among a plurality of tags included in the previously selected column group, the controller 150 performs communication from the read column data. Extract the value of the state.

즉, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하지 않은 경우, 상기 제어부(150)는 상기 읽은 열데이터에서 미리 설정된 비트(예를 들어 63번 비트)의 값을 확인하여 해당 아날로그 태그와 관련한 통신 상태를 나타내는 비트의 값이 미리 설정된 참(또는 트루/정상)인지 거짓(또는 폴스/이상)인지 확인한다.That is, as a result of the check, if there is no tag from which a tag read value is extracted from the read column data among a plurality of tags included in the previously selected column group, the control unit 150 pre-selects the read column data. Check the value of the set bit (eg, bit 63) and check whether the value of the bit indicating the communication status related to the analog tag is preset true (or true/normal) or false (or false/abnormal).

또한, 상기 제어부(150)는 차트 작성 및/또는 보고서 작성에 사용될 수 있도록 태그별로 태그데이터와 통신상태의 값을 전달(또는 출력)한다.In addition, the control unit 150 transmits (or outputs) the tag data and the value of the communication state for each tag so that it can be used for chart writing and/or report writing.

또한, 상기 제어부(150)는 해당 태그에 대한 정보 요청에 따라 상기 태그별 태그데이터와 통신상태의 값을 근거로 히스토리안 차트를 작성하거나, 보고서를 작성(또는 생성)한다.In addition, the control unit 150 creates a historian chart or creates (or generates) a report based on the tag data for each tag and the value of the communication state according to a request for information on the corresponding tag.

또한, 상기 제어부(150)는 상기 작성된 히스토리안 차트, 상기 작성된 보고서 등을 상기 표시부(130)에 표시한다.In addition, the control unit 150 displays the written historian chart, the written report, and the like on the display unit 130 .

또한, 상기 제어부(150)는 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 복수의 태그와 관련해서 상기 데이터베이스로부터 해당 태그와 관련한 태그데이터, 통신 상태의 값 등을 추출하지 않은 다른 열그룹이 존재하는지 확인(또는 판단)한다. 여기서, 상기 다른 열그룹은 해당 다른 열그룹에 포함된 복수의 태그와 관련해서 상기 데이터베이스로부터 해당 태그와 관련한 태그데이터, 통신 상태의 값 등을 추출하지 않은 열그룹일 수 있다.In addition, the control unit 150 determines that, among the one or more previously generated column groups, with respect to a plurality of tags included in the column group, another column group for which tag data related to the corresponding tag, a value of a communication state, etc. are not extracted from the database. Check (or judge) if it exists. Here, the other column group may be a column group in which tag data related to a corresponding tag, a value of a communication state, etc. are not extracted from the database with respect to a plurality of tags included in the other column group.

상기 확인 결과, 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 복수의 태그와 관련해서 상기 데이터베이스로부터 해당 태그와 관련한 태그데이터, 통신 상태의 값 등을 추출하지 않은 다른 열그룹이 존재하는 경우, 상기 제어부(150)는 상기 데이터베이스로부터 상기 다른 열그룹과 관련해서 64 비트의 열데이터를 읽는 과정으로 복귀하여, 상기 데이터베이스로부터 상기 다른 열그룹과 관련한 열데이터를 읽는 과정, 상기 선택된 다른 열그룹 내에 포함된 복수의 태그 중에서 어느 하나의 태그를 선택하는 과정, 상기 선택된 어느 하나의 태그의 종류를 확인하는 과정, 상기 확인된 태그의 종류에 따라 태그데이터, 통신 상태를 나타내는 비트의 값, 태그데이터의 양수 또는 음수를 나타내는 비트의 값 등을 추출 및 계산하는 과정, 차트 작성 및/또는 보고서 작성에 사용될 수 있도록 태그별로 태그데이터와 통신상태의 값을 전달하는 과정을 반복적으로 수행한다.As a result of the check, if there is another column group in which tag data related to the corresponding tag, the value of the communication state, etc. are not extracted from the database with respect to a plurality of tags included in the column group among the one or more column groups created above, The controller 150 returns to the process of reading 64-bit column data in relation to the other column group from the database, and reading the column data relating to the other column group from the database, including in the selected other column group. The process of selecting one tag from among the plurality of tags, the process of confirming the type of the selected one tag, the tag data according to the checked type of the tag, the value of the bit indicating the communication status, and the positive number of the tag data Alternatively, the process of extracting and calculating the value of the bit representing a negative number, etc., and transferring the tag data and the communication status value for each tag so that it can be used for chart writing and/or report writing are repeatedly performed.

또한, 상기 확인 결과, 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 복수의 태그와 관련해서 상기 데이터베이스로부터 해당 태그와 관련한 태그데이터, 통신 상태의 값 등을 추출하지 않은 다른 열그룹이 존재하지 않은 경우, 상기 제어부(150)는 전체 과정을 종료한다.In addition, as a result of the check, there is no other column group in which tag data related to the corresponding tag, the value of the communication state, etc. are not extracted from the database with respect to a plurality of tags included in the column group among the one or more previously created column groups. If not, the control unit 150 ends the entire process.

이와 같이, 본 발명의 실시예에서는 복수의 태그가 데이터베이스의 하나의 열을 공유하므로 데이터베이스의 용량을 절약할 수 있고, 하나의 열에만 접근하여 복수의 태그의 데이터를 수집할 수 있으므로 소요되는 시간을 줄일 수 있다.As such, in the embodiment of the present invention, since a plurality of tags share one column of the database, the capacity of the database can be saved, and the time required can be reduced because data of a plurality of tags can be collected by accessing only one column. can be reduced

본 발명의 실시예에서는 상기 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)에서 전용 앱 형태 또는 웹 사이트 형태로 상기 다른 서버에서 제공하는 다양한 기능(예를 들어 디지털 태그 데이터 또는 아날로그 태그 데이터를 데이터베이스에 저장하는 기능, 데이터베이스에 저장된 데이터를 읽어오는 기능 등 포함)을 수행할 수 있다.In an embodiment of the present invention, in the device 100 for managing real-time tag data in the SCADA software, various functions (eg, digital tag data or analog tag data) provided by the other server in the form of a dedicated app or website are stored in a database. functions such as saving to the database, reading data stored in the database, etc.) can be performed.

이와 같이, 복수의 태그로 구성되는 차트 그룹 내에 설정된 태그들을 확인하여 데이터베이스에서 사용할 열의 이름과 열 내에서 차지하는 비트인덱스를 확인하고, 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 열그룹을 생성하고, 열저장버퍼를 초기화한 후, 열그룹 내에 포함된 태그별로 태그 종류에 따라 태그의 통신 상태를 포함하는 열저장버퍼를 계산하고, 계산된 열저장버퍼를 데이터베이스에 저장할 수 있다.In this way, by checking the tags set in the chart group consisting of a plurality of tags, the name of the column to be used in the database and the bit index occupied in the column are checked, and the tag using the same column is classified into groups for each column to create a column group After creating and initializing the thermal storage buffer, it is possible to calculate the thermal storage buffer including the communication state of the tag according to the tag type for each tag included in the column group, and store the calculated thermal storage buffer in the database.

또한, 이와 같이, 복수의 태그로 구성되는 차트 그룹 내에 설정된 태그들을 확인하여 데이터베이스에서 사용되는 열의 이름과 열 내에서 차지하는 비트인덱스를 확인하고, 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 열그룹을 생성하고, 열저장버퍼를 초기화한 후, 열그룹 내에 포함된 태그별로 태그 종류에 따라 태그읽기값에 포함된 정보를 추출하여 태그데이터와 통신상태를 제공할 수 있다.Also, in this way, by checking the tags set in the chart group consisting of a plurality of tags, the name of the column used in the database and the bit index occupied in the column are checked, and tags using the same column are classified into groups for each column. After the column group is created and the column storage buffer is initialized, the information included in the tag read value can be extracted for each tag included in the column group according to the tag type to provide tag data and communication status.

이하에서는, 본 발명에 따른 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 방법을 도 1 내지 도 21을 참조하여 상세히 설명한다.Hereinafter, a method for managing real-time tag data in SCADA software according to the present invention will be described in detail with reference to FIGS. 1 to 21 .

도 2 내지 도 5는 본 발명의 제 1 실시예에 따른 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 방법을 나타낸 흐름도이다.2 to 5 are flowcharts illustrating a method for managing real-time tag data in SCADA software according to the first embodiment of the present invention.

먼저, 제어부(150)는 차트 그룹 내에 설정된 다수의 태그(또는 태그들)를 확인한다. 여기서, 상기 차트 그룹은 특정 디바이스(미도시)와 관련한 정보를 관리하기 위해서, 하나 이상의 디지털 태그, 하나 이상의 아날로그 태그 등으로 구성한다.First, the controller 150 checks a plurality of tags (or tags) set in the chart group. Here, in order to manage information related to a specific device (not shown), the chart group consists of one or more digital tags, one or more analog tags, and the like.

또한, 상기 제어부(150)는 상기 확인된 다수의 태그의 열 이름을 근거로 데이터베이스(미도시)에서 사용할 열의 이름과 열 내에서 차지하는 비트인덱스를 확인한다. 이때, 상기 제어부(150)는 상기 데이터베이스 내에 상기 확인된 다수의 태그의 열 이름과 비트인덱스가 없으면, 해당 데이터베이스에서 열 및 비트인덱스를 새로 할당한다. 여기서, 상기 비트인덱스는 미리 설정된 기준 단위 비트(예를 들어 64개 비트)로 구성되는 하나의 열에서 다수의 태그 각각이 위치한 비트에 대응하는 인덱스(또는 하나의 열에서 다수의 태그 각각이 위치한 순서)를 나타낸다.Also, the controller 150 checks the name of a column to be used in the database (not shown) and the bit index occupied in the column based on the identified column names of the plurality of tags. In this case, if there are no column names and bit indices of the plurality of tags in the database, the controller 150 allocates new column and bit indexes in the database. Here, the bit index is an index corresponding to a bit in which each of a plurality of tags is located in one column composed of preset reference unit bits (for example, 64 bits) (or an order in which each of the plurality of tags is located in one column) ) is indicated.

일 예로, 상기 제어부(150)는 제 1 차트 그룹 내에 설정된 제 1 디지털 태그(또는 DTAG #1) 내지 제 10 디지털 태그(또는 DTAG #10)를 확인한다.For example, the controller 150 checks the first digital tag (or DTAG #1) to the tenth digital tag (or DTAG #10) set in the first chart group.

또한, 도 6에 도시된 바와 같이, 상기 제어부(150)는 상기 확인된 제 1 디지털 태그(또는 DTAG #1)의 열 이름 내지 제 10 디지털 태그(또는 DTAG #10)의 열 이름을 근거로 상기 데이터베이스에서 사용할 열의 이름과 비트인덱스(예를 들어 상기 제 1 디지털 태그에 대응하는 0, 상기 제 2 디지털 태그에 대응하는 1, 상기 제 3 디지털 태그에 대응하는 2, 상기 제 4 디지털 태그에 대응하는 3, 상기 제 5 디지털 태그에 대응하는 28, 상기 제 6 디지털 태그에 대응하는 29, 상기 제 7 디지털 태그에 대응하는 30, 상기 제 8 디지털 태그에 대응하는 31, 상기 제 9 디지털 태그에 대응하는 32, 상기 제 10 디지털 태그에 대응하는 33 등 포함)를 확인한다.In addition, as shown in FIG. 6 , the controller 150 controls the column name of the identified first digital tag (or DTAG #1) to the column name of the tenth digital tag (or DTAG #10). The name and bit index of a column to be used in the database (eg, 0 corresponding to the first digital tag, 1 corresponding to the second digital tag, 2 corresponding to the third digital tag, and corresponding to the fourth digital tag 3, 28 corresponding to the fifth digital tag, 29 corresponding to the sixth digital tag, 30 corresponding to the seventh digital tag, 31 corresponding to the eighth digital tag, corresponding to the ninth digital tag 32, including 33, etc. corresponding to the tenth digital tag).

다른 일 예로, 상기 제어부(150)는 제 2 차트 그룹 내에 설정된 제 1 아날로그 태그(또는 ATAG #1)의 열 이름 내지 제 3 아날로그 태그(또는 ATAG #3)를 확인한다.As another example, the control unit 150 checks the column name to the third analog tag (or ATAG #3) of the first analog tag (or ATAG #1) set in the second chart group.

또한, 도 7에 도시된 바와 같이, 상기 제어부(150)는 상기 확인된 제 1 아날로그 태그(또는 ATAG #1) 내지 제 3 아날로그 태그(또는 ATAG #3)의 열 이름을 근거로 상기 데이터베이스에서 사용할 열의 이름과 비트인덱스(예를 들어 상기 제 1 아날로그 태그에 대응하는 0, 상기 제 2 아날로그 태그에 대응하는 1, 상기 제 3 아날로그 태그에 대응하는 2 등 포함)를 확인한다(S210).In addition, as shown in FIG. 7 , the controller 150 uses the column names of the identified first analog tags (or ATAG #1) to third analog tags (or ATAG #3) to be used in the database. A column name and bit index (eg, 0 corresponding to the first analog tag, 1 corresponding to the second analog tag, 2 corresponding to the third analog tag, etc.) are checked ( S210 ).

이후, 상기 제어부(150)는 상기 확인된 다수의 태그 중에서 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 하나 이상의 열그룹을 생성(또는 구성)한다.Thereafter, the controller 150 creates (or configures) one or more column groups by classifying tags using the same column among the identified plurality of tags into groups for each column.

일 예로, 상기 제어부(150)는 상기 확인된 제 1 디지털 태그 내지 제 10 디지털 태그 중에서 동일한 제 1 열을 사용하는 제 1 디지털 태그 내지 제 8 디지털 태그를 하나의 그룹으로 분류하여 제 1 열그룹을 생성하고, 동일한 제 2 열을 사용하는 제 9 디지털 태그 내지 제 10 디지털 태그를 하나의 그룹으로 분류하여 제 2 열그룹을 생성한다.For example, the controller 150 classifies the first to eighth digital tags using the same first column among the identified first to tenth digital tags into one group to form a first column group. The second column group is created by classifying the ninth to tenth digital tags using the same second column into one group.

다른 일 예로, 상기 제어부(150)는 상기 확인된 제 1 아날로그 태그 내지 제 3 아날로그 태그 중에서 동일한 열을 사용하는 제 1 아날로그 태그 내지 제 3 아날로그 태그를 하나의 그룹으로 분류하여 제 11 열그룹을 생성한다(S220).As another example, the controller 150 generates an 11th column group by classifying the first to third analog tags using the same column among the identified first to third analog tags into one group. do (S220).

이후, 상기 제어부(150)는 상기 생성된 하나 이상의 열그룹 중 첫 번째 열그룹(또는 어느 하나의 열그룹)을 선택한다.Thereafter, the controller 150 selects a first column group (or any one column group) from among the one or more generated column groups.

일 예로, 상기 제어부(150)는 상기 생성된 제 1 열그룹 및 제 2 열그룹 중에서 상기 제 1 열그룹을 선택한다.For example, the controller 150 selects the first column group from the generated first column group and the second column group.

다른 일 예로, 상기 제어부(150)는 상기 생성된 제 11 열그룹을 선택한다(S230).As another example, the controller 150 selects the generated eleventh column group (S230).

이후, 상기 제어부(150)는 미리 설정된 열저장버퍼를 초기화한다. 여기서, 상기 열저장버퍼는 미리 설정된 기준 단위 비트(예를 들어 64 비트)로 구성한다.Thereafter, the control unit 150 initializes a preset thermal storage buffer. Here, the column storage buffer is composed of a preset reference unit bit (eg, 64 bits).

즉, 상기 제어부(150)는 상기 열저장버퍼에 포함된 전체 비트값(또는 전체 데이터/값)을 미리 설정된 값(예를 들어 low에 해당하는 '0')으로 초기화하며, 상기 기준 단위 비트가 64 비트인 경우 16진수 표기 형태(또는 0x)로, 앞선 [수학식 1]에 따라 상기 열저장버퍼를 초기화한다.That is, the controller 150 initializes all bit values (or all data/values) included in the column storage buffer to a preset value (eg, '0' corresponding to low), and the reference unit bit is In the case of 64 bits, in a hexadecimal notation form (or 0x), the column storage buffer is initialized according to Equation 1 above.

일 예로, 상기 제어부(150)는 미리 설정된 64 비트의 제 1 열저장버퍼를 미리 설정된 값인 '0'으로 각각 초기화한다.For example, the controller 150 initializes the first 64-bit first column storage buffer to a preset value of '0', respectively.

다른 일 예로, 상기 제어부(150)는 미리 설정된 64 비트의 제 2 열저장버퍼를 미리 설정된 값인 '0'으로 각각 초기화한다(S240).As another example, the control unit 150 initializes the preset 64-bit second column storage buffer to a preset value of '0' (S240).

이후, 상기 제어부(150)는 상기 선택된 열그룹(또는 상기 선택된 첫 번째 열그룹) 내에 포함된 복수의 태그 중에서 어느 하나의 태그(또는 첫 번째 태그/비트인덱스가 빠른 하나의 태그)를 선택한다.Thereafter, the controller 150 selects any one tag (or one tag having a faster first tag/bit index) from among a plurality of tags included in the selected column group (or the selected first column group).

일 예로, 상기 제어부(150)는 상기 선택된 제 1 열그룹 내에 포함된 복수의 태그 중에서 제 1 디지털 태그(또는 제 1-1 태그)를 선택한다.For example, the controller 150 selects a first digital tag (or a 1-1 tag) from among a plurality of tags included in the selected first column group.

다른 일 예로, 상기 제어부(150)는 상기 선택된 제 11 열그룹 내에 포함된 복수의 태그 중에서 제 1 아날로그 태그(또는 제 1-2 태그)를 선택한다(S250).As another example, the controller 150 selects a first analog tag (or 1-2 tags) from among a plurality of tags included in the selected eleventh column group ( S250 ).

이후, 상기 제어부(150)는 상기 선택된 어느 하나의 태그의 종류를 확인(또는 판단)한다.Thereafter, the control unit 150 checks (or determines) the type of the selected one tag.

즉, 상기 제어부(150)는 상기 선택된 태그가 디지털 태그인지 또는 아날로그 태그인지 확인(또는 판단)한다. 이때, 상기 제어부(150)는 상기 선택된 태그에 대한 디지털 태그 또는 아날로그 태그 확인 시, 해당 태그에 설정된 비트수(또는 해당 태그명)를 확인하여, 해당 태그가 디지털 태그인지 또는 아날로그 태그인지 확인할 수 있다. 여기서, 64 비트를 기준으로 상기 디지털 태그는 2 비트가 설정되고, 상기 아날로그 태그는 21 비트가 설정된 상태일 수 있다. 또한, 상기 태그명은 디지털 태그와 아날로그 태그를 구별하기 위해서, DTAG#*** 형태 또는 ATAG#*** 형태일 수 있다.That is, the controller 150 checks (or determines) whether the selected tag is a digital tag or an analog tag. In this case, when checking the digital tag or the analog tag for the selected tag, the controller 150 may check the number of bits (or the corresponding tag name) set in the corresponding tag to determine whether the corresponding tag is a digital tag or an analog tag. . Here, on the basis of 64 bits, the digital tag may have 2 bits set, and the analog tag may have 21 bits set. In addition, the tag name may be in the form of DTAG#*** or ATAG#*** in order to distinguish the digital tag from the analog tag.

일 예로, 또한, 상기 제어부(150)는 상기 선택된 제 1 디지털 태그가 디지털 태그인지 또는 아날로그 태그인지 확인한다.As an example, also, the controller 150 determines whether the selected first digital tag is a digital tag or an analog tag.

다른 일 예로, 또한, 상기 제어부(150)는 상기 선택된 제 1 아날로그 태그가 디지털 태그인지 또는 아날로그 태그인지 확인한다(S260).As another example, also, the controller 150 determines whether the selected first analog tag is a digital tag or an analog tag (S260).

상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 디지털 태그인 경우, 상기 제어부(150)는 미리 설정된 태그저장버퍼를 초기화한다. 여기서, 상기 태그저장버퍼는 태그의 태그데이터와 통신 상태의 값(또는 데이터)을 임시 저장하기 위한 용도로, 64 비트를 기준으로 디지털 태그를 위해서 2 비트로 구성하고, 아날로그 태그를 위해서 21 비트로 구성할 수 있다. 또한, 상기 디지털 태그를 위한 태그저장버퍼는 참('1') 또는 거짓('0')을 나타내기 위한 1개 비트의 태그데이터(또는 태그데이터 영역)와, 참('1'/정상) 또는 거짓('0'/이상)을 나타내기 위한 1개 비트의 통신 상태(또는 통신 상태 영역)로 구성한다. 또한, 상기 아날로그 태그를 위한 태그저장버퍼는 지수, 정수 및 부호를 나타내기 위한 21개 비트의 태그데이터(또는 태그데이터 영역)와, 참('1'/정상) 또는 거짓('0'/이상)을 나타내기 위한 1개 비트의 통신 상태(또는 통신 상태 영역)로 구성한다.When the check result (or the determination result) indicates that the selected tag is a digital tag, the controller 150 initializes a preset tag storage buffer. Here, the tag storage buffer is used to temporarily store the tag data of the tag and the value (or data) of the communication state, and consists of 2 bits for a digital tag and 21 bits for an analog tag based on 64 bits. can In addition, the tag storage buffer for the digital tag includes one bit of tag data (or tag data area) for indicating true ('1') or false ('0') and true ('1'/normal) Alternatively, it consists of a communication status (or communication status area) of 1 bit to indicate false ('0'/over). In addition, the tag storage buffer for the analog tag includes 21 bits of tag data (or tag data area) for representing exponents, integers and signs, and true ('1'/normal) or false ('0'/or more). ) is composed of one bit of communication status (or communication status area) to indicate.

즉, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 디지털 태그인 경우, 상기 제어부(150)는 상기 기준 단위 비트가 64 비트인 경우 2진수 표기 형태(또는 0b)로, 앞선 [수학식 2]에 따라 2 비트의 상기 태그저장버퍼를 초기화한다.That is, when the check result (or the determination result), the selected tag is a digital tag, the control unit 150 in the form of binary notation (or 0b) when the reference unit bit is 64 bits, the previous [Equation 2] initializes the tag storage buffer of 2 bits.

일 예로, 상기 확인 결과, 상기 선택된 제 1 디지털 태그가 디지털 태그일 때, 상기 제어부(150)는 미리 설정된 2 비트인 제 1 태그저장버퍼를 초기화(예를 들어 0b00)한다(S270).For example, as a result of the check, when the selected first digital tag is a digital tag, the control unit 150 initializes (eg, 0b00) a first tag storage buffer of 2 bits preset ( S270 ).

이후, 상기 제어부(150)는 해당 태그(또는 상기 디지털 태그)의 현재 태그데이터가 참(또는 트루)인지 여부를 판단(또는 확인)한다.Thereafter, the controller 150 determines (or confirms) whether the current tag data of the corresponding tag (or the digital tag) is true (or true).

즉, 상기 제어부(150)는 상기 선택된 디지털 태그의 태그데이터의 값이 참(true)인지 거짓(false)인지 판단한다.That is, the controller 150 determines whether the value of the tag data of the selected digital tag is true or false.

일 예로, 상기 제어부(150)는 상기 선택된 제 1 디지털 태그의 태그데이터가 참인지 여부를 판단한다(S280).For example, the controller 150 determines whether the tag data of the selected first digital tag is true (S280).

상기 판단 결과(또는 상기 확인 결과), 상기 선택된 디지털 태그의 태그데이터의 값이 참인 경우, 상기 제어부(150)는 상기 초기화된 태그저장버퍼의 첫 번째 비트(또는 0번 비트)를 미리 설정된 값인 하이('1')로 설정한다.When the determination result (or the confirmation result) indicates that the value of the tag data of the selected digital tag is true, the control unit 150 sets the first bit (or bit 0) of the initialized tag storage buffer to a preset high value. Set to ('1').

즉, 상기 판단 결과(또는 상기 확인 결과), 상기 선택된 디지털 태그의 태그데이터의 값이 참인 경우, 상기 제어부(150)는 앞선 [수학식 3]에 따라 상기 초기화된 태그저장버퍼의 첫번째 비트를 상기 하이값으로 설정한다.That is, when the determination result (or the confirmation result) and the value of the tag data of the selected digital tag are true, the control unit 150 stores the first bit of the initialized tag storage buffer according to Equation 3 above. Set it to a high value.

일 예로, 상기 도 6에 도시된 바와 같이, 상기 판단 결과, 상기 선택된 제 1 디지털 태그의 태그데이터가 참일 때, 상기 제어부(150)는 상기 미리 설정된 2 비트의 제 1 태그저장버퍼 중에서 첫번째 비트의 값을 '1'로 설정한다(S290).For example, as shown in FIG. 6 , when the tag data of the selected first digital tag is true as a result of the determination, the control unit 150 controls the first bit of the preset 2-bit first tag storage buffer. The value is set to '1' (S290).

또한, 상기 판단 결과(또는 상기 확인 결과), 상기 선택된 디지털 태그의 태그데이터의 값이 참이 아닌 경우(또는 상기 선택된 디지털 태그의 태그데이터의 값이 거짓인 경우) 또는, 상기 태그저장버퍼의 첫 번째 비트를 하이로 설정한 경우, 상기 제어부(150)는 상기 선택된 디지털 태그의 통신 상태가 이상 상태인지 여부를 확인(또는 판단)한다.In addition, when the value of the tag data of the selected digital tag is not true (or the value of the tag data of the selected digital tag is false) in the determination result (or the confirmation result), or the first of the tag storage buffer When the th bit is set to high, the controller 150 checks (or determines) whether the communication state of the selected digital tag is abnormal.

즉, 상기 판단 결과(또는 상기 확인 결과), 상기 선택된 디지털 태그의 태그데이터의 값이 참이 아닌 경우(또는 상기 선택된 디지털 태그의 태그데이터의 값이 거짓인 경우) 또는, 상기 태그저장버퍼의 첫 번째 비트를 하이로 설정한 경우, 상기 제어부(150)는 상기 선택된 디지털 태그의 통신 상태를 나타내는 비트의 값이 미리 설정된 참(또는 트루/정상)인지 거짓(또는 폴스/이상)인지 확인한다.That is, when the determination result (or the confirmation result), the value of the tag data of the selected digital tag is not true (or the value of the tag data of the selected digital tag is false), or the first of the tag storage buffer When the th bit is set to high, the controller 150 checks whether the value of the bit indicating the communication state of the selected digital tag is preset true (or true/normal) or false (or false/abnormal).

일 예로, 상기 미리 설정된 2 비트의 제 1 태그저장버퍼 중에서 첫 번째 비트의 값을 '1'로 설정한 상태일 때, 상기 제어부(150)는 상기 선택된 제 1 디지털 태그의 통신 상태가 이상 상태인지 여부를 확인한다(S300).For example, when the value of the first bit among the preset 2-bit first tag storage buffer is set to '1', the controller 150 determines whether the communication state of the selected first digital tag is abnormal. It is checked whether or not (S300).

상기 확인 결과, 상기 선택된 디지털 태그의 통신 상태가 이상 상태인 경우, 상기 제어부(150)는 상기 태그저장버퍼의 두 번째 비트(또는 1번 비트)를 미리 설정된 값인 하이('1')로 설정한다.As a result of the check, when the communication state of the selected digital tag is abnormal, the control unit 150 sets the second bit (or the first bit) of the tag storage buffer to a preset high ('1'). .

즉, 상기 선택된 디지털 태그의 통신 상태를 나타내는 비트의 값이 미리 설정된 거짓(또는 폴스/이상)인 경우, 상기 제어부(150)는 앞선 [수학식 4]에 따라 상기 태그저장버퍼의 두번째 비트를 상기 하이값으로 설정한다.That is, when the value of the bit indicating the communication state of the selected digital tag is preset false (or false/abnormal), the controller 150 sets the second bit of the tag storage buffer according to Equation 4 above. Set it to a high value.

일 예로, 상기 선택된 제 1 디지털 태그의 통신 상태가 이상 상태일 때, 상기 제어부(150)는 앞선 제 1 태그저장버퍼에서의 두 번째 비트에 미리 설정된 '1'을 적용하여 해당 제 1 태그저장버퍼를 업데이트한다(S310).For example, when the communication state of the selected first digital tag is abnormal, the control unit 150 applies a preset '1' to the second bit in the first tag storage buffer to the first tag storage buffer. is updated (S310).

또한, 상기 확인 결과, 상기 선택된 디지털 태그의 통신 상태가 이상 상태가 아닌 경우(또는 상기 선택된 디지털 태그의 통신 상태가 정상 상태인 경우) 또는, 상기 태그저장버퍼의 두 번째 비트를 하이로 설정한 경우, 상기 제어부(150)는 상기 열저장버퍼 내의 상기 선택된 디지털 태그의 비트인덱스에 대응하는 비트(또는 위치)에 상기 태그저장버퍼의 값(또는 상기 태그저장버퍼에 임시 저장된 값/데이터)을 저장한다.In addition, as a result of the check, when the communication state of the selected digital tag is not in an abnormal state (or when the communication state of the selected digital tag is in a normal state), or when the second bit of the tag storage buffer is set to high , the controller 150 stores the value of the tag storage buffer (or the value/data temporarily stored in the tag storage buffer) in a bit (or position) corresponding to the bit index of the selected digital tag in the column storage buffer. .

즉, 상기 확인 결과, 상기 선택된 디지털 태그의 통신 상태가 이상 상태가 아닌 경우(또는 상기 선택된 디지털 태그의 통신 상태가 정상 상태인 경우) 또는, 상기 태그저장버퍼의 두 번째 비트를 하이로 설정한 경우, 상기 제어부(150)는 앞선 [수학식 5]에 따라 상기 선택된 디지털 태그와 관련해서 태그데이터와 통신 상태에 대한 정보(또는 값/데이터)를 포함하는 상기 태그저장버퍼의 값을 상기 열저장버퍼 내에서의 상기 선택된 디지털 태그의 비트인덱스에 해당하는 비트에 저장(또는 적용)한다.That is, as a result of the check, when the communication state of the selected digital tag is not in an abnormal state (or when the communication state of the selected digital tag is in a normal state), or when the second bit of the tag storage buffer is set to high , the controller 150 converts the value of the tag storage buffer including information (or value/data) on the tag data and communication state with respect to the selected digital tag according to Equation 5 above to the column storage buffer. It is stored (or applied) to the bit corresponding to the bit index of the selected digital tag within.

일 예로, 도 8에 도시된 바와 같이, 상기 제어부(150)는 상기 초기화된 64 비트의 제 1 열저장버퍼 중에서 상기 선택된 제 1 디지털 태그의 비트인덱스(예를 들어 0)에 대응하는 0번째 비트와 1번째 비트에 상기 제 1 태그저장버퍼에 저장된 값(예를 들어 01)을 저장한다(S320).For example, as shown in FIG. 8 , the control unit 150 controls a 0th bit corresponding to a bit index (eg, 0) of the selected first digital tag among the initialized 64-bit first column storage buffers. and a value (eg, 01) stored in the first tag storage buffer is stored in the first bit (S320).

이후, 상기 제어부(150)는 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값(예를 들어 태그데이터, 통신 상태 등 포함)을 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하는지 확인(또는 판단)한다. 여기서, 상기 다른 태그는 해당 다른 태그의 태그데이터와 통신 상태를 나타내는 비트의 값을 상기 태그저장버퍼에 임시 저장한 후, 해당 다른 태그와 관련한 비트인덱스에 따라 상기 열저장버퍼 내의 특정 위치로 상기 태그저장버퍼에 임시 저장된 비트값을 저장하는 과정을 아직 수행하지 않은 태그일 수 있다.Thereafter, the control unit 150 checks whether there is another tag that does not store a value in the tag (including, for example, tag data, communication state, etc.) in the column storage buffer among a plurality of tags included in the previously selected column group ( or judge). Here, the other tag temporarily stores the tag data of the other tag and the bit value indicating the communication status in the tag storage buffer, and then moves the tag to a specific location in the column storage buffer according to the bit index related to the other tag. It may be a tag that has not yet performed the process of storing the bit value temporarily stored in the storage buffer.

일 예로, 상기 제어부(150)는 상기 선택된 제 1 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터를 상기 제 1 열저장버퍼에 저장하지 않은 다른 태그가 존재하는지 확인한다(S330).For example, the controller 150 checks whether there is another tag that does not store the data in the tag in the first column storage buffer among the plurality of tags included in the selected first column group ( S330 ).

상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터(또는 값)를 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하는 경우, 상기 제어부(150)는 상기 태그저장버퍼를 초기화하는 과정으로 복귀(또는 리턴)하여, 상기 태그저장버퍼를 초기화하는 과정, 상기 다른 태그의 현재 태그데이터가 참인지 여부를 판단하고 그 결과에 따라 상기 태그저장버퍼의 첫 번째 비트를 하이로 설정하는 과정, 상기 다른 태그의 통신 상태가 이상 상태인지 여부를 확인하고 그 결과에 따라 상기 태그저장버퍼의 두 번째 비트를 하이로 설정하는 과정, 상기 열저장버퍼 내의 상기 다른 태그의 비트인덱스에 대응하는 비트(또는 위치)에 상기 태그저장버퍼의 값을 저장하는 과정(예를 들어 S270 단계 ~ S320 단계)을 반복적으로 수행한다.As a result of the check, if there is another tag that does not store the data (or value) in the tag in the column storage buffer among the plurality of tags included in the previously selected column group, the controller 150 initializes the tag storage buffer returning (or returning) to the process of initializing the tag storage buffer, determining whether the current tag data of the other tag is true, and setting the first bit of the tag storage buffer to high according to the result process, checking whether the communication state of the other tag is abnormal, and setting the second bit of the tag storage buffer to be high according to the result, a bit corresponding to the bit index of the other tag in the column storage buffer The process of storing the value of the tag storage buffer in (or location) (for example, steps S270 to S320) is repeatedly performed.

일 예로, 상기 선택된 제 1 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터를 상기 제 1 열저장버퍼에 저장하지 않은 다른 태그(예를 들어 상기 제 2 디지털 태그 내지 제 8 디지털 태그)가 존재할 때, 상기 제어부(150)는 앞선 S270 단계 ~ S320 단계를 반복 수행하여, 도 9에 도시된 바와 같이, 상기 64 비트의 제 1 열저장버퍼 중에서 상기 제 1 디지털 태그 내지 제 8 디지털 태그에 각각 대응하는 복수의 비트에 각 단계에서 상기 제 1 태그저장버퍼에 임시 저장된 값들을 각각 저장한다(S340).For example, when there is another tag (for example, the second digital tag to the eighth digital tag) that does not store the data in the tag in the first column storage buffer among the plurality of tags included in the selected first column group , the control unit 150 repeats steps S270 to S320, and as shown in FIG. 9 , each corresponding to the first digital tag to the eighth digital tag in the 64-bit first column storage buffer. The values temporarily stored in the first tag storage buffer in each step are respectively stored in a plurality of bits (S340).

또한, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터(또는 값)를 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하지 않은 경우, 상기 제어부(150)는 앞서 선택된 열그룹과 관련한 열저장버퍼의 값을 상기 데이터베이스 내의 해당 열에 저장한다. 이때, 상기 제어부(150)는 해당 열저장버퍼의 값이 상기 데이터베이스에 저장되는 시점의 날짜와 시각 정보를 별도의 열에 추가로 저장할 수 있다.Also, as a result of the check, if there is no other tag that does not store the data (or value) in the tag in the column storage buffer among the plurality of tags included in the previously selected column group, the controller 150 controls the previously selected column The value of the column storage buffer associated with the group is stored in the corresponding column in the database. In this case, the controller 150 may additionally store the date and time information of the time when the value of the corresponding column storage buffer is stored in the database in a separate column.

즉, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그에 대해서 해당 복수의 태그에 저장된 태그데이터와 통신 상태에 대한 값을 상기 열저장버퍼에 모두 저장한 경우, 상기 제어부(150)는 해당 열저장버퍼에 저장된 값을 상기 데이터베이스 내의 해당 열에 저장한다.That is, as a result of the check, when all of the tag data and the communication state values stored in the plurality of tags included in the previously selected column group are stored in the column storage buffer, the controller 150 controls the corresponding The value stored in the column storage buffer is stored in the corresponding column in the database.

일 예로, 상기 선택된 제 1 열그룹 내에 포함된 제 1 디지털 태그 내지 제 8 디지털 태그 중에서 태그 내의 데이터를 상기 제 1 열저장버퍼에 저장하지 않은 다른 태그가 존재하지 않을 때, 상기 제어부(150)는 상기 제 1 열저장버퍼에 저장된 값을 상기 데이터베이스 내의 제 101 열에 저장한다(S350).For example, when there is no other tag that does not store the data in the tag in the first column storage buffer among the first to eighth digital tags included in the selected first column group, the controller 150 may The value stored in the first column storage buffer is stored in the 101st column in the database (S350).

또한, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 아날로그 태그인 경우, 상기 제어부(150)는 상기 선택된 아날로그 태그의 태그데이터의 부호에 따라 상기 태그저장버퍼를 초기화한다. 여기서, 상기 태그저장버퍼는 태그의 태그데이터와 통신 상태의 값(또는 데이터)을 임시 저장하기 위한 용도로, 64 비트를 기준으로 디지털 태그를 위해서 2 비트로 구성하고, 아날로그 태그를 위해서 21 비트로 구성할 수 있다. 또한, 상기 디지털 태그를 위한 태그저장버퍼는 참('1') 또는 거짓('0')을 나타내기 위한 1개 비트의 태그데이터(또는 태그데이터 영역)와, 참('1'/정상) 또는 거짓('0'/이상)을 나타내기 위한 1개 비트의 통신 상태(또는 통신 상태 영역)로 구성한다. 또한, 상기 아날로그 태그를 위한 태그저장버퍼는 지수, 정수 및 부호를 나타내기 위한 21개 비트의 태그데이터(또는 태그데이터 영역)와, 참('1'/정상) 또는 거짓('0'/이상)을 나타내기 위한 1개 비트의 통신 상태(또는 통신 상태 영역)로 구성한다.Also, when the check result (or the determination result) indicates that the selected tag is an analog tag, the controller 150 initializes the tag storage buffer according to the sign of the tag data of the selected analog tag. Here, the tag storage buffer is used to temporarily store the tag data of the tag and the value (or data) of the communication state, and consists of 2 bits for a digital tag and 21 bits for an analog tag based on 64 bits. can In addition, the tag storage buffer for the digital tag includes one bit of tag data (or tag data area) for indicating true ('1') or false ('0') and true ('1'/normal) Alternatively, it consists of a communication status (or communication status area) of 1 bit to indicate false ('0'/over). In addition, the tag storage buffer for the analog tag includes 21 bits of tag data (or tag data area) for representing exponents, integers and signs, and true ('1'/normal) or false ('0'/or more). ) is composed of one bit of communication status (or communication status area) to indicate.

즉, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 아날로그 태그인 경우, 상기 제어부(150)는 상기 선택된 아날로그 태그의 태그데이터의 부호를 확인한다.That is, when the check result (or the determination result) indicates that the selected tag is an analog tag, the controller 150 checks the sign of the tag data of the selected analog tag.

또한, 상기 확인된 태그데이터의 부호가 양수인 경우, 상기 제어부(150)는 상기 기준 단위 비트가 64 비트인 태그저장버퍼에 대해서 앞선 [수학식 6]에 따라 상기 태그저장버퍼를 초기화한다.Also, when the sign of the checked tag data is a positive number, the controller 150 initializes the tag storage buffer according to Equation 6 above with respect to the tag storage buffer having the reference unit bit of 64 bits.

즉, 상기 확인된 태그데이터의 부호가 양수인 경우, 상기 제어부(150)는 2진수 표기 형태로 21 비트의 상기 태그저장버퍼를 초기화(또는 모든 비트의 값을 '0'으로 설정)한다.That is, when the sign of the checked tag data is positive, the control unit 150 initializes the 21-bit tag storage buffer in a binary notation form (or sets the values of all bits to '0').

또한, 상기 확인된 태그데이터의 부호가 음수인 경우, 상기 제어부(150)는 상기 기준 단위 비트가 64 비트인 태그저장버퍼에 대해서 앞선 [수학식 7]에 따라 상기 태그저장버퍼를 초기화한다.Also, when the sign of the checked tag data is negative, the controller 150 initializes the tag storage buffer according to Equation 7 above with respect to the tag storage buffer in which the reference unit bit is 64 bits.

즉, 상기 확인된 태그데이터의 부호가 음수인 경우, 상기 제어부(150)는 2진수 표기 형태로 21 비트 중 0번째 비트 ~ 19번째 비트의 값을 '0'으로 설정하고, 20번째 비트의 값을 '1'로 설정(또는 음수로 설정)한다.That is, when the sign of the checked tag data is negative, the control unit 150 sets the value of the 0th bit to the 19th bit among 21 bits to '0' in binary notation form, and the value of the 20th bit is set to '1' (or set to a negative number).

일 예로, 상기 확인 결과, 상기 선택된 제 1 아날로그 태그가 아날로그 태그일 때, 상기 제어부(150)는 미리 설정된 21 비트인 제 2 태그저장버퍼를 해당 제 1 아날로그 태그의 태그데이터(예를 들어 9876.0)의 부호를 반영하여 초기화(예를 들어 0b000000000000000000000)한다(S360).For example, as a result of the check, when the selected first analog tag is an analog tag, the control unit 150 stores a second tag storage buffer of 21 bits preset as the tag data of the first analog tag (eg, 9876.0) It is initialized (for example, 0b00000000000000000000000) by reflecting the sign of (S360).

이후, 상기 제어부(150)는 해당 태그(또는 상기 아날로그 태그)의 현재 태그데이터의 절댓값(또는 절댓값데이터)을 계산(또는 산출)한다.Thereafter, the controller 150 calculates (or calculates) an absolute value (or absolute value data) of the current tag data of the corresponding tag (or the analog tag).

즉, 상기 제어부(150)는 미리 설정된 절댓값 함수를 이용해서 상기 선택된 아날로그 태그의 태그데이터에 대한 절댓값을 계산한다.That is, the controller 150 calculates an absolute value for the tag data of the selected analog tag by using a preset absolute value function.

일 예로, 상기 제어부(150)는 미리 설정된 절댓값 함수를 이용해서 상기 제 1 아날로그 태그의 태그데이터(예를 들어 9876.0)의 절댓값(예를 들어 9876)을 계산한다(S370).For example, the controller 150 calculates an absolute value (eg, 9876) of the tag data (eg, 9876.0) of the first analog tag by using a preset absolute value function (S370).

이후, 상기 제어부(150)는 상기 계산된(또는 산출된) 절댓값(또는 상기 태그데이터의 절댓값)을 근거로 해당 태그의 태그데이터의 정수 부분의 자릿수(또는 정수자릿수)를 계산한다.Thereafter, the control unit 150 calculates the number of digits (or integer digits) of the integer part of the tag data of the corresponding tag based on the calculated (or calculated) absolute value (or the absolute value of the tag data).

즉, 상기 계산된 절댓값이 1 이상인 경우, 상기 제어부(150)는 앞선 [수학식 8]에 따라 상기 계산된 절댓값에 Log10을 적용한 후 소수점 이하는 버림하고(또는 내림하고), 버림된 값에 1을 더해서 해당 아날로그 태그의 태그데이터의 정수부분의 자릿수를 계산한다.That is, when the calculated absolute value is 1 or more, the control unit 150 applies Log10 to the calculated absolute value according to the above [Equation 8] and then rounds off (or rounds down) the decimal point and 1 to the discarded value. Calculate the number of digits of the integer part of the tag data of the analog tag by adding

또한, 상기 계산된 절댓값이 1 미만인 경우, 상기 제어부(150)는 앞선 [수학식 9]에 따라 상기 계산된 절댓값에 Log10을 적용한 후 소수점 이하는 버림하여 해당 아날로그 태그의 태그데이터의 정수부분의 자릿수를 계산한다.In addition, when the calculated absolute value is less than 1, the control unit 150 applies Log10 to the calculated absolute value according to Equation 9, and discards the decimal point or less, and the number of digits in the integer part of the tag data of the analog tag to calculate

일 예로, 상기 계산된 절댓값(예를 들어 9876)이 1 이상일 때, 상기 제어부(150)는 상기 [수학식 8]을 이용해서 상기 정수자릿수(예를 들어 TRUNC(Log10(9876))+1 = 3+1 = 4)를 계산한다(S380).For example, when the calculated absolute value (eg, 9876) is greater than or equal to 1, the control unit 150 uses Equation 8 above to control the number of integer digits (eg, TRUNC(Log10(9876))+1= 3+1 = 4) is calculated (S380).

이후, 상기 제어부(150)는 미리 설정된 기준 자릿수(예를 들어 5)에서 상기 계산된 태그데이터의 정수부분의 자릿수(또는 정수자릿수)를 빼서, 지수를 계산(또는 산출)한다.Thereafter, the control unit 150 calculates (or calculates) the index by subtracting the number of digits (or integer digits) of the integer part of the calculated tag data from the preset reference number of digits (eg, 5).

즉, 상기 제어부(150)는 앞선 [수학식 10]에 따라 상기 계산된 아날로그 태그의 태그데이터의 정수부분의 자릿수를 이용해서 해당 아날로그 태그의 태그데이터와 관련한 지수를 계산한다.That is, the controller 150 calculates an index related to the tag data of the analog tag using the number of digits of the integer part of the tag data of the analog tag calculated according to Equation 10 above.

또한, 상기 제어부(150)는 상기 계산된 지수(또는 아날로그 태그의 태그데이터와 관련한 지수)를 상기 태그저장버퍼에서의 미리 설정된 3 비트의 지수 영역에 대응하도록 2진수 표기 형태로 변환한다.In addition, the controller 150 converts the calculated exponent (or an exponent related to tag data of an analog tag) into a binary notation form to correspond to a preset 3-bit exponent area in the tag storage buffer.

일 예로, 상기 제어부(150)는 상기 미리 설정된 기준 자릿수(예를 들어 5)에서 상기 계산된 정수부분의 자릿수(예를 들어 4)를 빼서, 지수(예를 들어 1 = 5-4)를 계산한다.For example, the control unit 150 calculates an exponent (eg, 1 = 5-4) by subtracting the number of digits (eg, 4) of the calculated integer part from the preset reference number of digits (eg, 5). do.

또한, 상기 제어부(150)는 상기 계산된 지수(예를 들어 1)를 미리 설정된 3 비트의 2진수로 변환(예를 들어 0b001)한다(S390).In addition, the control unit 150 converts the calculated exponent (eg, 1) into a preset 3-bit binary number (eg, 0b001) (S390).

이후, 상기 제어부(150)는 상기 계산된(또는 산출된) 절댓값에 10을 지수만큼 자승한 값을 곱하여 정수를 계산(또는 산출)한다.Thereafter, the controller 150 calculates (or calculates) an integer by multiplying the calculated (or calculated) absolute value by a value obtained by multiplying 10 to the power of an exponent.

즉, 상기 제어부(150)는 앞선 [수학식 11]에 따라 상기 계산된 절댓값과 상기 계산된 지수를 이용해서 해당 아날로그 태그의 태그데이터와 관련한 정수(또는 자연수)를 계산한다.That is, the controller 150 calculates an integer (or a natural number) related to the tag data of the corresponding analog tag using the calculated absolute value and the calculated exponent according to Equation 11 above.

또한, 상기 제어부(150)는 상기 계산된 정수(또는 아날로그 태그의 태그데이터와 관련한 정수)를 상기 태그저장버퍼에서의 미리 설정된 17 비트의 정수 영역에 대응하도록 2진수 표기 형태로 변환한다.In addition, the controller 150 converts the calculated integer (or an integer related to tag data of an analog tag) into a binary notation form to correspond to a preset 17-bit integer region in the tag storage buffer.

일 예로, 상기 제어부(150)는 상기 계산된 절댓값(예를 들어 9876)에 10^1를 곱하여, 정수(예를 들어 98760 = 9876 * 10^1)를 계산한다.For example, the controller 150 multiplies the calculated absolute value (eg, 9876) by 10^1 to calculate an integer (eg, 98760 = 9876 * 10^1).

또한, 상기 제어부(150)는 상기 계산된 정수(예를 들어 98760)를 17 비트의 2진수로 변환(예를 들어 11000000111001000)한다(S400).Also, the control unit 150 converts the calculated integer (eg, 98760) into a 17-bit binary number (eg, 1100000111001000) (S400).

이후, 상기 제어부(150)는 상기 2진수로 변환된 지수와 상기 2진수로 변환된 정수와 상기 확인된 아날로그 태그의 태그데이터의 부호를 상기 태그저장버퍼에 저장한다.Then, the control unit 150 stores the exponent converted into binary number, the integer converted into the binary number, and the sign of the checked tag data of the analog tag in the tag storage buffer.

즉, 상기 제어부(150)는 앞선 [수학식 12]에 따라 상기 초기화된 태그저장버퍼의 첫 번째 비트 내지 세 번째 비트에 상기 변환된 지수를 저장하고, 상기 초기화된 태그저장버퍼의 네 번째 비트 내지 스무 번째 비트에 상기 변환된 정수를 각각 저장한다.That is, the controller 150 stores the converted index in the first bit to the third bit of the initialized tag storage buffer according to Equation 12, and the fourth bit to the fourth bit of the initialized tag storage buffer. Each of the converted integers is stored in the twentieth bit.

일 예로, 도 10에 도시된 바와 같이, 상기 제어부(150)는 상기 제 1 아날로그 태그의 태그데이터의 양수를 나타내는 비트(예를 들어 양수인 '0')와, 상기 제 1 아날로그 태그의 태그데이터와 관련한 정수를 나타내는 비트(예를 들어 11000000111001000)와, 상기 제 1 아날로그 태그의 태그데이터와 관련한 지수를 나타내는 비트(예를 들어 001)를 상기 제 2 태그저장버퍼에 저장(예를 들어 0b011000000111001000001)한다(S410).For example, as shown in FIG. 10 , the control unit 150 includes a bit indicating a positive number of the tag data of the first analog tag (eg, '0', which is a positive number), and the tag data of the first analog tag. A bit (for example, 1100000111001000) representing a related integer and a bit (for example, 001) representing an exponent related to the tag data of the first analog tag are stored (for example, 0b011000000111001000001) in the second tag storage buffer (for example, 0b011000000111001000001) ( S410).

이후, 상기 제어부(150)는 상기 열저장버퍼 내의 상기 선택된 아날로그 태그의 비트인덱스에 대응하는 비트(또는 위치)에 상기 태그저장버퍼의 값(또는 상기 태그저장버퍼에 임시 저장된 값/데이터)을 저장한다.Thereafter, the controller 150 stores the value of the tag storage buffer (or the value/data temporarily stored in the tag storage buffer) in a bit (or position) corresponding to the bit index of the selected analog tag in the column storage buffer. do.

즉, 상기 제어부(150)는 앞선 [수학식 13]에 따라 상기 선택된 아날로그 태그와 관련해서 정수를 포함하는 태그데이터와 통신 상태에 대한 정보(또는 값/데이터)를 포함하는 상기 태그저장버퍼의 값을 상기 열저장버퍼 내에서의 상기 선택된 아날로그 태그의 비트인덱스에 해당하는 비트에 저장(또는 적용)한다.That is, the controller 150 controls the tag data including an integer in relation to the selected analog tag according to Equation 13 above and the value of the tag storage buffer including information (or value/data) on the communication state. is stored (or applied) to a bit corresponding to the bit index of the selected analog tag in the column storage buffer.

일 예로, 도 11에 도시된 바와 같이, 상기 제어부(150)는 상기 초기화된 64 비트의 제 2 열저장버퍼 중에서 상기 선택된 제 1 아날로그 태그의 비트인덱스(예를 들어 0)에 대응하는 0번째 비트부터 2번째 비트에 상기 제 2 태그저장버퍼에 저장된 값 중 일부(예를 들어 상기 변환된 지수에 대응하는 값인 001)를 저장하고, 3번째 비트부터 19번째 비트에 상기 제 2 태그저장버퍼에 저장된 값 중 다른 일부(예를 들어 상기 변환된 정수에 대응하는 값인 1 1000 0001 1100 1000)를 저장하고, 20번째 비트에 해당 제 1 아날로그 태그의 태그데이터의 부호에 대한 값(예를 들어 양수에 대응하는 0)을 저장한다(S420).For example, as shown in FIG. 11 , the controller 150 controls a 0th bit corresponding to a bit index (eg, 0) of the selected first analog tag among the initialized 64-bit second column storage buffer. stores some of the values stored in the second tag storage buffer in the second bit (for example, 001, which is a value corresponding to the converted exponent), and stores in the third to 19th bits in the second tag storage buffer Stores another part of the values (for example, 1 1000 0001 1100 1000, which is a value corresponding to the converted integer), and a value for the sign of the tag data of the corresponding first analog tag in the 20th bit (for example, corresponding to a positive number) 0) is stored (S420).

이후, 상기 제어부(150)는 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값(예를 들어 태그데이터 등 포함)을 상기 열저장버퍼에 저장하지 않은 또 다른 태그가 존재하는지 확인(또는 판단)한다. 여기서, 상기 또 다른 태그는 해당 또 다른 태그의 절댓값을 계산하고, 태그데이터의 정수 자릿수를 계산하고, 지수를 계산하고, 해당 태그데이터를 정수로 계산하고, 정수와 지수를 2진수로 변환하여 상기 태그저장버퍼에 임시 저장한 후, 해당 또 다른 태그와 관련한 비트인덱스에 따라 상기 열저장버퍼 내의 다른 특정 위치로 상기 태그저장버퍼에 임시 저장된 비트값을 저장하는 과정을 아직 수행하지 않은 태그일 수 있다.Thereafter, the controller 150 checks (or determines) whether another tag that does not store a value in the tag (eg, including tag data, etc.) in the column storage buffer from among the plurality of tags included in the previously selected column group exists. )do. Here, the other tag calculates the absolute value of the other tag, calculates the number of integer digits of the tag data, calculates the exponent, calculates the corresponding tag data as an integer, and converts the integer and the exponent into binary. After being temporarily stored in the tag storage buffer, it may be a tag that has not yet performed the process of storing the bit value temporarily stored in the tag storage buffer to another specific location in the column storage buffer according to the bit index related to the other tag. .

일 예로, 상기 제어부(150)는 상기 선택된 제 11 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터를 상기 제 2 열저장버퍼에 저장하지 않은 또 다른 태그가 존재하는지 확인한다(S430).For example, the controller 150 checks whether there is another tag that does not store the data in the tag in the second column storage buffer among the plurality of tags included in the selected eleventh column group ( S430 ).

상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터(또는 값)를 상기 열저장버퍼에 저장하지 않은 또 다른 태그가 존재하는 경우, 상기 제어부(150)는 상기 태그저장버퍼를 초기화하는 과정으로 복귀하여, 상기 태그저장버퍼를 초기화하는 과정, 해당 또 다른 태그의 태그데이터의 절댓값을 계산하는 과정, 해당 또 다른 태그의 태그데이터의 정수 자릿수를 계산하는 과정, 상기 지수를 계산하고 계산된 지수를 2진수로 변환하는 과정, 상기 태그데이터를 정수로 계산하고 계산된 정수를 2진수로 변환하는 과정, 상기 변환된 정수와 지수를 상기 태그저장버퍼에 저장하는 과정, 상기 또 다른 태그와 관련한 비트인덱스에 따라 상기 열저장버퍼 내의 상기 또 다른 태그의 비트인덱스에 대응하는 비트(또는 위치)에 상기 태그저장버퍼의 값을 저장하는 과정(예를 들어 S360 단계 ~ S430 단계)을 반복적으로 수행한다.As a result of the check, if there is another tag that does not store the data (or value) in the tag in the column storage buffer from among the plurality of tags included in the previously selected column group, the controller 150 stores the tag storage buffer. Returning to the initialization process, the process of initializing the tag storage buffer, the process of calculating the absolute value of the tag data of the other tag, the process of calculating the integer digits of the tag data of the other tag, calculating the index, converting the calculated exponent into a binary number, calculating the tag data into an integer and converting the calculated integer into a binary number, storing the converted integer and the exponent in the tag storage buffer, the another tag The process of storing the value of the tag storage buffer in the bit (or position) corresponding to the bit index of the another tag in the column storage buffer according to the related bit index (for example, steps S360 to S430) is repeatedly performed carry out

일 예로, 상기 선택된 제 11 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터를 상기 제 2 열저장버퍼에 저장하지 않은 다른 태그(예를 들어 제 2 아날로그 태그 및 제 3 아날로그 태그)가 존재할 때, 상기 제어부(150)는 앞선 S360 단계 ~ S430 단계를 반복 수행하여, 도 12에 도시된 바와 같이, 상기 64 비트의 제 2 열저장버퍼 중에서 상기 제 1 아날로그 태그 내지 제 3 아날로그 태그에 각각 대응하는 복수의 비트에 각 단계에서 상기 제 2 태그저장버퍼에 임시 저장된 값들을 각각 저장한다(S440).For example, when there is another tag (for example, the second analog tag and the third analog tag) that does not store the data in the tag in the second column storage buffer among the plurality of tags included in the selected eleventh column group, The control unit 150 repeats steps S360 to S430, and as shown in FIG. 12, a plurality of the first analog tags to the third analog tags respectively in the 64-bit second column storage buffer. The values temporarily stored in the second tag storage buffer in each step are stored in bits of , respectively (S440).

또한, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터(또는 값)를 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하지 않은 경우, 상기 제어부(150)는 앞서 선택된 아날로그 태그의 통신 상태가 이상 상태인지 여부를 확인(또는 판단)한다.Also, as a result of the check, if there is no other tag that does not store the data (or value) in the tag in the column storage buffer among the plurality of tags included in the previously selected column group, the controller 150 controls the previously selected analog Check (or judge) whether the communication status of the tag is abnormal.

즉, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터(또는 값)를 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하지 않은 경우, 상기 제어부(150)는 상기 선택된 아날로그 태그의 통신 상태를 나타내는 비트의 값이 미리 설정된 참(또는 트루/정상)인지 거짓(또는 폴스/이상)인지 확인한다.That is, as a result of the check, if there is no other tag that does not store the data (or value) in the tag in the column storage buffer among the plurality of tags included in the previously selected column group, the controller 150 controls the selected analog Check whether the value of the bit indicating the communication status of the tag is preset true (or true/normal) or false (or false/abnormal).

일 예로, 상기 선택된 제 11 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터를 상기 제 2 열저장버퍼에 저장하지 않은 다른 태그가 존재하지 않을 때, 상기 제어부(150)는 상기 선택된 제 1 아날로그 태그의 통신 상태가 이상 상태인지 여부를 확인한다(S450).For example, when there is no other tag that does not store data in the tag in the second column storage buffer among the plurality of tags included in the selected eleventh column group, the controller 150 controls the selected first analog tag It is checked whether the communication state of is in an abnormal state (S450).

상기 확인 결과, 앞서 선택된 아날로그 태그의 통신 상태가 이상 상태인 경우, 상기 제어부(150)는 상기 열저장버퍼의 63번째 비트를 미리 설정된 값인 하이('1')로 설정한다.As a result of the check, if the communication state of the previously selected analog tag is abnormal, the controller 150 sets the 63 th bit of the thermal storage buffer to a preset high ('1').

즉, 상기 앞서 선택된 아날로그 태그의 통신 상태를 나타내는 비트의 값이 미리 설정된 거짓(또는 폴스/이상)인 경우, 상기 제어부(150)는 상기 열저장버퍼의 63번째 비트를 상기 하이값으로 설정한다.That is, when the value of the bit representing the communication state of the previously selected analog tag is preset false (or false/abnormal), the controller 150 sets the 63rd bit of the thermal storage buffer to the high value.

일 예로, 상기 선택된 제 1 아날로그 태그의 통신 상태가 이상 상태일 때, 상기 제어부(150)는 앞선 제 2 태그저장버퍼에서의 63번째 비트에 미리 설정된 '1'을 적용하여 해당 제 2 태그저장버퍼를 업데이트한다(S460).For example, when the communication state of the selected first analog tag is abnormal, the control unit 150 applies a preset '1' to the 63rd bit in the previous second tag storage buffer to the second tag storage buffer. is updated (S460).

또한, 상기 확인 결과, 상기 선택된 아날로그 태그의 통신 상태가 이상 상태가 아닌 경우(또는 상기 선택된 아날로그 태그의 통신 상태가 정상 상태인 경우) 또는, 해당 열저장버퍼의 63번째 비트를 하이로 설정한 경우, 상기 제어부(150)는 앞서 선택된 열그룹과 관련한 열저장버퍼의 값을 상기 데이터베이스 내의 해당 열에 저장한다. 이때, 상기 제어부(150)는 해당 열저장버퍼의 값이 상기 데이터베이스에 저장되는 시점의 날짜와 시각 정보를 별도의 열에 추가로 저장할 수 있다.In addition, as a result of the check, when the communication state of the selected analog tag is not in an abnormal state (or when the communication state of the selected analog tag is in a normal state), or when the 63rd bit of the corresponding thermal storage buffer is set to high , the controller 150 stores the value of the column storage buffer related to the previously selected column group in the corresponding column in the database. In this case, the controller 150 may additionally store the date and time information of the time when the value of the corresponding column storage buffer is stored in the database in a separate column.

즉, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그에 대해서 해당 복수의 태그에 저장된 태그데이터와 통신 상태에 대한 값을 상기 열저장버퍼에 모두 저장한 경우, 상기 제어부(150)는 해당 열저장버퍼에 저장된 값을 상기 데이터베이스 내의 해당 열에 저장한다.That is, as a result of the check, when all of the tag data and the communication state values stored in the plurality of tags included in the previously selected column group are stored in the column storage buffer, the controller 150 controls the corresponding The value stored in the column storage buffer is stored in the corresponding column in the database.

일 예로, 상기 선택된 제 1 아날로그 태그의 통신 상태가 정상 상태일 때, 상기 제어부(150)는 상기 제 2 열저장버퍼에 저장된 값을 상기 데이터베이스 내의 제 201 열에 저장한다(S470).For example, when the communication state of the selected first analog tag is in a normal state, the controller 150 stores the value stored in the second column storage buffer in the 201st column of the database (S470).

이후, 상기 제어부(150)는 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 태그 내의 값을 상기 열저장버퍼를 이용해서 상기 데이터베이스에 저장하지 않은 다른 열그룹이 존재하는지 확인(또는 판단)한다. 여기서, 상기 다른 열그룹은 해당 다른 열그룹에 포함된 복수의 태그의 태그데이터와 통신 상태를 나타내는 비트의 값을 디지털 태그 또는 아날로그 태그 여부에 따라 상기 태그저장버퍼에 임시 저장한 후, 해당 다른 열그룹에 포함된 복수의 태그와 관련한 비트인덱스에 따라 상기 열저장버퍼 내의 특정 위치로 상기 태그저장버퍼에 임시 저장된 비트값을 저장하는 과정을 아직 수행하지 않은 열그룹일 수 있다.Thereafter, the controller 150 checks (or determines) whether another column group that does not store the value in the tag included in the column group among the one or more previously generated column groups in the database by using the column storage buffer exists. . Here, the other column group temporarily stores the tag data of a plurality of tags included in the other column group and the bit value indicating the communication state in the tag storage buffer according to whether the tag is a digital tag or an analog tag, and then the other column It may be a column group in which the process of storing the bit value temporarily stored in the tag storage buffer to a specific location in the column storage buffer according to the bit index related to the plurality of tags included in the group has not yet been performed.

일 예로, 상기 제어부(150)는 상기 생성된 제 1 열그룹 및 제 2 열그룹 중에서 상기 제 1 열그룹에 포함된 복수의 태그 내의 값을 상기 열저장버퍼에 저장한 후, 해당 열그룹에 포함된 복수의 태그에 저장된 값을 상기 데이터베이스에 저장하지 않은 열그룹이 존재하는지 확인한다.For example, the controller 150 stores values in a plurality of tags included in the first column group among the generated first column group and the second column group in the column storage buffer, and then includes the values in the column group. It is checked whether there is a column group in which the values stored in the plurality of tags are not stored in the database.

다른 일 예로, 상기 제어부(150)는 상기 생성된 제 11 열그룹에 포함된 복수의 태그 내의 값을 상기 열저장버퍼에 저장한 후, 해당 열그룹에 포함된 복수의 태그에 저장된 값을 상기 데이터베이스에 저장하지 않은 열그룹이 존재하는지 확인한다(S480).As another example, the controller 150 stores the values in the plurality of tags included in the generated eleventh column group in the column storage buffer, and then stores the values stored in the plurality of tags included in the corresponding column group in the database. It is checked whether there is an unsaved column group in the ? (S480).

상기 확인 결과, 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 태그 내의 값을 상기 열저장버퍼를 이용해서 상기 데이터베이스에 저장하지 않은 다른 열그룹이 존재하는 경우, 상기 제어부(150)는 상기 열저장버퍼를 초기화하는 과정으로 복귀하여, 상기 열저장버퍼를 초기화하는 과정, 상기 선택된 열그룹(또는 상기 선택된 첫 번째 열그룹) 내에 포함된 복수의 태그 중에서 어느 하나의 태그를 선택하는 과정, 상기 선택된 어느 하나의 태그의 종류를 확인하는 과정, 상기 확인된 태그의 종류에 따라 태그데이터 및 통신 상태를 나타내는 비트의 값을 상기 태그저장버퍼에 저장하는 과정, 상기 태그저장버퍼에 저장된 값을 상기 열저장버퍼 내의 특정 비트인덱스에 대응하는 비트(또는 위치)에 저장하는 과정, 상기 열저장버퍼에 저장된 값을 상기 데이터베이스 내의 해당 열에 저장하는 과정(예를 들어 S240 단계 ~ S480 단계)을 반복적으로 수행한다.As a result of the check, if there is another column group that does not store the value in the tag included in the column group in the database using the column storage buffer from among the one or more column groups created above, the controller 150 controls the column Returning to the process of initializing the storage buffer, the process of initializing the column storage buffer, the process of selecting any one tag from among a plurality of tags included in the selected column group (or the selected first column group), the selected A process of confirming the type of any one tag, a process of storing the value of a bit indicating tag data and a communication state according to the checked tag type in the tag storage buffer, and storing the value stored in the tag storage buffer as the column The process of storing the bit (or position) corresponding to the specific bit index in the buffer and the process of storing the value stored in the column storage buffer in the corresponding column in the database (for example, steps S240 to S480) are repeatedly performed.

일 예로, 상기 생성된 제 1 열그룹 및 제 2 열그룹 중에서 해당 열그룹에 포함된 복수의 태그에 저장된 값을 상기 데이터베이스에 저장하지 않은 열그룹(예를 들어 제 2 열그룹)이 존재할 때, 상기 제어부(150)는 상기 제 2 열그룹에 포함된 제 9 디지털 태그 및 제 10 디지털 태그에 대해서 앞선 과정들(예를 들어 S240 단계 ~ S350 단계)을 반복적으로 수행하여, 해당 제 9 디지털 태그 및 제 10 디지털 태그에 포함된 태그데이터와 통신 상태에 대한 값을 상기 제 1 열저장버퍼에 저장하고, 상기 제 1 열저장버퍼에 저장된 값을 상기 데이터베이스 내의 제 102 열에 저장한다(S490).For example, when there is a column group (for example, a second column group) in which values stored in a plurality of tags included in the corresponding column group are not stored in the database among the generated first and second column groups, The control unit 150 repeatedly performs the preceding processes (eg, steps S240 to S350) with respect to the ninth and tenth digital tags included in the second column group, thereby generating the ninth digital tag and The tag data included in the tenth digital tag and the value of the communication state are stored in the first column storage buffer, and the value stored in the first column storage buffer is stored in the 102nd column of the database (S490).

또한, 상기 확인 결과, 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 태그 내의 값을 상기 열저장버퍼를 이용해서 상기 데이터베이스에 저장하지 않은 다른 열그룹이 존재하지 않은 경우, 상기 제어부(150)는 미리 설정된 지정 간격(또는 지정 시간) 동안 대기 상태를 유지한다.In addition, as a result of the check, if there is no other column group that does not store the value in the tag included in the column group in the database by using the column storage buffer among the one or more previously generated column groups, the control unit 150 maintains a standby state for a preset interval (or a specified time).

즉, 상기 확인 결과, 앞서 생성된 하나 이상의 열그룹과 관련해서 해당 하나 이상의 열그룹에 포함된 복수의 태그 내의 정보(예를 들어 태그데이터, 통신 상태 등 포함)를 상기 데이터베이스에 모두 저장한 경우, 상기 제어부(150)는 상기 미리 설정된 지정 간격(또는 지정 시간) 동안 대기 상태를 유지한다.That is, as a result of the check, when all information (including, for example, tag data, communication status, etc.) in a plurality of tags included in the one or more column groups previously created is stored in the database, The control unit 150 maintains a standby state for the preset predetermined interval (or specified time).

또한, 상기 지정 간격이 지나면, 상기 제어부(150)는 앞선 하나 이상의 열그룹 중에서 첫 번째 열그룹(또는 어느 하나의 열그룹)을 선택하는 과정(예를 들어 S230 단계)부터 다시 수행한다.Also, when the specified interval elapses, the controller 150 starts again from the process of selecting the first column group (or any one column group) from the one or more previous column groups (eg, step S230).

일 예로, 상기 생성된 제 1 열그룹 및 제 2 열그룹 중에서 해당 열그룹에 포함된 복수의 태그에 저장된 값을 상기 데이터베이스에 저장하지 않은 열그룹이 존재하지 않을 때, 상기 제어부(150)는 미리 설정된 지정 간격(예를 들어 10초) 동안 대기 상태를 유지하고, 해당 지정 간격이 지나면 다시 앞선 제 1 열그룹 및 제 2 열그룹 중에서 첫번째 열그룹인 제 1 열그룹을 선택하는 과정부터 수행한다.For example, when there is no column group in which values stored in a plurality of tags included in the corresponding column group are not stored in the database among the generated first and second column groups, the controller 150 may The standby state is maintained for a set specified interval (for example, 10 seconds), and after the specified interval has elapsed, the process of selecting the first column group, which is the first column group, from among the preceding first and second column groups is performed again.

다른 일 예로, 상기 생성된 제 11 열그룹에 포함된 복수의 태그에 저장된 값을 상기 데이터베이스에 저장하지 않은 열그룹이 존재하지 않을 때, 상기 제어부(150)는 미리 설정된 지정 간격(예를 들어 10초) 동안 대기 상태를 유지하고, 해당 지정 간격이 지나면 다시 앞선 제 11 열그룹을 선택하는 과정부터 수행한다(S500).As another example, when there is no column group in which the values stored in the plurality of tags included in the generated eleventh column group are not stored in the database, the controller 150 controls the preset interval (for example, 10 sec), and after the specified interval has passed, the process of selecting the 11th column group preceding again is performed (S500).

도 13 내지 도 15는 본 발명의 제 2 실시예에 따른 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 방법을 나타낸 흐름도이다.13 to 15 are flowcharts illustrating a method of managing real-time tag data in SCADA software according to a second embodiment of the present invention.

먼저, 제어부(150)는 차트 그룹 내에 설정된 다수의 태그(또는 태그들)를 확인한다. 여기서, 상기 차트 그룹은 특정 디바이스(미도시)와 관련한 정보를 관리하기 위해서, 하나 이상의 디지털 태그, 하나 이상의 아날로그 태그 등으로 구성한다.First, the controller 150 checks a plurality of tags (or tags) set in the chart group. Here, in order to manage information related to a specific device (not shown), the chart group consists of one or more digital tags, one or more analog tags, and the like.

또한, 상기 제어부(150)는 상기 확인된 다수의 태그의 열 이름을 근거로 데이터베이스(미도시)에서 사용되는 열의 이름과 열 내에서 차지하는 비트인덱스를 확인한다. 여기서, 상기 비트인덱스는 미리 설정된 기준 단위 비트(예를 들어 64 비트)로 구성되는 하나의 열에서 다수의 태그 각각이 위치한 비트에 대응하는 인덱스(또는 하나의 열에서 다수의 태그 각각이 위치한 순서)를 나타낸다.Also, the controller 150 checks the name of a column used in the database (not shown) and the bit index occupied in the column based on the identified column names of the plurality of tags. Here, the bit index is an index corresponding to a bit in which each of a plurality of tags is located in one column composed of preset reference unit bits (eg, 64 bits) (or an order in which each of the plurality of tags is located in one column) indicates

일 예로, 상기 제어부(150)는 제 3 차트 그룹 내에 설정된 제 11 디지털 태그(또는 DTAG #11) 내지 제 18 디지털 태그(또는 DTAG #18)를 확인한다.For example, the control unit 150 identifies an eleventh digital tag (or DTAG #11) to an eighteenth digital tag (or DTAG #18) set in the third chart group.

또한, 상기 제어부(150)는 상기 확인된 제 11 디지털 태그의 열 이름 내지 제 13 디지털 태그의 열 이름을 근거로 상기 데이터베이스에서 사용되는 열의 이름과 비트인덱스(예를 들어 상기 제 11 디지털 태그에 대응하는 0, 상기 제 12 디지털 태그에 대응하는 1, 상기 제 13 디지털 태그에 대응하는 2, 상기 제 14 디지털 태그에 대응하는 3, 상기 제 15 디지털 태그에 대응하는 28, 상기 제 16 디지털 태그에 대응하는 29, 상기 제 17 디지털 태그에 대응하는 30, 상기 제 18 디지털 태그에 대응하는 31 등 포함)를 확인한다.In addition, the control unit 150 controls the column name and bit index (eg, corresponding to the eleventh digital tag) used in the database based on the identified column name of the eleventh digital tag to the column name of the thirteenth digital tag. 0, 1 corresponding to the twelfth digital tag, 2 corresponding to the thirteenth digital tag, 3 corresponding to the 14th digital tag, 28 corresponding to the 15th digital tag, corresponding to the 16th digital tag 29, 30 corresponding to the 17th digital tag, 31 corresponding to the 18th digital tag, etc.) are checked.

다른 일 예로, 상기 제어부(150)는 제 4 차트 그룹 내에 설정된 제 11 아날로그 태그(또는 ATAG #11) 내지 제 13 아날로그 태그(또는 ATAG #13)를 확인한다.As another example, the controller 150 checks the eleventh analog tag (or ATAG #11) to the thirteenth analog tag (or ATAG #13) set in the fourth chart group.

또한, 상기 제어부(150)는 상기 확인된 제 11 아날로그 태그의 열 이름 내지 제 12 아날로그 태그의 열 이름을 근거로 상기 데이터베이스에서 사용되는 열의 이름과 비트인덱스(예를 들어 상기 제 11 아날로그 태그에 대응하는 0, 상기 제 12 아날로그 태그에 대응하는 1, 상기 제 13 아날로그 태그에 대응하는 2 등 포함)를 확인한다(S1310).In addition, the controller 150 controls the column name and bit index (eg, corresponding to the eleventh analog tag) used in the database based on the identified column name of the eleventh analog tag to the column name of the twelfth analog tag. 0, 1 corresponding to the twelfth analog tag, 2 corresponding to the thirteenth analog tag, etc.) are checked (S1310).

이후, 상기 제어부(150)는 상기 확인된 다수의 태그 중에서 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 하나 이상의 열그룹을 생성(또는 구성)한다.Thereafter, the controller 150 creates (or configures) one or more column groups by classifying tags using the same column among the identified plurality of tags into groups for each column.

일 예로, 상기 제어부(150)는 상기 확인된 제 11 디지털 태그 내지 제 18 디지털 태그 중에서 동일한 제 21 열을 사용하는 제 11 디지털 태그 내지 제 18 디지털 태그를 하나의 그룹으로 분류하여 제 21 열그룹을 생성한다.For example, the control unit 150 classifies 11th digital tags to 18th digital tags using the same 21st column among the identified 11th digital tags to 18th digital tags into one group to form a 21st column group. create

다른 일 예로, 상기 제어부(150)는 상기 확인된 제 11 아날로그 태그 내지 제 13 아날로그 태그 중에서 동일한 제 31 열을 사용하는 제 11 아날로그 태그 내지 제 13 아날로그 태그를 하나의 그룹으로 분류하여 제 31 열그룹을 생성한다(S1320).As another example, the control unit 150 classifies eleventh analog tags to thirteenth analog tags using the same 31st column among the identified eleventh analog tags to thirteenth analog tags into one group, and groups the 31st column. to generate (S1320).

이후, 상기 제어부(150)는 상기 생성된 하나 이상의 열그룹 중 첫 번째 열그룹(또는 어느 하나의 열그룹)을 선택한다.Thereafter, the controller 150 selects a first column group (or any one column group) from among the one or more generated column groups.

일 예로, 상기 제어부(150)는 상기 생성된 제 21 열그룹을 선택한다.For example, the controller 150 selects the created twenty-first column group.

다른 일 예로, 상기 제어부(150)는 상기 생성된 제 31 열그룹을 선택한다(S1330).As another example, the controller 150 selects the generated 31st column group (S1330).

이후, 상기 제어부(150)는 상기 데이터베이스에서 해당 열그룹과 관련한 열데이터를 읽는다. 이때, 상기 제어부(150)는 상기 데이터베이스에서 해당 열데이터와 관련한 날짜 및 시각 정보(또는 해당 열데이터가 저장된 시점의 날짜 및 시각 정보)를 상기 열데이터와 함께 읽을 수도 있다. 여기서, 상기 열데이터는 상기 데이터베이스에서 특정 열에 대응하는 데이터(또는 값)일 수 있다.Thereafter, the controller 150 reads column data related to the corresponding column group from the database. In this case, the controller 150 may read date and time information (or date and time information at a time point at which the column data is stored) related to the column data from the database together with the column data. Here, the column data may be data (or values) corresponding to a specific column in the database.

즉, 상기 제어부(150)는 기준 단위 비트가 64 비트인 경우 해당 데이터베이스에서 상기 열그룹과 관련해서 64 비트의 열데이터를 읽는다.That is, when the reference unit bit is 64 bits, the controller 150 reads 64-bit column data in relation to the column group from the database.

또한, 상기 제어부(150)는 상기 읽은 열데이터를 초기화된 열저장버퍼에 저장(또는 임시 저장)한다.Also, the controller 150 stores (or temporarily stores) the read column data in an initialized column storage buffer.

일 예로, 상기 제어부(150)는 상기 데이터베이스로부터 상기 제 21 열그룹과 관련한 64 비트의 제 101 열데이터(예를 들어 00000101 ... 10101111)(또는 앞선 제 101 열의 데이터)를 읽는다.For example, the control unit 150 reads 64-bit 101st column data (eg, 00000101 ... 10101111) (or data in the previous 101st column) related to the 21st column group from the database.

또한, 도 16에 도시된 바와 같이, 상기 제어부(150)는 상기 읽은 제 101 열데이터를 미리 초기화된 제 3 열저장버퍼에 저장한다.Also, as shown in FIG. 16 , the controller 150 stores the read 101st column data in a pre-initialized third column storage buffer.

다른 일 예로, 상기 제어부(150)는 상기 데이터베이스로부터 상기 제 31 열그룹과 관련한 64 비트의 제 201 열데이터(예를 들어 0000110000110101000101101111111110011000010011000000111001000001)(또는 앞선 제 201 열의 데이터)를 읽는다.As another example, the controller 150 reads 64-bit 201st column data (eg, 0000110000110101000101101111111110011000010011000000111001000001) (or data of the previous 201st column) related to the 31st column group from the database.

또한, 도 17에 도시된 바와 같이, 상기 제어부(150)는 상기 읽은 제 201 열데이터를 미리 초기화된 제 4 열저장버퍼에 저장한다(S1340).Also, as shown in FIG. 17 , the controller 150 stores the read 201st column data in a pre-initialized fourth column storage buffer (S1340).

이후, 상기 제어부(150)는 상기 선택된 열그룹(또는 상기 선택된 첫 번째 열그룹) 내에 포함된 복수의 태그 중에서 어느 하나의 태그(또는 첫 번째 태그/비트인덱스가 빠른 하나의 태그)를 선택한다.Thereafter, the controller 150 selects any one tag (or one tag having a faster first tag/bit index) from among a plurality of tags included in the selected column group (or the selected first column group).

일 예로, 상기 제어부(150)는 상기 선택된 제 21 열그룹 내에 포함된 복수의 태그 중에서 제 11 디지털 태그(또는 제 11-1 태그)를 선택한다.For example, the controller 150 selects an eleventh digital tag (or an 11-1 th tag) from among a plurality of tags included in the selected twenty-first column group.

다른 일 예로, 상기 제어부(150)는 상기 선택된 제 31 열그룹 내에 포함된 복수의 태그 중에서 제 11 아날로그 태그(또는 제 11-2 태그)를 선택한다(S1350).As another example, the controller 150 selects an eleventh analog tag (or an eleventh second tag) from among a plurality of tags included in the selected thirty-first column group ( S1350 ).

이후, 상기 제어부(150)는 상기 선택된 어느 하나의 태그의 종류를 확인(또는 판단)한다.Thereafter, the control unit 150 checks (or determines) the type of the selected one tag.

즉, 상기 제어부(150)는 상기 선택된 태그가 디지털 태그인지 또는 아날로그 태그인지 확인(또는 판단)한다. 이때, 상기 제어부(150)는 상기 선택된 태그에 대한 디지털 태그 또는 아날로그 태그 확인 시, 해당 태그에 설정된 비트수(또는 해당 태그명)를 확인하여, 해당 태그가 디지털 태그인지 또는 아날로그 태그인지 확인할 수 있다. 여기서, 64 비트를 기준으로 상기 디지털 태그는 2 비트가 설정되고, 상기 아날로그 태그는 21 비트가 설정된 상태일 수 있다. 또한, 상기 태그명은 디지털 태그와 아날로그 태그를 구별하기 위해서, DTAG#*** 형태 또는 ATAG#*** 형태일 수 있다.That is, the controller 150 checks (or determines) whether the selected tag is a digital tag or an analog tag. In this case, when checking the digital tag or the analog tag for the selected tag, the controller 150 may check the number of bits (or the corresponding tag name) set in the corresponding tag to determine whether the corresponding tag is a digital tag or an analog tag. . Here, on the basis of 64 bits, the digital tag may have 2 bits set, and the analog tag may have 21 bits set. In addition, the tag name may be in the form of DTAG#*** or ATAG#*** in order to distinguish the digital tag from the analog tag.

일 예로, 상기 제어부(150)는 상기 선택된 제 11-1 태그가 디지털 태그인지 또는 아날로그 태그인지 확인한다.For example, the controller 150 determines whether the selected 11-1 th tag is a digital tag or an analog tag.

다른 일 예로, 상기 제어부(150)는 상기 선택된 제 11-2 태그가 디지털 태그인지 또는 아날로그 태그인지 확인한다(S1360).As another example, the control unit 150 checks whether the selected 11-2 th tag is a digital tag or an analog tag (S1360).

상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 디지털 태그인 경우, 상기 제어부(150)는 상기 읽은 열데이터(또는 상기 열저장버퍼에 저장 중인 열데이터)에서 상기 선택된 태그의 비트인덱스와 관련한 태그읽기값을 추출한다.As a result of the check (or the determination result), when the selected tag is a digital tag, the controller 150 relates to the bit index of the selected tag in the read column data (or column data being stored in the column storage buffer). Extract the tag read value.

즉, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 디지털 태그인 경우, 상기 제어부(150)는 앞선 [수학식 14]에 따라 상기 읽은 열데이터 중에서 상기 선택된 디지털 태그의 비트인덱스에 대응하는 2진수 형태의 2 비트의 값(또는 태그읽기값)을 추출한다.That is, when the check result (or the determination result) indicates that the selected tag is a digital tag, the control unit 150 corresponds to the bit index of the selected digital tag among the read column data according to Equation 14 above. Extracts 2-bit value (or tag read value) in binary format.

일 예로, 상기 확인 결과, 상기 선택된 제 11-1 태그(또는 상기 제 11 디지털 태그)가 디지털 태그일 때, 상기 제어부(150)는 상기 읽은 64 비트의 제 101 열데이터(예를 들어 00000101 ... 10101111) 중에서 상기 제 11-1 태그(또는 제 11 디지털 태그)와 관련한 비트인덱스(예를 들어 0)에 따라 0번째 비트의 값 및 1번째 비트의 값(예를 들어 0b11)을 상기 태그읽기값으로 추출한다(S1370).For example, as a result of the check, when the selected 11-1 tag (or the 11th digital tag) is a digital tag, the control unit 150 reads the 64-bit 101st column data (eg 00000101 .. 10101111), reading the tag with the value of the 0th bit and the value of the 1st bit (eg 0b11) according to the bit index (eg 0) related to the 11-1 tag (or the 11th digital tag) It is extracted as a value (S1370).

이후, 상기 제어부(150)는 상기 추출된 태그읽기값에서 해당 디지털 태그의 태그데이터를 추출한다.Thereafter, the control unit 150 extracts the tag data of the corresponding digital tag from the extracted tag read value.

즉, 상기 제어부(150)는 앞선 [수학식 15]에 따라 상기 추출된 태그읽기값 중에서 첫번째 비트의 값을 해당 디지털 태그의 태그데이터로 추출한다.That is, the control unit 150 extracts the value of the first bit among the extracted tag read values as tag data of the corresponding digital tag according to Equation 15 above.

일 예로, 상기 제어부(150)는 상기 추출된 태그읽기값(예를 들어 0b11)에서 첫 번째 비트의 값(예를 들어 1)을 해당 제 1 디지털 태그의 태그데이터로 추출한다(S1380).For example, the controller 150 extracts the value of the first bit (eg, 1) from the extracted tag read value (eg, 0b11) as tag data of the corresponding first digital tag (S1380).

이후, 상기 제어부(150)는 상기 추출된 태그읽기값에서 통신 상태의 값을 추출한다.Thereafter, the control unit 150 extracts the value of the communication state from the extracted tag read value.

즉, 상기 제어부(150)는 앞선 [수학식 16]에 따라 상기 추출된 태그읽기값 중에서 두번째 비트의 값을 해당 디지털 태그의 통신 상태의 값으로 추출한다.That is, the controller 150 extracts the value of the second bit among the extracted tag read values as the value of the communication state of the corresponding digital tag according to Equation 16 above.

일 예로, 상기 제어부(150)는 상기 추출된 태그읽기값(예를 들어 0b11)에서 두 번째 비트의 값(예를 들어 1)을 해당 제 1 디지털 태그의 통신 상태의 값으로 추출한다(S1390).For example, the control unit 150 extracts the value of the second bit (eg, 1) from the extracted tag read value (eg, 0b11) as the value of the communication state of the first digital tag (S1390) .

이후, 상기 제어부(150)는 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재하는지 확인(또는 판단)한다. 여기서, 상기 다른 태그는 해당 다른 태그의 태그데이터와 통신 상태를 나타내는 비트의 값을 상기 읽은 열데이터로부터 아직 추출하지 않은 태그일 수 있다.Thereafter, the controller 150 checks (or determines) whether another tag from which a tag read value is not extracted from the read column data among a plurality of tags included in the previously selected column group exists. Here, the other tag may be a tag in which a value of a bit indicating a communication state with tag data of the other tag has not yet been extracted from the read column data.

일 예로, 상기 제어부(150)는 상기 선택된 제 21 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재하는지 확인한다(S1400).For example, the control unit 150 checks whether there is another tag from which a tag read value is not extracted from the read column data among a plurality of tags included in the selected twenty-first column group ( S1400 ).

상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재하는 경우, 상기 제어부(150)는 상기 읽은 열데이터에서 상기 다른 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정으로 복귀하여, 상기 읽은 열데이터에서 상기 다른 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정, 상기 태그읽기값에서 해당 다른 태그의 태그데이터를 추출하는 과정, 상기 태그읽기값에서 해당 다른 태그의 통신 상태의 값을 추출하는 과정, 상기 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하는지 확인하는 과정(예를 들어 S1370 단계 ~ S1400 단계)을 반복적으로 수행한다.As a result of the check, if there is another tag for which a tag read value is not extracted from the read column data among a plurality of tags included in the previously selected column group, the controller 150 controls the bit of the other tag in the read column data. Returning to the process of extracting the tag read value related to the index, the process of extracting the tag read value related to the bit index of the other tag from the read column data, the process of extracting the tag data of the other tag from the tag read value , the process of extracting the value of the communication state of the corresponding other tag from the tag read value, and the process of checking whether there is another tag from which the tag read value is not extracted from the column data (for example, steps S1370 to S1400) Do it repeatedly.

일 예로, 상기 선택된 제 21 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 제 12 디지털 태그 내지 제 18 디지털 태그가 각각 존재할 때, 상기 제어부(150)는 앞선 S1370 단계 ~ S1400 단계를 반복 수행하여, 도 18에 도시된 바와 같이, 상기 제 11 디지털 태그 내지 제 18 디지털 태그에 각각 대응하는 태그데이터와 통신 상태의 값을 각각 추출한다(S1410).For example, when there is a twelfth digital tag to an eighteenth digital tag for which a tag read value is not extracted from the read column data among a plurality of tags included in the selected twenty-first column group, the control unit 150 may perform the above S1370 By repeating steps to S1400, as shown in FIG. 18, tag data and communication state values corresponding to the eleventh to eighteenth digital tags are extracted, respectively (S1410).

또한, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재하지 않은 경우, 상기 제어부(150)는 차트 작성 및/또는 보고서 작성에 사용될 수 있도록 태그별로 태그데이터와 통신상태의 값을 전달(또는 출력)한다.In addition, as a result of the check, if there is no other tag for which a tag read value is extracted from the read column data among a plurality of tags included in the previously selected column group, the controller 150 creates a chart and/or writes a report Transmits (or outputs) tag data and communication status values for each tag so that it can be used for

일 예로, 상기 선택된 제 21 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 태그가 존재하지 않을 때, 상기 제어부(150)는 상기 제 11 디지털 태그와 관련한 비트값(예를 들어 01), 상기 제 12 디지털 태그와 관련한 비트값(예를 들어 01), 상기 제 13 디지털 태그와 관련한 비트값(예를 들어 00), 상기 제 14 디지털 태그와 관련한 비트값(예를 들어 00), 상기 제 15 디지털 태그와 관련한 비트값(예를 들어 11), 상기 제 16 디지털 태그와 관련한 비트값(예를 들어 11), 상기 제 17 디지털 태그와 관련한 비트값(예를 들어 10), 상기 제 18 디지털 태그와 관련한 비트값(예를 들어 10) 등을 전달한다(S1420).For example, when there is no tag from which the read tag value is extracted from the read column data among the plurality of tags included in the selected twenty-first column group, the controller 150 controls the bit value associated with the eleventh digital tag. (eg 01), a bit value related to the twelfth digital tag (eg 01), a bit value related to the thirteenth digital tag (eg 00), a bit value related to the 14th digital tag (eg, 00) 00), a bit value related to the fifteenth digital tag (for example, 11), a bit value related to the sixteenth digital tag (for example 11), a bit value related to the seventeenth digital tag (for example, 10), a bit value (eg, 10) related to the 18th digital tag is transmitted (S1420).

또한, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 아날로그 태그인 경우, 상기 제어부(150)는 상기 읽은 열데이터(또는 상기 열저장버퍼에 저장 중인 열데이터)에서 상기 선택된 태그의 비트인덱스와 관련한 태그읽기값을 추출한다.In addition, when the check result (or the determination result) indicates that the selected tag is an analog tag, the controller 150 controls the bit index of the selected tag in the read column data (or column data being stored in the column storage buffer). Extract the tag read value related to

즉, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 아날로그 태그인 경우, 상기 제어부(150)는 앞선 [수학식 17]에 따라 상기 읽은 열데이터 중에서 상기 선택된 아날로그 태그의 비트인덱스에 대응하는 2진수 형태의 21개 비트의 값(또는 태그읽기값)을 추출한다.That is, when the check result (or the determination result) indicates that the selected tag is an analog tag, the control unit 150 corresponds to the bit index of the selected analog tag among the read column data according to Equation 17 above. Extract the value of 21 bits (or tag read value) in binary format.

일 예로, 상기 확인 결과, 상기 선택된 제 31 태그가 아날로그 태그일 때, 상기 제어부(150)는 상기 읽은 64 비트의 제 201 열데이터(예를 들어 0000110000110101000101101111111110011000010011000000111001000001) 중에서 상기 선택된 제 11 아날로그 태그와 관련한 비트인덱스(예를 들어 0)에 따라 0번째 비트의 값 내지 20번째 비트의 값(예를 들어 011000000111001000001)을 태그읽기값으로 추출한다(S1430).For example, as a result of the check, when the selected 31st tag is an analog tag, the controller 150 may control a bit index related to the selected 11th analog tag from among the read 64-bit 201st column data (eg, 0000110000110101000101101111111110011000010011000000111001000001). According to (eg, 0), the value of the 0th bit to the value of the 20th bit (eg, 011000000111001000001) is extracted as a tag read value (S1430).

이후, 상기 제어부(150)는 상기 추출된 태그읽기값에서 2진수 형태의 해당 아날로그 태그의 지수를 추출한다.Thereafter, the control unit 150 extracts the index of the analog tag in binary form from the extracted tag read value.

즉, 상기 제어부(150)는 앞선 [수학식 18]에 따라 상기 추출된 태그읽기값 중에서 0번째 비트의 값 ~ 2번째 비트의 값을 해당 아날로그 태그의 지수로 추출한다.That is, the control unit 150 extracts the value of the 0th bit to the value of the 2nd bit among the extracted tag read values according to the above [Equation 18] as the index of the corresponding analog tag.

또한, 상기 제어부(150)는 상기 추출된 2진수 형태의 지수를 10진수 형태의 지수로 변환한다.In addition, the control unit 150 converts the extracted exponent in binary form into exponent in decimal form.

일 예로, 상기 제어부(150)는 상기 추출된 태그읽기값(예를 들어 011000000111001000001)에서 0번째 비트의 값 ~ 2번째 비트의 값을 해당 제 1 아날로그 태그의 지수(예를 들어 0b001)로 추출한다.For example, the control unit 150 extracts the value of the 0th bit to the value of the 2nd bit from the extracted tag read value (eg, 011000000111001000001) as an index (eg, 0b001) of the corresponding first analog tag. .

또한, 상기 제어부(150)는 상기 추출된 해당 제 1 아날로그 태그의 지수(예를 들어 0b001)를 10진수의 지수(예를 들어 1)로 변환한다(S1440).Also, the controller 150 converts the extracted exponent (eg, 0b001) of the corresponding first analog tag into a decimal exponent (eg, 1) (S1440).

이후, 상기 제어부(150)는 상기 추출된 태그읽기값에서 해당 아날로그 태그의 정수를 추출한다.Thereafter, the control unit 150 extracts an integer of the corresponding analog tag from the extracted tag read value.

즉, 상기 제어부(150)는 앞선 [수학식 19]에 따라 상기 추출된 태그읽기값 중에서 3번째 비트의 값 ~ 19번째 비트의 값을 해당 아날로그 태그의 정수로 추출한다.That is, the control unit 150 extracts the value of the third bit to the value of the 19th bit among the extracted tag read values as an integer of the corresponding analog tag according to Equation 19 above.

또한, 상기 제어부(150)는 상기 추출된 2진수 형태의 정수를 10진수 형태의 정수로 변환한다.In addition, the control unit 150 converts the extracted integer in binary form into integer in decimal form.

일 예로, 상기 제어부(150)는 상기 추출된 태그읽기값(예를 들어 011000000111001000001)에서 3번째 비트의 값 ~ 19번째 비트의 값을 해당 제 1 아날로그 태그의 정수(예를 들어 0b11000000111001000)를 추출한다.For example, the control unit 150 extracts the value of the 3rd bit to the value of the 19th bit from the extracted tag read value (eg, 011000000111001000001) and an integer (eg, 0b1100000111001000) of the corresponding first analog tag. .

또한, 상기 제어부(150)는 상기 추출된 해당 제 1 아날로그 태그의 정수(예를 들어 0b11000000111001000)를 10진수의 정수(예를 들어 98760)로 변환한다(S1450).Also, the control unit 150 converts the extracted integer (eg, 0b11000000111001000) of the corresponding first analog tag into a decimal integer (eg, 98760) (S1450).

이후, 상기 제어부(150)는 상기 변환된 정수를 10에 상기 변환된 지수만큼 자승한 값으로 나누어 상기 선택된 아날로그 태그의 태그데이터를 계산한다.Thereafter, the controller 150 calculates tag data of the selected analog tag by dividing the converted integer by a value obtained by multiplying 10 by the converted exponent.

즉, 상기 제어부(150)는 앞선 [수학식 20]에 따라 10진수 형태로 상기 변환된 정수 및 상기 10진수 형태로 변환된 지수를 이용해서 상기 선택된 아날로그 태그의 태그데이터를 계산한다.That is, the control unit 150 calculates the tag data of the selected analog tag by using the integer converted to the decimal form and the exponent converted to the decimal form according to Equation 20 above.

또한, 상기 제어부(150)는 상기 추출된 태그읽기값에서의 부호 비트를 확인하여, 해당 아날로그 태그의 태그데이터가 음수인지 양수인지 확인한다.In addition, the control unit 150 checks the sign bit in the extracted tag read value to determine whether the tag data of the analog tag is negative or positive.

또한, 해당 부호 비트가 하이인 경우, 상기 제어부(150)는 상기 계산된 태그데이터를 음수로 변환한다.Also, when the corresponding sign bit is high, the controller 150 converts the calculated tag data into a negative number.

즉, 상기 제어부(150)는 앞선 [수학식 21]에 따라 상기 추출된 태그읽기값의 20번째 비트의 값을 확인하여, 상기 계산된 태그데이터가 음수인지 양수인지 확인하고, 확인 결과에 따라 태그데이터가 음수이면 해당 태그데이터의 값을 음수로 변환한다.That is, the control unit 150 checks the value of the 20th bit of the extracted tag read value according to the above [Equation 21], checks whether the calculated tag data is negative or positive, and tags according to the result of the check. If the data is negative, the value of the corresponding tag data is converted to a negative number.

또한, 상기 제어부(150)는 상기 확인 결과에 따라 태그데이터가 양수이면 앞서 계산된 태그데이터를 그대로 유지한다.In addition, if the tag data is positive according to the check result, the control unit 150 maintains the previously calculated tag data as it is.

일 예로, 상기 제어부(150)는 상기 변환된 정수(예를 들어 9876)를 (10^1)로 나누어, 상기 선택된 제 11 아날로그 태그의 태그데이터(예를 들어 987.6)를 계산한다.For example, the controller 150 divides the converted integer (eg, 9876) by (10^1) to calculate tag data (eg, 987.6) of the selected eleventh analog tag.

또한, 상기 제어부(150)는 상기 추출된 태그읽기값에서의 부호 비트인 20번째 비트의 값(예를 들어 0, 양수)을 확인하고, 상기 확인에 따라 상기 계산된 태그데이터(예를 987.6)를 유지한다(S1460).In addition, the control unit 150 checks the value of the 20th bit that is the sign bit in the extracted tag read value (eg, 0, positive number), and the calculated tag data (eg, 987.6) according to the confirmation maintain (S1460).

이후, 상기 제어부(150)는 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하는지 확인(또는 판단)한다. 여기서, 상기 또 다른 태그는 해당 또 다른 태그의 태그데이터와 통신 상태를 나타내는 비트의 값을 상기 읽은 열데이터로부터 아직 추출하지 않은 태그일 수 있다.Thereafter, the control unit 150 checks (or determines) whether another tag from which a tag read value is not extracted from the read column data among a plurality of tags included in the previously selected column group exists. Here, the another tag may be a tag in which a value of a bit indicating a communication state and tag data of the other tag has not yet been extracted from the read column data.

일 예로, 상기 제어부(150)는 상기 선택된 제 31 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하는지 확인한다(S1470).For example, the controller 150 checks whether another tag from which a read tag value is not extracted from the read column data among a plurality of tags included in the selected 31st column group exists ( S1470 ).

상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하는 경우, 상기 제어부(150)는 상기 읽은 열데이터에서 상기 또 다른 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정으로 복귀하여, 상기 읽은 열데이터에서 상기 또 다른 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정, 상기 태그읽기값에서 2진수 형태의 해당 또 다른 태그의 지수를 추출하고 추출된 2진수 형태의 지수를 10진수 형태의 지수로 변환하는 과정, 상기 태그읽기값에서 2진수 형태의 해당 또 다른 태그의 정수를 추출하고 추출된 2진수 형태의 정수를 10진수 형태의 정수로 변환하는 과정, 상기 변환된 정수와 지수를 이용해서 해당 또 다른 태그의 태그데이터를 계산하는 과정, 상기 또 다른 태그의 태그데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하는지 확인하는 과정(예를 들어 S1430 단계 ~ S1470 단계)을 반복적으로 수행한다.As a result of the check, if there is another tag for which a tag read value is not extracted from the read column data among a plurality of tags included in the previously selected column group, the controller 150 controls the other tag from the read column data. Returning to the process of extracting the tag read value related to the bit index of The process of extracting the exponent of a tag and converting the extracted exponent in binary form into exponent in decimal form, extracting the integer of another tag in binary form from the tag read value, and converting the extracted integer in binary form The process of converting to an integer in decimal form, the process of calculating the tag data of another tag using the converted integer and exponent, and another tag that does not extract the tag read value from the tag data of the other tag The process of checking whether it exists (for example, steps S1430 to S1470) is repeatedly performed.

일 예로, 상기 선택된 제 31 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 제 12 아날로그 태그 및 제 13 아날로그 태그가 존재할 때, 상기 제어부(150)는 앞선 S1430 단계 ~ S1470 단계를 반복 수행하여, 도 19에 도시된 바와 같이, 상기 제 11 아날로그 태그 내지 제 13 아날로그 태그에 각각 대응하는 태그데이터와 통신 상태의 값을 각각 계산한다(S1480).For example, when there is a twelfth analog tag and a thirteenth analog tag for which a tag read value is not extracted from the read column data among a plurality of tags included in the selected 31st column group, the control unit 150 performs the above step S1430 By repeating steps to S1470, as shown in FIG. 19, tag data and communication state values corresponding to the eleventh analog tags to the thirteenth analog tags are calculated, respectively (S1480).

또한, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하지 않은 경우, 상기 제어부(150)는 상기 읽은 열데이터에서 통신 상태의 값을 추출한다.Also, as a result of the check, if there is no tag from which a tag read value is extracted from the read column data among a plurality of tags included in the previously selected column group, the controller 150 performs communication from the read column data. Extract the value of the state.

즉, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하지 않은 경우, 상기 제어부(150)는 상기 읽은 열데이터에서 미리 설정된 비트(예를 들어 63번 비트)의 값을 확인하여 해당 아날로그 태그와 관련한 통신 상태를 나타내는 비트의 값이 미리 설정된 참(또는 트루/정상)인지 거짓(또는 폴스/이상)인지 확인한다.That is, as a result of the check, if there is no tag from which a tag read value is extracted from the read column data among a plurality of tags included in the previously selected column group, the control unit 150 pre-selects the read column data. Check the value of the set bit (eg, bit 63) and check whether the value of the bit indicating the communication status related to the analog tag is preset true (or true/normal) or false (or false/abnormal).

일 예로, 상기 선택된 제 31 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 태그가 존재하지 않을 때, 상기 제어부(150)는 상기 읽은 열데이터 중에서 미리 설정된 63번째 비트의 값이 0(또는 참/정상)인지 1(또는 거짓/이상)인지 확인한다(S1490).For example, when there is no tag from which a tag read value is extracted from the read column data among a plurality of tags included in the selected 31st column group, the controller 150 controls the preset 63rd among the read column data. It is checked whether the bit value is 0 (or true/normal) or 1 (or false/abnormal) (S1490).

이후, 상기 제어부(150)는 차트 작성 및/또는 보고서 작성에 사용될 수 있도록 태그별로 태그데이터와 통신상태의 값을 전달(또는 출력)한다.Thereafter, the control unit 150 transmits (or outputs) the tag data and the value of the communication state for each tag so that it can be used for chart writing and/or report writing.

일 예로, 도 20에 도시된 바와 같이, 상기 제어부(150)는 상기 제 11 디지털 태그 내지 제 18 디지털 태그와 관련한 태그데이터, 통신 상태 등을 전달한다.For example, as shown in FIG. 20 , the controller 150 transmits tag data and communication status related to the eleventh to eighteenth digital tags.

다른 일 예로, 도 21에 도시된 바와 같이, 상기 제어부(150)는 상기 제 11 아날로그 태그 내지 상기 제 13 아날로그 태그와 관련한 태그데이터, 통신 상태 등을 전달한다(S1500).As another example, as shown in FIG. 21 , the control unit 150 transmits tag data and communication status related to the eleventh analog tag to the thirteenth analog tag (S1500).

이후, 상기 제어부(150)는 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 복수의 태그와 관련해서 상기 데이터베이스로부터 해당 태그와 관련한 태그데이터, 통신 상태의 값 등을 추출하지 않은 다른 열그룹이 존재하는지 확인(또는 판단)한다. 여기서, 상기 다른 열그룹은 해당 다른 열그룹에 포함된 복수의 태그와 관련해서 상기 데이터베이스로부터 해당 태그와 관련한 태그데이터, 통신 상태의 값 등을 추출하지 않은 열그룹일 수 있다.Thereafter, the controller 150 selects another column group for which tag data related to the corresponding tag, a value of a communication state, etc. are not extracted from the database with respect to a plurality of tags included in the column group from among the one or more previously generated column groups. Check (or judge) if it exists. Here, the other column group may be a column group in which tag data related to a corresponding tag, a value of a communication state, etc. are not extracted from the database with respect to a plurality of tags included in the other column group.

일 예로, 상기 제어부(150)는 상기 생성된 제 21 열그룹 이외에 해당 열그룹에 포함된 복수의 태그와 관련해서 상기 데이터베이스로부터 해당 태그와 관련한 태그데이터, 통신 상태의 값 등을 추출하지 않은 다른 열그룹이 존재하는지 확인한다.For example, in relation to a plurality of tags included in a corresponding column group other than the generated twenty-first column group, the controller 150 may be configured to extract other columns from which tag data related to the corresponding tag, the value of the communication state, etc. are not extracted from the database. Check if the group exists.

다른 일 예로, 상기 제어부(150)는 상기 생성된 제 31 열그룹 이외에 해당 열그룹에 포함된 복수의 태그와 관련해서 상기 데이터베이스로부터 해당 태그와 관련한 태그데이터, 통신 상태의 값 등을 추출하지 않은 다른 열그룹이 존재하는지 확인한다(S1510).As another example, the controller 150 may be configured to other than the generated 31st column group that does not extract tag data related to the corresponding tag, the value of the communication state, etc. from the database with respect to a plurality of tags included in the column group. It is checked whether a column group exists (S1510).

상기 확인 결과, 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 복수의 태그와 관련해서 상기 데이터베이스로부터 해당 태그와 관련한 태그데이터, 통신 상태의 값 등을 추출하지 않은 다른 열그룹이 존재하는 경우, 상기 제어부(150)는 상기 데이터베이스로부터 상기 다른 열그룹과 관련해서 64 비트의 열데이터를 읽는 과정으로 복귀하여, 상기 데이터베이스로부터 상기 다른 열그룹과 관련한 열데이터를 읽는 과정, 상기 선택된 다른 열그룹 내에 포함된 복수의 태그 중에서 어느 하나의 태그를 선택하는 과정, 상기 선택된 어느 하나의 태그의 종류를 확인하는 과정, 상기 확인된 태그의 종류에 따라 태그데이터, 통신 상태를 나타내는 비트의 값, 태그데이터의 양수 또는 음수를 나타내는 비트의 값 등을 추출 및 계산하는 과정, 차트 작성 및/또는 보고서 작성에 사용될 수 있도록 태그별로 태그데이터와 통신상태의 값을 전달하는 과정(예를 들어 S1350 단계 ~ S1510 단계)을 반복적으로 수행한다.As a result of the check, if there is another column group in which tag data related to the corresponding tag, the value of the communication state, etc. are not extracted from the database with respect to a plurality of tags included in the column group among the one or more column groups created above, The controller 150 returns to the process of reading 64-bit column data in relation to the other column group from the database, and reading the column data relating to the other column group from the database, including in the selected other column group. The process of selecting one tag from among the plurality of tags, the process of confirming the type of the selected one tag, the tag data according to the checked type of the tag, the value of the bit indicating the communication status, and the positive number of the tag data Alternatively, the process of extracting and calculating the value of the bit representing a negative number, and transferring the tag data and the communication status value for each tag so that it can be used for chart writing and/or report writing (for example, step S1350 ~ step S1510) Do it repeatedly.

일 예로, 상기 생성된 제 21 열그룹 이외에 해당 열그룹에 포함된 복수의 태그와 관련해서 상기 데이터베이스로부터 해당 태그와 관련한 태그데이터, 통신 상태의 값 등을 추출하지 않은 다른 열그룹(예를 들어 제 22 열그룹)이 존재할 때, 상기 제어부(150)는 상기 제 22 열그룹에 포함된 제 19 디지털 태그 및 제 20 디지털 태그에 대해서 앞선 과정들(예를 들어 S1340 단계 ~ S1500 단계)을 반복적으로 수행하여, 해당 제 19 디지털 태그 및 제 20 디지털 태그에 포함된 태그데이터와 통신 상태에 대한 값을 상기 데이터베이스로부터 획득한다(S1520).For example, in relation to a plurality of tags included in the corresponding column group other than the generated twenty-first column group, another column group (eg, the first column group) for which tag data related to the corresponding tag and the value of the communication state are not extracted from the database. 22 column group) exists, the controller 150 repeatedly performs the preceding processes (for example, steps S1340 to S1500) with respect to the 19th digital tag and the 20th digital tag included in the 22nd column group. Thus, the tag data and the communication state included in the 19th digital tag and the 20th digital tag are acquired from the database (S1520).

또한, 상기 확인 결과, 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 복수의 태그와 관련해서 상기 데이터베이스로부터 해당 태그와 관련한 태그데이터, 통신 상태의 값 등을 추출하지 않은 다른 열그룹이 존재하지 않은 경우, 상기 제어부(150)는 전체 과정을 종료한다.In addition, as a result of the check, there is no other column group in which tag data related to the corresponding tag, the value of the communication state, etc. are not extracted from the database with respect to a plurality of tags included in the column group among the one or more previously created column groups. If not, the control unit 150 ends the entire process.

일 예로, 상기 생성된 제 21 열그룹 이외에 해당 열그룹에 포함된 복수의 태그와 관련해서 상기 데이터베이스로부터 해당 태그와 관련한 태그데이터, 통신 상태의 값 등을 추출하지 않은 다른 열그룹이 존재하지 않을 때, 상기 제어부(150)는 전체 과정을 종료한다.For example, when there is no other column group in which tag data related to the corresponding tag, the value of the communication state, etc. are not extracted from the database with respect to a plurality of tags included in the corresponding column group other than the created twenty-first column group , the control unit 150 ends the entire process.

다른 일 예로, 상기 생성된 제 31 열그룹 이외에 해당 열그룹에 포함된 복수의 태그와 관련해서 상기 데이터베이스로부터 해당 태그와 관련한 태그데이터, 통신 상태의 값 등을 추출하지 않은 다른 열그룹이 존재하지 않을 때, 상기 제어부(150)는 전체 과정을 종료한다(S1530).As another example, with respect to a plurality of tags included in the corresponding column group, other than the generated 31st column group, there may not be another column group in which tag data related to the corresponding tag, the value of the communication state, etc. are not extracted from the database. At this time, the control unit 150 ends the entire process (S1530).

본 발명의 실시예는 앞서 설명된 바와 같이, 복수의 태그로 구성되는 차트 그룹 내에 설정된 태그들을 확인하여 데이터베이스에서 사용할 열의 이름과 열 내에서 차지하는 비트인덱스를 확인하고, 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 열그룹을 생성하고, 열저장버퍼를 초기화한 후, 열그룹 내에 포함된 태그별로 태그 종류에 따라 태그의 통신 상태를 포함하는 열저장버퍼를 계산하고, 계산된 열저장버퍼를 데이터베이스에 저장하여, SCADA 소프트웨어에서 과거 태그 데이터에 관한 히스토리안 차트 작성 및 보고서 생성을 위한 실시간 태그 데이터 저장 시, 데이터의 용량을 줄여 디스크의 공간을 절약하고, 데이터베이스로부터 데이터를 읽고 쓰는데 소요되는 시간을 절약하고, 전체 시스템 운영 효율을 향상시킬 수 있다.As described above, the embodiment of the present invention checks the tags set in the chart group consisting of a plurality of tags, checks the name of the column to be used in the database and the bit index occupied in the column, and sets each tag using the same column. After classifying into groups by column to create a column group, initialize the column storage buffer, calculate the column storage buffer including the communication status of the tag according to the tag type for each tag included in the column group, and calculate the column storage buffer When saving real-time tag data for historical tag data creation and report generation in SCADA software by saving the data to the database, it saves disk space by reducing the data capacity, and the time it takes to read and write data from the database saving and improving the overall system operating efficiency.

또한, 본 발명의 실시예는 앞서 설명된 바와 같이, 복수의 태그로 구성되는 차트 그룹 내에 설정된 태그들을 확인하여 데이터베이스에서 사용되는 열의 이름과 열 내에서 차지하는 비트인덱스를 확인하고, 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 열그룹을 생성하고, 열저장버퍼를 초기화한 후, 열그룹 내에 포함된 태그별로 태그 종류에 따라 태그읽기값에 포함된 정보를 추출하여 태그데이터와 통신상태를 제공하여, 한 번의 데이터베이스 읽기(select)로 복수의 태그데이터를 수집하여 차트 작성 및 보고서 생성이 신속하게 처리되도록 지원하고, 읽어온 태그데이터와 관련한 통신상태를 확인함에 따라 해당 태그데이터에 대한 신뢰도를 확보할 수 있다.In addition, as described above, the embodiment of the present invention checks the tags set in the chart group consisting of a plurality of tags, checks the name of a column used in the database and the bit index occupied in the column, and uses the same column. After classifying tags into groups for each column, creating a column group, initializing the column storage buffer, and extracting the information included in the tag read value according to the tag type for each tag included in the column group, tag data and communication status are stored. to collect multiple tag data with one database read (select) to support rapid chart creation and report generation, and to increase the reliability of the tag data by checking the communication status related to the read tag data can be obtained

전술된 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Those of ordinary skill in the art to which the present invention pertains may modify and modify the above-described contents without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical spirit of the present invention, but to explain, and the scope of the technical spirit of the present invention is not limited by these embodiments. The protection scope of the present invention should be construed by the following claims, and all technical ideas within the equivalent range should be construed as being included in the scope of the present invention.

100: SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치
110: 통신부 120: 저장부
130: 표시부 140: 음성 출력부
150: 제어부
100: Device for managing real-time tag data in SCADA software
110: communication unit 120: storage unit
130: display unit 140: audio output unit
150: control unit

Claims (10)

열저장버퍼를 포함하는 저장부; 및
차트 그룹 내에 설정된 다수의 태그의 열 이름을 근거로 데이터베이스에서 사용할 열의 이름과 열 내에서 차지하는 비트인덱스를 확인하고, 상기 다수의 태그 중에서 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 하나 이상의 열그룹을 생성하고, 상기 생성된 하나 이상의 열그룹 중 어느 하나의 열그룹을 선택하고, 미리 설정된 상기 열저장버퍼를 초기화하고, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 어느 하나의 태그를 선택하고, 상기 선택된 어느 하나의 태그의 종류를 확인하고, 상기 선택된 어느 하나의 태그의 종류에 따라 상기 선택된 열그룹 내에 포함된 복수의 태그 내의 데이터를 상기 열저장버퍼에 저장하고, 상기 열저장버퍼에 저장된 값을 상기 데이터베이스 내의 특정 열에 저장하는 제어부를 포함하며,
상기 제어부는,
상기 선택된 태그가 디지털 태그일 때, 미리 설정된 태그저장버퍼를 초기화하고, 상기 선택된 디지털 태그의 태그데이터의 값이 참(true)인지 거짓(false)인지 판단하고, 상기 판단 결과, 상기 선택된 디지털 태그의 태그데이터의 값이 참일 때, 상기 초기화된 태그저장버퍼의 첫 번째 비트를 미리 설정된 값인 하이값으로 설정하고, 상기 판단 결과, 상기 선택된 디지털 태그의 태그데이터의 값이 참이 아닌 경우 또는 상기 태그저장버퍼의 첫 번째 비트를 하이로 설정한 경우, 상기 선택된 디지털 태그의 통신 상태가 이상 상태인지 여부를 확인하고, 상기 확인 결과, 상기 선택된 디지털 태그의 통신 상태가 이상 상태일 때, 상기 태그저장버퍼의 두번째 비트를 미리 설정된 값인 하이값으로 설정하고, 상기 확인 결과, 상기 선택된 디지털 태그의 통신 상태가 이상 상태가 아닌 경우 또는 상기 태그저장버퍼의 두 번째 비트를 하이로 설정한 경우, 상기 열저장버퍼 내의 상기 선택된 디지털 태그의 비트인덱스에 대응하는 비트에 상기 태그저장버퍼의 값을 저장하고, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값을 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하는지 확인하고, 상기 확인 결과, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값을 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재할 때, 상기 태그저장버퍼를 초기화하는 과정으로 복귀하여, 상기 태그저장버퍼를 초기화하는 과정부터 다시 수행하며,
상기 확인 결과, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값을 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하지 않을 때, 상기 선택된 열그룹과 관련한 열저장버퍼의 값을 상기 데이터베이스 내의 특정 열에 저장하는 것을 특징으로 하는 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치.
a storage unit including a thermal storage buffer; and
Based on the column name of a plurality of tags set in the chart group, the name of the column to be used in the database and the bit index occupied in the column are checked, and tags using the same column among the plurality of tags are classified into groups for each column, and one or more Creates a column group, selects any one of the one or more created column groups, initializes the preset column storage buffer, and selects any one tag from a plurality of tags included in the selected column group and confirms the type of the selected one tag, stores data in a plurality of tags included in the selected column group according to the selected one tag type in the column storage buffer, and stores the data in the column storage buffer in the column storage buffer. A control unit for storing the stored value in a specific column in the database,
The control unit is
When the selected tag is a digital tag, a preset tag storage buffer is initialized, it is determined whether the value of the tag data of the selected digital tag is true or false, and, as a result of the determination, the value of the selected digital tag is When the value of the tag data is true, the first bit of the initialized tag storage buffer is set to a preset high value, and as a result of the determination, when the value of the tag data of the selected digital tag is not true, or the tag storage When the first bit of the buffer is set to high, it is checked whether the communication state of the selected digital tag is in an abnormal state, and as a result of the check, when the communication state of the selected digital tag is in an abnormal state, the When the second bit is set to a high value, which is a preset value, and as a result of the check, when the communication state of the selected digital tag is not in an abnormal state, or when the second bit of the tag storage buffer is set to high, the The value of the tag storage buffer is stored in a bit corresponding to the bit index of the selected digital tag, and whether there is another tag that does not store the value in the tag in the column storage buffer among a plurality of tags included in the selected column group. and, as a result of the check, when there is another tag that does not store the value in the tag in the column storage buffer among the plurality of tags included in the selected column group, the process returns to the process of initializing the tag storage buffer, It is performed again from the process of initializing the storage buffer,
As a result of the check, when there is no other tag that does not store the value in the tag in the column storage buffer among the plurality of tags included in the selected column group, the value of the column storage buffer related to the selected column group is stored in the database. A device for managing real-time tag data in SCADA software, characterized by storage in specific columns.
제어부에 의해, 차트 그룹 내에 설정된 다수의 태그의 열 이름을 근거로 데이터베이스에서 사용할 열의 이름과 열 내에서 차지하는 비트인덱스를 확인하는 단계;
상기 제어부에 의해, 상기 다수의 태그 중에서 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 하나 이상의 열그룹을 생성하는 단계;
상기 제어부에 의해, 상기 생성된 하나 이상의 열그룹 중 어느 하나의 열그룹을 선택하는 단계;
상기 제어부에 의해, 미리 설정된 열저장버퍼를 초기화하는 단계;
상기 제어부에 의해, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 어느 하나의 태그를 선택하는 단계;
상기 제어부에 의해, 상기 선택된 어느 하나의 태그의 종류를 확인하는 단계;
상기 제어부에 의해, 상기 선택된 어느 하나의 태그의 종류에 따라 상기 선택된 열그룹 내에 포함된 복수의 태그 내의 데이터를 상기 열저장버퍼에 저장하는 단계; 및
상기 제어부에 의해, 상기 열저장버퍼에 저장된 값을 상기 데이터베이스 내의 특정 열에 저장하는 단계를 포함하며,
상기 선택된 어느 하나의 태그의 종류에 따라 상기 선택된 열그룹 내에 포함된 복수의 태그 내의 데이터를 상기 열저장버퍼에 저장하는 단계는,
상기 선택된 태그가 디지털 태그일 때, 미리 설정된 태그저장버퍼를 초기화하는 과정;
상기 선택된 디지털 태그의 태그데이터의 값이 참(true)인지 거짓(false)인지 판단하는 과정;
상기 판단 결과, 상기 선택된 디지털 태그의 태그데이터의 값이 참일 때, 상기 초기화된 태그저장버퍼의 첫 번째 비트를 미리 설정된 값인 하이값으로 설정하는 과정;
상기 판단 결과, 상기 선택된 디지털 태그의 태그데이터의 값이 참이 아닌 경우 또는 상기 태그저장버퍼의 첫 번째 비트를 하이로 설정한 경우, 상기 선택된 디지털 태그의 통신 상태가 이상 상태인지 여부를 확인하는 과정;
상기 확인 결과, 상기 선택된 디지털 태그의 통신 상태가 이상 상태일 때, 상기 태그저장버퍼의 두번째 비트를 미리 설정된 값인 하이값으로 설정하는 과정;
상기 확인 결과, 상기 선택된 디지털 태그의 통신 상태가 이상 상태가 아닌 경우 또는 상기 태그저장버퍼의 두 번째 비트를 하이로 설정한 경우, 상기 열저장버퍼 내의 상기 선택된 디지털 태그의 비트인덱스에 대응하는 비트에 상기 태그저장버퍼의 값을 저장하는 과정;
상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값을 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하는지 확인하는 과정; 및
상기 확인 결과, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값을 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재할 때, 상기 태그저장버퍼를 초기화하는 과정으로 복귀하여, 상기 태그저장버퍼를 초기화하는 과정부터 다시 수행하는 과정을 포함하며,
상기 열저장버퍼에 저장된 값을 상기 데이터베이스 내의 특정 열에 저장하는 단계는,
상기 확인 결과, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값을 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하지 않을 때, 상기 선택된 열그룹과 관련한 열저장버퍼의 값을 상기 데이터베이스 내의 특정 열에 저장하는 것을 특징으로 하는 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 방법.
checking, by the controller, a name of a column to be used in a database and a bit index occupied in the column based on column names of a plurality of tags set in the chart group;
generating, by the controller, one or more column groups by classifying tags using the same column among the plurality of tags into groups for each column;
selecting, by the control unit, any one column group from among the one or more generated column groups;
initializing, by the control unit, a preset thermal storage buffer;
selecting, by the controller, any one tag from among a plurality of tags included in the selected column group;
checking, by the control unit, the type of the selected one of the tags;
storing, by the controller, data in a plurality of tags included in the selected column group in the column storage buffer according to the type of the selected one of the tags; and
and storing, by the control unit, the value stored in the column storage buffer in a specific column in the database,
Storing data in a plurality of tags included in the selected column group in the column storage buffer according to the type of the selected one tag,
initializing a preset tag storage buffer when the selected tag is a digital tag;
determining whether the value of the tag data of the selected digital tag is true or false;
setting the first bit of the initialized tag storage buffer to a preset high value when the value of the tag data of the selected digital tag is true as a result of the determination;
As a result of the determination, when the value of the tag data of the selected digital tag is not true or when the first bit of the tag storage buffer is set to high, the process of checking whether the communication state of the selected digital tag is abnormal ;
setting the second bit of the tag storage buffer to a preset high value when the communication state of the selected digital tag is abnormal as a result of the check;
As a result of the check, when the communication state of the selected digital tag is not an abnormal state or when the second bit of the tag storage buffer is set to high, the bit corresponding to the bit index of the selected digital tag in the column storage buffer is storing the value of the tag storage buffer;
checking whether there is another tag that does not store a value in the tag in the column storage buffer from among a plurality of tags included in the selected column group; and
As a result of the check, when there is another tag that does not store the value in the tag in the column storage buffer among the plurality of tags included in the selected column group, the process returns to the process of initializing the tag storage buffer, and the tag storage buffer is saved. It includes the process of re-performing from the initializing process,
Storing the value stored in the column storage buffer in a specific column in the database comprises:
As a result of the check, when there is no other tag that does not store the value in the tag in the column storage buffer among the plurality of tags included in the selected column group, the value of the column storage buffer associated with the selected column group is stored in the database. A method for managing real-time tag data in SCADA software, characterized by storing in specific columns.
삭제delete 제 2 항에 있어서,
상기 선택된 어느 하나의 태그의 종류에 따라 상기 선택된 열그룹 내에 포함된 복수의 태그 내의 데이터를 상기 열저장버퍼에 저장하는 단계는,
상기 선택된 태그가 아날로그 태그일 때, 상기 선택된 아날로그 태그의 태그데이터의 부호에 따라 상기 태그저장버퍼를 초기화하는 과정;
상기 아날로그 태그의 현재 태그데이터의 절댓값을 계산하는 과정;
상기 계산된 절댓값을 근거로 상기 아날로그 태그의 태그데이터의 정수 부분의 자릿수를 계산하는 과정;
미리 설정된 기준 자릿수에서 상기 계산된 태그데이터의 정수부분의 자릿수를 빼서, 지수를 계산하는 과정;
상기 계산된 지수를 상기 태그저장버퍼에서의 미리 설정된 3 비트의 지수 영역에 대응하도록 2진수 표기 형태로 변환하는 과정;
상기 계산된 절댓값에 10을 지수만큼 자승한 값을 곱하여 정수를 계산하는 과정;
상기 계산된 정수를 상기 태그저장버퍼에서의 미리 설정된 17 비트의 정수 영역에 대응하도록 2진수 표기 형태로 변환하는 과정;
상기 2진수로 변환된 지수와 상기 2진수로 변환된 정수와 상기 확인된 아날로그 태그의 태그데이터의 부호를 상기 태그저장버퍼에 저장하는 과정; 및
상기 열저장버퍼 내의 상기 선택된 아날로그 태그의 비트인덱스에 대응하는 비트에 상기 태그저장버퍼의 값을 저장하는 과정을 포함하는 것을 특징으로 하는 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 방법.
3. The method of claim 2,
Storing data in a plurality of tags included in the selected column group in the column storage buffer according to the type of the selected one tag,
when the selected tag is an analog tag, initializing the tag storage buffer according to a sign of tag data of the selected analog tag;
calculating an absolute value of the current tag data of the analog tag;
calculating the number of digits of an integer part of the tag data of the analog tag based on the calculated absolute value;
calculating an index by subtracting the digits of the integer part of the calculated tag data from the preset reference digits;
converting the calculated exponent into a binary notation form to correspond to a preset 3-bit exponent area in the tag storage buffer;
calculating an integer by multiplying the calculated absolute value by a value obtained by multiplying 10 by an exponent;
converting the calculated integer into a binary notation form to correspond to a preset 17-bit integer region in the tag storage buffer;
storing the exponent converted into binary number, the integer converted into binary number, and a sign of the checked tag data of the analog tag in the tag storage buffer; and
and storing the value of the tag storage buffer in a bit corresponding to the bit index of the selected analog tag in the thermal storage buffer.
제 4 항에 있어서,
상기 선택된 어느 하나의 태그의 종류에 따라 상기 선택된 열그룹 내에 포함된 복수의 태그 내의 데이터를 상기 열저장버퍼에 저장하는 단계는,
상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값을 상기 열저장버퍼에 저장하지 않은 또 다른 태그가 존재하는지 확인하는 과정;
상기 확인 결과, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값을 상기 열저장버퍼에 저장하지 않은 또 다른 태그가 존재할 때, 상기 태그저장버퍼를 초기화하는 과정으로 복귀하여, 상기 태그저장버퍼를 초기화하는 과정부터 다시 수행하는 과정;
상기 확인 결과, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값을 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하지 않을 때, 상기 선택된 아날로그 태그의 통신 상태가 이상 상태인지 여부를 확인하는 과정;
상기 확인 결과, 상기 선택된 아날로그 태그의 통신 상태가 이상 상태일 때, 상기 열저장버퍼의 63번째 비트를 미리 설정된 값인 하이값으로 설정하는 과정; 및
상기 확인 결과, 상기 선택된 아날로그 태그의 통신 상태가 이상 상태가 아닌 경우 또는 상기 열저장버퍼의 63번째 비트를 하이로 설정한 경우, 상기 선택된 열그룹과 관련한 열저장버퍼의 값을 상기 데이터베이스 내의 특정 열에 저장하는 과정을 더 포함하는 것을 특징으로 하는 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 방법.
5. The method of claim 4,
Storing data in a plurality of tags included in the selected column group in the column storage buffer according to the type of the selected one tag,
checking whether another tag that does not store a value in the tag in the column storage buffer from among a plurality of tags included in the selected column group exists;
As a result of the check, when there is another tag that does not store the value in the tag in the column storage buffer among the plurality of tags included in the selected column group, the process returns to the process of initializing the tag storage buffer, and the tag storage buffer The process of performing again from the process of initializing;
As a result of the check, when there is no other tag that does not store the value in the tag in the column storage buffer among the plurality of tags included in the selected column group, it is checked whether the communication state of the selected analog tag is abnormal. process;
setting the 63 th bit of the thermal storage buffer to a preset high value when the communication state of the selected analog tag is abnormal as a result of the check; and
As a result of the check, when the communication state of the selected analog tag is not in an abnormal state or when the 63rd bit of the column storage buffer is set to high, the value of the column storage buffer related to the selected column group is stored in a specific column in the database. Method for managing real-time tag data in SCADA software, characterized in that it further comprises the process of storing.
제 2 항에 있어서,
상기 제어부에 의해, 상기 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 태그 내의 값을 상기 열저장버퍼를 이용해서 상기 데이터베이스에 저장하지 않은 다른 열그룹이 존재하는지 확인하는 단계;
상기 확인 결과, 상기 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 태그 내의 값을 상기 열저장버퍼를 이용해서 상기 데이터베이스에 저장하지 않은 다른 열그룹이 존재할 때, 상기 제어부에 의해, 상기 열저장버퍼를 초기화하는 과정으로 복귀하여, 상기 열저장버퍼를 초기화하는 과정부터 다시 수행하는 단계;
상기 확인 결과, 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 태그 내의 값을 상기 열저장버퍼를 이용해서 상기 데이터베이스에 저장하지 않은 다른 열그룹이 존재하지 않을 때, 상기 제어부에 의해, 미리 설정된 지정 간격 동안 대기 상태를 유지하는 단계; 및
상기 지정 간격이 지나면, 상기 제어부에 의해, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 어느 하나의 태그를 선택하는 과정으로 복귀하여, 상기 어느 하나의 태그를 선택하는 과정부터 다시 수행하는 단계를 더 포함하는 것을 특징으로 하는 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 방법.
3. The method of claim 2,
checking, by the control unit, whether there is another column group that does not store a value in a tag included in the column group among the one or more created column groups in the database using the column storage buffer;
As a result of the check, when there is another column group in which the value in the tag included in the column group is not stored in the database by using the column storage buffer among the one or more created column groups, the controller controls the column storage buffer returning to the process of initializing and performing again from the process of initializing the thermal storage buffer;
As a result of the check, when there is no other column group that does not store the value in the tag included in the column group from among the one or more previously created column groups in the database using the column storage buffer, the control unit sets the preset value in advance. maintaining a standby state for a specified interval; and
When the specified interval passes, returning to the process of selecting, by the controller, any one tag from among a plurality of tags included in the selected column group, and performing again from the process of selecting any one tag; A method for managing real-time tag data in SCADA software, comprising:
데이터베이스에서 읽은 열데이터를 저장하는 저장부; 및
차트 그룹 내에 설정된 다수의 태그의 열 이름을 근거로 데이터베이스에서 사용되는 열의 이름과 열 내에서 차지하는 비트인덱스를 확인하고, 상기 다수의 태그 중에서 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 하나 이상의 열그룹을 생성하고, 상기 생성된 하나 이상의 열그룹 중 어느 하나의 열그룹을 선택하고, 상기 데이터베이스에서 상기 열그룹과 관련한 열데이터를 읽고, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 어느 하나의 태그를 선택하고, 상기 선택된 어느 하나의 태그의 종류를 확인하고, 상기 선택된 어느 하나의 태그의 종류에 따라 상기 읽은 열데이터로부터 데이터를 추출하여 상기 복수의 태그별로 태그데이터와 통신상태를 전달하는 제어부를 포함하며,
상기 제어부는,
상기 선택된 태그가 디지털 태그일 때, 상기 읽은 열데이터에서 상기 선택된 디지털 태그의 비트인덱스와 관련한 태그읽기값을 추출하고, 상기 추출된 태그읽기값에서 상기 디지털 태그의 태그데이터를 추출하고, 상기 추출된 태그읽기값에서 통신 상태의 값을 추출하고, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재하는지 확인하고, 상기 확인 결과, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재할 때, 상기 읽은 열데이터에서 상기 다른 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정으로 복귀하여, 상기 읽은 열데이터에서 상기 다른 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정부터 다시 수행하고, 상기 확인 결과, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재하지 않을 때, 차트 작성 및 보고서 작성 중 적어도 하나에 사용될 수 있도록 태그별로 태그데이터와 통신상태의 값을 전달하는 것을 특징으로 하는 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치.
a storage unit for storing column data read from the database; and
Based on the column names of multiple tags set in the chart group, check the column names used in the database and the bit index occupied in the columns, and classify tags using the same column among the multiple tags into groups for each column. generating one or more column groups, selecting one of the one or more created column groups, reading column data related to the column group from the database, and reading any one of a plurality of tags included in the selected column group selects a tag of , confirms the type of any one of the selected tags, extracts data from the read column data according to the type of any one of the selected tags, and delivers tag data and communication status for each of the plurality of tags includes a control unit,
The control unit is
When the selected tag is a digital tag, a tag read value related to the bit index of the selected digital tag is extracted from the read column data, the tag data of the digital tag is extracted from the extracted tag read value, and the extracted Extracts the value of the communication state from the tag read value, and checks whether there is another tag that does not extract the tag read value from the read column data among a plurality of tags included in the selected column group, and, as a result of the check, the selected column When there is another tag that does not extract the tag read value from the read column data among the plurality of tags included in the group, returning to the process of extracting the tag read value related to the bit index of the other tag from the read column data, The process of extracting the tag read value related to the bit index of the other tag from the read column data is performed again, and as a result of the check, the tag read value is extracted from the read column data from among a plurality of tags included in the selected column group A device that manages real-time tag data in SCADA software, characterized in that it delivers tag data and communication status values for each tag so that it can be used for at least one of chart writing and report writing when there is no other tag that is not present.
제어부에 의해, 차트 그룹 내에 설정된 다수의 태그의 열 이름을 근거로 데이터베이스에서 사용되는 열의 이름과 열 내에서 차지하는 비트인덱스를 확인하는 단계;
상기 제어부에 의해, 상기 다수의 태그 중에서 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 하나 이상의 열그룹을 생성하는 단계;
상기 제어부에 의해, 상기 생성된 하나 이상의 열그룹 중 어느 하나의 열그룹을 선택하는 단계;
상기 제어부에 의해, 상기 데이터베이스에서 상기 열그룹과 관련한 열데이터를 읽는 단계;
상기 제어부에 의해, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 어느 하나의 태그를 선택하는 단계;
상기 제어부에 의해, 상기 선택된 어느 하나의 태그의 종류를 확인하는 단계; 및
상기 제어부에 의해, 상기 선택된 어느 하나의 태그의 종류에 따라 상기 읽은 열데이터로부터 데이터를 추출하여 상기 복수의 태그별로 태그데이터와 통신상태를 전달하는 단계를 포함하며,
상기 선택된 어느 하나의 태그의 종류에 따라 상기 읽은 열데이터로부터 데이터를 추출하여 상기 복수의 태그별로 태그데이터와 통신상태를 전달하는 단계는,
상기 선택된 태그가 디지털 태그일 때, 상기 읽은 열데이터에서 상기 선택된 디지털 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정;
상기 추출된 태그읽기값에서 상기 디지털 태그의 태그데이터를 추출하는 과정;
상기 추출된 태그읽기값에서 통신 상태의 값을 추출하는 과정;
상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재하는지 확인하는 과정;
상기 확인 결과, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재할 때, 상기 읽은 열데이터에서 상기 다른 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정으로 복귀하여, 상기 읽은 열데이터에서 상기 다른 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정부터 다시 수행하는 과정; 및
상기 확인 결과, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재하지 않을 때, 차트 작성 및 보고서 작성 중 적어도 하나에 사용될 수 있도록 태그별로 태그데이터와 통신상태의 값을 전달하는 과정을 포함하는 것을 특징으로 하는 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 방법.
checking, by the control unit, a name of a column used in a database and a bit index occupied in the column, based on column names of a plurality of tags set in the chart group;
generating, by the controller, one or more column groups by classifying tags using the same column among the plurality of tags into groups for each column;
selecting, by the control unit, any one column group from among the one or more generated column groups;
reading, by the controller, column data related to the column group from the database;
selecting, by the controller, any one tag from among a plurality of tags included in the selected column group;
checking, by the control unit, the type of the selected one of the tags; and
extracting, by the control unit, data from the read column data according to the type of any one of the selected tags, and transmitting the tag data and communication status for each of the plurality of tags;
The step of extracting data from the read column data according to the type of any one of the selected tags and transmitting the tag data and the communication state for each of the plurality of tags comprises:
when the selected tag is a digital tag, extracting a tag read value related to the bit index of the selected digital tag from the read column data;
extracting tag data of the digital tag from the extracted tag read value;
extracting a communication state value from the extracted tag read value;
checking whether there is another tag from which a tag read value is not extracted from the read column data among a plurality of tags included in the selected column group;
As a result of the check, when there is another tag for which the tag read value is not extracted from the read column data among the plurality of tags included in the selected column group, the tag read value related to the bit index of the other tag is obtained from the read column data. returning to the extracting process and performing again from the process of extracting the tag read value related to the bit index of the other tag from the read column data; and
As a result of the check, when there is no other tag that does not extract the tag read value from the read column data among the plurality of tags included in the selected column group, tags for each tag so that it can be used for at least one of chart writing and report writing A method for managing real-time tag data in SCADA software, characterized in that it includes the process of transferring data and communication status values.
삭제delete 제 8 항에 있어서,
상기 선택된 어느 하나의 태그의 종류에 따라 상기 읽은 열데이터로부터 데이터를 추출하여 상기 복수의 태그별로 태그데이터와 통신상태를 전달하는 단계는,
상기 선택된 태그가 아날로그 태그일 때, 상기 읽은 열데이터에서 상기 선택된 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정;
상기 추출된 태그읽기값에서 2진수 형태의 상기 아날로그 태그의 지수를 추출하는 과정;
상기 추출된 태그읽기값에서 상기 아날로그 태그의 정수를 추출하는 과정;
상기 추출된 정수를 10에 상기 추출된 지수만큼 자승한 값으로 나누어 상기 선택된 아날로그 태그의 태그데이터를 계산하는 과정;
상기 추출된 태그읽기값에서의 부호 비트를 확인하여, 상기 아날로그 태그의 태그데이터가 음수인지 양수인지 확인하는 과정;
상기 아날로그 태그의 태그데이터가 음수일 때, 상기 계산된 태그데이터를 음수로 변환하는 과정;
상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하는지 확인하는 과정;
상기 확인 결과, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재할 때, 상기 읽은 열데이터에서 상기 또 다른 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정으로 복귀하여, 상기 읽은 열데이터에서 상기 또 다른 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정부터 다시 수행하는 과정;
상기 확인 결과, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하지 않을 때, 상기 읽은 열데이터에서 통신 상태의 값을 추출하는 과정; 및
차트 작성 및 보고서 작성 중 적어도 하나에 사용될 수 있도록 태그별로 태그데이터와 통신상태의 값을 전달하는 과정을 포함하는 것을 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 방법.
9. The method of claim 8,
The step of extracting data from the read column data according to the type of any one of the selected tags and transmitting the tag data and the communication state for each of the plurality of tags comprises:
when the selected tag is an analog tag, extracting a tag read value related to the bit index of the selected tag from the read column data;
extracting an exponent of the analog tag in binary form from the extracted tag read value;
extracting an integer of the analog tag from the extracted tag read value;
calculating the tag data of the selected analog tag by dividing the extracted integer by a value obtained by multiplying 10 by the extracted exponent;
confirming whether the tag data of the analog tag is a negative number or a positive number by checking a sign bit in the extracted tag read value;
converting the calculated tag data into a negative number when the tag data of the analog tag is negative;
checking whether another tag from which a tag read value is not extracted from the read column data among a plurality of tags included in the selected column group exists;
As a result of the check, when there is another tag for which a tag read value is not extracted from the read column data among a plurality of tags included in the selected column group, a tag read related to the bit index of the other tag is read from the read column data returning to the process of extracting a value and performing again from the process of extracting the tag read value related to the bit index of the another tag from the read column data;
extracting a communication state value from the read column data when, as a result of the check, there is no tag from which the read tag value is extracted from the read column data among the plurality of tags included in the selected column group; and
A method of managing real-time tag data in SCADA software that includes the process of transmitting tag data and communication status values for each tag so that it can be used for at least one of charting and report writing.
KR1020210045415A 2021-04-07 2021-04-07 Apparatus for managing realtime tag data in SCADA software and method thereof Active KR102278321B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210045415A KR102278321B1 (en) 2021-04-07 2021-04-07 Apparatus for managing realtime tag data in SCADA software and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210045415A KR102278321B1 (en) 2021-04-07 2021-04-07 Apparatus for managing realtime tag data in SCADA software and method thereof

Publications (1)

Publication Number Publication Date
KR102278321B1 true KR102278321B1 (en) 2021-07-16

Family

ID=77150778

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210045415A Active KR102278321B1 (en) 2021-04-07 2021-04-07 Apparatus for managing realtime tag data in SCADA software and method thereof

Country Status (1)

Country Link
KR (1) KR102278321B1 (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07262059A (en) * 1994-03-25 1995-10-13 Sony Corp File management method
KR20010022465A (en) * 1998-06-02 2001-03-15 요트.게.아. 롤페즈 Opcode-driven buffer manager for use in data storage devices
US20070220311A1 (en) * 2006-02-17 2007-09-20 Michael Lewin Cross tagging of data for consistent recovery
JP2008112221A (en) * 2006-10-27 2008-05-15 Fujitsu Ltd Traffic survey program and traffic survey method
JP2009058381A (en) * 2007-08-31 2009-03-19 Ricoh Co Ltd Tag group setting method and moving body position monitoring system
KR20140018813A (en) * 2012-08-02 2014-02-13 삼성전자주식회사 Method for managing dynamic memory reallocation and device performing the same
JP2015207170A (en) * 2014-04-21 2015-11-19 株式会社東芝 Monitoring control system, monitoring control device, and controller device
KR101872648B1 (en) 2017-08-08 2018-06-28 주식회사 자이솜 Method for fast communication between scada system and device and system thereof
US20190306279A1 (en) * 2018-03-29 2019-10-03 Siemens Aktiengesellschaft Method and apparatus for protocol translation and exchange of selectable, contextualized data in a client server environment

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07262059A (en) * 1994-03-25 1995-10-13 Sony Corp File management method
KR20010022465A (en) * 1998-06-02 2001-03-15 요트.게.아. 롤페즈 Opcode-driven buffer manager for use in data storage devices
US20070220311A1 (en) * 2006-02-17 2007-09-20 Michael Lewin Cross tagging of data for consistent recovery
JP2008112221A (en) * 2006-10-27 2008-05-15 Fujitsu Ltd Traffic survey program and traffic survey method
JP2009058381A (en) * 2007-08-31 2009-03-19 Ricoh Co Ltd Tag group setting method and moving body position monitoring system
KR20140018813A (en) * 2012-08-02 2014-02-13 삼성전자주식회사 Method for managing dynamic memory reallocation and device performing the same
JP2015207170A (en) * 2014-04-21 2015-11-19 株式会社東芝 Monitoring control system, monitoring control device, and controller device
KR101872648B1 (en) 2017-08-08 2018-06-28 주식회사 자이솜 Method for fast communication between scada system and device and system thereof
US20190306279A1 (en) * 2018-03-29 2019-10-03 Siemens Aktiengesellschaft Method and apparatus for protocol translation and exchange of selectable, contextualized data in a client server environment

Similar Documents

Publication Publication Date Title
CN100461155C (en) A character input display method and system
US10969971B2 (en) Data storage method and apparatus
CN104104778A (en) Mobile terminal short message processing method and device
CN105450232A (en) Encoding method, decoding method, encoding device and decoding device
CN101202976A (en) Apparatus and method of mobile communication terminal character conversion
CN109522020A (en) Android system installation kit method for reducing body weight, device, terminal and storage medium
EP3896614A2 (en) Method and apparatus for labeling data
US20200042818A1 (en) Augmented reality marker de-duplication and instantiation using marker creation information
CN106055274A (en) Data storage method, data reading method and electronic device
CN104751215A (en) Data transmitting method, information spreading system, data transmitting terminal and data receiving terminal
KR102278321B1 (en) Apparatus for managing realtime tag data in SCADA software and method thereof
CN112968828A (en) Chat message display method, device, equipment and storage medium
CN104375814A (en) Generation method and device of an interface document
US10862833B2 (en) Message processing method and electronic device supporting the same
CN112016059B (en) Method, apparatus, device and storage medium for processing data
US11716298B2 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
CN102740248A (en) Synchronizing method and terminal device
CN214377432U (en) Wearable LED display screen
WO2022042053A1 (en) Data processing method and system, and electronic device
CN112148279B (en) Log information processing method, device, electronic equipment and storage medium
CN115629939A (en) Data acquisition method and device for edge device, electronic device and medium
CN104765856B (en) Method and device for retaining user selection state
CN109558508B (en) Data mining method and device, computer equipment and storage medium
CN102497555B (en) High definition encoder Chinese support method and system
US8839102B2 (en) Method to automatically display filenames encoded in multiple code sets

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20210407

PA0201 Request for examination
PA0302 Request for accelerated examination

Patent event date: 20210414

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

Patent event date: 20210407

Patent event code: PA03021R01I

Comment text: Patent Application

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

Comment text: Notification of reason for refusal

Patent event date: 20210518

Patent event code: PE09021S01D

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

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20210706

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20210712

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20210713

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20240514

Start annual number: 4

End annual number: 4