@@ -16,7 +16,8 @@ public sealed record AbCipPlcFamilyProfile(
|
||||
string DefaultCipPath,
|
||||
bool SupportsRequestPacking,
|
||||
bool SupportsConnectedMessaging,
|
||||
int MaxFragmentBytes)
|
||||
int MaxFragmentBytes,
|
||||
bool SupportsLogicalAddressing = true)
|
||||
{
|
||||
/// <summary>Look up the profile for a configured family.</summary>
|
||||
public static AbCipPlcFamilyProfile ForFamily(AbCipPlcFamily family) => family switch
|
||||
@@ -34,7 +35,8 @@ public sealed record AbCipPlcFamilyProfile(
|
||||
DefaultCipPath: "1,0",
|
||||
SupportsRequestPacking: true,
|
||||
SupportsConnectedMessaging: true,
|
||||
MaxFragmentBytes: 4000);
|
||||
MaxFragmentBytes: 4000,
|
||||
SupportsLogicalAddressing: true);
|
||||
|
||||
public static readonly AbCipPlcFamilyProfile CompactLogix = new(
|
||||
LibplctagPlcAttribute: "compactlogix",
|
||||
@@ -42,15 +44,21 @@ public sealed record AbCipPlcFamilyProfile(
|
||||
DefaultCipPath: "1,0",
|
||||
SupportsRequestPacking: true,
|
||||
SupportsConnectedMessaging: true,
|
||||
MaxFragmentBytes: 500);
|
||||
MaxFragmentBytes: 500,
|
||||
SupportsLogicalAddressing: true);
|
||||
|
||||
// PR abcip-3.2 — Micro800 firmware does not implement the Symbol Object class 0x6B
|
||||
// instance-ID addressing path; @tags returns the symbol set but reads keyed on instance
|
||||
// IDs trip a CIP "Path Segment Error" (0x04). Logical mode is therefore disabled here
|
||||
// + the driver silently falls back to Symbolic with a warning per AbCipDriverOptions.OnWarning.
|
||||
public static readonly AbCipPlcFamilyProfile Micro800 = new(
|
||||
LibplctagPlcAttribute: "micro800",
|
||||
DefaultConnectionSize: 488, // Micro800 hard cap
|
||||
DefaultCipPath: "", // no backplane routing
|
||||
SupportsRequestPacking: false,
|
||||
SupportsConnectedMessaging: false, // unconnected-only on most models
|
||||
MaxFragmentBytes: 484);
|
||||
MaxFragmentBytes: 484,
|
||||
SupportsLogicalAddressing: false);
|
||||
|
||||
public static readonly AbCipPlcFamilyProfile GuardLogix = new(
|
||||
LibplctagPlcAttribute: "controllogix", // wire protocol identical; safety partition is tag-level
|
||||
@@ -58,5 +66,6 @@ public sealed record AbCipPlcFamilyProfile(
|
||||
DefaultCipPath: "1,0",
|
||||
SupportsRequestPacking: true,
|
||||
SupportsConnectedMessaging: true,
|
||||
MaxFragmentBytes: 4000);
|
||||
MaxFragmentBytes: 4000,
|
||||
SupportsLogicalAddressing: true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user