it:prova3

Modulo Logico

Ogni schema logico è costituito da un foglio contenente diversi blocchi funzionali, chiamati nodi. Ogni nodo corrisponde a una specifica funzione eseguita dal server Thinknx.

Il funzionamento di un nodo è determinato dai suoi connettori, che ne rappresentano gli ingressi e le uscite. I nodi possono essere collegati tra loro mediante delle connessioni: ogni connessione parte da un connettore di uscita e termina in un connettore di ingresso di un altro nodo.

Editor del Modulo Logico

Questa pagina descrive il funzionamento generale del Modulo Logico. Per la configurazione e il comportamento di un singolo nodo, selezionare il relativo collegamento nelle sezioni successive.

Lo schema logico può essere gestito utilizzando i seguenti pulsanti presenti nella barra degli strumenti:

  • Import: importa nello schema logico corrente il diagramma contenuto in un file XML.

L’importazione sovrascrive completamente lo schema logico corrente.

  • Export: esporta lo schema logico corrente in un file XML, che può essere successivamente importato in altri schemi logici.

L’esportazione non salva lo schema all’interno del Configurator, ma genera solamente il relativo file XML.

  • Save: salva lo schema logico corrente all’interno del progetto del Configurator.
  • Close: chiude la finestra dell’editor del Modulo Logico.

La funzione di simulazione consente di verificare e analizzare il comportamento del diagramma prima o durante la sua esecuzione sul server Thinknx.

Nel Modulo Logico sono disponibili due tipi di simulazione:

  • Offline Simulation: esegue il diagramma direttamente all’interno del Configurator e mostra in tempo reale i valori che attraversano gli ingressi e le uscite dei nodi. In questo modo è possibile verificare il comportamento dello schema impostando manualmente i valori di ingresso.
  • Online Simulation: si collega al server Thinknx e mostra direttamente nel Configurator i valori elaborati dal diagramma in esecuzione sul server.

La simulazione offline consente di verificare il comportamento dello schema, ma non comunica con il bus KNX o con gli oggetti reali dell’impianto. I valori degli ingressi devono essere simulati manualmente.

La simulazione online funziona solamente quando il computer sul quale è in esecuzione il Configurator si trova nella stessa rete locale del server.

L’indirizzo utilizzato per la connessione corrisponde al parametro Local IP address configurato nell’oggetto System.

Durante una simulazione, la visualizzazione dei valori può essere configurata selezionando il pulsante Sim. Settings nella barra degli strumenti.

Impostazioni della simulazione

Sono disponibili le seguenti opzioni:

  • Force show value labels for all connectors: mantiene sempre visibili le etichette contenenti il valore corrente di tutti i connettori. Se questa opzione non è abilitata, l’etichetta viene mostrata solamente quando il valore del connettore viene aggiornato.
  • Value updates fade timeout: se la visualizzazione permanente delle etichette non è abilitata, stabilisce per quanto tempo deve rimanere visibile l’ultimo valore ricevuto.

Per creare un nodo:

  1. Aprire la Node Types Library.
  2. Individuare il tipo di nodo desiderato.
  3. Trascinare il nodo all’interno del foglio dello schema logico.
  4. Selezionare il nodo per configurarne le proprietà.

Creazione di un nodo

Quando viene selezionato un nodo, le relative proprietà vengono visualizzate nella griglia delle proprietà.

Modificando questi parametri è possibile determinare il comportamento del nodo.

Selezione e modifica di un nodo

Ogni connettore dispone inoltre di proprietà specifiche. Per modificarle, selezionare direttamente il connettore: i parametri corrispondenti verranno mostrati nella griglia delle proprietà.

È possibile selezionare contemporaneamente più nodi tenendo premuto il tasto Shift.

Per eliminare un nodo:

  • selezionarlo e premere il tasto Canc/Del sulla tastiera; oppure
  • posizionare il puntatore sopra il nodo e selezionare la piccola icona X visualizzata su di esso.

Eliminazione di un nodo

Quando un nodo viene eliminato, vengono rimosse automaticamente anche tutte le connessioni associate.

Per creare una connessione tra due nodi:

  1. Selezionare un connettore di uscita.
  2. Tenere premuto il pulsante del mouse.
  3. Trascinare la connessione fino al connettore di ingresso del nodo di destinazione.
  4. Rilasciare il pulsante quando viene visualizzato il simbolo di conferma verde.

Creazione di una connessione valida

Le connessioni possono essere create esclusivamente tra:

  • un connettore di uscita;
  • un connettore di ingresso appartenente a un altro nodo.

Un connettore di uscita può essere collegato a più connettori di ingresso. Un connettore di ingresso può invece ricevere una sola connessione.

La creazione di una connessione non viene bloccata quando il tipo di dato dell’uscita è differente da quello previsto dall’ingresso. Il valore ricevuto viene convertito automaticamente secondo le seguenti regole:

Conversione Regola Esempio
Bit → Number Il valore logico 0 (False) viene convertito nel numero 0, mentre 1 (True) viene convertito nel numero 1. True → 1
Number → Bit Il numero 0 viene convertito in 0 (False). Qualsiasi altro valore numerico viene convertito in 1 (True). 25 → True
String → Bit La stringa viene convertita in 1 (True) solamente se contiene 1 oppure true. Negli altri casi viene convertita in 0 (False). “true” → True
String → Number Il contenuto della stringa viene convertito in un valore numerico, se utilizza un formato valido. “25.5” → 25.5

A eccezione dei nodi di ingresso e di uscita, i nodi possono essere abilitati o disabilitati tramite il connettore Gate.

Per visualizzare il connettore, abilitare la proprietà Gate del nodo.

Connettore Gate

Quando un nodo è disabilitato:

  • il calcolo non viene eseguito;
  • non viene inviato alcun valore ai connettori di uscita;
  • l’arrivo di nuovi valori sui connettori di ingresso non produce alcun risultato.

Selezionando il connettore Gate è possibile configurare le seguenti proprietà:

  • Inverted gate:
    • se disabilitata, il nodo è attivo quando Gate = 1 e disattivo quando Gate = 0;
    • se abilitata, il comportamento viene invertito: il nodo è attivo quando Gate = 0 e disattivo quando Gate = 1.
  • Force output sending: quando il nodo viene abilitato, forza l’aggiornamento di tutti i connettori di uscita, indipendentemente dalla proprietà Output sending behavior configurata sulle singole uscite.

Quando la proprietà Gate è abilitata ma il relativo connettore non è collegato, il nodo rimane disabilitato per impostazione predefinita.

Il nodo rimane disabilitato anche quando il connettore Gate è collegato, ma non ha ancora ricevuto alcun valore dalla sorgente.

Comportamento del connettore Gate

La proprietà Await all inputs è disponibile nei singoli blocchi dello schema logico.

Quando è impostata su True, il nodo attende che tutti i suoi ingressi abbiano ricevuto almeno un valore prima di eseguire il calcolo e produrre un risultato.

Questa proprietà permette di evitare che il nodo venga elaborato utilizzando dati incompleti o ingressi non ancora inizializzati.

I nodi di ingresso consentono di acquisire valori provenienti dall’impianto, dagli oggetti di sistema oppure da valori costanti definiti direttamente nello schema.

  • Valore costante: mette a disposizione dello schema un valore numerico, logico oppure testuale definito durante la configurazione.
  • Ingresso KNX: acquisisce dal bus KNX il valore associato a un indirizzo di gruppo.
  • Sheet Input: rappresenta un ingresso generico di una funzione logica riutilizzabile.
  • Stato interno: acquisisce lo stato messo a disposizione da un oggetto di sistema configurato nel progetto.

I nodi di ingresso dispongono di un solo connettore di uscita, attraverso il quale viene trasmesso il valore acquisito.

La proprietà Output sending behavior stabilisce quando il valore deve essere inoltrato ai nodi collegati:

  • On result change: il risultato viene inviato solamente quando è differente dal valore precedente.
  • When a new input telegram is received: il risultato viene inviato ogni volta che il server riceve un aggiornamento dalla sorgente dell’ingresso, anche se il valore non è cambiato.

Durante una simulazione offline, gli aggiornamenti degli ingressi possono essere simulati inserendo manualmente i valori nell’apposito pannello della barra degli strumenti.

I nodi di uscita rappresentano l’azione finale eseguita utilizzando i valori elaborati dallo schema, ad esempio l’invio di un telegramma KNX o l’esecuzione di un comando.

  • Comando: esegue un comando configurato quando viene ricevuto un valore o un segnale di attivazione.
  • Uscita KNX: invia il valore elaborato dallo schema a un indirizzo di gruppo KNX.
  • Sheet Output: rappresenta un’uscita generica di una funzione logica riutilizzabile.

I connettori di ingresso dei nodi di uscita dispongono della proprietà Trigger.

Quando questa proprietà è abilitata, la ricezione di un nuovo valore sul connettore avvia l’azione configurata nel nodo di uscita.

I nodi analogici consentono di elaborare valori numerici, effettuare regolazioni, applicare filtri e verificare il superamento di determinate soglie.

  • Comparatore / Regolatore a 2 punti: confronta due valori numerici utilizzando due soglie di commutazione e mantenendo lo stato precedente nell’intervallo compreso tra esse.
  • Regolatore PID: regola l’uscita in funzione dello scostamento tra il setpoint e il valore misurato.
  • Modulatore PWM: converte un valore analogico in un segnale impulsivo con un rapporto ON/OFF proporzionale al valore ricevuto.
  • Rampa: aumenta o diminuisce progressivamente il valore di uscita fino al raggiungimento del valore richiesto.
  • Verificatore di intervallo: verifica se il valore ricevuto è compreso tra una soglia minima e una soglia massima.
  • Termostato automatico: gestisce automaticamente la regolazione termostatica sulla base delle modalità e dei valori configurati.
  • Setpoint termostato: determina o modifica il setpoint utilizzato per la regolazione termostatica.
  • Filtro a soglia: limita il valore di uscita in base alle soglie minima e massima configurate.
  • Filtro temporale: filtra o ritarda la trasmissione dei valori in funzione delle condizioni temporali configurate.

I nodi contatori ricevono un valore numerico o logico, eseguono un’operazione di conteggio e rendono disponibile il risultato tramite i connettori di uscita.

I connettori di uscita dei nodi contatori dispongono di proprietà specifiche per determinare quando inviare i valori calcolati.

La proprietà Output sending behavior mette a disposizione le seguenti modalità:

  • On new value reception: il valore viene inviato ogni volta che il nodo aggiorna il risultato.
  • After a fixed time interval: il valore viene inviato allo scadere di un intervallo prestabilito, indipendentemente dal fatto che sia cambiato.
  • On over-threshold change: il valore viene inviato quando la differenza percentuale rispetto al precedente supera la soglia configurata.
  • On over-threshold change and after time: il valore viene inviato quando viene superata la soglia di variazione e, in ogni caso, allo scadere dell’intervallo prestabilito.

Le proprietà associate sono:

  • Store time interval: intervallo di tempo da attendere prima dell’invio del valore.
  • Change percentage: variazione percentuale minima necessaria per determinare l’invio. Il nuovo valore deve differire dal precedente di una percentuale superiore a quella configurata.

I nodi logici consentono di elaborare valori binari.

Ad eccezione di alcuni nodi con una struttura fissa, il numero degli ingressi può essere modificato tramite la proprietà Number of inputs.

  • AND: restituisce 1 solamente quando tutti gli ingressi sono uguali a 1.
  • Filtro: inoltra, modifica o blocca il valore ricevuto in base alla modalità di filtraggio configurata.
  • IF: seleziona uno dei due valori di ingresso in funzione dello stato della condizione.
  • Relè bistabile: mantiene lo stato dell’uscita e permette di modificarlo tramite gli ingressi Set e Reset.
  • Matrice logica: trasferisce il valore di un ingresso selezionato verso una determinata uscita.
  • Memoria: memorizza e rende disponibile l’ultimo valore ricevuto secondo le condizioni configurate.
  • NAND: restituisce 0 solamente quando tutti gli ingressi sono uguali a 1.
  • NOR: restituisce 1 solamente quando tutti gli ingressi sono uguali a 0.
  • NOT: inverte il valore logico ricevuto in ingresso.
  • OR: restituisce 1 quando almeno uno degli ingressi è uguale a 1.
  • Relè a impulso: mantiene lo stato dell’uscita e lo commuta a ogni fronte di salita ricevuto sull’ingresso Trigger.
  • XAND: restituisce 1 solamente quando tutti gli ingressi presentano lo stesso valore.
  • XOR: restituisce 1 quando gli ingressi presentano valori differenti.

I connettori di ingresso dei nodi logici dispongono delle seguenti proprietà:

  • Trigger: quando è abilitata, la ricezione di un nuovo valore sul connettore avvia il calcolo del nodo e l’eventuale invio dei risultati.
  • Inverted input: inverte il valore ricevuto dal connettore. Quando l’ingresso è invertito, vicino al connettore viene visualizzato un simbolo rosso.

I connettori di uscita dei nodi logici dispongono delle seguenti proprietà:

  • Output sending behavior:
    • On result change: il risultato viene inviato solamente quando differisce dal precedente;
    • When a new input telegram is received: il risultato viene inviato ogni volta che la sorgente aggiorna un ingresso.
  • Inverted output: inverte il valore trasmesso. Quando l’uscita è invertita, vicino al connettore viene visualizzato un simbolo rosso.

I nodi timer consentono di eseguire operazioni basate sul tempo, applicare ritardi e generare impulsi o sequenze temporizzate.

I nodi matematici consentono di eseguire operazioni aritmetiche sui valori ricevuti in ingresso.

  • Valore assoluto: calcola il valore assoluto del valore ricevuto.
  • Addizione: calcola la somma di n valori.
  • Media: calcola la media aritmetica di n valori.
  • Divisione: calcola la divisione tra due valori.
  • Combinazione lineare: calcola la combinazione lineare degli ingressi utilizzando i pesi configurati.
  • Logaritmo: calcola il logaritmo utilizzando la base e l’argomento ricevuti in ingresso.
  • Espressione matematica: calcola un’espressione matematica personalizzata.
  • Massimo: restituisce il valore massimo tra gli ingressi.
  • Minimo: restituisce il valore minimo tra gli ingressi.
  • Moltiplicazione: calcola il prodotto di n valori.
  • Potenza: esegue l’elevamento a potenza utilizzando una base e un esponente.
  • Resto: restituisce il resto della divisione tra due valori.
  • Arrotondamento: arrotonda il valore ricevuto all’intero più vicino.
  • Sottrazione: calcola la sottrazione tra n valori.

Il Nodo di scripting consente agli utenti con conoscenze di programmazione di base di creare liberamente una logica operativa mediante l’IDE integrato.

Il codice dello script definisce l’algoritmo da eseguire, i parametri di ingresso e gli eventuali valori di uscita.

Per la sintassi del metodo, la definizione dei parametri e gli esempi di utilizzo, consultare la pagina dedicata al Nodo di scripting.

I nodi Sheet Input, Sheet Output e Logic Module Sheet consentono di creare blocchi logici generici, esportarli in formato XML e riutilizzarli all’interno di altri progetti.

Questa funzione permette di standardizzare logiche ricorrenti e di separare una logica complessa in più blocchi funzionali.

Per la procedura completa, consultare la pagina Sheet Input, Sheet Output e Logic Module Sheet.

Il nodo Commento consente di inserire annotazioni testuali all’interno del foglio, rendendo più semplice documentare e comprendere il funzionamento dello schema logico.

I commenti non partecipano all’elaborazione della logica e non dispongono di connettori.

Prima di salvare e trasferire il progetto al server:

  1. Verificare che tutti gli ingressi necessari ricevano un valore.
  2. Controllare le proprietà Trigger dei connettori.
  3. Verificare la configurazione degli eventuali connettori Gate.
  4. Controllare se i nodi che richiedono più ingressi devono utilizzare la proprietà Await all inputs.
  5. Utilizzare la simulazione offline per verificare i risultati prodotti dallo schema.
  6. Verificare che non siano presenti collegamenti circolari indesiderati.
  7. Controllare che i tipi di dato e le conversioni automatiche producano il risultato previsto.
  8. Salvare lo schema tramite il pulsante Save.
  9. Trasferire il progetto al server e, se necessario, utilizzare la simulazione online per verificare il comportamento reale.

Prestare particolare attenzione quando l’ingresso e l’uscita di una logica utilizzano la stessa sorgente, ad esempio lo stesso indirizzo di gruppo KNX. Una configurazione errata della proprietà Trigger può generare un ciclo continuo di aggiornamenti.

Esempio 1: Regolatore di temperatura

Esempio 1: Regolatore di temperatura

Utilizzando il nodo Espressione matematica e la funzione Regulator, è possibile implementare una regolazione partendo da un setpoint e dal valore effettivo della temperatura.

I due ingressi aggiuntivi dell’espressione rappresentano:

  • il valore di isteresi;
  • la possibilità di invertire il risultato:
    • 0 = funzionamento normale;
    • 1 = risultato invertito.

Nell’esempio:

  • se Setpoint > Actual, viene inviato il valore 1 a Heat Valve e il valore 0 a Cool Valve;
  • se Setpoint < Actual, viene inviato il valore 0 a Heat Valve e il valore 1 a Cool Valve.

Per maggiori informazioni sulla configurazione delle espressioni, consultare la pagina Espressione matematica.

  • it/prova3.txt
  • Ultima modifica: 2026/09/17 10:17
  • da francesco