[abcip] AbCip — CSV tag import/export #349
Reference in New Issue
Block a user
Delete Branch "auto/abcip/2.4"
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
CSV tag import / export for AbCip, matching Kepware's column layout.
Import/CsvTagImporter.cs— header-lookup column order (Tag Name, Address, Data Type, Respect Data Type, Client Access, Scan Rate, Description, Scaling). RFC-4180-ish quoting. Blank-row +;/#marker skip.Client AccessR/W→Writable.Import/CsvTagExporter.cs— renders tag list with the standard 8-column Kepware header. Works against the live merged tag table (declared / L5K / L5X / CSV).Cli/Commands/TagExportCommand.cs—tag-export --driver-options-json --out. Pure transform: runs the declared/L5K/L5X/CSV merge in-memory, no PLC contact.AbCipDriverOptions.CsvImports— new collection (AbCipCsvImportOptionsrecord mirrors L5K/L5X options shape).AbCipDriver.InitializeAsync—MergeCsvImportstep. Precedence: declared > L5K > L5X > CSV.Test plan
dotnet build src/ZB.MOM.WW.OtOpcUa.Driver.AbCip+Driver.AbCip.Cli— clean (0 / 0)dotnet test tests/ZB.MOM.WW.OtOpcUa.Driver.AbCip.Tests— 309 / 309 passed (10 new inCsvTagImporterTests: RW mapping, ReadOnly mapping, blank/marker skip, quoted-comma, escaped-quote, name prefix, unknown-type → Structure, missing default device throws, full round-trip, column reordering)🤖 Auto-generated by the Mode-B execution loop. Closes #232.
Closes #232