[ablegacy] AbLegacy — MicroLogix function-file letters #322
Reference in New Issue
Block a user
Delete Branch "auto/ablegacy/2"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
MicroLogix 1100/1400 expose proprietary function-file types (RTC/HSC/DLS/MMI/PTO/PWM/STI/EII/IOS/BHI) that don't share file letters with SLC. Today
IsKnownFileLetteronly allows the SLC/PLC-5 set, so any tag likeRTC:0.HRis silently rejected.AbLegacyPlcFamilyProfile.cs— newSupportsFunctionFilesflag.truefor MicroLogix only.AbLegacyAddress.cs— parser extended. After canonical SLC/PLC-5 letters, multi-letter function-file prefixes accepted only when the family-aware overload was given a profile whoseSupportsFunctionFilesis true. Family-less callers still reject (back-compat).AbLegacyDataType.cs— newMicroLogixFunctionFileenum entry and aAbLegacyFunctionFile.SubElementType(letter, sub)catalogue. ≤8 common members per file (RTC HR/MIN/SEC/MON/DAY/YR/DOW/EN/BL/DS, HSC ACC/PRE/EN/UF/IF/IN/IH/IL/DN/CD/CU/OVF/UNF, DLS STR/STD/EN, plus stubs for MMI/PTO/PWM/STI/EII/IOS/BHI). Unknown sub-elements fall back to Int32 (permissive).Test plan
dotnet build src/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy— clean (0 / 0)dotnet test tests/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.Tests— 139 / 139 passed (30+ new: positive parses per function-file letter on MicroLogix, negative on SLC500/Plc5/LogixPccc and family-less overload, profile flag assertions, sub-element catalogue mappings)🤖 Auto-generated by the Mode-B execution loop. Closes #245.
Closes #245