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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering 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
Description
본 발명은 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
본 발명의 목적은 복수의 태그로 구성되는 차트 그룹 내에 설정된 태그들을 확인하여 데이터베이스에서 사용할 열의 이름과 열 내에서 차지하는 비트인덱스를 확인하고, 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 열그룹을 생성하고, 열저장버퍼를 초기화한 후, 열그룹 내에 포함된 태그별로 태그 종류에 따라 태그의 통신 상태를 포함하는 열저장버퍼를 계산하고, 계산된 열저장버퍼를 데이터베이스에 저장하는 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
도 1에 도시한 바와 같이, SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)는 통신부(110), 저장부(120), 표시부(130), 음성 출력부(140) 및 제어부(150)로 구성된다. 도 1에 도시된 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 1에 도시된 구성 요소보다 많은 구성 요소에 의해 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)가 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)가 구현될 수도 있다.As shown in FIG. 1 , the
상기 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
상기 통신부(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
또한, 상기 통신부(110)는 유니버설 시리얼 버스(Universal Serial Bus: USB)를 통해 임의의 단말과 정보를 상호 전송할 수 있다.Also, the
또한, 상기 통신부(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
또한, 상기 통신부(110)는 상기 제어부(150)의 제어에 의해, 데이터베이스(또는 데이터베이스 서버)(미도시)에 접속한다.In addition, the
상기 저장부(120)는 다양한 사용자 인터페이스(User Interface: UI), 그래픽 사용자 인터페이스(Graphic User Interface: GUI) 등을 저장한다.The
또한, 상기 저장부(120)는 상기 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)가 동작하는데 필요한 데이터와 프로그램 등을 저장한다.In addition, the
즉, 상기 저장부(120)는 상기 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. 또한, 이러한 응용 프로그램 중 적어도 일부는 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)의 기본적인 기능을 위하여 출고 당시부터 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100) 상에 존재할 수 있다. 한편, 응용 프로그램은 상기 저장부(120)에 저장되고, SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)에 설치되어, 제어부(150)에 의하여 상기 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)의 동작(또는 기능)을 수행하도록 구동될 수 있다.That is, the
또한, 상기 저장부(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
또한, 상기 저장부(120)는 상기 제어부(150)의 제어에 의해 상기 통신부(110)를 통해 접속한 데이터베이스로부터 읽은 정보(또는 데이터) 등을 저장한다.In addition, the
또한, 상기 저장부(120)는 상기 제어부(150)의 제어에 의해 미리 설정된 크기의 하나 이상의 열저장버퍼를 포함한다.In addition, the
또한, 상기 저장부(120)는 상기 제어부(150)의 제어에 의해 데이터베이스에서 읽은 열데이터를 저장(또는 임시 저장)한다.In addition, the
상기 표시부(또는 디스플레이부)(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
또한, 상기 표시부(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
또한, 상기 표시부(130)는 상기 제어부(150)의 제어에 의해 상기 통신부(110)를 통해 접속한 데이터베이스로부터 읽은 정보(또는 데이터) 등을 표시한다.In addition, the
상기 음성 출력부(140)는 상기 제어부(150)에 의해 소정 신호 처리된 신호에 포함된 음성 정보를 출력한다. 여기서, 상기 음성 출력부(140)에는 리시버(receiver), 스피커(speaker), 버저(buzzer) 등이 포함될 수 있다.The
또한, 상기 음성 출력부(140)는 상기 제어부(150)에 의해 생성된 안내 음성을 출력한다.In addition, the
또한, 상기 음성 출력부(140)는 상기 제어부(150)의 제어에 의해 상기 통신부(110)를 통해 접속한 데이터베이스로부터 읽은 정보(또는 데이터) 등에 대응하는 음성 정보(또는 음향 효과)를 출력한다.In addition, the
상기 제어부(controller, 또는 MCU(microcontroller unit)(150)는 상기 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)의 전반적인 제어 기능을 실행한다.The controller (or microcontroller unit) 150 executes an overall control function of the
또한, 상기 제어부(150)는 상기 저장부(120)에 저장된 프로그램 및 데이터를 이용하여 SCADA 소프트웨어에서 실시간 태그 데이터를 관리하는 장치(100)의 전반적인 제어 기능을 실행한다. 상기 제어부(150)는 RAM, ROM, CPU, GPU, 버스를 포함할 수 있으며, RAM, ROM, CPU, GPU 등은 버스를 통해 서로 연결될 수 있다. CPU는 상기 저장부(120)에 액세스하여, 상기 저장부(120)에 저장된 O/S를 이용하여 부팅을 수행할 수 있으며, 상기 저장부(120)에 저장된 각종 프로그램, 콘텐츠, 데이터 등을 이용하여 다양한 동작을 수행할 수 있다.In addition, the
여기서, 본 발명의 실시예에 따른 상기 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
따라서, 데이터베이스 하나의 열에 여러 태그의 데이터를 압축하여 저장하면, 데이터베이스에 대한 접근 횟수가 줄어 읽기 및 쓰기에 대한 속도가 증대되며, 데이터의 용량을 줄여 디스크의 공간을 절약할 수 있다.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
또한, 상기 제어부(150)는 차트 그룹 내에 설정된 다수의 태그(또는 태그들)를 확인한다. 여기서, 상기 차트 그룹은 특정 디바이스(미도시)와 관련한 정보를 관리하기 위해서, 하나 이상의 디지털 태그, 하나 이상의 아날로그 태그 등으로 구성한다.Also, the
또한, 상기 제어부(150)는 상기 확인된 다수의 태그의 열 이름을 근거로 데이터베이스(미도시)에서 사용할 열의 이름과 열 내에서 차지하는 비트인덱스를 확인한다. 이때, 상기 제어부(150)는 상기 데이터베이스 내에 상기 확인된 다수의 태그의 열 이름과 비트인덱스가 없으면, 해당 데이터베이스에서 열 및 비트인덱스를 새로 할당한다. 여기서, 상기 비트인덱스는 미리 설정된 기준 단위 비트(예를 들어 64개 비트)로 구성되는 하나의 열에서 다수의 태그 각각이 위치한 비트에 대응하는 인덱스(또는 하나의 열에서 다수의 태그 각각이 위치한 순서)를 나타낸다.Also, the
이때, 상기 데이터베이스의 각 열은 미리 설정된 크기(예를 들어 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
또한, 상기 제어부(150)는 상기 생성된 하나 이상의 열그룹 중 첫 번째 열그룹(또는 어느 하나의 열그룹)을 선택한다.Also, the
또한, 상기 제어부(150)는 미리 설정된 열저장버퍼를 초기화한다. 여기서, 상기 열저장버퍼는 미리 설정된 기준 단위 비트(예를 들어 64 비트)로 구성한다.Also, the
즉, 상기 제어부(150)는 상기 열저장버퍼에 포함된 전체 비트값(또는 전체 데이터/값)을 미리 설정된 값(예를 들어 low에 해당하는 '0')으로 초기화하며, 상기 기준 단위 비트가 64 비트인 경우 16진수 표기 형태(또는 0x)로, 다음의 [수학식 1]에 따라 상기 열저장버퍼를 초기화한다.That is, the
또한, 상기 제어부(150)는 상기 선택된 열그룹(또는 상기 선택된 첫 번째 열그룹) 내에 포함된 복수의 태그 중에서 어느 하나의 태그(또는 첫 번째 태그/비트인덱스가 빠른 하나의 태그)를 선택한다.Also, the
또한, 상기 제어부(150)는 상기 선택된 어느 하나의 태그의 종류를 확인(또는 판단)한다.In addition, the
즉, 상기 제어부(150)는 상기 선택된 태그가 디지털 태그인지 또는 아날로그 태그인지 확인(또는 판단)한다. 이때, 상기 제어부(150)는 상기 선택된 태그에 대한 디지털 태그 또는 아날로그 태그 확인 시, 해당 태그에 설정된 비트수(또는 해당 태그명)를 확인하여, 해당 태그가 디지털 태그인지 또는 아날로그 태그인지 확인할 수 있다. 여기서, 64 비트를 기준으로 상기 디지털 태그는 2 비트가 설정되고, 상기 아날로그 태그는 21 비트가 설정된 상태일 수 있다. 또한, 상기 태그명은 디지털 태그와 아날로그 태그를 구별하기 위해서, DTAG#*** 형태 또는 ATAG#*** 형태일 수 있다.That is, the
상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 디지털 태그인 경우, 상기 제어부(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
즉, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 디지털 태그인 경우, 상기 제어부(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
또한, 상기 제어부(150)는 해당 태그(또는 상기 디지털 태그)의 현재 태그데이터가 참(또는 트루)인지 여부를 판단(또는 확인)한다.Also, the
즉, 상기 제어부(150)는 상기 선택된 디지털 태그의 태그데이터의 값이 참(true)인지 거짓(false)인지 판단한다.That is, the
상기 판단 결과(또는 상기 확인 결과), 상기 선택된 디지털 태그의 태그데이터의 값이 참인 경우, 상기 제어부(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
즉, 상기 판단 결과(또는 상기 확인 결과), 상기 선택된 디지털 태그의 태그데이터의 값이 참인 경우, 상기 제어부(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
또한, 상기 판단 결과(또는 상기 확인 결과), 상기 선택된 디지털 태그의 태그데이터의 값이 참이 아닌 경우(또는 상기 선택된 디지털 태그의 태그데이터의 값이 거짓인 경우) 또는, 상기 태그저장버퍼의 첫 번째 비트를 하이로 설정한 경우, 상기 제어부(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
즉, 상기 판단 결과(또는 상기 확인 결과), 상기 선택된 디지털 태그의 태그데이터의 값이 참이 아닌 경우(또는 상기 선택된 디지털 태그의 태그데이터의 값이 거짓인 경우) 또는, 상기 태그저장버퍼의 첫 번째 비트를 하이로 설정한 경우, 상기 제어부(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
상기 확인 결과, 상기 선택된 디지털 태그의 통신 상태가 이상 상태인 경우, 상기 제어부(150)는 상기 태그저장버퍼의 두 번째 비트(또는 1번 비트)를 미리 설정된 값인 하이('1')로 설정한다.As a result of the check, when the communication state of the selected digital tag is abnormal, the
즉, 상기 선택된 디지털 태그의 통신 상태를 나타내는 비트의 값이 미리 설정된 거짓(또는 폴스/이상)인 경우, 상기 제어부(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
여기서, '|' 연산자는 OR 연산자로, 상기 제어부(150)는 이전 태그저장버퍼의 값과 상기 0b10을 OR 연산하여 상기 태그저장버퍼의 값을 업데이트한다.Here, '|' The operator is an OR operator, and the
또한, 상기 확인 결과, 상기 선택된 디지털 태그의 통신 상태가 이상 상태가 아닌 경우(또는 상기 선택된 디지털 태그의 통신 상태가 정상 상태인 경우) 또는, 상기 태그저장버퍼의 두 번째 비트를 하이로 설정한 경우, 상기 제어부(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
즉, 상기 확인 결과, 상기 선택된 디지털 태그의 통신 상태가 이상 상태가 아닌 경우(또는 상기 선택된 디지털 태그의 통신 상태가 정상 상태인 경우) 또는, 상기 태그저장버퍼의 두 번째 비트를 하이로 설정한 경우, 상기 제어부(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
또한, 상기 제어부(150)는 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값(예를 들어 태그데이터, 통신 상태 등 포함)을 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하는지 확인(또는 판단)한다. 여기서, 상기 다른 태그는 해당 다른 태그의 태그데이터와 통신 상태를 나타내는 비트의 값을 상기 태그저장버퍼에 임시 저장한 후, 해당 다른 태그와 관련한 비트인덱스에 따라 상기 열저장버퍼 내의 특정 위치로 상기 태그저장버퍼에 임시 저장된 비트값을 저장하는 과정을 아직 수행하지 않은 태그일 수 있다.In addition, the
상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터(또는 값)를 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하는 경우, 상기 제어부(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
또한, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터(또는 값)를 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하지 않은 경우, 상기 제어부(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
즉, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그에 대해서 해당 복수의 태그에 저장된 태그데이터와 통신 상태에 대한 값을 상기 열저장버퍼에 모두 저장한 경우, 상기 제어부(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
또한, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 아날로그 태그인 경우, 상기 제어부(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
즉, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 아날로그 태그인 경우, 상기 제어부(150)는 상기 선택된 아날로그 태그의 태그데이터의 부호를 확인한다.That is, when the check result (or the determination result) indicates that the selected tag is an analog tag, the
또한, 상기 확인된 태그데이터의 부호가 양수인 경우, 상기 제어부(150)는 상기 기준 단위 비트가 64 비트인 태그저장버퍼에 대해서 다음의 [수학식 6]에 따라 상기 태그저장버퍼를 초기화한다.Also, when the sign of the checked tag data is positive, the
즉, 상기 확인된 태그데이터의 부호가 양수인 경우, 상기 제어부(150)는 2진수 표기 형태로 21 비트의 상기 태그저장버퍼를 초기화(또는 모든 비트의 값을 '0'으로 설정)한다.That is, when the sign of the checked tag data is positive, the
또한, 상기 확인된 태그데이터의 부호가 음수인 경우, 상기 제어부(150)는 상기 기준 단위 비트가 64 비트인 태그저장버퍼에 대해서 다음의 [수학식 7]에 따라 상기 태그저장버퍼를 초기화한다.Also, when the sign of the checked tag data is negative, the
즉, 상기 확인된 태그데이터의 부호가 음수인 경우, 상기 제어부(150)는 2진수 표기 형태로 21 비트 중 0번째 비트 ~ 19번째 비트의 값을 '0'으로 설정하고, 20번째 비트의 값을 '1'로 설정(또는 음수로 설정)한다.That is, when the sign of the checked tag data is negative, the
또한, 상기 제어부(150)는 해당 태그(또는 상기 아날로그 태그)의 현재 태그데이터의 절댓값(또는 절댓값데이터)을 계산(또는 산출)한다.Also, the
즉, 상기 제어부(150)는 미리 설정된 절댓값 함수를 이용해서 상기 선택된 아날로그 태그의 태그데이터에 대한 절댓값을 계산한다.That is, the
또한, 상기 제어부(150)는 상기 계산된(또는 산출된) 절댓값(또는 상기 태그데이터의 절댓값)을 근거로 해당 태그의 태그데이터의 정수 부분의 자릿수(또는 정수자릿수)를 계산한다.Also, the
즉, 상기 계산된 절댓값이 1 이상인 경우, 상기 제어부(150)는 다음의 [수학식 8]에 따라 상기 계산된 절댓값에 Log10을 적용한 후 소수점 이하는 버림하고(또는 내림하고), 버림된 값에 1을 더해서 해당 아날로그 태그의 태그데이터의 정수부분의 자릿수를 계산한다.That is, when the calculated absolute value is 1 or more, the
또한, 상기 계산된 절댓값이 1 미만인 경우, 상기 제어부(150)는 다음의 [수학식 9]에 따라 상기 계산된 절댓값에 Log10을 적용한 후 소수점 이하는 버림하여 해당 아날로그 태그의 태그데이터의 정수부분의 자릿수를 계산한다.In addition, when the calculated absolute value is less than 1, the
또한, 상기 제어부(150)는 미리 설정된 기준 자릿수(예를 들어 5)에서 상기 계산된 태그데이터의 정수부분의 자릿수(또는 정수자릿수)를 빼서, 지수를 계산(또는 산출)한다.Also, the
즉, 상기 제어부(150)는 다음의 [수학식 10]에 따라 상기 계산된 아날로그 태그의 태그데이터의 정수부분의 자릿수를 이용해서 해당 아날로그 태그의 태그데이터와 관련한 지수를 계산한다.That is, the
또한, 상기 제어부(150)는 상기 계산된 지수(또는 아날로그 태그의 태그데이터와 관련한 지수)를 상기 태그저장버퍼에서의 미리 설정된 3 비트의 지수 영역에 대응하도록 2진수 표기 형태로 변환한다.In addition, the
또한, 상기 제어부(150)는 상기 계산된(또는 산출된) 절댓값에 10을 지수만큼 자승한 값을 곱하여 정수를 계산(또는 산출)한다.Also, the
즉, 상기 제어부(150)는 다음의 [수학식 11]에 따라 상기 계산된 절댓값과 상기 계산된 지수를 이용해서 해당 아날로그 태그의 태그데이터와 관련한 정수(또는 자연수)를 계산한다.That is, the
또한, 상기 제어부(150)는 상기 계산된 정수(또는 아날로그 태그의 태그데이터와 관련한 정수)를 상기 태그저장버퍼에서의 미리 설정된 17 비트의 정수 영역에 대응하도록 2진수 표기 형태로 변환한다.In addition, the
또한, 상기 제어부(150)는 상기 2진수로 변환된 지수와 상기 2진수로 변환된 정수와 상기 확인된 아날로그 태그의 태그데이터의 부호를 상기 태그저장버퍼에 저장한다.In addition, the
즉, 상기 제어부(150)는 다음의 [수학식 12]에 따라 상기 초기화된 태그저장버퍼의 첫 번째 비트 내지 세 번째 비트에 상기 변환된 지수를 저장하고, 상기 초기화된 태그저장버퍼의 네 번째 비트 내지 스무 번째 비트에 상기 변환된 정수를 각각 저장한다.That is, the
또한, 상기 제어부(150)는 상기 열저장버퍼 내의 상기 선택된 아날로그 태그의 비트인덱스에 대응하는 비트(또는 위치)에 상기 태그저장버퍼의 값(또는 상기 태그저장버퍼에 임시 저장된 값/데이터)을 저장한다.Also, the
즉, 상기 제어부(150)는 다음의 [수학식 13]에 따라 상기 선택된 아날로그 태그와 관련해서 정수를 포함하는 태그데이터와 통신 상태에 대한 정보(또는 값/데이터)를 포함하는 상기 태그저장버퍼의 값을 상기 열저장버퍼 내에서의 상기 선택된 아날로그 태그의 비트인덱스에 해당하는 비트에 저장(또는 적용)한다.That is, the
또한, 상기 제어부(150)는 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값(예를 들어 태그데이터 등 포함)을 상기 열저장버퍼에 저장하지 않은 또 다른 태그가 존재하는지 확인(또는 판단)한다. 여기서, 상기 또 다른 태그는 해당 또 다른 태그의 절댓값을 계산하고, 태그데이터의 정수 자릿수를 계산하고, 지수를 계산하고, 해당 태그데이터를 정수로 계산하고, 정수와 지수를 2진수로 변환하여 상기 태그저장버퍼에 임시 저장한 후, 해당 또 다른 태그와 관련한 비트인덱스에 따라 상기 열저장버퍼 내의 다른 특정 위치로 상기 태그저장버퍼에 임시 저장된 비트값을 저장하는 과정을 아직 수행하지 않은 태그일 수 있다.In addition, the
상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터(또는 값)를 상기 열저장버퍼에 저장하지 않은 또 다른 태그가 존재하는 경우, 상기 제어부(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
또한, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터(또는 값)를 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하지 않은 경우, 상기 제어부(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
즉, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터(또는 값)를 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하지 않은 경우, 상기 제어부(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
상기 확인 결과, 앞서 선택된 아날로그 태그의 통신 상태가 이상 상태인 경우, 상기 제어부(150)는 상기 열저장버퍼의 63번째 비트를 미리 설정된 값인 하이('1')로 설정한다.As a result of the check, if the communication state of the previously selected analog tag is abnormal, the
즉, 상기 앞서 선택된 아날로그 태그의 통신 상태를 나타내는 비트의 값이 미리 설정된 거짓(또는 폴스/이상)인 경우, 상기 제어부(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
또한, 상기 확인 결과, 상기 선택된 아날로그 태그의 통신 상태가 이상 상태가 아닌 경우(또는 상기 선택된 아날로그 태그의 통신 상태가 정상 상태인 경우) 또는, 해당 열저장버퍼의 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
즉, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그에 대해서 해당 복수의 태그에 저장된 태그데이터와 통신 상태에 대한 값을 상기 열저장버퍼에 모두 저장한 경우, 상기 제어부(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
또한, 상기 제어부(150)는 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 태그 내의 값을 상기 열저장버퍼를 이용해서 상기 데이터베이스에 저장하지 않은 다른 열그룹이 존재하는지 확인(또는 판단)한다. 여기서, 상기 다른 열그룹은 해당 다른 열그룹에 포함된 복수의 태그의 태그데이터와 통신 상태를 나타내는 비트의 값을 디지털 태그 또는 아날로그 태그 여부에 따라 상기 태그저장버퍼에 임시 저장한 후, 해당 다른 열그룹에 포함된 복수의 태그와 관련한 비트인덱스에 따라 상기 열저장버퍼 내의 특정 위치로 상기 태그저장버퍼에 임시 저장된 비트값을 저장하는 과정을 아직 수행하지 않은 열그룹일 수 있다.In addition, the
상기 확인 결과, 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 태그 내의 값을 상기 열저장버퍼를 이용해서 상기 데이터베이스에 저장하지 않은 다른 열그룹이 존재하는 경우, 상기 제어부(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
또한, 상기 확인 결과, 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 태그 내의 값을 상기 열저장버퍼를 이용해서 상기 데이터베이스에 저장하지 않은 다른 열그룹이 존재하지 않은 경우, 상기 제어부(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
즉, 상기 확인 결과, 앞서 생성된 하나 이상의 열그룹과 관련해서 해당 하나 이상의 열그룹에 포함된 복수의 태그 내의 정보(예를 들어 태그데이터, 통신 상태 등 포함)를 상기 데이터베이스에 모두 저장한 경우, 상기 제어부(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
또한, 상기 지정 간격이 지나면, 상기 제어부(150)는 앞선 하나 이상의 열그룹 중에서 첫 번째 열그룹(또는 어느 하나의 열그룹)을 선택하는 과정부터 다시 수행한다.Also, when the specified interval elapses, the
또한, 상기 제어부(150)는 차트 그룹 내에 설정된 다수의 태그(또는 태그들)를 확인한다. 여기서, 상기 차트 그룹은 특정 디바이스(미도시)와 관련한 정보를 관리하기 위해서, 하나 이상의 디지털 태그, 하나 이상의 아날로그 태그 등으로 구성한다.Also, the
또한, 상기 제어부(150)는 상기 확인된 다수의 태그의 열 이름을 근거로 데이터베이스(미도시)에서 사용되는 열의 이름과 열 내에서 차지하는 비트인덱스를 확인한다. 여기서, 상기 비트인덱스는 미리 설정된 기준 단위 비트(예를 들어 64 비트)로 구성되는 하나의 열에서 다수의 태그 각각이 위치한 비트에 대응하는 인덱스(또는 하나의 열에서 다수의 태그 각각이 위치한 순서)를 나타낸다.Also, the
또한, 상기 제어부(150)는 상기 확인된 다수의 태그 중에서 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 하나 이상의 열그룹을 생성(또는 구성)한다.Also, the
또한, 상기 제어부(150)는 상기 생성된 하나 이상의 열그룹 중 첫 번째 열그룹(또는 어느 하나의 열그룹)을 선택한다.Also, the
또한, 상기 제어부(150)는 상기 데이터베이스에서 해당 열그룹과 관련한 열데이터를 읽는다. 이때, 상기 제어부(150)는 상기 데이터베이스에서 해당 열데이터와 관련한 날짜 및 시각 정보(또는 해당 열데이터가 저장된 시점의 날짜 및 시각 정보)를 상기 열데이터와 함께 읽을 수도 있다. 여기서, 상기 열데이터는 상기 데이터베이스에서 특정 열에 대응하는 데이터(또는 값)일 수 있다.Also, the
즉, 상기 제어부(150)는 기준 단위 비트가 64 비트인 경우 해당 데이터베이스에서 상기 열그룹과 관련해서 64 비트의 열데이터를 읽는다.That is, when the reference unit bit is 64 bits, the
또한, 상기 제어부(150)는 상기 읽은 열데이터를 초기화된 열저장버퍼에 저장(또는 임시 저장)한다.Also, the
또한, 상기 제어부(150)는 상기 선택된 열그룹(또는 상기 선택된 첫 번째 열그룹) 내에 포함된 복수의 태그 중에서 어느 하나의 태그(또는 첫 번째 태그/비트인덱스가 빠른 하나의 태그)를 선택한다.Also, the
또한, 상기 제어부(150)는 상기 선택된 어느 하나의 태그의 종류를 확인(또는 판단)한다.In addition, the
즉, 상기 제어부(150)는 상기 선택된 태그가 디지털 태그인지 또는 아날로그 태그인지 확인(또는 판단)한다. 이때, 상기 제어부(150)는 상기 선택된 태그에 대한 디지털 태그 또는 아날로그 태그 확인 시, 해당 태그에 설정된 비트수(또는 해당 태그명)를 확인하여, 해당 태그가 디지털 태그인지 또는 아날로그 태그인지 확인할 수 있다. 여기서, 64 비트를 기준으로 상기 디지털 태그는 2 비트가 설정되고, 상기 아날로그 태그는 21 비트가 설정된 상태일 수 있다. 또한, 상기 태그명은 디지털 태그와 아날로그 태그를 구별하기 위해서, DTAG#*** 형태 또는 ATAG#*** 형태일 수 있다.That is, the
상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 디지털 태그인 경우, 상기 제어부(150)는 상기 읽은 열데이터(또는 상기 열저장버퍼에 저장 중인 열데이터)에서 상기 선택된 태그의 비트인덱스와 관련한 태그읽기값을 추출한다.As a result of the check (or the determination result), when the selected tag is a digital tag, the
즉, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 디지털 태그인 경우, 상기 제어부(150)는 다음의 [수학식 14]에 따라 상기 읽은 열데이터 중에서 상기 선택된 디지털 태그의 비트인덱스에 대응하는 2진수 형태의 2 비트의 값(또는 태그읽기값)을 추출한다.That is, when the check result (or the determination result) indicates that the selected tag is a digital tag, the
또한, 상기 제어부(150)는 상기 추출된 태그읽기값에서 해당 디지털 태그의 태그데이터를 추출한다.Also, the
즉, 상기 제어부(150)는 다음의 [수학식 15]에 따라 상기 추출된 태그읽기값 중에서 첫번째 비트의 값을 해당 디지털 태그의 태그데이터로 추출한다.That is, the
또한, 상기 제어부(150)는 상기 추출된 태그읽기값에서 통신 상태의 값을 추출한다.In addition, the
즉, 상기 제어부(150)는 다음의 [수학식 16]에 따라 상기 추출된 태그읽기값 중에서 두번째 비트의 값을 해당 디지털 태그의 통신 상태의 값으로 추출한다.That is, the
또한, 상기 제어부(150)는 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재하는지 확인(또는 판단)한다. 여기서, 상기 다른 태그는 해당 다른 태그의 태그데이터와 통신 상태를 나타내는 비트의 값을 상기 읽은 열데이터로부터 아직 추출하지 않은 태그일 수 있다.Also, the
상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재하는 경우, 상기 제어부(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
또한, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재하지 않은 경우, 상기 제어부(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
또한, 상기 제어부(150)는 해당 태그에 대한 정보 요청에 따라 상기 태그별 태그데이터와 통신상태의 값을 근거로 히스토리안 차트를 작성하거나, 보고서를 작성(또는 생성)한다.In addition, the
또한, 상기 제어부(150)는 상기 작성된 히스토리안 차트, 상기 작성된 보고서 등을 상기 표시부(130)에 표시한다.In addition, the
또한, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 아날로그 태그인 경우, 상기 제어부(150)는 상기 읽은 열데이터(또는 상기 열저장버퍼에 저장 중인 열데이터)에서 상기 선택된 태그의 비트인덱스와 관련한 태그읽기값을 추출한다.In addition, when the check result (or the determination result) indicates that the selected tag is an analog tag, the
즉, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 아날로그 태그인 경우, 상기 제어부(150)는 다음의 [수학식 17]에 따라 상기 읽은 열데이터 중에서 상기 선택된 아날로그 태그의 비트인덱스에 대응하는 2진수 형태의 21개 비트의 값(또는 태그읽기값)을 추출한다.That is, when the check result (or the determination result) indicates that the selected tag is an analog tag, the
또한, 상기 제어부(150)는 상기 추출된 태그읽기값에서 2진수 형태의 해당 아날로그 태그의 지수를 추출한다.In addition, the
즉, 상기 제어부(150)는 다음의 [수학식 18]에 따라 상기 추출된 태그읽기값 중에서 0번째 비트의 값 ~ 2번째 비트의 값을 해당 아날로그 태그의 지수로 추출한다.That is, the
또한, 상기 제어부(150)는 상기 추출된 2진수 형태의 지수를 10진수 형태의 지수로 변환한다.In addition, the
또한, 상기 제어부(150)는 상기 추출된 태그읽기값에서 해당 아날로그 태그의 정수를 추출한다.Also, the
즉, 상기 제어부(150)는 다음의 [수학식 19]에 따라 상기 추출된 태그읽기값 중에서 3번째 비트의 값 ~ 19번째 비트의 값을 해당 아날로그 태그의 정수로 추출한다.That is, the
또한, 상기 제어부(150)는 상기 추출된 2진수 형태의 정수를 10진수 형태의 정수로 변환한다.In addition, the
또한, 상기 제어부(150)는 상기 변환된 정수를 10에 상기 변환된 지수만큼 자승한 값으로 나누어 상기 선택된 아날로그 태그의 태그데이터를 계산한다.Also, the
즉, 상기 제어부(150)는 다음의 [수학식 20]에 따라 10진수 형태로 상기 변환된 정수 및 상기 10진수 형태로 변환된 지수를 이용해서 상기 선택된 아날로그 태그의 태그데이터를 계산한다.That is, the
또한, 상기 제어부(150)는 상기 추출된 태그읽기값에서의 부호 비트를 확인하여, 해당 아날로그 태그의 태그데이터가 음수인지 양수인지 확인한다.In addition, the
또한, 해당 부호 비트가 하이인 경우, 상기 제어부(150)는 상기 계산된 태그데이터를 음수로 변환한다.Also, when the corresponding sign bit is high, the
즉, 상기 제어부(150)는 다음의 [수학식 21]에 따라 상기 추출된 태그읽기값의 20번째 비트의 값을 확인하여, 상기 계산된 태그데이터가 음수인지 양수인지 확인하고, 확인 결과에 따라 태그데이터가 음수이면 해당 태그데이터의 값을 음수로 변환한다.That is, the
또한, 상기 제어부(150)는 상기 확인 결과에 따라 태그데이터가 양수이면 앞서 계산된 태그데이터를 그대로 유지한다.In addition, if the tag data is positive according to the check result, the
또한, 상기 제어부(150)는 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하는지 확인(또는 판단)한다. 여기서, 상기 또 다른 태그는 해당 또 다른 태그의 태그데이터와 통신 상태를 나타내는 비트의 값을 상기 읽은 열데이터로부터 아직 추출하지 않은 태그일 수 있다.Also, the
상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하는 경우, 상기 제어부(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
또한, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하지 않은 경우, 상기 제어부(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
즉, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하지 않은 경우, 상기 제어부(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
또한, 상기 제어부(150)는 차트 작성 및/또는 보고서 작성에 사용될 수 있도록 태그별로 태그데이터와 통신상태의 값을 전달(또는 출력)한다.In addition, the
또한, 상기 제어부(150)는 해당 태그에 대한 정보 요청에 따라 상기 태그별 태그데이터와 통신상태의 값을 근거로 히스토리안 차트를 작성하거나, 보고서를 작성(또는 생성)한다.In addition, the
또한, 상기 제어부(150)는 상기 작성된 히스토리안 차트, 상기 작성된 보고서 등을 상기 표시부(130)에 표시한다.In addition, the
또한, 상기 제어부(150)는 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 복수의 태그와 관련해서 상기 데이터베이스로부터 해당 태그와 관련한 태그데이터, 통신 상태의 값 등을 추출하지 않은 다른 열그룹이 존재하는지 확인(또는 판단)한다. 여기서, 상기 다른 열그룹은 해당 다른 열그룹에 포함된 복수의 태그와 관련해서 상기 데이터베이스로부터 해당 태그와 관련한 태그데이터, 통신 상태의 값 등을 추출하지 않은 열그룹일 수 있다.In addition, the
상기 확인 결과, 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 복수의 태그와 관련해서 상기 데이터베이스로부터 해당 태그와 관련한 태그데이터, 통신 상태의 값 등을 추출하지 않은 다른 열그룹이 존재하는 경우, 상기 제어부(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
또한, 상기 확인 결과, 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 복수의 태그와 관련해서 상기 데이터베이스로부터 해당 태그와 관련한 태그데이터, 통신 상태의 값 등을 추출하지 않은 다른 열그룹이 존재하지 않은 경우, 상기 제어부(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
이와 같이, 본 발명의 실시예에서는 복수의 태그가 데이터베이스의 하나의 열을 공유하므로 데이터베이스의 용량을 절약할 수 있고, 하나의 열에만 접근하여 복수의 태그의 데이터를 수집할 수 있으므로 소요되는 시간을 줄일 수 있다.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
이와 같이, 복수의 태그로 구성되는 차트 그룹 내에 설정된 태그들을 확인하여 데이터베이스에서 사용할 열의 이름과 열 내에서 차지하는 비트인덱스를 확인하고, 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 열그룹을 생성하고, 열저장버퍼를 초기화한 후, 열그룹 내에 포함된 태그별로 태그 종류에 따라 태그의 통신 상태를 포함하는 열저장버퍼를 계산하고, 계산된 열저장버퍼를 데이터베이스에 저장할 수 있다.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
또한, 상기 제어부(150)는 상기 확인된 다수의 태그의 열 이름을 근거로 데이터베이스(미도시)에서 사용할 열의 이름과 열 내에서 차지하는 비트인덱스를 확인한다. 이때, 상기 제어부(150)는 상기 데이터베이스 내에 상기 확인된 다수의 태그의 열 이름과 비트인덱스가 없으면, 해당 데이터베이스에서 열 및 비트인덱스를 새로 할당한다. 여기서, 상기 비트인덱스는 미리 설정된 기준 단위 비트(예를 들어 64개 비트)로 구성되는 하나의 열에서 다수의 태그 각각이 위치한 비트에 대응하는 인덱스(또는 하나의 열에서 다수의 태그 각각이 위치한 순서)를 나타낸다.Also, the
일 예로, 상기 제어부(150)는 제 1 차트 그룹 내에 설정된 제 1 디지털 태그(또는 DTAG #1) 내지 제 10 디지털 태그(또는 DTAG #10)를 확인한다.For example, the
또한, 도 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
다른 일 예로, 상기 제어부(150)는 제 2 차트 그룹 내에 설정된 제 1 아날로그 태그(또는 ATAG #1)의 열 이름 내지 제 3 아날로그 태그(또는 ATAG #3)를 확인한다.As another example, the
또한, 도 7에 도시된 바와 같이, 상기 제어부(150)는 상기 확인된 제 1 아날로그 태그(또는 ATAG #1) 내지 제 3 아날로그 태그(또는 ATAG #3)의 열 이름을 근거로 상기 데이터베이스에서 사용할 열의 이름과 비트인덱스(예를 들어 상기 제 1 아날로그 태그에 대응하는 0, 상기 제 2 아날로그 태그에 대응하는 1, 상기 제 3 아날로그 태그에 대응하는 2 등 포함)를 확인한다(S210).In addition, as shown in FIG. 7 , the
이후, 상기 제어부(150)는 상기 확인된 다수의 태그 중에서 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 하나 이상의 열그룹을 생성(또는 구성)한다.Thereafter, the
일 예로, 상기 제어부(150)는 상기 확인된 제 1 디지털 태그 내지 제 10 디지털 태그 중에서 동일한 제 1 열을 사용하는 제 1 디지털 태그 내지 제 8 디지털 태그를 하나의 그룹으로 분류하여 제 1 열그룹을 생성하고, 동일한 제 2 열을 사용하는 제 9 디지털 태그 내지 제 10 디지털 태그를 하나의 그룹으로 분류하여 제 2 열그룹을 생성한다.For example, the
다른 일 예로, 상기 제어부(150)는 상기 확인된 제 1 아날로그 태그 내지 제 3 아날로그 태그 중에서 동일한 열을 사용하는 제 1 아날로그 태그 내지 제 3 아날로그 태그를 하나의 그룹으로 분류하여 제 11 열그룹을 생성한다(S220).As another example, the
이후, 상기 제어부(150)는 상기 생성된 하나 이상의 열그룹 중 첫 번째 열그룹(또는 어느 하나의 열그룹)을 선택한다.Thereafter, the
일 예로, 상기 제어부(150)는 상기 생성된 제 1 열그룹 및 제 2 열그룹 중에서 상기 제 1 열그룹을 선택한다.For example, the
다른 일 예로, 상기 제어부(150)는 상기 생성된 제 11 열그룹을 선택한다(S230).As another example, the
이후, 상기 제어부(150)는 미리 설정된 열저장버퍼를 초기화한다. 여기서, 상기 열저장버퍼는 미리 설정된 기준 단위 비트(예를 들어 64 비트)로 구성한다.Thereafter, the
즉, 상기 제어부(150)는 상기 열저장버퍼에 포함된 전체 비트값(또는 전체 데이터/값)을 미리 설정된 값(예를 들어 low에 해당하는 '0')으로 초기화하며, 상기 기준 단위 비트가 64 비트인 경우 16진수 표기 형태(또는 0x)로, 앞선 [수학식 1]에 따라 상기 열저장버퍼를 초기화한다.That is, the
일 예로, 상기 제어부(150)는 미리 설정된 64 비트의 제 1 열저장버퍼를 미리 설정된 값인 '0'으로 각각 초기화한다.For example, the
다른 일 예로, 상기 제어부(150)는 미리 설정된 64 비트의 제 2 열저장버퍼를 미리 설정된 값인 '0'으로 각각 초기화한다(S240).As another example, the
이후, 상기 제어부(150)는 상기 선택된 열그룹(또는 상기 선택된 첫 번째 열그룹) 내에 포함된 복수의 태그 중에서 어느 하나의 태그(또는 첫 번째 태그/비트인덱스가 빠른 하나의 태그)를 선택한다.Thereafter, the
일 예로, 상기 제어부(150)는 상기 선택된 제 1 열그룹 내에 포함된 복수의 태그 중에서 제 1 디지털 태그(또는 제 1-1 태그)를 선택한다.For example, the
다른 일 예로, 상기 제어부(150)는 상기 선택된 제 11 열그룹 내에 포함된 복수의 태그 중에서 제 1 아날로그 태그(또는 제 1-2 태그)를 선택한다(S250).As another example, the
이후, 상기 제어부(150)는 상기 선택된 어느 하나의 태그의 종류를 확인(또는 판단)한다.Thereafter, the
즉, 상기 제어부(150)는 상기 선택된 태그가 디지털 태그인지 또는 아날로그 태그인지 확인(또는 판단)한다. 이때, 상기 제어부(150)는 상기 선택된 태그에 대한 디지털 태그 또는 아날로그 태그 확인 시, 해당 태그에 설정된 비트수(또는 해당 태그명)를 확인하여, 해당 태그가 디지털 태그인지 또는 아날로그 태그인지 확인할 수 있다. 여기서, 64 비트를 기준으로 상기 디지털 태그는 2 비트가 설정되고, 상기 아날로그 태그는 21 비트가 설정된 상태일 수 있다. 또한, 상기 태그명은 디지털 태그와 아날로그 태그를 구별하기 위해서, DTAG#*** 형태 또는 ATAG#*** 형태일 수 있다.That is, the
일 예로, 또한, 상기 제어부(150)는 상기 선택된 제 1 디지털 태그가 디지털 태그인지 또는 아날로그 태그인지 확인한다.As an example, also, the
다른 일 예로, 또한, 상기 제어부(150)는 상기 선택된 제 1 아날로그 태그가 디지털 태그인지 또는 아날로그 태그인지 확인한다(S260).As another example, also, the
상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 디지털 태그인 경우, 상기 제어부(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
즉, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 디지털 태그인 경우, 상기 제어부(150)는 상기 기준 단위 비트가 64 비트인 경우 2진수 표기 형태(또는 0b)로, 앞선 [수학식 2]에 따라 2 비트의 상기 태그저장버퍼를 초기화한다.That is, when the check result (or the determination result), the selected tag is a digital tag, the
일 예로, 상기 확인 결과, 상기 선택된 제 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
이후, 상기 제어부(150)는 해당 태그(또는 상기 디지털 태그)의 현재 태그데이터가 참(또는 트루)인지 여부를 판단(또는 확인)한다.Thereafter, the
즉, 상기 제어부(150)는 상기 선택된 디지털 태그의 태그데이터의 값이 참(true)인지 거짓(false)인지 판단한다.That is, the
일 예로, 상기 제어부(150)는 상기 선택된 제 1 디지털 태그의 태그데이터가 참인지 여부를 판단한다(S280).For example, the
상기 판단 결과(또는 상기 확인 결과), 상기 선택된 디지털 태그의 태그데이터의 값이 참인 경우, 상기 제어부(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
즉, 상기 판단 결과(또는 상기 확인 결과), 상기 선택된 디지털 태그의 태그데이터의 값이 참인 경우, 상기 제어부(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
일 예로, 상기 도 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
또한, 상기 판단 결과(또는 상기 확인 결과), 상기 선택된 디지털 태그의 태그데이터의 값이 참이 아닌 경우(또는 상기 선택된 디지털 태그의 태그데이터의 값이 거짓인 경우) 또는, 상기 태그저장버퍼의 첫 번째 비트를 하이로 설정한 경우, 상기 제어부(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
즉, 상기 판단 결과(또는 상기 확인 결과), 상기 선택된 디지털 태그의 태그데이터의 값이 참이 아닌 경우(또는 상기 선택된 디지털 태그의 태그데이터의 값이 거짓인 경우) 또는, 상기 태그저장버퍼의 첫 번째 비트를 하이로 설정한 경우, 상기 제어부(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
일 예로, 상기 미리 설정된 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
상기 확인 결과, 상기 선택된 디지털 태그의 통신 상태가 이상 상태인 경우, 상기 제어부(150)는 상기 태그저장버퍼의 두 번째 비트(또는 1번 비트)를 미리 설정된 값인 하이('1')로 설정한다.As a result of the check, when the communication state of the selected digital tag is abnormal, the
즉, 상기 선택된 디지털 태그의 통신 상태를 나타내는 비트의 값이 미리 설정된 거짓(또는 폴스/이상)인 경우, 상기 제어부(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
일 예로, 상기 선택된 제 1 디지털 태그의 통신 상태가 이상 상태일 때, 상기 제어부(150)는 앞선 제 1 태그저장버퍼에서의 두 번째 비트에 미리 설정된 '1'을 적용하여 해당 제 1 태그저장버퍼를 업데이트한다(S310).For example, when the communication state of the selected first digital tag is abnormal, the
또한, 상기 확인 결과, 상기 선택된 디지털 태그의 통신 상태가 이상 상태가 아닌 경우(또는 상기 선택된 디지털 태그의 통신 상태가 정상 상태인 경우) 또는, 상기 태그저장버퍼의 두 번째 비트를 하이로 설정한 경우, 상기 제어부(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
즉, 상기 확인 결과, 상기 선택된 디지털 태그의 통신 상태가 이상 상태가 아닌 경우(또는 상기 선택된 디지털 태그의 통신 상태가 정상 상태인 경우) 또는, 상기 태그저장버퍼의 두 번째 비트를 하이로 설정한 경우, 상기 제어부(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
일 예로, 도 8에 도시된 바와 같이, 상기 제어부(150)는 상기 초기화된 64 비트의 제 1 열저장버퍼 중에서 상기 선택된 제 1 디지털 태그의 비트인덱스(예를 들어 0)에 대응하는 0번째 비트와 1번째 비트에 상기 제 1 태그저장버퍼에 저장된 값(예를 들어 01)을 저장한다(S320).For example, as shown in FIG. 8 , the
이후, 상기 제어부(150)는 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값(예를 들어 태그데이터, 통신 상태 등 포함)을 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하는지 확인(또는 판단)한다. 여기서, 상기 다른 태그는 해당 다른 태그의 태그데이터와 통신 상태를 나타내는 비트의 값을 상기 태그저장버퍼에 임시 저장한 후, 해당 다른 태그와 관련한 비트인덱스에 따라 상기 열저장버퍼 내의 특정 위치로 상기 태그저장버퍼에 임시 저장된 비트값을 저장하는 과정을 아직 수행하지 않은 태그일 수 있다.Thereafter, the
일 예로, 상기 제어부(150)는 상기 선택된 제 1 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터를 상기 제 1 열저장버퍼에 저장하지 않은 다른 태그가 존재하는지 확인한다(S330).For example, the
상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터(또는 값)를 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하는 경우, 상기 제어부(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
일 예로, 상기 선택된 제 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
또한, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터(또는 값)를 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하지 않은 경우, 상기 제어부(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
즉, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그에 대해서 해당 복수의 태그에 저장된 태그데이터와 통신 상태에 대한 값을 상기 열저장버퍼에 모두 저장한 경우, 상기 제어부(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
일 예로, 상기 선택된 제 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
또한, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 아날로그 태그인 경우, 상기 제어부(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
즉, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 아날로그 태그인 경우, 상기 제어부(150)는 상기 선택된 아날로그 태그의 태그데이터의 부호를 확인한다.That is, when the check result (or the determination result) indicates that the selected tag is an analog tag, the
또한, 상기 확인된 태그데이터의 부호가 양수인 경우, 상기 제어부(150)는 상기 기준 단위 비트가 64 비트인 태그저장버퍼에 대해서 앞선 [수학식 6]에 따라 상기 태그저장버퍼를 초기화한다.Also, when the sign of the checked tag data is a positive number, the
즉, 상기 확인된 태그데이터의 부호가 양수인 경우, 상기 제어부(150)는 2진수 표기 형태로 21 비트의 상기 태그저장버퍼를 초기화(또는 모든 비트의 값을 '0'으로 설정)한다.That is, when the sign of the checked tag data is positive, the
또한, 상기 확인된 태그데이터의 부호가 음수인 경우, 상기 제어부(150)는 상기 기준 단위 비트가 64 비트인 태그저장버퍼에 대해서 앞선 [수학식 7]에 따라 상기 태그저장버퍼를 초기화한다.Also, when the sign of the checked tag data is negative, the
즉, 상기 확인된 태그데이터의 부호가 음수인 경우, 상기 제어부(150)는 2진수 표기 형태로 21 비트 중 0번째 비트 ~ 19번째 비트의 값을 '0'으로 설정하고, 20번째 비트의 값을 '1'로 설정(또는 음수로 설정)한다.That is, when the sign of the checked tag data is negative, the
일 예로, 상기 확인 결과, 상기 선택된 제 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
이후, 상기 제어부(150)는 해당 태그(또는 상기 아날로그 태그)의 현재 태그데이터의 절댓값(또는 절댓값데이터)을 계산(또는 산출)한다.Thereafter, the
즉, 상기 제어부(150)는 미리 설정된 절댓값 함수를 이용해서 상기 선택된 아날로그 태그의 태그데이터에 대한 절댓값을 계산한다.That is, the
일 예로, 상기 제어부(150)는 미리 설정된 절댓값 함수를 이용해서 상기 제 1 아날로그 태그의 태그데이터(예를 들어 9876.0)의 절댓값(예를 들어 9876)을 계산한다(S370).For example, the
이후, 상기 제어부(150)는 상기 계산된(또는 산출된) 절댓값(또는 상기 태그데이터의 절댓값)을 근거로 해당 태그의 태그데이터의 정수 부분의 자릿수(또는 정수자릿수)를 계산한다.Thereafter, the
즉, 상기 계산된 절댓값이 1 이상인 경우, 상기 제어부(150)는 앞선 [수학식 8]에 따라 상기 계산된 절댓값에 Log10을 적용한 후 소수점 이하는 버림하고(또는 내림하고), 버림된 값에 1을 더해서 해당 아날로그 태그의 태그데이터의 정수부분의 자릿수를 계산한다.That is, when the calculated absolute value is 1 or more, the
또한, 상기 계산된 절댓값이 1 미만인 경우, 상기 제어부(150)는 앞선 [수학식 9]에 따라 상기 계산된 절댓값에 Log10을 적용한 후 소수점 이하는 버림하여 해당 아날로그 태그의 태그데이터의 정수부분의 자릿수를 계산한다.In addition, when the calculated absolute value is less than 1, the
일 예로, 상기 계산된 절댓값(예를 들어 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
이후, 상기 제어부(150)는 미리 설정된 기준 자릿수(예를 들어 5)에서 상기 계산된 태그데이터의 정수부분의 자릿수(또는 정수자릿수)를 빼서, 지수를 계산(또는 산출)한다.Thereafter, the
즉, 상기 제어부(150)는 앞선 [수학식 10]에 따라 상기 계산된 아날로그 태그의 태그데이터의 정수부분의 자릿수를 이용해서 해당 아날로그 태그의 태그데이터와 관련한 지수를 계산한다.That is, the
또한, 상기 제어부(150)는 상기 계산된 지수(또는 아날로그 태그의 태그데이터와 관련한 지수)를 상기 태그저장버퍼에서의 미리 설정된 3 비트의 지수 영역에 대응하도록 2진수 표기 형태로 변환한다.In addition, the
일 예로, 상기 제어부(150)는 상기 미리 설정된 기준 자릿수(예를 들어 5)에서 상기 계산된 정수부분의 자릿수(예를 들어 4)를 빼서, 지수(예를 들어 1 = 5-4)를 계산한다.For example, the
또한, 상기 제어부(150)는 상기 계산된 지수(예를 들어 1)를 미리 설정된 3 비트의 2진수로 변환(예를 들어 0b001)한다(S390).In addition, the
이후, 상기 제어부(150)는 상기 계산된(또는 산출된) 절댓값에 10을 지수만큼 자승한 값을 곱하여 정수를 계산(또는 산출)한다.Thereafter, the
즉, 상기 제어부(150)는 앞선 [수학식 11]에 따라 상기 계산된 절댓값과 상기 계산된 지수를 이용해서 해당 아날로그 태그의 태그데이터와 관련한 정수(또는 자연수)를 계산한다.That is, the
또한, 상기 제어부(150)는 상기 계산된 정수(또는 아날로그 태그의 태그데이터와 관련한 정수)를 상기 태그저장버퍼에서의 미리 설정된 17 비트의 정수 영역에 대응하도록 2진수 표기 형태로 변환한다.In addition, the
일 예로, 상기 제어부(150)는 상기 계산된 절댓값(예를 들어 9876)에 10^1를 곱하여, 정수(예를 들어 98760 = 9876 * 10^1)를 계산한다.For example, the
또한, 상기 제어부(150)는 상기 계산된 정수(예를 들어 98760)를 17 비트의 2진수로 변환(예를 들어 11000000111001000)한다(S400).Also, the
이후, 상기 제어부(150)는 상기 2진수로 변환된 지수와 상기 2진수로 변환된 정수와 상기 확인된 아날로그 태그의 태그데이터의 부호를 상기 태그저장버퍼에 저장한다.Then, the
즉, 상기 제어부(150)는 앞선 [수학식 12]에 따라 상기 초기화된 태그저장버퍼의 첫 번째 비트 내지 세 번째 비트에 상기 변환된 지수를 저장하고, 상기 초기화된 태그저장버퍼의 네 번째 비트 내지 스무 번째 비트에 상기 변환된 정수를 각각 저장한다.That is, the
일 예로, 도 10에 도시된 바와 같이, 상기 제어부(150)는 상기 제 1 아날로그 태그의 태그데이터의 양수를 나타내는 비트(예를 들어 양수인 '0')와, 상기 제 1 아날로그 태그의 태그데이터와 관련한 정수를 나타내는 비트(예를 들어 11000000111001000)와, 상기 제 1 아날로그 태그의 태그데이터와 관련한 지수를 나타내는 비트(예를 들어 001)를 상기 제 2 태그저장버퍼에 저장(예를 들어 0b011000000111001000001)한다(S410).For example, as shown in FIG. 10 , the
이후, 상기 제어부(150)는 상기 열저장버퍼 내의 상기 선택된 아날로그 태그의 비트인덱스에 대응하는 비트(또는 위치)에 상기 태그저장버퍼의 값(또는 상기 태그저장버퍼에 임시 저장된 값/데이터)을 저장한다.Thereafter, the
즉, 상기 제어부(150)는 앞선 [수학식 13]에 따라 상기 선택된 아날로그 태그와 관련해서 정수를 포함하는 태그데이터와 통신 상태에 대한 정보(또는 값/데이터)를 포함하는 상기 태그저장버퍼의 값을 상기 열저장버퍼 내에서의 상기 선택된 아날로그 태그의 비트인덱스에 해당하는 비트에 저장(또는 적용)한다.That is, the
일 예로, 도 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
이후, 상기 제어부(150)는 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값(예를 들어 태그데이터 등 포함)을 상기 열저장버퍼에 저장하지 않은 또 다른 태그가 존재하는지 확인(또는 판단)한다. 여기서, 상기 또 다른 태그는 해당 또 다른 태그의 절댓값을 계산하고, 태그데이터의 정수 자릿수를 계산하고, 지수를 계산하고, 해당 태그데이터를 정수로 계산하고, 정수와 지수를 2진수로 변환하여 상기 태그저장버퍼에 임시 저장한 후, 해당 또 다른 태그와 관련한 비트인덱스에 따라 상기 열저장버퍼 내의 다른 특정 위치로 상기 태그저장버퍼에 임시 저장된 비트값을 저장하는 과정을 아직 수행하지 않은 태그일 수 있다.Thereafter, the
일 예로, 상기 제어부(150)는 상기 선택된 제 11 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터를 상기 제 2 열저장버퍼에 저장하지 않은 또 다른 태그가 존재하는지 확인한다(S430).For example, the
상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터(또는 값)를 상기 열저장버퍼에 저장하지 않은 또 다른 태그가 존재하는 경우, 상기 제어부(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
일 예로, 상기 선택된 제 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
또한, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터(또는 값)를 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하지 않은 경우, 상기 제어부(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
즉, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 데이터(또는 값)를 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하지 않은 경우, 상기 제어부(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
일 예로, 상기 선택된 제 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
상기 확인 결과, 앞서 선택된 아날로그 태그의 통신 상태가 이상 상태인 경우, 상기 제어부(150)는 상기 열저장버퍼의 63번째 비트를 미리 설정된 값인 하이('1')로 설정한다.As a result of the check, if the communication state of the previously selected analog tag is abnormal, the
즉, 상기 앞서 선택된 아날로그 태그의 통신 상태를 나타내는 비트의 값이 미리 설정된 거짓(또는 폴스/이상)인 경우, 상기 제어부(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
일 예로, 상기 선택된 제 1 아날로그 태그의 통신 상태가 이상 상태일 때, 상기 제어부(150)는 앞선 제 2 태그저장버퍼에서의 63번째 비트에 미리 설정된 '1'을 적용하여 해당 제 2 태그저장버퍼를 업데이트한다(S460).For example, when the communication state of the selected first analog tag is abnormal, the
또한, 상기 확인 결과, 상기 선택된 아날로그 태그의 통신 상태가 이상 상태가 아닌 경우(또는 상기 선택된 아날로그 태그의 통신 상태가 정상 상태인 경우) 또는, 해당 열저장버퍼의 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
즉, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그에 대해서 해당 복수의 태그에 저장된 태그데이터와 통신 상태에 대한 값을 상기 열저장버퍼에 모두 저장한 경우, 상기 제어부(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
일 예로, 상기 선택된 제 1 아날로그 태그의 통신 상태가 정상 상태일 때, 상기 제어부(150)는 상기 제 2 열저장버퍼에 저장된 값을 상기 데이터베이스 내의 제 201 열에 저장한다(S470).For example, when the communication state of the selected first analog tag is in a normal state, the
이후, 상기 제어부(150)는 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 태그 내의 값을 상기 열저장버퍼를 이용해서 상기 데이터베이스에 저장하지 않은 다른 열그룹이 존재하는지 확인(또는 판단)한다. 여기서, 상기 다른 열그룹은 해당 다른 열그룹에 포함된 복수의 태그의 태그데이터와 통신 상태를 나타내는 비트의 값을 디지털 태그 또는 아날로그 태그 여부에 따라 상기 태그저장버퍼에 임시 저장한 후, 해당 다른 열그룹에 포함된 복수의 태그와 관련한 비트인덱스에 따라 상기 열저장버퍼 내의 특정 위치로 상기 태그저장버퍼에 임시 저장된 비트값을 저장하는 과정을 아직 수행하지 않은 열그룹일 수 있다.Thereafter, the
일 예로, 상기 제어부(150)는 상기 생성된 제 1 열그룹 및 제 2 열그룹 중에서 상기 제 1 열그룹에 포함된 복수의 태그 내의 값을 상기 열저장버퍼에 저장한 후, 해당 열그룹에 포함된 복수의 태그에 저장된 값을 상기 데이터베이스에 저장하지 않은 열그룹이 존재하는지 확인한다.For example, the
다른 일 예로, 상기 제어부(150)는 상기 생성된 제 11 열그룹에 포함된 복수의 태그 내의 값을 상기 열저장버퍼에 저장한 후, 해당 열그룹에 포함된 복수의 태그에 저장된 값을 상기 데이터베이스에 저장하지 않은 열그룹이 존재하는지 확인한다(S480).As another example, the
상기 확인 결과, 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 태그 내의 값을 상기 열저장버퍼를 이용해서 상기 데이터베이스에 저장하지 않은 다른 열그룹이 존재하는 경우, 상기 제어부(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
일 예로, 상기 생성된 제 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
또한, 상기 확인 결과, 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 태그 내의 값을 상기 열저장버퍼를 이용해서 상기 데이터베이스에 저장하지 않은 다른 열그룹이 존재하지 않은 경우, 상기 제어부(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
즉, 상기 확인 결과, 앞서 생성된 하나 이상의 열그룹과 관련해서 해당 하나 이상의 열그룹에 포함된 복수의 태그 내의 정보(예를 들어 태그데이터, 통신 상태 등 포함)를 상기 데이터베이스에 모두 저장한 경우, 상기 제어부(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
또한, 상기 지정 간격이 지나면, 상기 제어부(150)는 앞선 하나 이상의 열그룹 중에서 첫 번째 열그룹(또는 어느 하나의 열그룹)을 선택하는 과정(예를 들어 S230 단계)부터 다시 수행한다.Also, when the specified interval elapses, the
일 예로, 상기 생성된 제 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
다른 일 예로, 상기 생성된 제 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
도 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
또한, 상기 제어부(150)는 상기 확인된 다수의 태그의 열 이름을 근거로 데이터베이스(미도시)에서 사용되는 열의 이름과 열 내에서 차지하는 비트인덱스를 확인한다. 여기서, 상기 비트인덱스는 미리 설정된 기준 단위 비트(예를 들어 64 비트)로 구성되는 하나의 열에서 다수의 태그 각각이 위치한 비트에 대응하는 인덱스(또는 하나의 열에서 다수의 태그 각각이 위치한 순서)를 나타낸다.Also, the
일 예로, 상기 제어부(150)는 제 3 차트 그룹 내에 설정된 제 11 디지털 태그(또는 DTAG #11) 내지 제 18 디지털 태그(또는 DTAG #18)를 확인한다.For example, the
또한, 상기 제어부(150)는 상기 확인된 제 11 디지털 태그의 열 이름 내지 제 13 디지털 태그의 열 이름을 근거로 상기 데이터베이스에서 사용되는 열의 이름과 비트인덱스(예를 들어 상기 제 11 디지털 태그에 대응하는 0, 상기 제 12 디지털 태그에 대응하는 1, 상기 제 13 디지털 태그에 대응하는 2, 상기 제 14 디지털 태그에 대응하는 3, 상기 제 15 디지털 태그에 대응하는 28, 상기 제 16 디지털 태그에 대응하는 29, 상기 제 17 디지털 태그에 대응하는 30, 상기 제 18 디지털 태그에 대응하는 31 등 포함)를 확인한다.In addition, the
다른 일 예로, 상기 제어부(150)는 제 4 차트 그룹 내에 설정된 제 11 아날로그 태그(또는 ATAG #11) 내지 제 13 아날로그 태그(또는 ATAG #13)를 확인한다.As another example, the
또한, 상기 제어부(150)는 상기 확인된 제 11 아날로그 태그의 열 이름 내지 제 12 아날로그 태그의 열 이름을 근거로 상기 데이터베이스에서 사용되는 열의 이름과 비트인덱스(예를 들어 상기 제 11 아날로그 태그에 대응하는 0, 상기 제 12 아날로그 태그에 대응하는 1, 상기 제 13 아날로그 태그에 대응하는 2 등 포함)를 확인한다(S1310).In addition, the
이후, 상기 제어부(150)는 상기 확인된 다수의 태그 중에서 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 하나 이상의 열그룹을 생성(또는 구성)한다.Thereafter, the
일 예로, 상기 제어부(150)는 상기 확인된 제 11 디지털 태그 내지 제 18 디지털 태그 중에서 동일한 제 21 열을 사용하는 제 11 디지털 태그 내지 제 18 디지털 태그를 하나의 그룹으로 분류하여 제 21 열그룹을 생성한다.For example, the
다른 일 예로, 상기 제어부(150)는 상기 확인된 제 11 아날로그 태그 내지 제 13 아날로그 태그 중에서 동일한 제 31 열을 사용하는 제 11 아날로그 태그 내지 제 13 아날로그 태그를 하나의 그룹으로 분류하여 제 31 열그룹을 생성한다(S1320).As another example, the
이후, 상기 제어부(150)는 상기 생성된 하나 이상의 열그룹 중 첫 번째 열그룹(또는 어느 하나의 열그룹)을 선택한다.Thereafter, the
일 예로, 상기 제어부(150)는 상기 생성된 제 21 열그룹을 선택한다.For example, the
다른 일 예로, 상기 제어부(150)는 상기 생성된 제 31 열그룹을 선택한다(S1330).As another example, the
이후, 상기 제어부(150)는 상기 데이터베이스에서 해당 열그룹과 관련한 열데이터를 읽는다. 이때, 상기 제어부(150)는 상기 데이터베이스에서 해당 열데이터와 관련한 날짜 및 시각 정보(또는 해당 열데이터가 저장된 시점의 날짜 및 시각 정보)를 상기 열데이터와 함께 읽을 수도 있다. 여기서, 상기 열데이터는 상기 데이터베이스에서 특정 열에 대응하는 데이터(또는 값)일 수 있다.Thereafter, the
즉, 상기 제어부(150)는 기준 단위 비트가 64 비트인 경우 해당 데이터베이스에서 상기 열그룹과 관련해서 64 비트의 열데이터를 읽는다.That is, when the reference unit bit is 64 bits, the
또한, 상기 제어부(150)는 상기 읽은 열데이터를 초기화된 열저장버퍼에 저장(또는 임시 저장)한다.Also, the
일 예로, 상기 제어부(150)는 상기 데이터베이스로부터 상기 제 21 열그룹과 관련한 64 비트의 제 101 열데이터(예를 들어 00000101 ... 10101111)(또는 앞선 제 101 열의 데이터)를 읽는다.For example, the
또한, 도 16에 도시된 바와 같이, 상기 제어부(150)는 상기 읽은 제 101 열데이터를 미리 초기화된 제 3 열저장버퍼에 저장한다.Also, as shown in FIG. 16 , the
다른 일 예로, 상기 제어부(150)는 상기 데이터베이스로부터 상기 제 31 열그룹과 관련한 64 비트의 제 201 열데이터(예를 들어 0000110000110101000101101111111110011000010011000000111001000001)(또는 앞선 제 201 열의 데이터)를 읽는다.As another example, the
또한, 도 17에 도시된 바와 같이, 상기 제어부(150)는 상기 읽은 제 201 열데이터를 미리 초기화된 제 4 열저장버퍼에 저장한다(S1340).Also, as shown in FIG. 17 , the
이후, 상기 제어부(150)는 상기 선택된 열그룹(또는 상기 선택된 첫 번째 열그룹) 내에 포함된 복수의 태그 중에서 어느 하나의 태그(또는 첫 번째 태그/비트인덱스가 빠른 하나의 태그)를 선택한다.Thereafter, the
일 예로, 상기 제어부(150)는 상기 선택된 제 21 열그룹 내에 포함된 복수의 태그 중에서 제 11 디지털 태그(또는 제 11-1 태그)를 선택한다.For example, the
다른 일 예로, 상기 제어부(150)는 상기 선택된 제 31 열그룹 내에 포함된 복수의 태그 중에서 제 11 아날로그 태그(또는 제 11-2 태그)를 선택한다(S1350).As another example, the
이후, 상기 제어부(150)는 상기 선택된 어느 하나의 태그의 종류를 확인(또는 판단)한다.Thereafter, the
즉, 상기 제어부(150)는 상기 선택된 태그가 디지털 태그인지 또는 아날로그 태그인지 확인(또는 판단)한다. 이때, 상기 제어부(150)는 상기 선택된 태그에 대한 디지털 태그 또는 아날로그 태그 확인 시, 해당 태그에 설정된 비트수(또는 해당 태그명)를 확인하여, 해당 태그가 디지털 태그인지 또는 아날로그 태그인지 확인할 수 있다. 여기서, 64 비트를 기준으로 상기 디지털 태그는 2 비트가 설정되고, 상기 아날로그 태그는 21 비트가 설정된 상태일 수 있다. 또한, 상기 태그명은 디지털 태그와 아날로그 태그를 구별하기 위해서, DTAG#*** 형태 또는 ATAG#*** 형태일 수 있다.That is, the
일 예로, 상기 제어부(150)는 상기 선택된 제 11-1 태그가 디지털 태그인지 또는 아날로그 태그인지 확인한다.For example, the
다른 일 예로, 상기 제어부(150)는 상기 선택된 제 11-2 태그가 디지털 태그인지 또는 아날로그 태그인지 확인한다(S1360).As another example, the
상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 디지털 태그인 경우, 상기 제어부(150)는 상기 읽은 열데이터(또는 상기 열저장버퍼에 저장 중인 열데이터)에서 상기 선택된 태그의 비트인덱스와 관련한 태그읽기값을 추출한다.As a result of the check (or the determination result), when the selected tag is a digital tag, the
즉, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 디지털 태그인 경우, 상기 제어부(150)는 앞선 [수학식 14]에 따라 상기 읽은 열데이터 중에서 상기 선택된 디지털 태그의 비트인덱스에 대응하는 2진수 형태의 2 비트의 값(또는 태그읽기값)을 추출한다.That is, when the check result (or the determination result) indicates that the selected tag is a digital tag, the
일 예로, 상기 확인 결과, 상기 선택된 제 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
이후, 상기 제어부(150)는 상기 추출된 태그읽기값에서 해당 디지털 태그의 태그데이터를 추출한다.Thereafter, the
즉, 상기 제어부(150)는 앞선 [수학식 15]에 따라 상기 추출된 태그읽기값 중에서 첫번째 비트의 값을 해당 디지털 태그의 태그데이터로 추출한다.That is, the
일 예로, 상기 제어부(150)는 상기 추출된 태그읽기값(예를 들어 0b11)에서 첫 번째 비트의 값(예를 들어 1)을 해당 제 1 디지털 태그의 태그데이터로 추출한다(S1380).For example, the
이후, 상기 제어부(150)는 상기 추출된 태그읽기값에서 통신 상태의 값을 추출한다.Thereafter, the
즉, 상기 제어부(150)는 앞선 [수학식 16]에 따라 상기 추출된 태그읽기값 중에서 두번째 비트의 값을 해당 디지털 태그의 통신 상태의 값으로 추출한다.That is, the
일 예로, 상기 제어부(150)는 상기 추출된 태그읽기값(예를 들어 0b11)에서 두 번째 비트의 값(예를 들어 1)을 해당 제 1 디지털 태그의 통신 상태의 값으로 추출한다(S1390).For example, the
이후, 상기 제어부(150)는 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재하는지 확인(또는 판단)한다. 여기서, 상기 다른 태그는 해당 다른 태그의 태그데이터와 통신 상태를 나타내는 비트의 값을 상기 읽은 열데이터로부터 아직 추출하지 않은 태그일 수 있다.Thereafter, the
일 예로, 상기 제어부(150)는 상기 선택된 제 21 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재하는지 확인한다(S1400).For example, the
상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재하는 경우, 상기 제어부(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
일 예로, 상기 선택된 제 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
또한, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 다른 태그가 존재하지 않은 경우, 상기 제어부(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
일 예로, 상기 선택된 제 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
또한, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 아날로그 태그인 경우, 상기 제어부(150)는 상기 읽은 열데이터(또는 상기 열저장버퍼에 저장 중인 열데이터)에서 상기 선택된 태그의 비트인덱스와 관련한 태그읽기값을 추출한다.In addition, when the check result (or the determination result) indicates that the selected tag is an analog tag, the
즉, 상기 확인 결과(또는 상기 판단 결과), 상기 선택된 태그가 아날로그 태그인 경우, 상기 제어부(150)는 앞선 [수학식 17]에 따라 상기 읽은 열데이터 중에서 상기 선택된 아날로그 태그의 비트인덱스에 대응하는 2진수 형태의 21개 비트의 값(또는 태그읽기값)을 추출한다.That is, when the check result (or the determination result) indicates that the selected tag is an analog tag, the
일 예로, 상기 확인 결과, 상기 선택된 제 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
이후, 상기 제어부(150)는 상기 추출된 태그읽기값에서 2진수 형태의 해당 아날로그 태그의 지수를 추출한다.Thereafter, the
즉, 상기 제어부(150)는 앞선 [수학식 18]에 따라 상기 추출된 태그읽기값 중에서 0번째 비트의 값 ~ 2번째 비트의 값을 해당 아날로그 태그의 지수로 추출한다.That is, the
또한, 상기 제어부(150)는 상기 추출된 2진수 형태의 지수를 10진수 형태의 지수로 변환한다.In addition, the
일 예로, 상기 제어부(150)는 상기 추출된 태그읽기값(예를 들어 011000000111001000001)에서 0번째 비트의 값 ~ 2번째 비트의 값을 해당 제 1 아날로그 태그의 지수(예를 들어 0b001)로 추출한다.For example, the
또한, 상기 제어부(150)는 상기 추출된 해당 제 1 아날로그 태그의 지수(예를 들어 0b001)를 10진수의 지수(예를 들어 1)로 변환한다(S1440).Also, the
이후, 상기 제어부(150)는 상기 추출된 태그읽기값에서 해당 아날로그 태그의 정수를 추출한다.Thereafter, the
즉, 상기 제어부(150)는 앞선 [수학식 19]에 따라 상기 추출된 태그읽기값 중에서 3번째 비트의 값 ~ 19번째 비트의 값을 해당 아날로그 태그의 정수로 추출한다.That is, the
또한, 상기 제어부(150)는 상기 추출된 2진수 형태의 정수를 10진수 형태의 정수로 변환한다.In addition, the
일 예로, 상기 제어부(150)는 상기 추출된 태그읽기값(예를 들어 011000000111001000001)에서 3번째 비트의 값 ~ 19번째 비트의 값을 해당 제 1 아날로그 태그의 정수(예를 들어 0b11000000111001000)를 추출한다.For example, the
또한, 상기 제어부(150)는 상기 추출된 해당 제 1 아날로그 태그의 정수(예를 들어 0b11000000111001000)를 10진수의 정수(예를 들어 98760)로 변환한다(S1450).Also, the
이후, 상기 제어부(150)는 상기 변환된 정수를 10에 상기 변환된 지수만큼 자승한 값으로 나누어 상기 선택된 아날로그 태그의 태그데이터를 계산한다.Thereafter, the
즉, 상기 제어부(150)는 앞선 [수학식 20]에 따라 10진수 형태로 상기 변환된 정수 및 상기 10진수 형태로 변환된 지수를 이용해서 상기 선택된 아날로그 태그의 태그데이터를 계산한다.That is, the
또한, 상기 제어부(150)는 상기 추출된 태그읽기값에서의 부호 비트를 확인하여, 해당 아날로그 태그의 태그데이터가 음수인지 양수인지 확인한다.In addition, the
또한, 해당 부호 비트가 하이인 경우, 상기 제어부(150)는 상기 계산된 태그데이터를 음수로 변환한다.Also, when the corresponding sign bit is high, the
즉, 상기 제어부(150)는 앞선 [수학식 21]에 따라 상기 추출된 태그읽기값의 20번째 비트의 값을 확인하여, 상기 계산된 태그데이터가 음수인지 양수인지 확인하고, 확인 결과에 따라 태그데이터가 음수이면 해당 태그데이터의 값을 음수로 변환한다.That is, the
또한, 상기 제어부(150)는 상기 확인 결과에 따라 태그데이터가 양수이면 앞서 계산된 태그데이터를 그대로 유지한다.In addition, if the tag data is positive according to the check result, the
일 예로, 상기 제어부(150)는 상기 변환된 정수(예를 들어 9876)를 (10^1)로 나누어, 상기 선택된 제 11 아날로그 태그의 태그데이터(예를 들어 987.6)를 계산한다.For example, the
또한, 상기 제어부(150)는 상기 추출된 태그읽기값에서의 부호 비트인 20번째 비트의 값(예를 들어 0, 양수)을 확인하고, 상기 확인에 따라 상기 계산된 태그데이터(예를 987.6)를 유지한다(S1460).In addition, the
이후, 상기 제어부(150)는 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하는지 확인(또는 판단)한다. 여기서, 상기 또 다른 태그는 해당 또 다른 태그의 태그데이터와 통신 상태를 나타내는 비트의 값을 상기 읽은 열데이터로부터 아직 추출하지 않은 태그일 수 있다.Thereafter, the
일 예로, 상기 제어부(150)는 상기 선택된 제 31 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하는지 확인한다(S1470).For example, the
상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하는 경우, 상기 제어부(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
일 예로, 상기 선택된 제 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
또한, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하지 않은 경우, 상기 제어부(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
즉, 상기 확인 결과, 앞서 선택된 열그룹 내에 포함된 복수의 태그 중에서 상기 읽은 열데이터로부터 태그읽기값을 추출하지 않은 또 다른 태그가 존재하지 않은 경우, 상기 제어부(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
일 예로, 상기 선택된 제 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
이후, 상기 제어부(150)는 차트 작성 및/또는 보고서 작성에 사용될 수 있도록 태그별로 태그데이터와 통신상태의 값을 전달(또는 출력)한다.Thereafter, the
일 예로, 도 20에 도시된 바와 같이, 상기 제어부(150)는 상기 제 11 디지털 태그 내지 제 18 디지털 태그와 관련한 태그데이터, 통신 상태 등을 전달한다.For example, as shown in FIG. 20 , the
다른 일 예로, 도 21에 도시된 바와 같이, 상기 제어부(150)는 상기 제 11 아날로그 태그 내지 상기 제 13 아날로그 태그와 관련한 태그데이터, 통신 상태 등을 전달한다(S1500).As another example, as shown in FIG. 21 , the
이후, 상기 제어부(150)는 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 복수의 태그와 관련해서 상기 데이터베이스로부터 해당 태그와 관련한 태그데이터, 통신 상태의 값 등을 추출하지 않은 다른 열그룹이 존재하는지 확인(또는 판단)한다. 여기서, 상기 다른 열그룹은 해당 다른 열그룹에 포함된 복수의 태그와 관련해서 상기 데이터베이스로부터 해당 태그와 관련한 태그데이터, 통신 상태의 값 등을 추출하지 않은 열그룹일 수 있다.Thereafter, the
일 예로, 상기 제어부(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
다른 일 예로, 상기 제어부(150)는 상기 생성된 제 31 열그룹 이외에 해당 열그룹에 포함된 복수의 태그와 관련해서 상기 데이터베이스로부터 해당 태그와 관련한 태그데이터, 통신 상태의 값 등을 추출하지 않은 다른 열그룹이 존재하는지 확인한다(S1510).As another example, the
상기 확인 결과, 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 복수의 태그와 관련해서 상기 데이터베이스로부터 해당 태그와 관련한 태그데이터, 통신 상태의 값 등을 추출하지 않은 다른 열그룹이 존재하는 경우, 상기 제어부(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
일 예로, 상기 생성된 제 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
또한, 상기 확인 결과, 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 복수의 태그와 관련해서 상기 데이터베이스로부터 해당 태그와 관련한 태그데이터, 통신 상태의 값 등을 추출하지 않은 다른 열그룹이 존재하지 않은 경우, 상기 제어부(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
일 예로, 상기 생성된 제 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
다른 일 예로, 상기 생성된 제 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
본 발명의 실시예는 앞서 설명된 바와 같이, 복수의 태그로 구성되는 차트 그룹 내에 설정된 태그들을 확인하여 데이터베이스에서 사용할 열의 이름과 열 내에서 차지하는 비트인덱스를 확인하고, 동일한 열을 사용하는 태그를 각 열별로 그룹으로 분류하여 열그룹을 생성하고, 열저장버퍼를 초기화한 후, 열그룹 내에 포함된 태그별로 태그 종류에 따라 태그의 통신 상태를 포함하는 열저장버퍼를 계산하고, 계산된 열저장버퍼를 데이터베이스에 저장하여, 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.
상기 선택된 어느 하나의 태그의 종류에 따라 상기 선택된 열그룹 내에 포함된 복수의 태그 내의 데이터를 상기 열저장버퍼에 저장하는 단계는,
상기 선택된 태그가 아날로그 태그일 때, 상기 선택된 아날로그 태그의 태그데이터의 부호에 따라 상기 태그저장버퍼를 초기화하는 과정;
상기 아날로그 태그의 현재 태그데이터의 절댓값을 계산하는 과정;
상기 계산된 절댓값을 근거로 상기 아날로그 태그의 태그데이터의 정수 부분의 자릿수를 계산하는 과정;
미리 설정된 기준 자릿수에서 상기 계산된 태그데이터의 정수부분의 자릿수를 빼서, 지수를 계산하는 과정;
상기 계산된 지수를 상기 태그저장버퍼에서의 미리 설정된 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.
상기 선택된 어느 하나의 태그의 종류에 따라 상기 선택된 열그룹 내에 포함된 복수의 태그 내의 데이터를 상기 열저장버퍼에 저장하는 단계는,
상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값을 상기 열저장버퍼에 저장하지 않은 또 다른 태그가 존재하는지 확인하는 과정;
상기 확인 결과, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값을 상기 열저장버퍼에 저장하지 않은 또 다른 태그가 존재할 때, 상기 태그저장버퍼를 초기화하는 과정으로 복귀하여, 상기 태그저장버퍼를 초기화하는 과정부터 다시 수행하는 과정;
상기 확인 결과, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 태그 내의 값을 상기 열저장버퍼에 저장하지 않은 다른 태그가 존재하지 않을 때, 상기 선택된 아날로그 태그의 통신 상태가 이상 상태인지 여부를 확인하는 과정;
상기 확인 결과, 상기 선택된 아날로그 태그의 통신 상태가 이상 상태일 때, 상기 열저장버퍼의 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.
상기 제어부에 의해, 상기 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 태그 내의 값을 상기 열저장버퍼를 이용해서 상기 데이터베이스에 저장하지 않은 다른 열그룹이 존재하는지 확인하는 단계;
상기 확인 결과, 상기 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 태그 내의 값을 상기 열저장버퍼를 이용해서 상기 데이터베이스에 저장하지 않은 다른 열그룹이 존재할 때, 상기 제어부에 의해, 상기 열저장버퍼를 초기화하는 과정으로 복귀하여, 상기 열저장버퍼를 초기화하는 과정부터 다시 수행하는 단계;
상기 확인 결과, 앞서 생성된 하나 이상의 열그룹 중에서 열그룹 내에 포함된 태그 내의 값을 상기 열저장버퍼를 이용해서 상기 데이터베이스에 저장하지 않은 다른 열그룹이 존재하지 않을 때, 상기 제어부에 의해, 미리 설정된 지정 간격 동안 대기 상태를 유지하는 단계; 및
상기 지정 간격이 지나면, 상기 제어부에 의해, 상기 선택된 열그룹 내에 포함된 복수의 태그 중에서 어느 하나의 태그를 선택하는 과정으로 복귀하여, 상기 어느 하나의 태그를 선택하는 과정부터 다시 수행하는 단계를 더 포함하는 것을 특징으로 하는 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.
상기 선택된 어느 하나의 태그의 종류에 따라 상기 읽은 열데이터로부터 데이터를 추출하여 상기 복수의 태그별로 태그데이터와 통신상태를 전달하는 단계는,
상기 선택된 태그가 아날로그 태그일 때, 상기 읽은 열데이터에서 상기 선택된 태그의 비트인덱스와 관련한 태그읽기값을 추출하는 과정;
상기 추출된 태그읽기값에서 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.
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)
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 |
-
2021
- 2021-04-07 KR KR1020210045415A patent/KR102278321B1/en active Active
Patent Citations (9)
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 |