Phase 11 complete: - ArgParser.cs: CLI parsing extracted from Program.cs (pure static method) - Program.cs: no static state; Scarica/Invia take explicit InputArgs param - Program.cs: try/finally with connected flag — fixes connection leak on exception - Program.cs: PrintErrors helper surfaces CncResult.Errors on every failure - AesCrypt.cs: deleted (dead code, zero references) - NcProgramManager.csproj: AesCrypt.cs → ArgParser.cs Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .paul | ||
| Cnc | ||
| Licensing | ||
| NcProgramManager.Tests | ||
| Properties | ||
| .gitignore | ||
| App.config | ||
| ArgParser.cs | ||
| Dockerfile.test | ||
| FanucProgram.cs | ||
| FanucProgramManager.csproj.user | ||
| fwlib32.cs | ||
| InputArgs.cs | ||
| NcProgramManager.csproj | ||
| NcProgramManager.sln | ||
| nunit.runsettings | ||
| packages.config | ||
| Program.cs | ||
| README.md | ||
NcProgramManager
Software per il trasferimento di programmi CNC da e verso controller di macchine utensili. Supporta Fanuc (FOCAS), Heidenhain (LSV2), Siemens Sinumerik (FTP) e Mitsubishi (FTP). Funziona completamente offline come applicazione console per Windows.
Requisiti
- Windows (qualsiasi versione compatibile con .NET Framework 4.7.2)
- .NET Framework 4.7.2 installato
- File
license.licvalido (rilasciato dal fornitore)
Licenza
Copiare il file license.lic nella stessa cartella dell'eseguibile NcProgramManager.exe. Senza licenza valida il programma si chiude all'avvio.
Per ottenere una licenza contattare il fornitore fornendo l'impronta hardware della macchina. L'impronta si ottiene eseguendo il comando fingerprint dello strumento LicenseGenerator.exe sulla macchina di destinazione.
Utilizzo
NcProgramManager.exe -manufacturer=<tipo> -azione=<azione> -ip=<ip> -porta=<porta> [opzioni]
Parametri
| Parametro | Valori | Descrizione |
|---|---|---|
-manufacturer= |
fanuc / heidenhain / siemens / mitsubishi |
Tipo di controller CNC (predefinito: fanuc) |
-azione= |
Scarica / Invia / ... |
Azione da eseguire |
-ip= |
indirizzo IP | Indirizzo IP del controller CNC |
-porta= |
numero porta | Porta di connessione |
-username= |
nome utente | Solo per Heidenhain, Siemens, Mitsubishi |
-password= |
password | Solo per Heidenhain, Siemens, Mitsubishi |
La licenza viene letta automaticamente dal file license.lic nella cartella dell'eseguibile — nessun parametro aggiuntivo richiesto.
Esempi
Scarica programma da controller Fanuc:
NcProgramManager.exe -manufacturer=fanuc -azione=Scarica -ip=192.168.1.100 -porta=8193
Invia programma a controller Heidenhain:
NcProgramManager.exe -manufacturer=heidenhain -azione=Invia -ip=192.168.1.50 -porta=19000 -username=operator -password=secret
Scarica programma da Siemens Sinumerik:
NcProgramManager.exe -manufacturer=siemens -azione=Scarica -ip=192.168.1.200 -porta=21 -username=admin -password=secret
Controller supportati
| Produttore | Protocollo | Porta predefinita | Note |
|---|---|---|---|
| Fanuc | FOCAS (DLL 32-bit) | 8193 | Richiede fwlib32.dll nella stessa cartella |
| Heidenhain | LSV2 (TCP) | 19000 | Testato su TNC series |
| Siemens | FTP | 21 | Directory programmi: /_N_MPF_DIR/ — richiede opzione FTP abilitata sul Sinumerik |
| Mitsubishi | FTP | 21 | Directory programmi: /PRG/ |
Validazione del programma NC
Prima di inviare un programma al controller, NcProgramManager esegue una validazione automatica del codice NC. Gli errori bloccano il trasferimento. Gli avvisi vengono registrati ma non interrompono l'operazione.