88 lines
2.8 KiB
Markdown
88 lines
2.8 KiB
Markdown
# FanucProgramManager
|
|
|
|
## What This Is
|
|
|
|
Console EXE (C# .NET 4.7.2) for upload/download of CNC programs to/from machine controllers. Targets any CN manufacturer, not Fanuc-only. Runs on Windows, distributed to licensed machine operators and integrators.
|
|
|
|
## Core Value
|
|
|
|
Machinists and operators transfer CNC programs to/from any controller without manual intervention or internet access.
|
|
|
|
## Current State
|
|
|
|
| Attribute | Value |
|
|
|-----------|-------|
|
|
| Type | Application |
|
|
| Version | 0.0.0 |
|
|
| Status | In development |
|
|
| Last Updated | 2026-05-13 |
|
|
|
|
## Requirements
|
|
|
|
### Core Features
|
|
|
|
- Upload programs to CNC controller
|
|
- Download programs from CNC controller
|
|
- Local file management (organize/store programs on disk)
|
|
- Multi-CN brand support (Fanuc + others)
|
|
|
|
### Validated (Shipped)
|
|
- [x] Fanuc FOCAS upload/download — initial
|
|
- [x] AES encryption for program files
|
|
- [x] CLI argument parsing
|
|
- [x] Machine-bound license check (hardcoded)
|
|
|
|
### Active (In Progress)
|
|
- [ ] 3-file management mode — branch `3FilesManagement`
|
|
|
|
### Planned (Next)
|
|
- To be defined during /paul:plan
|
|
|
|
### Out of Scope
|
|
- Cloud sync
|
|
- Web UI
|
|
- Internet-dependent license validation
|
|
|
|
## Constraints
|
|
|
|
### Technical Constraints
|
|
- .NET Framework 4.7.2 — max compatibility, no upgrade
|
|
- Fanuc FOCAS via `fwlib32` (32-bit DLL, Windows-only)
|
|
- Must run offline — no internet dependency at runtime
|
|
- License validation must work without network
|
|
|
|
### Business Constraints
|
|
- Software must be license-protected (offline, machine-bound)
|
|
- Current approach: hardcoded machine check — needs improvement
|
|
- Target: hardware fingerprint + encrypted license file
|
|
|
|
## Key Decisions
|
|
|
|
| Decision | Rationale | Date | Status |
|
|
|----------|-----------|------|--------|
|
|
| .NET 4.7.2 | Max compatibility with operator machines | 2026-05-13 | Active |
|
|
| Console EXE output | Simple deployment, scriptable | 2026-05-13 | Active |
|
|
| Offline license only | Operators may have no internet on shop floor | 2026-05-13 | Active |
|
|
|
|
## Success Metrics
|
|
|
|
| Metric | Target | Current | Status |
|
|
|--------|--------|---------|--------|
|
|
| Program transfer correctness | 100% (byte-verified) | Unknown | Not measured |
|
|
| License validation (offline) | Works without network | Hardcoded | At risk |
|
|
| Multi-CN support | ≥2 manufacturers | Fanuc only | In progress |
|
|
|
|
## Tech Stack / Tools
|
|
|
|
| Layer | Technology | Notes |
|
|
|-------|------------|-------|
|
|
| Language | C# | .NET Framework 4.7.2 |
|
|
| UI | Console EXE | CLI args via InputArgs.cs |
|
|
| CN Protocol (Fanuc) | FOCAS fwlib32 | 32-bit DLL |
|
|
| CN Protocol (others) | To be defined | Multi-CN expansion |
|
|
| Encryption | AES (AesCrypt.cs) | Program file protection |
|
|
| Licensing | Machine fingerprint | Hardcoded now, needs design |
|
|
|
|
---
|
|
*PROJECT.md — Updated when requirements or context change*
|
|
*Last updated: 2026-05-13*
|