LMEMoxaTransfer

Solution VB.NET WinForms per inviare e ricevere programmi CNC tra PC e macchinario Okuma tramite dispositivo Moxa in modalita TCP Server.

Prima della riorganizzazione e' stata creata una copia completa in:

C:\Users\livio\Documents\TrasferimentoProgrammiOkuma_backup_20260724_azienda_macchine

Configurazione vista nella schermata Moxa

  • Operating mode: TCP Server Mode
  • Local TCP port: 10001
  • Packing length: 0
  • Delimiter 1/2: 0 (Disable)
  • Force transmit: 0
  • Serial baud rate: 4800
  • Data bits: 7
  • Stop bits: 1
  • Parity: Even
  • FIFO: Disable
  • Flow ctrl: None
  • Interface: RS-232

Con questa configurazione il PC si collega come client TCP all'indirizzo IP del Moxa sulla porta 10001.

Configurazione aziende e macchine

All'avvio l'app legge moxa-okuma-settings.json dalla cartella dell'eseguibile. Il file contiene:

  • elenco aziende e macchine Okuma con IP Moxa;
  • impostazioni predefinite di invio/ricezione;
  • hash e salt della password amministratore.

Le macchine SECUREX mantengono il numero originale dell'immagine, quindi sono M4, M5, M8, M11, M12.

La password iniziale e' moxa. Se nel JSON si svuotano AdminPasswordHash e AdminPasswordSalt, al primo sblocco l'app chiede di impostare una nuova password senza richiedere la vecchia.

Uso

  1. Aprire TrasferimentoProgrammiOkuma.sln con Visual Studio.
  2. Avviare il progetto TrasferimentoProgrammiOkuma.App.
  3. Selezionare azienda e macchina dalle due tendine.
  4. Per ricevere da Okuma:
    • scegliere la cartella di destinazione sul PC;
    • premere Ricevi da Okuma;
    • dal controllo Okuma avviare l'uscita/invio programma.
    • la ricezione viene salvata prima in una cartella temporanea dell'app;
    • se nel file ricevuto e' presente un nome preceduto da $, l'app lo propone come nome finale nella cartella scelta; il nome e' modificabile prima del salvataggio definitivo.
  5. Per inviare a Okuma:
    • mettere il controllo Okuma in ricezione;
    • scegliere il file programma dal PC;
    • premere Invia a Okuma.

I controlli di configurazione sono bloccati di default. Rimangono disponibili i bottoni operativi e le caselle dei file. Usare Sblocca controlli per modificarli.

Stato Moxa

La scheda Stato Moxa mostra tutte le macchine Okuma divise per azienda. Il pallino verde indica che l'IP Moxa risponde sulla porta TCP configurata, il rosso indica che non e' raggiungibile, il grigio indica che non e' ancora stato controllato.

Il pulsante Aggiorna e' sempre disponibile. Il controllo automatico usa l'intervallo Intervallo s, modificabile solo dopo lo sblocco con password.

Menu e informazioni

I comandi generali sono nel menu Strumenti; la voce ? > Informazioni su mostra azienda Compomac SPA, autore Livio Merola e versione dell'app.

All'avvio viene mostrato uno splash screen con l'icona dell'app.

ClickOnce

Profilo di pubblicazione:

& "C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe" .\TrasferimentoProgrammiOkuma.App\TrasferimentoProgrammiOkuma.App.vbproj /target:Publish /p:Configuration=Release /p:PublishProfile=GiteaClickOnce /p:PublishDir=..\clickonce\

La cartella clickonce contiene LMEMoxaTransfer.application e i file necessari. L'URL di aggiornamento configurato e':

https://gitea.lmcloud.it/livio/LMEMoxaTransfer/raw/branch/main/clickonce/LMEMoxaTransfer.application

Note pratiche

  • Se la ricezione termina troppo presto, aumentare Fine ricez. s.
  • Se la ricezione non finisce mai, ridurre Fine ricez. s.
  • Se Okuma richiede un fine programma esplicito, provare Terminatore invio con % oppure % + CRLF.
  • Per la procedura Okuma READ da CN0:, attivare Invio a blocchi, lasciare Dim. blocco byte a 32 e Pausa blocco ms a 100 come punto di partenza, avviare prima READ sulla macchina, attendere che sia in ricezione, poi premere Invia a Okuma. Questa modalita aggiunge automaticamente % + CRLF e mantiene il socket aperto almeno 1 secondo dopo l'invio. Se appare ancora 5239, provare 16 byte con 250 ms, poi 8 byte con 300 ms.
  • Il trasferimento e' byte-per-byte: il programma non modifica il contenuto del file selezionato, salvo il terminatore opzionale in invio.
  • Se l'invio verso Okuma genera 5238 RS232C device not ready ERROR FF, controllare prima il lato seriale Okuma-Moxa: baud rate, data bit, parita, stop bit, flow control e segnali DSR/CTS/DTR/RTS. L'app TCP puo collegarsi al Moxa, ma non puo forzare la porta RS232C della macchina a diventare pronta.
  • Per controlli Okuma che non accettano un flusso troppo rapido, lasciare attivo Invio riga per riga, provare Pausa riga ms tra 200 e 500, attivare Invio carattere per carattere, provare Pausa carattere ms tra 10 e 30, e tenere Attesa dopo invio s almeno a 2.
  • Dalla schermata Moxa attuale il flow control e' None. Se sul parametro Okuma e' impostato DC CODE, provare XON/XOFF sul Moxa. Se invece Okuma usa handshake hardware, provare RTS/CTS e controllare il cablaggio dei segnali ready.
  • Se l'errore corretto e' 5239 memoria lettura per canale RS232C troppo piena, il flusso in ingresso e' troppo rapido per il buffer Okuma. Ridurre la velocita applicativa con Invio carattere per carattere, aumentare le pause, oppure far funzionare correttamente il flow control XON/XOFF o hardware.
  • Se 5239 appare subito appena si preme invio, usare Test connessione: apre TCP verso il Moxa senza inviare dati. Se l'allarme non compare, il problema nasce al primo byte seriale. Se compare comunque, riavviare il Moxa con Save/Restart, azzerare l'allarme Okuma e controllare stato/cablaggio RS232.
  • Dopo modifiche Moxa premere sempre Submit e poi Save/Restart; in caso di prove fallite, spegnere/riaccendere o riavviare il Moxa per svuotare eventuali dati rimasti nel buffer.

Build da terminale

dotnet build .\TrasferimentoProgrammiOkuma.sln

Avvio da terminale

dotnet run --project .\TrasferimentoProgrammiOkuma.App\TrasferimentoProgrammiOkuma.App.vbproj
S
Description
No description provided
Readme
62 MiB
Languages
Visual Basic .NET 94.6%
PowerShell 5.4%