Initial commit: Wonderware / System Platform tools and reference

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>
This commit is contained in:
Joseph Doherty
2026-05-03 18:22:20 -04:00
commit 32f26272ae
411 changed files with 69973 additions and 0 deletions
+347
View File
@@ -0,0 +1,347 @@
# CMxType Class
Namespace: `ArchestrA.Toolkit`
CMxType is an abstract class that provides the methods and properties available to all classes for supporting CMx{type}{Array} style classes.
**Syntax**
```csharp
public abstract class CMxType
```
## CMxType Properties
### Attribute Property
Provides a property to hold information about the Attribute from ArchestrA.
**Syntax**
```csharp
protected AttributeHandle attribute;
```
**Returns**
AttributeHandle
### AttributeRef Property
Provides a property to hold the attribute reference string when CMxType classes are used to implement properties of Primitive Attributes.
**Syntax**
```csharp
protected string attributeRef;
```
**Returns**
string
### Owner Property
Provides a property to hold a handle to the owner of the object which also provides access to ArchestrA Site pointers.
**Syntax**
```csharp
protected AObjectBase owner;
```
**Returns**
AObjectBase
### Runtime Property
Provides a property to hold an indication that the object is currently servicing the Runtime.
**Syntax**
```csharp
protected bool runtime;
```
**Returns**
bool
### RuntimeSite2 Property
Provides a property to hold a handle to the IPrimitiveRuntimeSite2 site for the current attribute when the object is correctly configured at Runtime.
**Syntax**
```csharp
protected IPrimitiveRuntimeSite2 runtimeSite2;
```
**Returns**
IPrimitiveRuntimeSite2
### Attribute Property
Provides a property to get and set the AttributeHandle.
**Syntax**
```csharp
AttributeHandle Attribute { get; set; }
```
**Returns**
AttributeHandle
### Category Property
Provides a property to get the MxAttributeCategory.
**Syntax**
```csharp
public virtual MxAttributeCategory Category { get; }
```
**Returns**
MxAttributeCategory
### Checkpoint Property
Provides a property to Checkpoint the attribute at runtime.
**Syntax**
```csharp
public bool Checkpoint { set; }
```
**Returns**
bool
### DataType Property
Provides a property to get the MxDataType.
**Syntax**
```csharp
public virtual MxDataType DataType { get; }
```
**Returns**
MxDataType
### DefValue Property
Provides a property to return the default value as a string.
**Syntax**
```csharp
public abstract string DefValue { get; }
```
**Returns**
string
### LiteMode Property
Provides a property to indicate if the class is running disconnected from ArchestrA.
> **Note** Disconnected refers to an instance of a wrapper that is not associated with an ArchestrA Attribute (that is a CMxValue that is declared locally in the class).
**Syntax**
```csharp
public bool LiteMode { get; }
```
**Returns**
bool
### Locked Property
Provides a property to get and set the lock of the Attribute.
**Syntax**
```csharp
public bool Locked { get; set; }
```
**Returns**
bool
### MxValue Property
Provides a property to get and set the IMxValue of the Attribute.
**Syntax**
```csharp
public virtual IMxValue mxValue { get; set; }
```
**Returns**
MxValueClass
### Quality Property
Provides a property to get and set the Quality of the Attribute.
**Syntax**
```csharp
public abstract CMxDataQuality Quality { get; set; }
```
**Returns**
CMxDataQuality
### Time Property
Provides a property to get and set the Time of the Attribute.
**Syntax**
```csharp
public abstract CMxTime Time { get; set; }
```
**Returns**
CMxTime
### Security Property
Provides a property to get and set the Security of the Attribute.
**Syntax**
```csharp
public virtual MxSecurityClassification Security { get; set; }
```
**Returns**
MxSecurityClassification
### SetHandlerValue Property
Provides a property to set the value from a SetHandlerEventArgs value.
**Syntax**
```csharp
public virtual SetHandlerEventArgs SetHandlerValue { set; }
```
**Returns**
SetHandlerEventArgs
## CMxType Constructor
### CMxType Constructor
Provides a constructor to initialize the class for use in a primitive wrapper.
**Syntax**
```csharp
public CMxType(SupportWrapper _wrapper, string _attributeRef);
```
**Parameters**
**`_wrapper`**
[in] SupportWrapper.
**`_attributeRef`**
[in] string value that holds the attribute reference.
## CMxType Methods
### Initialize Method
Provides a method to initialize the attribute with ArchestrA information.
**Syntax**
```csharp
public void Initialize(AttributeHandle _attribute, AObjectBase _owner, bool _runtime);
```
**Parameters**
**`_attribute`**
[in] AttributeHandle handle as a parameter.
**`_owner`**
[in] base class object of type AObjectBase.
**`_runtime`**
[in] bool value to indicate Runtime or not.
### CheckConnect Method
Provides a method to verify and connect to ArchestrA if needed for primitive wrappers.
**Syntax**
```csharp
protected void CheckConnect();
```
### PadMiliseconds Method
Provides a method to get the ArchestrA style milliseconds as a string from a TimeSpan.
**Syntax**
```csharp
protected string PadMiliseconds(TimeSpan ts);
```
**Parameters**
**`ts`**
[in] TimeSpan value.
**Returns**
string
### UpdateArrayLength Method
Provides a method to set the length of an array to a new length.
**Syntax**
```csharp
protected void UpdateArrayLength(int newLength);
```
**Parameters**
**`newlength`**
[in] int value that holds the new length of the array.