File di configurazione JSON

../_images/tp100.png

1. Panoramica

Il metodo consigliato per configurare TP100 è quello di utilizzare il Configuration Wizard disponibile online al seguente link.

Esiste tuttavia la possibilità di modificare manualmente il file di configurazione utilizzando un comune browser.
Il file di configurazione opportunamente formattato (è necessario utilizzare il formato JSON) si può ottenere dal configuratore online di cui sopra (vedere capitolo 5. Upload/Download - Scaricare e caricare la configurazione del relativo manuale), o collegando TP100 al proprio PC, come descritto nel manuale d’uso (9. Scaricare la configurazione).
Di seguito verranno descritte le direttive che si dovranno rispettare nel modificare il file di configurazione e la descrizione di tutti i campi presenti per ogni registro/variabile Modbus.

2. Formattazione

TP100 riconosce come file di configurazione valido solo un file in formato JSON, nel quale siano presenti tutti i campi attesi (che verranno descritti in seguito).
La configurazione di ogni registro/variabile è composta da un set predefinito di parametri.
Considerando che TP100 supporta un massimo di 20 registri/variabili, il file di configurazione sarà composto da 20 set di parametri.
Al fine di ottenere un file JSON valido, è importante riportare quanto segue:
  • Nella prima riga del file andrà riportato il carattere [
  • Nell’ultima riga del file andrà invece riportato il carattere ]
  • Ogni set di parametri (quindi ogni registro/variabile) va incluso all’interno di due parentesi graffe { e }
  • Tra una parentesi graffa di chiusura ed una di apertura andrà riportato il carattere ,. La virgola non andrà invece aggiunta dopo il 20esimo (ultimo) set, ovvero quello prima della parentesi quadra di chiusura.
  • Ogni parametro andrà incluso tra doppi apici (), dopo i quali sarà possibile definirne il valore preceduto dal carattere : (due punti) e da uno spazio
  • Dopo il valore/stringa da assegnare al parametro andrà aggiunto il carattere , per separarlo dal successivo
  • Nell’ultimo parametro (ovvero quello appena prima della chiusura delle graffe) non andrà aggiunta la virgola
  • Anche se il numero di registri da leggere dovesse essere inferiore, è bene riportare tutti e 20 i set di parametri, lasciando i valori di default in quelli non utilizzati (o specificando 0 nel campo Enable)
Per semplicità, di seguito verrà riportato un esempio con sole 2 variabili/registri, dal quale sarà comunque possibile capire come aprire/chiudere il file e come separare i set tra loro.
[
 {
     "id": 1,
     "enable": 1,
     "name": "First_register",
     "unit": "V",
     "modbusType": 2,
     "modbusAdr": 1,
     "modbusRegister": 0,
     "modbusCmdRead": 3,
     "modbusCmdWrite": 6,
     "bitPosition": 0,
     "viewMin": 0,
     "viewMax": 0,
     "min": 0,
     "max": 0,
     "decimalNum": 0,
     "readOnly": 0,
     "alarm": 0,
     "thresholdAlarm": 0,
     "passwd": ""
 },
 {
     "id": 20,
     "enable": 1,
     "name": "Last_register",
     "unit": "mA",
     "modbusType": 2,
     "modbusAdr": 1,
     "modbusRegister": 19,
     "modbusCmdRead": 3,
     "modbusCmdWrite": 6,
     "bitPosition": 0,
     "viewMin": 0,
     "viewMax": 0,
     "min": 0,
     "max": 0,
     "decimalNum": 0,
     "readOnly": 0,
     "alarm": 0,
     "thresholdAlarm": 0,
     "passwd": ""
 }
]

In rete esistono diversi siti/tool che permettono di verificare la corretta formattazione di un file JSON, tuttavia, il metodo più rapido per ottenerne uno compatibile con TP100 è quello di collegare il dispositivo al proprio PC o di generarne uno usando il Configuration Wizard.


3. Disposizione degli elementi

Ogni set di parametri corrisponde ad un registro/variabile e quindi ad una tile che verrà visualizzata a display.
È possibile stabilire l’ordine delle tile anche modificando manualmente il file di configurazione, agendo sul parametro id.
A tale parametro può essere assegnato un valore compreso tra 1 e 20. Ogni numero al di fuori di questo range verrà considerato non valido.
Non è necessario riportare gli id in ordine crescente, anche se si consiglia di farlo per una migliore leggibilità futura.
Gli id devono necessariamente essere univoci, non può essere riportato due volte lo stesso id.
TP100 cercherà sempre di aggiungere una nuova tile alla destra di quella precedente.
Se questo non è possibile (ad esempio se lo spazio nella riga non è sufficiente), la nuova tile verrà aggiunta sulla sinistra della riga successiva.

ESEMPIO

  • “id”: 1 corrisponde ad una variabile half (la cui tile occuperà quindi metà riga) chiamata Flow.
  • “id”: 2 corrisponde ad una variabile full (la cui tile occuperà quindi una riga intera) Totalizer.
La seconda tile non verrà visualizzata nella prima riga in quanto lo spazio a disposizione non sarebbe sufficiente.
Il risultato sarà quello riportato nell’immagine seguente:
../_images/order.png

Un’eventuale terza variabile (che avrà “id”: 3) verrà visualizzata sulla terza riga, dopo la variabile Totalizer.


4. Descrizione parametri

Di seguito la descrizione dei parametri di ogni set, necessari per definire la configurazione di ogni singolo registro/variabile.
  • “id”: Da 1 a 20. Permette di indicare l’ordine in cui visualizzare i registri.
  • “enable”: Impostato a 0 disabilita il registro (di cui non verrà quindi visualizzata la tile), impostato ad 1 lo abilita.
  • “name”: Consente di specificare il nome da assegnare al registro, con un massimo di 31 caratteri. Sono consentiti caratteri alfanumerici, spazi e _ (underscore).
  • “unit”: Unità di misura delle variabile, con un massimo di 9 caratteri. Sono consentiti caratteri alfanumerici, spazi e _ (underscore). Può essere lasciata vuota (riportando “” al posto del valore).
  • “modbusType”: Permette di selezionare la tipologia di variabile Modbus (ovvero il numero di bit). Questo parametro influisce direttamente sulla dimensione delle tile. Vedere il paragrafo 4.1. modbusType per ulteriori informazioni.
  • “modbusAdr”: Permette di impostare l’indirizzo Modbus del dispositivo da cui prelevare i valori. Secondo la specifica del protocollo Modbus, si può inserire un valore compreso tra 1 e 255.
  • “modbusRegister”: Permette di specificare il registro Modbus da cui prelevare i valori. Sono permessi valori compresi nel range 0 - 65535.
  • “modbusCmdRead”: Permette di specificare la funzione Modbus da usare per accedere al registro specificato nel campo modbusRegister. Va selezionata a seconda delle informazioni riportate nel manuale del dispositivo a cui dovrà interfacciarsi TP100. La corrispondenza tra i valori che si possono assegnare a questo parametro e la rispettiva funzione Modbus è disponibile al paragrafo 4.2. Parametro: modbusCmdRead.
  • “modbusCmdWrite”: Permette di specificare la funzione Modbus da usare per modificare il valore del registro specificato nel campo modbusRegister agendo sul display touch. Questo parametro viene considerato solo se il valore di readOnly è uguale a 0. Può essere impostato a 0 se non è richiesta la possibilità di modificare il valore del registro da display. La corrispondenza tra i valori che si possono assegnare a questo parametro e la rispettiva funzione Modbus è disponibile al paragrafo 4.3. Parametro: modbusCmdWrite.
  • “bitPosition”: Permette di specificare il bit a cui associare la variabile, utile solo nel caso di variabili 1 bit e 8 bit. Nel primo caso può essere specificato un valore compreso tra 0 e 15 (dove 0 rappresenta il bit meno significativo), nel secondo caso possono invece essere specificati i valori 0 (byte meno significativo) o 8 (byte più significativo). Se la variabile che si sta definendo è a 16 o 32 bit, il parametro verrà ignorato (in questo caso è consigliabile impostarlo a 0).
  • “viewMin”: Assieme a viewMax permette di scalare la grandezza letta entro il range desiderato. Il valore minimo inseribile è -2147483648. Può essere lasciato a 0 (assieme a viewMax) se non si intende applicare nessuna scalatura.
  • “viewMax”: Assieme a viewMin permette di scalare la grandezza letta entro il range desiderato. Il valore massimo inseribile è 2147483648. Può essere lasciato a 0 (assieme a viewMin) se non si intende applicare nessuna scalatura.
  • “min”: Permette di aggiungere un’ulteriore scalatura al valore letto, qualora il dispositivo Modbus collegato a TP100 restituisse un range non standard. Si consiglia di impostare questo campo a 0 in quanto non necessario nella maggioranza dei casi.
  • “max”: Permette di aggiungere un’ulteriore scalatura al valore letto, qualora il dispositivo Modbus collegato a TP100 restituisse un range non standard. Si consiglia di impostare questo campo a 0 in quanto non necessario nella maggioranza dei casi.
  • “decimalNum”: Numero di cifre decimali da riportare nel valore letto. È possibile specificare un valore compreso nel range 0 e 4. Nel caso di variabili 1 bit il parametro viene ignorato (si consiglia di impostarlo comunque a 0).
  • “readOnly”: Impostato ad 1 pone la variabile in sola scrittura, non sarà possibile modificare il valore del registro da display. Impostato a 0 permette invece di usare la funzione specificata nel campo modbusCmdWrite per modificarne il valore.
  • “alarm”: Permette di selezionare la condizione di allarme che verrà applicata alla soglia specificata nel campo thresholdAlarm. Una volta verificatasi modificherà il colore della tile associata (che diverrà rossa). Impostare a 0 se non si intende definire nessun allarme, in quel caso il valore specificato nel campo thresholdAlarm verrà ignorato. Tutti gli altri valori impostabili verranno riportati al paragrafo 4.3. Parametro: alarm.
  • “thresholdAlarm”: Permette di definire il valore della soglia di allarme. A seconda della condizione specificata nel campo alarm, quando il registro verrà considerato in allarme il bordo superiore della tile verrà evidenziato in rosso. Il valore specificato deve ricadere all’interno del range definito dai campi viewMin e viewMax.
  • “passwd”: Permette di impostare un codice numerico da inserire nel caso in cui si intenda modificare il valore del registro Modbus. Il codice può avere una lunghezza compresa tra 3 e 6 cifre. Se a readOnly è stato assegnato un valore diverso da 0, il parametro non verrà considerato. Se non si intende definire alcun codice numerico, lasciare vuoto il campo (inserendo “” al posto del valore).

4.1. modbusType

Nel campo modbusType possono essere inseriti dei valori nel range 0-9. Ciascun valore corrisponde ad una specifica tipologia di variabile Modbus.
Nella tabella seguente verranno riportati anche i valori minimi e massimi previsti dalla tipologia di variabile. Lasciando impostati a 0 i parametri viewMin e viewMax, verrà utilizzato il range sotto riportato e non verrà applicata nessuna scalatura.
Valore da inserire Tipologia di variabile Dimensione tile Minimo Massimo
0 1bit - Boolean Half (metà riga) 0 1
1 8bit - Byte Half (metà riga) 0 255
2 16bit - Half signed Half (metà riga) -32768 32767
3 16bit - Half unsigned Half (metà riga) 0 65535
4 32bit - Int signed Full (riga completa) -2147483648 2147483648
5 32bit - Int unsigned Full (riga completa) 0 4294967295
6 32bit - Int signed inv Full (riga completa) -2147483648 2147483648
7 32bit - Int unsigned inv Full (riga completa) 0 4294967295
8 32bit - Float Full (riga completa) 0 4294967295
9 32bit - Float inv Full (riga completa) 0 4294967295

Ulteriori informazioni riguardo ciascuna tipologia di variabile possono essere trovate nel capitolo dedicato del manuale del configuratore online (3.2. Variable Type).

4.2. Parametro: modbusCmdRead

Nel campo modbusCmdRead possono essere inseriti i valori corrispondenti al codice decimale della funzione Modbus di lettura da utilizzare per accedere al registro:

Valore da inserire Funzione Modbus
1 0x01 - Read Coil Status
2 0x02 - Read Input Status
3 0x03 - Read Holding Registers
4 0x04 - Read Input Registers

Ulteriori informazioni riguardo ciascuna funzione di lettura possono essere trovate nel capitolo dedicato del manuale del configuratore online (3.1.1. Funzioni di lettura).

4.3. Parametro: modbusCmdWrite

Nel campo modbusCmdWrite possono essere inseriti i valori corrispondenti al codice decimale della funzione Modbus di scrittura da utilizzare per modificare il valore di un registro:

Valore da inserire Funzione Modbus
5 0x05 - Force Single Coil
6 0x06 - Preset Single Register
15 0x15 - Force Multiple Coils
16 0x16 - Preset Multiple Registers

Ulteriori informazioni riguardo ciascuna funzione di scrittura possono essere trovate nel capitolo dedicato del manuale del configuratore online (3.1.2. Funzioni di scrittura).

4.3. Parametro: alarm

Nel campo alarm possono essere inseriti i valori corrispondenti al tipo di condizione di allarme che si intende definire, relativa alla soglia inserita nel campo thresholdAlarm.
Di seguito la corrispondenza tra valore numerico da inserire e condizione di allarme:
Valore da inserire Condizione di allarme
0 Nessun allarme
1 In allarme se uguale a thresholdAlarm
2 In allarme se minore di thresholdAlarm
3 In allarme se maggiore di thresholdAlarm