32f26272ae
Five tools under one repo, all docs organized per DOCS-GUIDE.md: - aalogcli: .NET 4.8 / x86 CliFx CLI for reading System Platform binary logs (*.aaLGX) for LLM debugging, built on aaOpenSource/aaLog. Commands: last, tail, range, unread, fields. Stable JSON envelope under --llm-json. Build template under lib/build/ for rebuilding aaLogReader.dll. - aot: ArchestrA Object Toolkit 2014 v4.0 reference material. Dev guide (Markdown converted from CHM), API reference for the ArchestrA.Toolkit namespace, and the Monitor / Watchdog VS sample solutions. - graccesscli: .NET 4.8 / x86 CliFx CLI that automates Galaxy configuration via the ArchestrA GRAccess COM interop. Includes session daemon, IPC protocol, and llm-json envelope contract. - grdb: SQL/DDL exploration of the Galaxy Repository database. DDL captures, reusable queries, hierarchy / contained-name <-> tag-name translation notes. - histdb: LLM-oriented reference for AVEVA Historian retrieval. INSQL linked-server, extension tables, every wwXxx time-domain extension, every retrieval mode, alarm/event SQL recipes, REST API. Distilled from the 243-page Historian Retrieval Guide. Root contains: - CLAUDE.md: thin index pointing into each tool's README. - DOCS-GUIDE.md: doctrine for organizing docs for LLM consumption. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
52 lines
3.0 KiB
Markdown
52 lines
3.0 KiB
Markdown
# CLAUDE.md
|
|
|
|
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
|
|
## Purpose
|
|
|
|
The goal of this project is to identify and develop SQL queries that extract the Galaxy object hierarchy from the **System Platform Galaxy Repository** database in order to build a tag structure for an OPC UA server.
|
|
|
|
Specifically, we need to:
|
|
- Build the hierarchy of **areas** and **automation objects** (using contained names for human-readable browsing)
|
|
- Translate contained names to **tag_names** for read/write operations (e.g., `TestMachine_001.DelmiaReceiver` in the hierarchy becomes `DelmiaReceiver_001` when addressing tag values)
|
|
|
|
See `layout.md` for details on the hierarchy vs tag name relationship.
|
|
|
|
## Key Files
|
|
|
|
### Documentation
|
|
- `connectioninfo.md` — Database connection details and sqlcmd usage
|
|
- `layout.md` — Galaxy object hierarchy, contained_name vs tag_name translation, and target OPC UA structure
|
|
- `build_layout_plan.md` — Step-by-step plan for extracting hierarchy, attaching attributes, and monitoring for changes
|
|
- `data_type_mapping.md` — Galaxy mx_data_type to OPC UA DataType mapping, including array handling (ValueRank, ArrayDimensions)
|
|
|
|
### Queries
|
|
- `queries/hierarchy.sql` — Deployed object hierarchy with browse names and parent relationships
|
|
- `queries/attributes.sql` — User-defined (dynamic) attributes with data types and array dimensions
|
|
- `queries/attributes_extended.sql` — All attributes (system + user-defined) with data types and array dimensions
|
|
- `queries/change_detection.sql` — Poll `galaxy.time_of_last_deploy` to detect deployment changes
|
|
|
|
### Schema Reference
|
|
- `schema.md` — Full schema reference for all tables and views in the ZB database
|
|
- `ddl/tables/` — Individual CREATE TABLE definitions
|
|
- `ddl/views/` — Individual view definitions
|
|
|
|
## Working with the Galaxy Repository Database
|
|
|
|
The Galaxy Repository is the backing SQL Server database for Wonderware/AVEVA System Platform (Galaxy: ZB, localhost, Windows Auth). Key tables used by the queries:
|
|
|
|
- **gobject** — Object instances, hierarchy (contained_by_gobject_id, area_gobject_id), deployment state (deployed_package_id)
|
|
- **template_definition** — Object type categories (category_id distinguishes areas, engines, user-defined objects, etc.)
|
|
- **dynamic_attribute** — User-defined attributes on templates, inherited by instances via derived_from_gobject_id chain
|
|
- **attribute_definition** — System/primitive attributes
|
|
- **primitive_instance** — Links objects to their primitive components and attribute definitions
|
|
- **galaxy** — Single-row table with time_of_last_deploy for change detection
|
|
|
|
Use `sqlcmd -S localhost -d ZB -E -Q "..."` to run queries. See `connectioninfo.md` for details.
|
|
|
|
## Conventions
|
|
|
|
- Store all connection parameters in `connectioninfo.md`, not scattered across scripts.
|
|
- Keep SQL query examples and extraction notes as Markdown files in this repo.
|
|
- If scripts are added (Python, PowerShell, etc.), document their usage and dependencies alongside them.
|