Factory Management
Table of Contents
- Overview
- Screen Layout — 6 Sub-menus
- Model Screen (
/model/index) - Asset Screen (
/asset/tree/index) - Tag Screen (
/tag/index) - Ontology Screen (
/ontology/index) - Metadata Screen (
/metadata/index) - Base Data Screen (
/basedata/index) - Confirm Factory Model
- Use Case Scenarios
- Frequently Asked Questions
- Related Screens
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-menu | Internal URL | Purpose |
|---|---|---|
| Model | /model/index | Add site + map logical/physical models + confirm model |
| Asset | /asset/tree/index | Edit asset tree (Site → Area → Line → Equipment) |
| Tag | /tag/index | Register tag list, search, bulk delete, and export to Excel |
| Ontology | /ontology/index | Register asset classification systems (category, meta-attribute) |
| Metadata | /metadata/index | Domain-specific user-defined meta-attribute key-values |
| Base Data | /basedata/index | Register 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:
[모델] → [에셋] → [태그]
사이트 추가 자산 계층 등록 태그 등록·매핑
│ │ │
└─────[온톨로지·메타데이터·기준정보 보강]──────┘
│
└→ [팩토리 모델 확정] (배포)
| Screen | Frequency of Use | When to Open |
|---|---|---|
| Model | Medium | When adding a new site or adjusting logical ↔ physical mapping |
| Asset | High | When changing asset hierarchies or asset meta |
| Tag | Very High | When registering tags, editing, or setting alarm bands — most frequent use |
| Ontology | Medium | When organizing classification systems |
| Metadata | Low | When adding user-defined meta-attributes |
| Base Data | Low | When editing code masters |
Model Screen (/model/index)
Top Tools
🗂 모델 [✓ 팩토리 모델 확정] [💾 메타 스토어 백업] [↻]
| Button | Action |
|---|---|
| Confirm Factory Model | deployAssetToEvent() — Applies registered assets/tags to event rules and reflects them in the rule engine (See Confirm Factory Model below) |
| Meta Store Backup | backup() — Backs up the entire meta-store (for administrator archival) |
| Refresh | refresh() |
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:
| Area | Display |
|---|---|
| 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
| Input | Description |
|---|---|
| Company Name | The company the site belongs to. There is only one company per installation |
| Site ID | Only uppercase English letters, numbers, and _ allowed — must start with SITE_ |
| Site Name | Human-identifiable name |
| Location | Select coordinates using [Select from Map] |
| Description | Free text |
| Operational Status | Major stage of operation |
| Site Code (ERP/MES) | Factory code used by ERP/MES (Optional) |
| Address | Workplace 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)
| Action | Action ID | Description |
|---|---|---|
| Refresh Model Tree | loadTreeData(last_tree_site_id) | Reload tree |
| Search Asset | searchItem('Asset') | Toggle search input field above tree |
| Add Asset | showAddModal('Asset') | New asset addition modal |
| Edit Asset | showModifyModal('Asset') | Edit selected asset |
| Delete Asset | deleteItem('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)
| Action | Action ID | Description |
|---|---|---|
| Search Connection | searchItem('OPC') | Toggle search input field above tree |
| Add Connection | addOpc() | 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 [입력] │ │
│ │ 에셋 명 [입력] │ │
│ │ 설명 [입력] │ │
│ └──────────────────────────────────┘ │
│ │
├──────────────────────────────────────────┤
│ [× 취소] [💾 저장] │
└──────────────────────────────────────────┘
| Area | Display |
|---|---|
| Modal Header | 🏭 Icon + Title + × Close |
| Parent Asset fieldset | ID and Name of the parent node (Read-only — displays tree selection) |
| Asset Information fieldset | ID, 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-labelclass 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.

| No. | Position | Function |
|---|---|---|
| ① | Top Left | Site Selector — Choose which site's tree to view |
| ② | Left Body | Asset Tree — Site → Area → Line → Equipment. Selecting a node updates the right side |
| ③ | Bottom Left | Object ID — The domain ID of the node hovered over in the tree is displayed here |
| ④ | Top Right | Asset 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 Edge | Save — Saves changes made in ④ |
| ⑥ | Bottom Right | Timeline — Trends of the asset's connection and health status |
| ⑦ | Top Right Corner | Confirm Factory Model — Applies the edited model to the engine (See below) |
The image above shows this state — 「No asset selected」. This is not a malfunction.
Left — Asset Tree
🗂 모델 — 사이트 → 구역 → 라인 → 설비 [💬] [🔍] [📋]
사이트: [▼]
[에셋 트리 / 연결 트리]
─────────────────────
🔗 오브젝트 ID: - ← 트리에서 호버 시 도메인 ID 표시 (footer)
| Header Icon | Action |
|---|---|
| 💬 (Speech Bubble) — Show tag description | Toggle to show tag node descriptions within the tree |
| 🔍 Search | Toggle text search input field within the tree |
| 📋 Copy | Copy 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.
| Card | Icon | Display |
|---|---|---|
Connection Status (connection_status) | 📶 Wi-Fi | Full-color gradient — 🟢 Normal / 🟡 Delay / 🔴 Anomaly / ⬛ Disconnected / ⚪ Unknown |
Health Status (health_status) | 💗 Heartbeat | Full-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)
| Input | path | placeholder/Description |
|---|---|---|
| Asset ID | asset_id | Read-only |
| Asset Name | asset_name | placeholder: 예) 조립 1라인 (한글·영문·숫자·공백·_ . - ( ) & , / :) |
| Equipment Classification | asset_class_code | Classification for this layer — Selector. The list is found in the classification tab of the Base Data screen |
| Description | description | Free text |
Asset Image Panel
| Control | Action |
|---|---|
| 📂 Select File | Select PNG/SVG (Recommended 640×320) |
| ☁ Upload | Register the selected image to that asset |
Timeline Panel — Time Trends
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.
| Legend | Color | Meaning |
|---|---|---|
| Unknown | ⚪ Grey | No reception history |
| Normal | 🟢 Green | No anomaly |
| Caution | 🟡 Yellow | Warning alarm exists |
| Danger | 🔴 Red | Critical alarm exists |
| Disconnected | ⬛ Dark Red | No 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.

| No. | Position | Function |
|---|---|---|
| ① | End of tab row | Unique Properties tab |
| ② | Tab body | Layer-specific attributes (Equipment in image), Person in Charge, Operational Status, External Number |
| ③ | Bottom Right | Save Unique Properties |
| Layer | Items |
|---|---|
| Site | Timezone (defaults to installation timezone if empty), Country, Site Code, Address, Latitude, Longitude |
| Area | Function (Production / Storage / Utility), Person in Charge |
| Line | Type (Production Line / Process Cell / Production Unit), Design Speed (Value and Unit per hour), Person in Charge |
| Equipment | Manufacturer, Model, Serial Number, Functional Location, Criticality (A High / B Medium / C Low), Installation Date, Commissioning Date, Warranty Expiry Date |
| Common | External System + External ID (filled or emptied together), Operational Status |
| Field | Note |
|---|---|
| Operational Status | Planned, 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 Location | The number of the position this equipment occupies. Must be unique within the site |
| Actual Person in Charge | Read-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.
| Column | Width | Display |
|---|---|---|
| Asset ID | 250px | ID of the child asset (Domain badge) |
| Asset Name | 250px | Name of the child asset |
| Description | Auto | Memo |
When EQUIPMENT is selected — 13 Tab Panels
When an EQUIPMENT node is selected, 13 tab panels are displayed instead of the child table.
| Tab | Icon | Panel | Content |
|---|---|---|---|
| ① Connection | 🌐 | Mapped connection list | Data sources like OPC/PLC/Modbus connected to this equipment — status, ID, name, type, server IP |
| ② Tag | 🏷 | Mapped tags | Tags mapped to the equipment with current value, unit, data type, and last update |
| ③ Data | 🗄 | Recent data | Recently collected time series snapshots (timestamp, data JSON) + [Move to Trend] |
| ④ Alarm | 🔔 | Recent alarm list | Alarms generated from tags mapped to the equipment (SEQ, active, criticality, content) + [Move to Alarm] |
| ⑤ Event | 📅 | Recent event list | Events generated by statements or plugins (event name, color, start time, duration [MS]) |
| ⑥ Status | 👁 | Recent status list | Key-value contexts tracked by statements |
| ⑦ Aggregation | 🥧 | Recent aggregation list | Aggregation key-values loaded by statements |
| ⑧ Command | 🎮 | Execute command + recent command list | Execute defined commands on this equipment — Asset Command |
| ⑨ Registry | 💻 | Asset statement + command registry | EQL statement and ISO plugin registration, semantic command definition for this equipment |
| ⑩ Document | 📄 | Asset documents | Management of documents attached to equipment |
| ⑪ Maintenance | 🔧 | Equipment maintenance | Maintenance orders for this equipment |
| ⑫ Reference Value | 📏 | Reference values | Standard value profile for this equipment |
| ⑬ Unique Properties | ☑ | Unique properties | See section above + QR Label |
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.
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개] [✓ 팩토리 모델 확정]
| Button | Action |
|---|---|
| Total N | Number of registered tags (with thousand separators) |
| Confirm Factory Model | deployAssetToEvent() — 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)
| Input | id | Width | Option |
|---|---|---|---|
| Site | site_id | 180px | Registered sites — one is always selected |
| Area | area_id | 180px | All areas + specific area (automatically updated when site changes) |
| Line | line_id | 180px | All lines + specific line (automatically updated when area changes) |
| Equipment | equipment_id | 180px | All equipment + specific equipment |
| Connection | opc_id | 180px | OPC selection + registered OPC |
| Tag ID | tag_id | 180px | placeholder: "Tag ID" |
| Tag Name | tag_name | 180px | placeholder: "Search tag name ..." (autocomplete) |
| Data Type | java_type | 180px | Selector for INT/FLOAT/STRING/BOOL, etc. |
Tag Table (10 Columns + Action)
| Column | Width | Display |
|---|---|---|
| Select | 50px | Checkbox for bulk deletion |
| No. | 40px | Row number |
| Tag ID | 100px | Domain identifier |
| Tag Name | 300px | Human-readable name |
| Data Type | 80px | String/Short/Integer/Long/Float/Double/Boolean/Date |
| Point Count | 80px | Cumulative number of points received |
| Alarm Count | 60px | Cumulative number of alarms |
| Current Value | 60px | Last received value |
| Unit | 40px | Measurement unit (°C, kPa, rpm, etc.) |
| Last Update Time | 160px | Time of last reception |
| Action | 60px | 🔧 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 rolesUSERandAPI; 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.
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)
| Input | Description |
|---|---|
| Tag ID | English/Numbers/_ (Read-only in edit mode) |
| Tag Name | Mandatory. For human identification |
| Data Type | String / Short / Integer / Long / Float / Double / Boolean / Date |
| Tag Description | Free 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.
| Tab | Icon | Save Target | Function |
|---|---|---|---|
| ① Tag Properties | ☀ | updateMetadata | Tag type, tag source, alias, unit, display format, decimals, min/max value, period [MS], IO address, original tag name, lat/long |
| ② Link | 🔗 | updateLink | Map this tag to equipment — see below |
| ③ Alarm Band | 🔔 | updateAlarm | 6-stage threshold (numeric) / TRUE·FALSE condition (Boolean) + message, recipient, suppression, email/SMS |
| ④ Calculation | 🧮 | updateCalculation | Virtual tag formula (EQL, CodeMirror editor) + usage status — Virtual Tag |
| ⑤ Sampling | 💉 | updateSampling | Usage status only — when enabled, samples and saves the last value per period |
| ⑥ Aggregation | 🪙 | updateAggregation | Usage status + select aggregation period 1min / 5min / 10min / 30min / 1hour |
| ⑦ AI | 🧠 | updateAi | Target column / Branch column for LLM-based real-time anomaly diagnosis |
| ⑧ Publish | 📬 | updatePublish | Two toggles: Kafka Publish and MQTT Publish |
| ⑨ Note | 💬 | updateAttribute | Free-form memo about the tag |
① Tag Properties Tab — 4 fieldsets
| fieldset | Item |
|---|---|
| Tag Properties | Tag type, Criticality, Tag source, Metric usage |
| Data Properties | Alias, Unit, Display format, Decimal rounding mode, Decimal scale, Min/Max value, Period [MS], Read/Write |
| IO and Original OPC Tag Name | IO address (for PLC management), Original tag name |
| Location | Latitude / Longitude — coordinates are picked using the [Select from Map] button |
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.
② Link Tab — Equipment Mapping (Prerequisite for OEE·RAM·EMS)
| Item | Description |
|---|---|
| Search Equipment | Search and select by equipment ID or name (e.g., EQUIPMENT_000001, 사출기 #3) |
| Currently Mapped Equipment ID | Read-only — linked_asset_id is automatically updated when equipment is selected |
| Unmap | Clears the mapping |
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
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 ███ ]
🔴 심각 🟠 경고 🟢 정상 🟠 경고 🔴 심각
| Item | Description |
|---|---|
lo_lo / hi_hi | Critical alarm threshold — last warning line before Trip |
lo / hi | Warning alarm threshold |
trip_lo / trip_hi | Trip (equipment stop command) threshold — action occurs beyond alarm |
use_alarm | Use 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.
| Token | Replacement 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
| fieldset | Item | Description |
|---|---|---|
| Recipient | Default Recipient | Delivered to the registrant |
| Additional Recipients | Specify other recipients | |
| Duplicate Alarm Suppression | Suppression Time (min) | Suppresses push notifications for the same type of alarm during this period |
| Email / SMS Transmission | Delivers alarm to the recipient's email | |
| SMS | Delivers SMS to the recipient's phone — requires an SMS gateway |
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
| Sampling | Aggregation | |
|---|---|---|
| What is saved | Last value of each period | Statistical value of each period |
| Statistics type | — | First/Last value, Min, Max, Average, Std Dev, Median |
| Period | 10s, 30s, 1min, 5min, 10min, 30min, 1hour | Select from 1min / 5min / 10min / 30min / 1hour |
| Screen Setting | Usage status only | Usage status + Period |
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.
| Item | Meaning |
|---|---|
| Target Column | Used as a target for multivariate correlation analysis. Activated only if there are 2 or more target tags within the equipment |
| Branch Column | Used as a category (recipe, equipment mode, operation, etc.) to divide multivariate data |
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
| Toggle | Function |
|---|---|
| KAFKA Publish | Publishes point messages via Kafka protocol |
| MQTT Publish | Publishes point messages via MQTT protocol |
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.
| Screen | Purpose |
|---|---|
tag/add_vtag.jsp | Virtual 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.jsp | Virtual 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
🏷 태그 | {태그명} [ 태그명 입력 ▼ ] [태그 이동 →] [← 목록] [↻]
| Control | Action |
|---|---|
| Tag Name Input + Move to Tag | Search for another tag via autocomplete and navigate immediately to its detail screen (moveTag()) |
| ← List | Return 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 Information | Tag ID (Domain badge TAG), Tag Name, Data Type, Tag Description, Registration Date |
| 🔗 Connection Information | Connection ID (Domain badge OPC), Connection Name |
| 🏭 Site Information | Site ID (Badge), Site Name |
| 🟦 Asset Information | Asset 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.
| Section | Display |
|---|---|
| 📶 Points | Large number "Points received today" + 24-hour spark (point_24hh) + Total cumulative point counter |
| 🔔 Alarms | Large number "Alarms generated today" + 24-hour spark (alarm_24hh) + Total cumulative alarm counter |
| ❗ Alarms by Criticality | 3-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 Move | Action |
|---|---|
| 🔀 Stream | View this tag in real-time in Stream |
| 🗄 Trend | View the Trend for this tag |
| 🔔 Alarm | View the Alarm history for this tag |
| Column | Display |
|---|---|
| Current Value | Large number — Quality color badge (good = green, uncertain = yellow, bad = red) |
| Last Update | Time (yyyy-MM-dd HH:mm:ss) |
| Delay [MS] | Average response delay |
| Quality | OPC quality code (e.g., GOOD, BAD, UNCERTAIN) |
| Error Code | Code from the last reception if an error occurred |
Right ② Data/Alarm Tab
| Tab | Content |
|---|---|
| 📊 Data Point | Chart 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) |
| 🔔 Alarm | List 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
| Button | Action |
|---|---|
| ❄ Radial Toggle | Switches the tree in the panel body between a standard tree ↔ radial graph |
| ↻ Refresh | Rebuild tree (createTree()) |
Panel Body — Two Selectors
| Selector | Option |
|---|---|
| Site Selection | Registered sites — one is always selected (Changing this immediately rebuilds the tree) |
| Initial Level | Site > Area / Site > Area > Line / Site > Area > Line > Equipment (Default) |
Panel Footer
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.
| Card | Icon | Display |
|---|---|---|
| AREA | 🏭 Garage | Number of Areas (area_size) |
| LINE | 📜 Conveyor | Number of Lines (line_size) |
| EQUIPMENT | 📺 Betamax | Number of Equipment (equipment_size) |
| TAG | 🏷 Tag | Number of Tags (tag_size) |
Body — Ontology Graph
Visualizes the asset tree of the selected site on a large canvas.
| Action | Shortcut |
|---|---|
| Node Click | Displays meta panel for that node (Selected Site Event/Status/Aggregation Container) |
| Zoom In/Out | Mouse Wheel |
| Node Drag | Move position |
| Node Hover | onto-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
| Domain | Meta Key | Value |
|---|---|---|
| Asset | manufacturer | "ABC Industries" |
| Asset | installed_year | "2020" |
| Tag | description_en | "Pump discharge pressure" |
| Order | customer_class | "VIP" |
Input Format
| Column | Description |
|---|---|
| Domain Type | Asset/Tag/Order/Customer, etc. |
| Domain ID | Identifier for that domain |
| Meta Key | User-defined |
| Meta Value | Free 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
| Tab | Description |
|---|---|
| Asset Type | Layer codes for the equipment hierarchy |
| Site Classification · Area Classification · Line Classification · Equipment Classification | The 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 Status | Equipment status codes |
| Tag Type | Tag type codes |
| Defect Cause · Stop Cause · Failure Cause | Cause codes |
| Cause Dictionary | Cause dictionary |
| EQL Template | EQL templates |
| Shift Type | Shift type codes |
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
- Verify that asset trees, tags, and mappings for all sites are registered as intended.
- Click ✓ Confirm Factory Model at the top.
- The system automatically registers asset-unit domain rules (status, aggregation, event, command).
- 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
| Scenario | Procedure |
|---|---|
| New Factory Setup | Model → Add Site → Construct Area/Line/Equipment tree in Asset screen → Register OPC connection → Auto/Manual tag registration → Confirm Model |
| Add New Line | Asset screen → Select Area of Site → Add Line → Construct Equipment tree under Line → Register tags |
| Bulk Tag Cleanup | Tag screen → Narrow down targets using search form → Select → Delete Selected Tags |
| Enhance Asset Meta | Metadata screen → Domain = Asset, Key = manufacturer, etc. (free addition) |
| Standardize Asset Category | Ontology screen → Organize category tree → Define meta-attributes by category |
| Add New Unit | Base Data → Unit Master tab → Add |
| Bulk Extract Operational Meta | Tag 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.
Related Screens
- 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.