Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Code Block
languageyaml
titleSkill Frontmatter
---
title: "Acme Corp — Tag Naming and Structure Standards"
tags: [naming, convention, tags, structure, standard, acme, company]
description: "Acme Corp company standard for UNS tag naming, folder hierarchy, data types, and descriptions. Apply to all new Acme solutions."
version: "2.

...

1"
author: "Acme Corp Engineering"
---


Excerpt

Company-specific naming conventions for Acme Corp: mandatory 4-level tag hierarchy, imperial units, description format standards, and standard equipment tag templates. This is a user-created skill example showing how integrators enforce company standards.


Info

This is an example of a user-created skill. It shows how an integrator or end-user would create a company-specific skill to enforce their naming standards. To create your own, see the Skill Authoring Guide.

...

Section


Column
width50%

What This Skill Does

...

This skill defines Acme Corp's mandatory tag naming conventions. All new solutions for Acme plants must follow this structure. When the user asks to create tags, apply these rules automatically.


Column
width50%
Table of Contents
maxLevel2
minLevel2
indent10px

...

stylenone

...


When to Use This Skill

Use this skill when:

  • Creating tags for any Acme Corp solution
  • The user says "create tags", "add tags", or "set up the namespace"
  • Reviewing or refactoring an existing Acme solution's tag structure

Tag Hierarchy

All Acme tags follow this 4-level hierarchy:

Code Block
languagetext
titleTag Naming Pattern
{Site}/{Unit}/{Equipment}/{Measurement}

Examples:

  • Houston/Distillation/Column1/Temperature
  • Houston/Distillation/Column1/Pressure
  • Houston/Utilities/Boiler2/SteamFlow
  • Baytown/Cracking/Reactor3/CatalystLevel

Rules:

Level

Description

Examples

Site

...

City name

...

Houston, Baytown, Beaumont

...

Unit

...

Process unit name

...

Distillation, Cracking, Utilities, Storage

...

Equipment

Equipment

...

ID with number suffix

...

Column1, Pump3, Boiler2

...

Measurement

...

What is measured

...

Temperature, Pressure, Level, Flow, Status, Speed

...


Warning

Never use:

  • Abbreviations in measurement names (use Temperature not Temp)
  • Underscores (use PascalCase for multi-word names: SteamFlow not Steam_Flow)
  • Generic names like Tag1, Analog1, Value

Data Type Standards

Measurement Type

DataType

Unit

Example

Temperature

Double

°F

350.5

Pressure

Double

PSI

125.3

Level

Double

%

67.2

Flow

Double

GPM

1200.0

Speed

Double

RPM

3600.0

Status

Integer

enum

0=Off, 1=Running, 2=Fault

Command

Boolean

True/False

Setpoint

Double

same as measurement

350.0


Note

Important: Acme uses imperial units (°F, PSI, GPM), not metric. All tag descriptions must include the unit.

Description Format

Every tag must have a description following this format:

Code Block
languagetext
{Equipment full name} {measurement} in {unit}

Examples:

  • "Distillation Column 1 temperature in °F"
  • "Boiler 2 steam flow rate in GPM"
  • "Cracking Reactor 3 catalyst level in %"

Example: Creating Tags for a New Pump

When the user asks to add tags for a pump, create this standard set:

Code Block
languagejson
titlewrite_objects — Standard Pump Tag Template
{
  "table_type": "UnsTags",
  "data": [
    { "Name": "{Site}/{Unit}/Pump{N}/Status",            "DataType": "Integer", "Description": "{Unit} Pump {N} status (0=Off, 1=Running, 2=Fault)" },
    { "Name": "{Site}/{Unit}/Pump{N}/Speed",              "DataType": "Double",  "Description": "{Unit} Pump {N} speed in RPM" },
    { "Name": "{Site}/{Unit}/Pump{N}/DischargePressure",  "DataType": "Double",  "Description": "{Unit} Pump {N} discharge pressure in PSI" },
    { "Name": "{Site}/{Unit}/Pump{N}/SuctionPressure",    "DataType": "Double",  "Description": "{Unit} Pump {N} suction pressure in PSI" },
    { "Name": "{Site}/{Unit}/Pump{N}/Flow",               "DataType": "Double",  "Description": "{Unit} Pump {N} flow rate in GPM" },
    { "Name": "{Site}/{Unit}/Pump{N}/BearingTemp",        "DataType": "Double",  "Description": "{Unit} Pump {N} bearing temperature in °F" },
    { "Name": "{Site}/{Unit}/Pump{N}/RunHours",           "DataType": "Double",  "Description": "{Unit} Pump {N} cumulative run hours" },
    { "Name": "{Site}/{Unit}/Pump{N}/StartCommand",       "DataType": "Boolean", "Description": "{Unit} Pump {N} start command" },
    { "Name": "{Site}/{Unit}/Pump{N}/StopCommand",        "DataType": "Boolean", "Description": "{Unit} Pump {N} stop command" }
  ]
}

Ask the user for Site, Unit, and pump number, then substitute into the template.

Alarm Naming Convention

Alarm items follow this pattern:

Code Block
languagetext
{Site}_{Unit}_{Equipment}_{Condition}

Example: Houston_Distillation_Column1_TempHigh

Verification

After creating tags, verify:

  1. All tags follow the 4-level hierarchy
  2. No abbreviations in measurement names
  3. All descriptions include units
  4. DataTypes match the standard table above
  5. Imperial units used (not metric)

...

In this section...

Page Tree
root@parent

...

...