Files
Joseph Doherty 32f26272ae 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>
2026-05-03 18:22:20 -04:00

156 lines
3.2 KiB
Markdown

# CMxIndirect Class
Namespace: `ArchestrA.Toolkit`
CMxIndirect is a support class that allows a user to connect to an external attribute and read/write its value.
**Syntax**
```csharp
public class CMxIndirect : CMxIndirectBase
```
## CMxIndirect Properties
### Value Property
Allows a user to read/write the value of the referenced attribute.
**Syntax**
```csharp
public CMxValue Value { get; set; }
```
**Returns**
CMxValue
### DataQualityOfLastRead Property
There are several methods that cause the value of the referenced attribute to be read, that is, Value, TestRead but they do not directly return the data quality. This property contains the data quality of the last read attribute so that it can be used.
**Syntax**
```csharp
public CMxDataQuality DataQualityOfLastRead { get; }
```
**Returns**
CMxDataQuality
### StatusOfLastRead Property
There are several methods that cause the value of the referenced attribute to be read, that is, Value, TestRead but do not directly return the status. This property contains the status of the last read so that it can be checked.
**Syntax**
```csharp
public MxStatus StatusOfLastRead { get; }
```
**Returns**
MxStatus
### TestRead Property
TestRead performs a read check on the indirect but does not return the value. It returns true if the status of the read was successful. The data quality and full status can be accessed by DataQualityOfLastRead and StatusOfLastRead.
**Syntax**
```csharp
public bool TestRead { get; }
```
**Returns**
bool
### TimeStampOfLastRead Property
There are several methods that cause the value of the referenced attribute to be read, that is, Value, TestRead but do not directly return the timestamp. This property contains the timestamp of the last read so that it can be used.
**Syntax**
```csharp
DateTime TimeStampOfLastRead { get; }
```
**Returns**
DateTime
## CMxIndirect Constructor
### CMxIndirect Constructor string,string,IMxSupervisoryConnection3,RuntimeBase, int,short,int
This is an internal constructor intended for use only in BindTo.
**Syntax**
```csharp
CMxIndirect(string _fullRefString, string _context, IMxSupervisoryConnection3 _superConn, RuntimeBase _rb, int _refHandle, short _statusId, int _statusIndex)
```
**Parameters**
**`_fullRefString`**
[in] Full reference string of the attribute to bind to.
**`_context`**
[in] Context of the reference.
**`_superConn`**
[in] A supervisory connection to the runtime.
**`_rb`**
[in] handle to the RuntimeBase class instance that created this indirect.
**`_refHandle`**
[in] The ArchestrA reference handle of the registered reference.
**`_statusId`**
[in] The attribute id of the dynamic array that holds the write status.
**`_statusIndex`**
[in] The index of the element in the dynamic status array that this reference uses.
## CMxIndirect Method
### Get Method
Provides a method to get the value, timestamp, and data quality of the referenced attribute in a single operation.
**Syntax**
```csharp
public bool Get(out CMxValue value, out DateTime timeStamp, out CMxDataQuality quality);
```
**Parameters**
**`value`**
[out] the value of the reference attribute.
**`timestamp`**
[out] the timestamp of the reference attribute.
**`quality`**
[out] the data quality of the reference attribute.
**Returns**
bool