nc_program_manager/.paul/ROADMAP.md

2.2 KiB

Roadmap: FanucProgramManager

Overview

Console tool for CNC program transfer and file management. Fanuc FOCAS base, expanding to multi-CN (Heidenhain LSV2, Siemens FTP) with robust offline licensing.

Current Milestone

v0.1 Multi-CN Release (v0.1.0) Status: In progress Phases: 0 of 4 complete

Phases

Phase Name Plans Status Completed
1 cnc-abstraction 2 In progress -
2 heidenhain 1 Not started -
3 siemens 1 Not started -
4 program-wiring 1 Not started -

Phase Details

Phase 1: cnc-abstraction

Goal: Fix namespace, add all Cnc/ files to csproj, complete ICncMachine + IFanucMachine with 3-file support Depends on: Nothing Research: Unlikely

Scope:

  • Fix namespace Fanuc_integration → FanucProgramManager.Cnc
  • Add using FanucProgramManager to Fanuc-specific files
  • Extend IFocasDialect to accept fileType for tool/work data
  • Add IFanucMachine interface with tool offset + work zero ops
  • Add CncManufacturer enum, CncMachineFactory stub
  • Add all Cnc/ to csproj

Plans:

  • 01-01: Fix namespace, extend dialect interface, IFanucMachine
  • 01-02: CncManufacturer, CncMachineFactory, add to csproj

Phase 2: heidenhain

Goal: Implement ICncMachine for Heidenhain TNC via LSV2 protocol Depends on: Phase 1 Research: Likely (LSV2 binary protocol)

Scope:

  • HeidenhainConnectionConfig
  • Lsv2Client (TCP framing, CRC16, commands)
  • HeidenhainMachine : ICncMachine

Plans:

  • 02-01: Heidenhain LSV2 full implementation

Phase 3: siemens

Goal: Implement ICncMachine for Siemens Sinumerik via FTP Depends on: Phase 1 Research: Unlikely (standard FTP)

Scope:

  • SiemensConnectionConfig
  • SiemensMachine : ICncMachine via FtpWebRequest

Plans:

  • 03-01: Siemens FTP implementation

Phase 4: program-wiring

Goal: Wire all 3 manufacturers into Program.cs + InputArgs, replace old FANUCMachine Depends on: Phase 1, 2, 3

Scope:

  • Update InputArgs with -manufacturer= param
  • Refactor Program.cs to use ICncMachine factory
  • Keep 3-file logic for Fanuc only

Plans:

  • 04-01: InputArgs + Program.cs refactor

Roadmap created: 2026-05-13