Vai al contenuto

Mapping pannello → database

Scopo e tempi

La scheda MAPPING, accanto a DATA PANEL, espone le 118 letture Modbus correnti. Gli offset sono 0–117; il ciclo legge a partire dall'indirizzo 101, normalmente indicato come registri 101–218. La convenzione di indirizzamento deve essere confermata con il firmware.

L'interfaccia mostra offset, registro, descrizione disponibile, valore letto, ultimo valore inviato e campo DB selezionato. Il polling pannello è di 500 ms; la sincronizzazione DB ha intervallo predefinito di 5 secondi.

Procedura

  1. Verificare la configurazione DB1 e una lettura Modbus riuscita.
  2. Scegliere la tabella destinazione, predefinita dati_macchine.
  3. Impostare un filtro semplice campo=valore che identifichi la macchina prevista.
  4. Premere RICARICA CAMPI DB per leggere le colonne reali della tabella.
  5. Associare gli offset ai campi selezionabili. Le associazioni sono salvate immediatamente.
  6. Salvare le impostazioni e controllare il conteggio righe aggiornate.
  7. Verificare sul database il valore di un registro cambiato e il comportamento dei valori invariati.

Il filtro accetta una sola uguaglianza. {macchina} è risolto con il nome macchina e {codmacchina} con il codice macchina. Controllare questa distinzione: il default cod_macchina={macchina} non garantisce che nome e codice siano uguali nella propria installazione.

Un filtro che corrisponde a più righe le aggiorna tutte. Il mapping non crea automaticamente la tabella o la riga della macchina.

File mapping.ini

Dal 28/09/2026 la configurazione ha questa struttura:

[Mapping]
table=dati_macchine
where=cod_macchina={codmacchina}
enabled=1
refreshIntervalMs=5000

[PANEL_TO_DB]
; Associazioni Text4_n → nome colonna, salvate dalla UI

[PANEL_PREVIOUS_VALUES]
; Ultimi valori inviati con successo

È un esempio per un'installazione che usa il codice macchina come filtro. Le associazioni concrete dipendono dalla mappa registri approvata e dai tipi delle colonne.

Se il file manca, il primo caricamento importa le sezioni legacy da config.ini e crea il file dedicato. Se esiste, mapping.ini è autorevole. L'importazione non modifica config.ini; le sezioni legacy rimaste non vengono più usate. Il file non è copiato automaticamente dalla build/publish.

Scritture e gestione degli errori

La sincronizzazione procede soltanto dopo una lettura Modbus riuscita e aggiorna i valori cambiati rispetto a quelli persistiti. L'intervallo configurabile è limitato dal codice tra 1.000 e 60.000 ms.

Gli update di un ciclo usano parametri e una transazione DB1. Tabelle e campi vengono quotati secondo il provider. I valori dei registri sono passati come stringhe: la conversione al tipo della colonna dipende dal database/provider.

Gli errori compaiono nella scheda e nei log senza la terminazione forzata delle routine legacy. Le prove descritte nelle memorie verificano build, interfaccia e persistenza offline; tipi, filtro e update su database/pannello reali restano da collaudare.