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>
3.0 KiB
3.0 KiB
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.DelmiaReceiverin the hierarchy becomesDelmiaReceiver_001when 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 usagelayout.md— Galaxy object hierarchy, contained_name vs tag_name translation, and target OPC UA structurebuild_layout_plan.md— Step-by-step plan for extracting hierarchy, attaching attributes, and monitoring for changesdata_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 relationshipsqueries/attributes.sql— User-defined (dynamic) attributes with data types and array dimensionsqueries/attributes_extended.sql— All attributes (system + user-defined) with data types and array dimensionsqueries/change_detection.sql— Pollgalaxy.time_of_last_deployto detect deployment changes
Schema Reference
schema.md— Full schema reference for all tables and views in the ZB databaseddl/tables/— Individual CREATE TABLE definitionsddl/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.