feat(s7): 1-D array block read + decode loop + IsArray discovery
This commit is contained in:
@@ -104,13 +104,22 @@ public sealed class S7ProbeOptions
|
||||
/// value can be written again without side-effects. Unsafe: M (merker) bits or Q (output)
|
||||
/// coils that drive edge-triggered routines in the PLC program.
|
||||
/// </param>
|
||||
/// <param name="ArrayCount">
|
||||
/// Element count when the tag is a 1-D array; <c>null</c> (or <c><= 1</c>) for a scalar.
|
||||
/// For an equipment tag this is threaded from the <c>TagConfig</c> JSON's <c>arrayLength</c>
|
||||
/// (honoured only when <c>isArray</c> is true) by <see cref="S7EquipmentTagParser"/>. When
|
||||
/// set, the driver issues a single contiguous block read of
|
||||
/// <c>ArrayCount × element-bytes</c> from the tag's start address and decodes each element
|
||||
/// into an element-typed CLR array (<c>short[]</c> / <c>int[]</c> / <c>float[]</c> / etc.).
|
||||
/// </param>
|
||||
public sealed record S7TagDefinition(
|
||||
string Name,
|
||||
string Address,
|
||||
S7DataType DataType,
|
||||
bool Writable = true,
|
||||
int StringLength = 254,
|
||||
bool WriteIdempotent = false);
|
||||
bool WriteIdempotent = false,
|
||||
int? ArrayCount = null);
|
||||
|
||||
public enum S7DataType
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user