Skip to main content

Factory Management

Table of Contents​


Overview​

The Factory Model group is the area for registering, editing, and deleting factory structures and domain meta-information (assets, tags, ontology, metadata, and base data). It consists of six sub-screens, all of which are directly connected to the operational meta-store.

Sub-menuInternal URLPurpose
Model/model/indexAdd site + map logical/physical models + confirm model
Asset/asset/tree/indexEdit asset tree (Site → Area → Line → Equipment)
Tag/tag/indexRegister tag list, search, bulk delete, and export to Excel
Ontology/ontology/indexRegister asset classification systems (category, meta-attribute)
Metadata/metadata/indexDomain-specific user-defined meta-attribute key-values
Base Data/basedata/indexRegister code masters and reference values

Before starting operations, all sites, assets, and tags must be registered in this menu for other screens such as the Dashboard, Data Point, and Alarm to be meaningful.


Screen Layout — 6 Sub-menus​

Operational Flow:

[모델] → [에셋] → [태그]
사이트 추가 자산 계층 등록 태그 등록·매핑
│ │ │
└─────[온톨로지·메타데이터·기준정보 보강]──────┘
│
└→ [팩토리 모델 확정] (배포)
ScreenFrequency of UseWhen to Open
ModelMediumWhen adding a new site or adjusting logical ↔ physical mapping
AssetHighWhen changing asset hierarchies or asset meta
TagVery HighWhen registering tags, editing, or setting alarm bands — most frequent use
OntologyMediumWhen organizing classification systems
MetadataLowWhen adding user-defined meta-attributes
Base DataLowWhen editing code masters

Model Screen (/model/index)​

Top Tools​

🗂 모델 [✓ 팩토리 모델 확정] [💾 메타 스토어 백업] [↻]
ButtonAction
Confirm Factory ModeldeployAssetToEvent() — Applies registered assets/tags to event rules and reflects them in the rule engine (See Confirm Factory Model below)
Meta Store Backupbackup() — Backs up the entire meta-store (for administrator archival)
Refreshrefresh()

Information Box​

🏭 Add Site and Set Physical/Logical Models Please register the factory (site) to connect industrial data. Next, complete the physical model by connecting to OPC or other industrial protocols linked to the site. Once the physical model is replaced by the logical model, the site structure configuration is complete.

Site List (Card Grid)​

사이트 목록 [전체 N개의 사이트] [➕ 사이트 추가]
─────────────────────────────────────────────────
[ 사이트 카드 ] [ 사이트 카드 ] [ 사이트 카드 ] ...

Each site card (site-panel, 240px) displays the following:

AreaDisplay
Top (site-title)Site ID (yellow background)
Body (site-body)🏭 Site icon + Site name + Description — clicking loads the asset/connection tree for that site below (loadTreeData())
Footer (site-footer)🔧 Edit (editSite()) / 📁 Delete Model (deleteModels()) / 🗑 Delete Site (deleteSite())

Add Site Form​

InputDescription
Company NameThe company the site belongs to. There is only one company per installation
Site IDOnly uppercase English letters, numbers, and _ allowed — must start with SITE_
Site NameHuman-identifiable name
LocationSelect coordinates using [Select from Map]
DescriptionFree text
Operational StatusMajor stage of operation
Site Code (ERP/MES)Factory code used by ERP/MES (Optional)
AddressWorkplace address (Optional)

Logical/Physical Model (Left/Right Tree)​

When a site card is selected, two trees unfold below it, side-by-side.

Left — Asset [Logical Model] (assetTreeDiv)​

ActionAction IDDescription
Refresh Model TreeloadTreeData(last_tree_site_id)Reload tree
Search AssetsearchItem('Asset')Toggle search input field above tree
Add AssetshowAddModal('Asset')New asset addition modal
Edit AssetshowModifyModal('Asset')Edit selected asset
Delete AssetdeleteItem('Asset')Delete selected asset

The logical model tree is viewed as Site → Area → Line → Equipment, and tags are attached to equipment. This is the hierarchy structured semantically by the operator. The data hierarchy consists of five layers with Company added on top (as seen in V5 · MCP responses), but the company does not appear in the console tree — the company is modified via the Map (/map/index) and the site form.

Right — Connection [Physical Model] (opcTreeDiv)​

ActionAction IDDescription
Search ConnectionsearchItem('OPC')Toggle search input field above tree
Add ConnectionaddOpc()Navigate to the registration form in Connection Management

The physical model is a communication unit tree in the format of OPC Server → Channel → Tag.

Logical ↔ Physical Mapping​

Connect the logical asset node on the left and the physical OPC tag on the right via drag-and-drop mapping. By mapping this way, the system knows which physical tag (e.g., PDI_001 of OPC-LINE-A) provides the data originating from a logical asset (e.g., Motor of Line A).

Add/Edit Asset Modal​

Clicking the Add Asset or Edit Asset button in the left toolbar opens a standard modal. Following the V2026.05 design system, all modal forms are unified into a fieldset + form-stack structure.

┌─🏭 에셋 추가 및 수정─────────────────── × ─┐
│ │
│ ┌─🗂 상위 에셋──────────────────────┐ │
│ │ 상위 에셋 ID [읽기 전용] │ │
│ │ 상위 에셋 명 [읽기 전용] │ │
│ └──────────────────────────────────┘ │
│ ┌─📦 에셋 정보─────────────────────┐ │
│ │ 에셋 ID [입력] │ │
│ │ 에셋 명 [입력] │ │
│ │ 설명 [입력] │ │
│ └──────────────────────────────────┘ │
│ │
├──────────────────────────────────────────┤
│ [× 취소] [💾 저장] │
└──────────────────────────────────────────┘
AreaDisplay
Modal Header🏭 Icon + Title + × Close
Parent Asset fieldsetID and Name of the parent node (Read-only — displays tree selection)
Asset Information fieldsetID, Name, and Description of the new asset (Input)
Modal Footer× Cancel / 💾 Save (Save action triggers saveForm('Asset'))

All input field labels are unified with the form-label control-label class for consistent width and alignment. Modals on other screens (work orders, events, shift schedules, etc.) follow the same fieldset + form-stack pattern.


Asset Screen (/asset/tree/index)​

This screen allows for deep editing of the asset tree and the definition of asset-unit meta, tags, and connection relationships in one place. The tree is placed on the left, with the detail form, timeline, and child table/tabs on the right.

Asset Screen — numbers indicate reading order

No.PositionFunction
①Top LeftSite Selector — Choose which site's tree to view
②Left BodyAsset Tree — Site → Area → Line → Equipment. Selecting a node updates the right side
③Bottom LeftObject ID — The domain ID of the node hovered over in the tree is displayed here
④Top RightAsset Information — Basic information, status cards, and image of the selected node. The image shows a selected piece of equipment; if nothing is selected, only the «Please select an asset» guide appears
⑤Top Right EdgeSave — Saves changes made in ④
⑥Bottom RightTimeline — Trends of the asset's connection and health status
⑦Top Right CornerConfirm Factory Model — Applies the edited model to the engine (See below)
It is normal for the right side to be empty if no node is selected in the tree

The image above shows this state — 「No asset selected」. This is not a malfunction.

Left — Asset Tree​

🗂 모델 — 사이트 → 구역 → 라인 → 설비 [💬] [🔍] [📋]
사이트: [▼]
[에셋 트리 / 연결 트리]
─────────────────────
🔗 오브젝트 ID: - ← 트리에서 호버 시 도메인 ID 표시 (footer)
Header IconAction
💬 (Speech Bubble) — Show tag descriptionToggle to show tag node descriptions within the tree
🔍 SearchToggle text search input field within the tree
📋 CopyCopy the selected tag name to the clipboard

Right — Asset Detail Form + Timeline + Child/Tab​

Empty State — Asset Not Selected​

When no node is selected in the left tree, an empty state guide is displayed in the right detail area.

🟦 (큐브 아이콘)
에셋이 선택되지 않았습니다
왼쪽 에셋 트리에서 [에셋명을 선택]하여 주십시오.

Asset Information Panel — Two Full-Color Gradient Status Cards​

When an asset is selected, a meta line (type + registration/edit date) and two cards, Connection Status / Health Status, are displayed at the top left of the panel body.

CardIconDisplay
Connection Status (connection_status)📶 Wi-FiFull-color gradient — 🟢 Normal / 🟡 Delay / 🔴 Anomaly / ⬛ Disconnected / ⚪ Unknown
Health Status (health_status)💗 HeartbeatFull-color gradient — 🟢 Normal / 🟡 Caution / 🔴 Danger

Each card displays the icon, label, and value (e.g., "Normal Connection", "Danger") on a gradient background, allowing the status to be identified by color even from a distance.

Asset Image (Right)​

If an image is registered, it is displayed as SVG/PNG. Otherwise, the empty state is shown:

🖼 (이미지 아이콘)
이미지 없음
선택한 노드에 등록된 이미지가 없습니다.

Basic Information Panel (Input)​

Inputpathplaceholder/Description
Asset IDasset_idRead-only
Asset Nameasset_nameplaceholder: 예) 조립 1라인 (한글·영문·숫자·공백·_ . - ( ) & , / :)
Equipment Classificationasset_class_codeClassification for this layer — Selector. The list is found in the classification tab of the Base Data screen
DescriptiondescriptionFree text

Asset Image Panel​

ControlAction
📂 Select FileSelect PNG/SVG (Recommended 640×320)
☁ UploadRegister the selected image to that asset

The timeline panel appears below the asset information. The panel header shows the period (from_to), and the body displays a horizontal bar timeline and five types of legends on the right.

LegendColorMeaning
Unknown⚪ GreyNo reception history
Normal🟢 GreenNo anomaly
Caution🟡 YellowWarning alarm exists
Danger🔴 RedCritical alarm exists
Disconnected⬛ Dark RedNo reception for 24+ hours

Hovering over the ⓘ information icon at the top left of the panel body displays a large tooltip showing the mapping table for the 5-step connection status and 3-step health status.

Unique Properties Tab — Layer-Specific Attributes​

When a site, area, or line is selected, only the Unique Properties tab appears on the right. For equipment, it is placed at the end along with other tabs. Users can edit properties specific to that layer and common fields here, then save using Save Unique Properties below. Only ADMIN users can perform edits.

Unique Properties Tab — Equipment selected, numbers indicate reading order

No.PositionFunction
①End of tab rowUnique Properties tab
②Tab bodyLayer-specific attributes (Equipment in image), Person in Charge, Operational Status, External Number
③Bottom RightSave Unique Properties
LayerItems
SiteTimezone (defaults to installation timezone if empty), Country, Site Code, Address, Latitude, Longitude
AreaFunction (Production / Storage / Utility), Person in Charge
LineType (Production Line / Process Cell / Production Unit), Design Speed (Value and Unit per hour), Person in Charge
EquipmentManufacturer, Model, Serial Number, Functional Location, Criticality (A High / B Medium / C Low), Installation Date, Commissioning Date, Warranty Expiry Date
CommonExternal System + External ID (filled or emptied together), Operational Status
FieldNote
Operational StatusPlanned, Commissioning, In Operation, Standby, Out of Service, Retired (ISO 14224). This is a major stage of operation and is distinct from real-time status (e.g., running/stopped) or alarm service exclusion
Functional LocationThe number of the position this equipment occupies. Must be unique within the site
Actual Person in ChargeRead-only field appearing in Area/Line/Equipment. If the field is empty, it inherits the person in charge from the nearest parent (Line → Area). Input fields for the person in charge exist only in Area and Line

Sub-Asset List (When SITE/AREA/LINE is selected)​

Displayed only when a SITE, AREA, or LINE node is selected.

ColumnWidthDisplay
Asset ID250pxID of the child asset (Domain badge)
Asset Name250pxName of the child asset
DescriptionAutoMemo

When EQUIPMENT is selected — 13 Tab Panels​

When an EQUIPMENT node is selected, 13 tab panels are displayed instead of the child table.

TabIconPanelContent
① Connection🌐Mapped connection listData sources like OPC/PLC/Modbus connected to this equipment — status, ID, name, type, server IP
② Tag🏷Mapped tagsTags mapped to the equipment with current value, unit, data type, and last update
③ Data🗄Recent dataRecently collected time series snapshots (timestamp, data JSON) + [Move to Trend]
④ Alarm🔔Recent alarm listAlarms generated from tags mapped to the equipment (SEQ, active, criticality, content) + [Move to Alarm]
⑤ Event📅Recent event listEvents generated by statements or plugins (event name, color, start time, duration [MS])
⑥ Status👁Recent status listKey-value contexts tracked by statements
⑦ Aggregation🥧Recent aggregation listAggregation key-values loaded by statements
⑧ Command🎮Execute command + recent command listExecute defined commands on this equipment — Asset Command
⑨ Registry💻Asset statement + command registryEQL statement and ISO plugin registration, semantic command definition for this equipment
⑩ Document📄Asset documentsManagement of documents attached to equipment
⑪ Maintenance🔧Equipment maintenanceMaintenance orders for this equipment
⑫ Reference Value📏Reference valuesStandard value profile for this equipment
⑬ Unique Properties☑Unique propertiesSee section above + QR Label
If ⑤, ⑥, and ⑦ are empty, it means no statement exists

The Event, Status, and Aggregation tabs show data created by statements (or ISO plugins). If no statement is attached to the equipment, it is normal for these three tabs to be empty — add them via [Add Statement] or [ISO Plugin] in the ⑨ Registry tab.

⑦ Aggregation is different from the «Aggregation» setting of a tag. Tag aggregation (1min/5min/…) is viewed on the Trend Screen.

The ⑧ Command tab actually moves the equipment

Selecting a defined command and clicking [Execute] actually writes a value to the PLC. Permissions, parameters, preconditions, interlock gates, and rejection codes are handled separately in Asset Command. The execution panel is visible only to ADMIN and MANAGER users.


Tag Screen (/tag/index)​

This screen is used to search, bulk delete, and download as Excel all registered tags.

Top Tools​

🏷 태그 [전체 N개] [✓ 팩토리 모델 확정]
ButtonAction
Total NNumber of registered tags (with thousand separators)
Confirm Factory ModeldeployAssetToEvent() — Same as in the Model screen

On the right side of the list panel header, there are three buttons: Delete Selected Tags / Excel Download / Refresh.

Search Form (Multi-filter)​

InputidWidthOption
Sitesite_id180pxRegistered sites — one is always selected
Areaarea_id180pxAll areas + specific area (automatically updated when site changes)
Lineline_id180pxAll lines + specific line (automatically updated when area changes)
Equipmentequipment_id180pxAll equipment + specific equipment
Connectionopc_id180pxOPC selection + registered OPC
Tag IDtag_id180pxplaceholder: "Tag ID"
Tag Nametag_name180pxplaceholder: "Search tag name ..." (autocomplete)
Data Typejava_type180pxSelector for INT/FLOAT/STRING/BOOL, etc.

Tag Table (10 Columns + Action)​

ColumnWidthDisplay
Select50pxCheckbox for bulk deletion
No.40pxRow number
Tag ID100pxDomain identifier
Tag Name300pxHuman-readable name
Data Type80pxString/Short/Integer/Long/Float/Double/Boolean/Date
Point Count80pxCumulative number of points received
Alarm Count60pxCumulative number of alarms
Current Value60pxLast received value
Unit40pxMeasurement unit (°C, kPa, rpm, etc.)
Last Update Time160pxTime of last reception
Action60px🔧 Edit / 🗑 Delete — visible only to ADMIN

The Description and Delay [MS] columns are not present in the list. Tag descriptions are viewed in Tag Detail, and delays are viewed in the connected tag list of Connection Management.

The Action column is only visible to ADMIN. This column disappears entirely for roles USER and API; if the edit/delete icons are missing, it is a permission issue.

Tag Registration/Edit Form (/tag/form)​

The tag form consists of a two-tier structure: a Basic Information Panel at the top and 9 tabs at the bottom.

There are 10 save buttons — each tab is saved separately

This screen is not a single form. The basic information panel and the 9 tabs each have their own form (form-metadata, form-link, form-alarm …), and the Save button at the bottom right of each panel sends only that panel's data to the server (tab-specific endpoints like POST /tag/updateMetadata/{tag_id}).

If you edit multiple tabs and only click save on the last tab, changes in the other tabs will be lost. Save within each tab as you edit. Upon saving, a green toast notification appears in the top right — if you do not see the toast, the data has not been saved.

Top — Basic Information Panel (Always Displayed)​

InputDescription
Tag IDEnglish/Numbers/_ (Read-only in edit mode)
Tag NameMandatory. For human identification
Data TypeString / Short / Integer / Long / Float / Double / Boolean / Date
Tag DescriptionFree text (100 characters)

The View Tag button on the right side of the panel header navigates directly to the Tag Detail Screen. Saving at the bottom of the panel only saves these four items (/tag/updateBasic).

Bottom — 9 Tabs​

Numbers represent the order from left to right on the screen.

TabIconSave TargetFunction
① Tag Properties☀updateMetadataTag type, tag source, alias, unit, display format, decimals, min/max value, period [MS], IO address, original tag name, lat/long
② Link🔗updateLinkMap this tag to equipment — see below
③ Alarm Band🔔updateAlarm6-stage threshold (numeric) / TRUE·FALSE condition (Boolean) + message, recipient, suppression, email/SMS
④ Calculation🧮updateCalculationVirtual tag formula (EQL, CodeMirror editor) + usage status — Virtual Tag
⑤ Sampling💉updateSamplingUsage status only — when enabled, samples and saves the last value per period
⑥ Aggregation🪙updateAggregationUsage status + select aggregation period 1min / 5min / 10min / 30min / 1hour
⑦ AI🧠updateAiTarget column / Branch column for LLM-based real-time anomaly diagnosis
⑧ Publish📬updatePublishTwo toggles: Kafka Publish and MQTT Publish
⑨ Note💬updateAttributeFree-form memo about the tag

① Tag Properties Tab — 4 fieldsets​

fieldsetItem
Tag PropertiesTag type, Criticality, Tag source, Metric usage
Data PropertiesAlias, Unit, Display format, Decimal rounding mode, Decimal scale, Min/Max value, Period [MS], Read/Write
IO and Original OPC Tag NameIO address (for PLC management), Original tag name
LocationLatitude / Longitude — coordinates are picked using the [Select from Map] button
Min/Max values are for «Gauge Scales», not «Validation»

min_value / max_value do not block values outside the range. As stated in the on-screen help, «If you enter min/max values, they will be displayed as the basis for the gauge chart» — these values determine the ends of the scale for the canvas gauge widget. To filter values, use alarm bands or calculation formulas.

Period [MS] is not a value that «changes» the collection cycle, but a value to record how often this tag is expected to arrive. The actual polling interval is set in the connection (OPC/Modbus/PLC) settings.

Specifying an Alias makes that name the column name for event and asset data — because it changes the name visible when querying via EQL, do not change the alias of a tag already in use.

ItemDescription
Search EquipmentSearch and select by equipment ID or name (e.g., EQUIPMENT_000001, 사출기 #3)
Currently Mapped Equipment IDRead-only — linked_asset_id is automatically updated when equipment is selected
UnmapClears the mapping
Mapping is only to equipment

The link target is only Equipment (asset_type='M'). Mapping to Lines or Areas is not possible.

Mapped equipment uses this tag's data in OEE / RAM / EMS analysis. Conversely, if a tag is not linked to equipment, it will not be captured in ISO analysis — check here first if analysis results appear empty.

③ Alarm Band Tab — 5 fieldsets​

Only numeric and boolean types can have band alarms

As per the on-screen warning: «Band alarm settings are only possible if the data type is number (Short, Integer, Long, Float, Double) or boolean (Boolean).» Alarm bands cannot be set for String · Date tags. Use Advanced Alarms to monitor such tags.

Alarm settings are applied to a single tag. To set an alarm based on a combination of multiple tags (e.g., inlet − outlet pressure), first create that combination as a Virtual Tag and apply the alarm to the virtual tag.

Threshold / Boolean Condition

For numeric tags, a single-line graphic bar is displayed, allowing users to verify which color band lo_lo · lo · hi · hi_hi maps to within the min_value ~ max_value range before saving.

[ ███ lo_lo ████ lo ════════════ 정상 ════════════ hi ████ hi_hi ███ ]
🔴 심각 🟠 경고 🟢 정상 🟠 경고 🔴 심각
ItemDescription
lo_lo / hi_hiCritical alarm threshold — last warning line before Trip
lo / hiWarning alarm threshold
trip_lo / trip_hiTrip (equipment stop command) threshold — action occurs beyond alarm
use_alarmUse alarm band — if disabled, all thresholds are ignored

Boolean tags instead specify Alarm Condition (When TRUE / When FALSE / Not Used), Alarm Grade, Occurrence Point, Criticality, and Message for TRUE and FALSE separately.

Alarm Message — Replacement Tokens

The default text is {tag_name} 값이 임계치를 초과하였습니다 — 현재값 {value}. The following tokens are replaced by actual values at the time of occurrence.

TokenReplacement Value
{tag_id}Tag ID
{tag_name}Tag Name
{value}Current Value
{timestamp}Occurrence Time
{band}Alarm Band (TRIP_HI / HI_HI, etc.)

Recipients · Duplicate Suppression · Transmission

fieldsetItemDescription
RecipientDefault RecipientDelivered to the registrant
Additional RecipientsSpecify other recipients
Duplicate Alarm SuppressionSuppression Time (min)Suppresses push notifications for the same type of alarm during this period
Email / SMS TransmissionEmailDelivers alarm to the recipient's email
SMSDelivers SMS to the recipient's phone — requires an SMS gateway
If alarms flood, check «Suppression Time» before thresholds

If values fluctuate near the threshold, the same alarm may be generated every second. Try increasing the Suppression Time (min) before widening the thresholds — widening thresholds may cause you to miss real anomalies.

⑤ Sampling · ⑥ Aggregation — The Difference​

SamplingAggregation
What is savedLast value of each periodStatistical value of each period
Statistics type—First/Last value, Min, Max, Average, Std Dev, Median
Period10s, 30s, 1min, 5min, 10min, 30min, 1hourSelect from 1min / 5min / 10min / 30min / 1hour
Screen SettingUsage status onlyUsage status + Period
Short aggregation periods may slow down the system

As per the on-screen help: «If the point generation cycle is fast, system performance may slow down, so please be mindful of selecting a long aggregation period.» Aggregations are run by a real-time in-memory engine; enabling 1-minute aggregation for all tags that arrive every second will increase memory and CPU usage.

⑦ AI Tab — Selecting «Targets» for Multivariate Anomaly Detection​

This tab is not for attaching predictive models. As the screen subtitle suggests, it defines how this tag will be used in LLM-based real-time anomaly diagnosis. Each is set to either Target or Not Target.

ItemMeaning
Target ColumnUsed as a target for multivariate correlation analysis. Activated only if there are 2 or more target tags within the equipment
Branch ColumnUsed as a category (recipe, equipment mode, operation, etc.) to divide multivariate data
Nothing happens if there is only one target tag

Correlation is only defined between two or more variables. If you enable «Target» for only one tag in a piece of equipment, the analysis will not be activated — enable tags that move together, such as temperature, pressure, and current.

⑧ Publish Tab — Kafka / MQTT​

ToggleFunction
KAFKA PublishPublishes point messages via Kafka protocol
MQTT PublishPublishes point messages via MQTT protocol
OPC-UA server plugins require Kafka Publish to be enabled to receive data

As stated in the on-screen help: «To receive data in the OPC-UA server plugin, KAFKA Publish must be activated.» If values are not appearing after attaching a plugin, check this toggle on the tag before checking plugin settings.

Inline help is displayed below input labels to guide the user on formats and constraints.

Virtual Tags and Virtual Points​

The tag screen provides two special registration methods.

ScreenPurpose
tag/add_vtag.jspVirtual Tag — Registered via Connected Tag List → [Virtual Tag] in the connection edit screen. Values are generated by the EQL in the Calculation tab using other tag values
tag/add_vpoint.jspVirtual Point — Allows manual entry of time and value for a single tag via [Virtual Point] in the stream screen

Instructions, examples, and relationships with alarms can be found in Virtual Tag.

Tag Detail Screen (/tag/view/{tag_id})​

Accessed by clicking a tag name in the tag list. This view aggregates all operational information for a single tag. The screen is structured as Left col-lg-3 (2 panels) + Right col-lg-9 (Current Value panel + Data/Alarm tabs).

Top — Page Header​

🏷 태그 | {태그명} [ 태그명 입력 ▼ ] [태그 이동 →] [← 목록] [↻]
ControlAction
Tag Name Input + Move to TagSearch for another tag via autocomplete and navigate immediately to its detail screen (moveTag())
← ListReturn to the tag list (/tag/index)
↻Refresh screen (re-subscribe to real-time data)

Left ① Tag Information Panel — 4 Sections ds-dl​

The ⚙ Gear icon on the right side of the panel header navigates to the tag settings form (/tag/form). Saving is only possible for roles with edit permissions.

Section (view-section-title)Display Items (Definition List)
🪪 Basic InformationTag ID (Domain badge TAG), Tag Name, Data Type, Tag Description, Registration Date
🔗 Connection InformationConnection ID (Domain badge OPC), Connection Name
🏭 Site InformationSite ID (Badge), Site Name
🟦 Asset InformationAsset ID (Badge), Asset Name

All IDs are displayed with domain-specific colored badges. Clicking a badge navigates to the detail screen of that domain (e.g., Site → Site screen).

Left ② Statistics Information Panel — Points, Alarms, and Alarms by Criticality​

The Today / Yesterday toggle button on the right side of the panel header switches the statistics period.

SectionDisplay
📶 PointsLarge number "Points received today" + 24-hour spark (point_24hh) + Total cumulative point counter
🔔 AlarmsLarge number "Alarms generated today" + 24-hour spark (alarm_24hh) + Total cumulative alarm counter
❗ Alarms by Criticality3-card grid — Info (Blue), Warning (Yellow), Critical (Red), each with a large number and label
┌── 정보 ──┐ ┌── 경고 ──┐ ┌── 심각 ──┐
│ 1,234 │ │ 23 │ │ 2 │
│ (파랑) │ │ (노랑) │ │ (빨강) │
└──────────┘ └───────────┘ └───────────┘
↓ 그 아래에 도넛 차트
[중요도별 점유율 도넛 차트]

Right ① Current Value Panel (5 Columns)​

Quick navigation button group on the right side of the panel header.

Quick MoveAction
🔀 StreamView this tag in real-time in Stream
🗄 TrendView the Trend for this tag
🔔 AlarmView the Alarm history for this tag
ColumnDisplay
Current ValueLarge number — Quality color badge (good = green, uncertain = yellow, bad = red)
Last UpdateTime (yyyy-MM-dd HH:mm:ss)
Delay [MS]Average response delay
QualityOPC quality code (e.g., GOOD, BAD, UNCERTAIN)
Error CodeCode from the last reception if an error occurred

Right ② Data/Alarm Tab​

TabContent
📊 Data PointChart panel (real-time trend line — numeric) or status timeline (Boolean) + Aggregation table (Today's received points, Min, Max, Average, Sum / For Boolean: First, Last, Sum)
🔔 AlarmList of alarms generated for this tag and their processing status

Charts in the Data tab are updated in real-time via WebSocket. A «Loading chart...» guide is displayed in the center during loading.

This detail screen serves as the comprehensive operational inspection point for a tag — used for reviewing thresholds, tracking anomalies, and verifying physical mapping.


Ontology Screen (/ontology/index)​

An advanced meta screen that visualizes asset classification systems (categories, meta-attributes, relationships) and site-unit knowledge graphs. Following the design system overhaul, it has been restructured into a Site Banner + Left Side Card + Graph Body.

Top — Site Banner (onto-site-banner)​

A full-color banner is displayed immediately below the page header.

🏭 {사이트명} | {사이트 설명} [기준시간 : {gen_timestamp}]
  • When the site is changed, the banner text is updated immediately.
  • The reference time is when the tree and metrics were last refreshed.

Left ① Site Panel (col-w-280)​

Panel Header​

ButtonAction
❄ Radial ToggleSwitches the tree in the panel body between a standard tree ↔ radial graph
↻ RefreshRebuild tree (createTree())

Panel Body — Two Selectors​

SelectorOption
Site SelectionRegistered sites — one is always selected (Changing this immediately rebuilds the tree)
Initial LevelSite > Area / Site > Area > Line / Site > Area > Line > Equipment (Default)

Displays total site count — 🏭 전체 사이트 N개.

Left ② Asset Count Cards (4 Types) (onto-count-stack)​

A full-color gradient 4-card grid is displayed below the site panel, showing the asset counts for the selected site.

CardIconDisplay
AREA🏭 GarageNumber of Areas (area_size)
LINE📜 ConveyorNumber of Lines (line_size)
EQUIPMENT📺 BetamaxNumber of Equipment (equipment_size)
TAG🏷 TagNumber of Tags (tag_size)

Body — Ontology Graph​

Visualizes the asset tree of the selected site on a large canvas.

ActionShortcut
Node ClickDisplays meta panel for that node (Selected Site Event/Status/Aggregation Container)
Zoom In/OutMouse Wheel
Node DragMove position
Node Hoveronto-tip-* tooltip (Domain ID badge + meta key preview) — displayed in different oklch colors by domain

Key Features​

  • Category Tree / Radial — Construct the asset classification hierarchy (e.g., Rotating Machinery → Motor → AC Motor).
  • Meta-Attribute Definition — Define meta keys that assets in a category will have (e.g., rated power and voltage for motors).
  • Relationship Definition — Express relationships between assets (Parent/Interlock/Substitute).
  • Verification Rules — Define validation rules for meta inputs (Mandatory/Numeric/Range).
  • Domain ID Badges — SITE/AREA/LINE/EQUIPMENT/TAG colors are unified with the oklch colors used in Integrated Domain ID Search.

The ontology screen is not frequently used by general operators. It is defined by system administrators during initial system deployment or when reorganizing asset categories.


Metadata Screen (/metadata/index)​

A lightweight screen for registering user-defined meta key-values by domain.

Use Case Examples​

DomainMeta KeyValue
Assetmanufacturer"ABC Industries"
Assetinstalled_year"2020"
Tagdescription_en"Pump discharge pressure"
Ordercustomer_class"VIP"

Input Format​

ColumnDescription
Domain TypeAsset/Tag/Order/Customer, etc.
Domain IDIdentifier for that domain
Meta KeyUser-defined
Meta ValueFree text/Number

Unlike Ontology, metadata consists of free meta not bound to a category. Use this when quick, temporary meta is needed.


Base Data Screen (/basedata/index)​

A screen for registering code masters and reference values. Codes are managed by tab.

Tab Configuration​

TabDescription
Asset TypeLayer codes for the equipment hierarchy
Site Classification · Area Classification · Line Classification · Equipment ClassificationThe Equipment Classification (Asset class) codes and language-specific names for that layer — this is the list used in the Equipment Classification selector of the Asset screen
Equipment StatusEquipment status codes
Tag TypeTag type codes
Defect Cause · Stop Cause · Failure CauseCause codes
Cause DictionaryCause dictionary
EQL TemplateEQL templates
Shift TypeShift type codes
Equipment classification is separate for each layer

Site, Area, Line, and Equipment each have their own classification lists. Only codes from the Equipment Classification tab can be entered for equipment — entering a code from another layer will result in a save rejection. Classifications are stored as codes (asset_class_code) with separate names for each language. Via API, this is /api/v5/reference/asset-class.

Base Data is a screen for defining system standard values and is not changed frequently. Use it only when organizing standard codes.


Confirm Factory Model​

Clicking the ✓ Confirm Factory Model button at the top of the Model or Tag screens applies the registered sites, assets, and tags to the event rule engine (CEP > Statement).

Operating Procedure​

  1. Verify that asset trees, tags, and mappings for all sites are registered as intended.
  2. Click ✓ Confirm Factory Model at the top.
  3. The system automatically registers asset-unit domain rules (status, aggregation, event, command).
  4. After rule registration, new rules will be visible in CEP > Statement.

When to Confirm?​

  • Immediately after bulk registering new sites or assets.
  • After making significant changes to asset classifications or hierarchies.
  • After bulk changes to alarm bands or meta-attributes.

Do not click Confirm Factory Model frequently (there is a cost to re-registering the rule engine). It is best to click it once after all modification work is complete.


Use Case Scenarios​

ScenarioProcedure
New Factory SetupModel → Add Site → Construct Area/Line/Equipment tree in Asset screen → Register OPC connection → Auto/Manual tag registration → Confirm Model
Add New LineAsset screen → Select Area of Site → Add Line → Construct Equipment tree under Line → Register tags
Bulk Tag CleanupTag screen → Narrow down targets using search form → Select → Delete Selected Tags
Enhance Asset MetaMetadata screen → Domain = Asset, Key = manufacturer, etc. (free addition)
Standardize Asset CategoryOntology screen → Organize category tree → Define meta-attributes by category
Add New UnitBase Data → Unit Master tab → Add
Bulk Extract Operational MetaTag screen → Search → Excel Download

Frequently Asked Questions​

Q. I added a site, but the marker does not appear on the Dashboard map. A. Markers are not displayed if latitude and longitude are not registered during site addition. Go to the site card's 🔧 Edit → enter Latitude/Longitude.

Q. What is the difference between Confirm Model and Meta Store Backup? A. Confirm Model bulk-registers assets/tags into the rule engine (activating operation), whereas Meta Store Backup is a separate process for archiving the entire meta-store as a backup file (data preservation).

Q. Can I change the parent asset in the asset tree? A. It is generally recommended not to change the parent node of an asset (for history and rule consistency). If a change is absolutely necessary, please consult with a system administrator.

Q. Does deleting a tag also delete historical data? A. Tag meta is deleted, but time series data is maintained for a certain period according to the retention policy. Inquire with your system administrator regarding the exact retention policy.

Q. What is the difference between a virtual tag and a regular tag? A. Regular tags receive data from actual sensors/PLCs, while virtual tags are virtual time series created by calculating values from other tags. Example: Define a virtual tag C as the difference between sensor A and sensor B. See Virtual Tag for instructions.

Q. What happens if I don't use the ontology? A. It does not affect basic operations. Ontology is used when you want to manage assets via a classification system (e.g., integrated reports for all motors).

Q. Confirming the model in the asset tree takes a long time. A. It takes longer as the number of assets increases (several minutes for thousands of assets). We recommend performing model confirmation outside of business hours.

Q. Autocomplete is not working in tag search. A. A site must be selected for autocomplete to function. Please set the site selector first.

Q. Where can I see the key-values registered in metadata? A. They can be viewed in the asset detail screen, the meta area of the asset tree, and as part of the message payload in domain CRUD nodes in Flow.

Q. Does changing a code in base data affect existing data? A. Yes, code changes affect existing data. Please consult with a system administrator before making changes.


  • Dashboard — Registered assets are reflected in KPI cards and the site map.
  • Connection Management — Physical model (OPC) registration and status monitoring.
  • Data Point — Time series viewing for registered tags.
  • Equipment — Monitoring of equipment in the asset tree in card format.
  • Production Management — Registration of work orders, customers, products, employees, and shift schedules.
  • CEP > Statement — Domain rules registered after model confirmation.
  • Flow — Automation for asset auto-registration and meta auto-update.
  • Status Code Definition — Mapping of connection status and health status codes.