Namespace AXSharp.Connector
Classes
AddedPropertiesAttribute
BatchDispatchResult
Carries the measurements of a dispatched batch.
CompilerOmitsAttribute
Prevents ixc builder to create a member for specific group of output type (Shadow, Plain, Onliner).
note
This attribute must be declared in the PLC code to be effective during build process.
// This will not compile to 'omitsInPlainString' member into respective 'Plain' type.
{#ix-attr:[CompilerOmits(CompilerOmissionGroups.BuilderPlainer))]}
ommitsInPlainString : STRING(50) := 'THIS IS OMMITED IN PLAINER';
// This will not compile to 'ommitsInPlainAndShadowerInterfaceString' member into respective 'Plain' type and Shadow interface.
{#ix-attr:[CompilerOmits(CompilerOmissionGroups.BuilderPlainer, CompilerOmissionGroups.BuilderShadowerInterface))]}
ommitsInPlainAndShadowerInterfaceString : STRING(50) := 'THIS IS OMMITED IN PLAINER';ConcurrentSet<T>
Concurent implementation HasSet comes from:
https://stackoverflow.com/questions/18922985/concurrent-hashsett-in-net-framework
https://stackoverflow.com/questions/4306936/how-to-implement-concurrenthashset-in-net
Connector
Abstract base class provides implementation contract for the PLC connector and basic common underlying logic.
Implements priority-based access control and configurable batch operations for efficient communication.
ConnectorAdapter
Provides basic abstractions for twin connectors.
ConnectorAdapterBuilder
Provides access to extension method for creating connector adapters.
ConnectorFactory
Provides abstraction for creation of Connector and value types (tags) for twin connector.
DummyConnector
Provides a connector without real target system connections.
DummyConnectorExtensions
Provides extensions for DummyConnector and DummyConnectorFactory.
DummyConnectorFactory
Dummy connector factory class. Serves as offline connector with no connection to a controller.
EnumeratorDiscriminatorAttribute
Attribute provides information about the member being treated as enum.
IPlainExtensions
Provides a series of extension methods to work with POCO objects.
ITwinController
Represents twin object for PLC controller.
IgnoreOnPocoOperation
This attribute will prevent R/W operation on on given member or type, when performing operation with POCO objects.
IgnoreReflectionAttribute
Indicates that the member should not be reflected within the ix framework.
PrimitiveAccessStatus
Provides information about access to a primitive item.
PriorityRequestDispatcher
Schedules PLC access requests by eAccessPriority class.
Ordering: High before UserInterface before Normal before Low; FIFO within a class.
Custom schedules as Normal.
Concurrency: N worker loops are the sole concurrency mechanism (no semaphore); in-flight work never exceeds N.
One worker is dedicated to UserInterface/High (structural reservation) so user-facing work never
queues behind background work; with N = 1 the single worker serves all classes and the reservation is void.
Starvation: a waiting Low item is promoted one class per AgingIntervalMs, capped at
Normal — aged work never enters the reserved user-interface lane.
ReadOnceAttribute
Indicates that the member should be access only once throughout the life time of the application during periodic reading. This attribute would be typically used for members that do not change value during the life time of the application.
ReadOnlyAttribute
Attribute allows to prevent writing to the members of twin connector.
ReadOnlyAttribute can be declared for member of a FB, GVL or STRUCT.
note
This attribute is typically defined in the declaration section of PLC block and then trans-piled by ixc builder.
warning
Use of ReadOnlyAttribute does not prevent the PLC program to write to the variable that declares this attribute.
FUNCTION_BLOCK fbSomeReadOnlyMembers
VAR
{#ix-attr:[ReadOnly()]]}
_nonWrittableItem : BOOL; // Member is readonly for .net application.
{#ix-attr:[ReadOnly()]]}
_nonWrittableFunctionBlock : fbNonWrittable; // Member and its members are readonly for the .net application.
END_VARRootTwinObject
Object to represent the root TwinObject. Instance of this class is typically used as root for the connector object.
SourceFileAttribute
Indicates the AX/Structured-Text source file from which this type was transpiled.
The path is forward-slash separated; its base depends on the assembly-level provenance
attribute: it is relative to the repository root when SourceRepositoryAttribute
is present on the assembly, otherwise relative to the project src folder (when
SourceLibraryAttribute is present, or in legacy output with neither).
SourceLibraryAttribute
Identifies the apax package (name + version) the transpiled types in this assembly originate
from. This attribute is emitted when no usable git remote is available; when it is present,
the per-type SourceFileAttribute path is relative to the project src
folder (forward-slash separated).
SourceRepositoryAttribute
Identifies the remote git repository the transpiled types in this assembly originate from.
When this attribute is present, the per-type SourceFileAttribute path is
relative to the repository root (forward-slash separated). Combined with
Commit, a source permalink can be formed as {Url}/blob/{Commit}/{SourceFile}.
StringInterpolator
Provides extension methods for PLC's string interpolation.
TwinObjectExtensions
Extensions methods for ITwinObject.
TwinPrimitiveExtensions
Provides series of extension method for accessing primitive items.
UiLatencyBreach
Describes a breach of the UserInterface latency budget.
WebApiConnectorExtensions
Provides extension methods for instantiating WebAPI connector.
Interfaces
IPlain
Basic abstraction for 'Plain' types.
note
Implementation used in building process. Not to be declared by framework consumers.
ITwinElement
Basic contract for any type that is product of building process.
ITwinObject
Basic contract for any complex object that is product of build process.
ITwinOnlineObject
Basic abstraction for 'IOnline' types.
note
Implementation used in building process. Not to be declared by framework consumers.
ITwinPrimitive
Provides basic contract for plc tag.
ITwinPrimitiveInfo
Provides interface for information about value types symbols.
ITwinShadowObject
Basic abstraction for 'IShadow' types.
note
Implementation used in building process. Not to be declared by framework consumers.
Enums
CommExceptionBehaviour
Specifies how the connector should behave when a communication exception occurs.
CompilerOmissionGroups
Builder omission groups enumerator. Enumerates builder output groups suitable for the omission.
ReadSubscriptionMode
Specifies how the variables should be subscribed to.
eAccessPriority
Specifies the access priority levels for connector operations. These priorities determine how the connector handles read/write operations and resource allocation.