Configurazione di smartCORE
Panoramica
Nella scheda Overview si trovano le informazioni di base sul proprio dispositivo smartCORE. Qui sono riportate, ad esempio, la versione installata di smartCORE e il numero di serie del dispositivo, ma è anche possibile individuare a colpo d'occhio i moduli utilizzati.

Diagnostica e impostazioni

Alla voce "Diagnostics & settings" sono disponibili tre opzioni:
| Opzione | Descrizione |
|---|---|
| Display CAN bus traffic | Apre un popup in cui viene visualizzato il traffico CAN bus corrente. |
| Display device logs | Apre un popup in cui è possibile leggere e filtrare i log del dispositivo. |
| Edit DBC templates | Apre un popup in cui è possibile modificare i template DBC memorizzati in optiCONTROL. |
Segnali

Nella scheda "Signals" sono elencati tutti i segnali prodotti da smartCORE.
Selezionando dei segnali e facendo clic sul pulsante "Play" è possibile visualizzare i valori correnti dei segnali scelti. Questo valore viene aggiornato con una frequenza di 1Hz.
Tramite il campo di input è possibile filtrare l'elenco per nome del segnale e, facendo clic sul pulsante di esportazione , l'elenco può essere esportato come file Excel.
Configurazione
Nella scheda Configuration è possibile gestire e configurare i moduli smartCORE.
Con l'assistente di configurazione è possibile impostare in modo rapido e semplice i sistemi tipici, ma ogni dettaglio può essere personalizzato.
Se si desidera configurare una flotta di dispositivi, i moduli già configurati possono essere salvati come template e aggiunti con un clic a ciascun dispositivo successivo.
L'area "Static config" è di sola lettura e di norma viene utilizzata solo dai collaboratori di optiMEAS.

| Icona | Descrizione |
|---|---|
| Avvia l'assistente di configurazione | |
| Scrive la configurazione corrente in un file | |
| Importa la configurazione da un file | |
| Aggiunge un modulo | |
| Rimuove un modulo | |
| Aggiunge alla configurazione il modulo del template scelto | |
| Crea un template | |
| Modifica un template |
Ogni modulo può essere configurato tramite un input JSON e per la maggior parte dei moduli optiMEAS mette a disposizione anche una finestra di configurazione grafica. La configurazione grafica dei moduli più diffusi è documentata nella sezione seguente.
Il titolo di ogni sezione rimanda alla documentazione più approfondita del modulo.
Quest'area è ancora in fase di sviluppo. In futuro qui si troveranno informazioni sulla configurazione di altri moduli. Le informazioni sulla configurazione dei moduli tramite JSON sono disponibili qui.
Canbus
Il modulo Canbus mette a disposizione l'interfaccia hardware CAN bus tramite Fast Message Dispatcher.

| Campo | Descrizione |
|---|---|
| Instance name | Il nome dell'istanza di questo modulo. Attenzione: ogni nome di istanza deve essere univoco. |
| Data source name (Fmd) | Nome definito dall'utente per l'origine dati. |
| CAN Interface | Quale interfaccia CAN deve essere monitorata da questo modulo. |
| Bit rate | Il bit rate del CAN bus. |
| ListenOnly Mode | Se attivata, il dispositivo smartCORE si comporta come ascoltatore passivo. |
Dbc
Il modulo Dbc mette a disposizione un parser DBC tramite Fast Message Dispatcher.

| Campo | Descrizione |
|---|---|
| Instance name | Il nome dell'istanza di questo modulo. Attenzione: ogni nome di istanza deve essere univoco. |
| Channel name prefix | Stringa con cui devono iniziare tutti i canali prodotti dal modulo. |
| Data source/CAN bus interface (Fmd) | Quale interfaccia CAN bus deve essere analizzata. |
| DBC configuration | Campo di testo in cui inserire la configurazione DBC da utilizzare. |
| Activate debug output | Se attivata, le informazioni di debug vengono scritte nei log di smartCORE. Non deve essere attivata durante il funzionamento normale. |
| Do not remove EFF flag from CAN ID | Se attivata, il flag EFF (Extended Frame Format) non viene rimosso dagli ID CAN. |
| OnChange data acquisition interval (ms) | Trascorso l'intervallo indicato invia il valore corrente del segnale, anche se non è cambiato. |
| OnChange data acquisition active | Se attivata, i dati vengono scritti nel canale smartCORE solo quando i dati del messaggio CAN sono cambiati. |
EventCounter
Il modulo EventCounter fornisce la funzionalità per contare eventi (ad es. superamenti per difetto o per eccesso di valori limite) nei dati di misura.

L'interfaccia di configurazione del modulo EventCounter è suddivisa in tre aree. Nell'area superiore è possibile configurare le impostazioni generali del modulo:
| Campo | Descrizione |
|---|---|
| Instance name | Il nome dell'istanza di questo modulo. Attenzione: ogni nome di istanza deve essere univoco. |
| Query/check interval | Dopo quale intervallo devono essere controllati i segnali di ingresso assegnati. |
Tabella dei segnali
Nell'area in basso a sinistra si trova la tabella dei segnali. Qui sono elencati tutti i segnali che il modulo deve monitorare. Si distingue tra segnali booleani e segnali con valore limite.
Nell'angolo in alto a sinistra dell'area si trovano alcuni pulsanti per la gestione dei segnali:
| Icona | Descrizione |
|---|---|
| Aggiunge un segnale booleano. | |
| Aggiunge un segnale con valore limite. | |
| Elimina i segnali contatore selezionati. | |
| Riporta a 0 tutti i segnali contatore definiti in questo modulo. |
La tabella stessa è di sola lettura e offre una panoramica delle proprietà dei segnali contatore. Questi possono essere selezionati con un clic e configurati nell'area delle proprietà del segnale. Anche qui viene illustrato il significato delle colonne.
Proprietà del segnale
Nell'area in basso a destra si trovano le proprietà del segnale. Qui è possibile configurare le proprietà dei segnali contatore selezionati.
| Campo | Descrizione |
|---|---|
| Name of the input signal | Il nome del segnale da analizzare. |
| Name of the output signal | Il nome del segnale che deve contare gli eventi. |
| Event type | Con quale tipo di evento il contatore deve essere incrementato. Valori possibili: Rising, Falling, Rising & Falling. |
| Generate start time signal | Se attivata, viene generato un segnale che indica quando è iniziato il conteggio. |
| Limit value (signal name or value) | Il valore limite oppure un segnale che indica il valore limite. Questo campo non ha effetto sui segnali booleani. |
GPS
Il modulo GPS legge e interpreta i messaggi GPS provenienti da un'interfaccia seriale e produce dati GPS nei corrispondenti smartCHANNEL.

| Campo | Descrizione |
|---|---|
| Instance name | Il nome dell'istanza di questo modulo. Attenzione: ogni nome di istanza deve essere univoco. |
| Production Interval (ms) | Il tempo in ms dopo il quale i nuovi dati GPS devono essere scritti nei canali smartCORE. |
| Capture GPS data even with 2D fix | Se attivata, i dati GPS vengono acquisiti anche quando è stato possibile determinare solo latitudine e longitudine. I fix 3D sono per lo più più precisi, ma richiedono i segnali di un maggior numero di satelliti GPS. |
| Sampling frequency (ms) GPS signals | Dopo quanto tempo in ms i segnali GPS devono essere riletti. |
| Channel name GPS location | Il nome del canale smartCORE in cui deve essere emessa la posizione GPS. |
| Channel name satellite count | Il nome del canale smartCORE in cui deve essere emesso il numero di satelliti GPS attualmente rilevati. |
| Channel name Speed (km/h) | Il nome del canale smartCORE in cui deve essere emessa la velocità corrente. |
| Channel name 3D PositionFix Mode | Il nome del canale smartCORE in cui deve essere emessa la modalità 3D PositionFix corrente. Questo valore può essere interpretato come una sorta di indicatore di qualità. |
La modalità 3D PositionFix può assumere i seguenti valori:
| Valore | Significato |
|---|---|
| 0 | Inizializzazione |
| 1 | Nessun GPS |
| 2 | 2D Fix |
| 3 | 3D Fix |
Math
Il modulo Math consente a smartCORE di eseguire un'ampia varietà di calcoli sul set di dati.
Si raccomanda di familiarizzare con il linguaggio prima di lavorare con il modulo Math, poiché questa sezione descrive soltanto l'interfaccia di configurazione del modulo.
La descrizione completa delle funzioni del modulo è disponibile qui.
La configurazione del modulo Math è suddivisa in quattro schede: Formula Code, Settings, Resources e Log Outputs.
Codice delle formule
La scheda Formula Code è il cuore del modulo Math. Qui le formule vengono programmate e verificate. L'interfaccia è suddivisa in due aree: Code e Output della verifica del codice.

Code
Nell'angolo in alto a sinistra dell'area del codice si trovano alcuni pulsanti per la modifica del codice delle formule.
| Icona | Descrizione |
|---|---|
| Verifica la sintassi del codice. I risultati della verifica vengono visualizzati nell'area di verifica del codice. | |
| Cancella gli output della verifica del codice. Ne fanno parte anche le voci nell'area delle variabili. | |
| Apre un popup da cui è possibile selezionare un segnale, che viene poi inserito nel codice. | |
| Commenta o rimuove il commento dal codice selezionato. | |
| Salva il codice in un file. | |
| Carica il codice da un file. | |
| Apre un popup in cui è possibile inserire un termine di ricerca da trovare nel codice. | |
| Apre un popup in cui è possibile inserire un termine di ricerca e un termine sostitutivo. | |
| Nasconde l'output della verifica del codice. |
Sotto questi pulsanti si trova il campo di inserimento del codice, un campo di testo libero.
Output della verifica del codice
In quest'area vengono visualizzati i risultati della verifica della sintassi del codice.
Per impostazione predefinita quest'area è compressa e si apre quando viene rilevato un errore.
Se tutto è in ordine, viene visualizzato "OK" su sfondo verde.
Se vengono rilevati errori, vengono visualizzati il tipo di errore e l'espressione in cui è stato rilevato. Lo sfondo diventa rosso.
Poiché il modulo Math è attualmente ancora un'anteprima, è possibile che la versione della libreria matematica in optiCONTROL non coincida con la versione in smartCORE.
In tal caso la verifica del codice può segnalare erroneamente un errore oppure un OK.
Assicurarsi pertanto che optiCONTROL sia aggiornato.
Impostazioni
Nella scheda Settings si trovano le impostazioni generali del modulo, nonché le variabili utilizzate nel codice e la definizione dei segnali di uscita.

| Campo | Descrizione |
|---|---|
| Storage-Prefix | Alcune funzioni possono salvare parametri in modo persistente sul dispositivo. Per impostazione predefinita questi vengono creati come segnali invisibili. Se è necessario accedere a questi segnali, è possibile inserire qui un nuovo prefisso sotto il quale devono essere reperibili i parametri. |
| Evaluation-Time (ms) | Tempo dopo il quale le formule devono essere valutate. |
| Input-Timeout (sec) | Timeout dopo il quale non si attendono più i dati del canale e il calcolo prosegue utilizzando l'ultimo valore del canale. |
| Discrete SampleTime (ms) | Passo della griglia temporale sottostante su cui avviene il calcolo/la valutazione a tempo discreto delle parti ricorsive delle formule. |
Con il pulsante "Set to default values" sotto le impostazioni è possibile ripristinare i valori predefiniti delle impostazioni.
Variabili
In quest'area vengono elencate, dopo una verifica della sintassi, le variabili locali e gli input channel trovati nel codice. Questi elenchi sono di sola lettura e servono unicamente a offrire una migliore panoramica del codice.
Questa area consente inoltre di assicurarsi che, ad esempio a causa di errori di battitura, non vengano create variabili non valide.
Definizione dei segnali di uscita
Nell'angolo in alto a sinistra dell'area dei segnali di uscita si trovano alcuni pulsanti per la definizione dei segnali di uscita.
| Icona | Descrizione |
|---|---|
| Aggiunge un segnale di uscita. | |
| Rimuove il segnale di uscita selezionato. | |
| Aggiunge tutti gli output channel mancanti presenti nel codice sorgente. | |
| Rimuove tutti i segnali non presenti nel codice sorgente. |
La parte principale dell'area dei segnali di uscita è una tabella in cui sono elencati i segnali di uscita. Qui è possibile impostare per ciascun segnale il nome, il tipo di dato e l'unità fisica.
Risorse
Nella scheda Resources è possibile memorizzare risorse statiche che il modulo Math potrà utilizzare in seguito per i calcoli, ad esempio una lookup table.

| Icona | Descrizione |
|---|---|
| Aggiunge una nuova risorsa (apre un menu a discesa). | |
| Rimuove la risorsa selezionata. |
Attualmente sono supportati tre diversi tipi di risorse: risorse JSON, di testo e decoder. A ogni risorsa deve essere assegnato un nome univoco. A seconda del tipo di risorsa, la finestra di inserimento è strutturata in modo diverso:
- Le risorse JSON vengono inserite in un campo di testo JSON, la cui sintassi viene verificata automaticamente.
- Le risorse di testo vengono inserite in un campo di testo libero.
- Le risorse decoder vengono inserite in un campo di testo libero, sotto il quale è possibile creare la sequenza di decoder.
Facendo clic sul pulsante+è possibile aggiungere un nuovo decoder e, facendo clic sul pulsanteX, rimuovere i decoder selezionati. Con i pulsanti a freccia è possibile spostare i decoder di una posizione verso l'alto o verso il basso nella sequenza.
Facendo clic su una voce nella colonna "Decoder" è possibile cambiare il tipo di decoder. Nella colonna "Parameter" è possibile inserire eventuali parametri per il decoder.
Output dei log
Nella scheda Log Outputs vengono visualizzati messaggi e informazioni di debug del modulo. Per lo più non sono necessari per mettere in servizio il modulo.
Facendo clic sul pulsante "Clear logs" è possibile svuotare la finestra di output.
optiCLOUD
Il modulo optiCLOUD gestisce la connessione tra smartCORE e optiCLOUD.

| Campo | Descrizione |
|---|---|
| Instance name | Il nome dell'istanza di questo modulo. Attenzione: ogni nome di istanza deve essere univoco. |
| Server URL | L'URL dell'istanza optiCLOUD con cui comunicare. |
| Transmission interval of signal values (ms) | Con quale intervallo i dati in tempo reale devono essere trasmessi a optiCLOUD. Non influisce sulla frequenza di invio dei dati storici ad alta risoluzione (file .osf). |
| Transmit boolean values as integer | Se attivata, i valori booleani (vero/falso) vengono trasmessi come numero intero (1/0). |
| Broker-UserID (AccessToken) | AccessToken assegnato al dispositivo in optiCLOUD. Senza un token valido non è possibile alcuna connessione. |
| Enable alarms | Se attivata, gli allarmi generati da altri moduli (ad es. diagnostics) vengono trasmessi a optiCLOUD. |
Segnali
In questa sezione è possibile specificare quali segnali devono essere inviati a optiCLOUD.
Utilizzando il segnaposto * è possibile selezionare gruppi di segnali che iniziano con lo stesso nome.
| Campo | Descrizione |
|---|---|
| Name | Nomi dei segnali da trasmettere. Qui è possibile utilizzare * come segnaposto. |
| Message-Type | Segnali Telemetry / segnali Attribute / invio come Telemetry e Attribute |
| OnChange active | Se attiva, i segnali vengono trasmessi solo se il loro valore è cambiato. |
| onChange Interval(ms) | Trascorso l'intervallo indicato invia il valore corrente del segnale, anche se non è cambiato. |
| Signal specific send interval (ms) | Intervallo dopo il quale questo specifico segnale deve essere inviato. Se onChange è attivo, dovrebbe essere 0. |
Facendo clic con il pulsante destro del mouse nella finestra "Ignore entries for signal" è possibile aggiungere segnali che non devono essere trasmessi a optiCLOUD, anche se rientrerebbero nei segnaposto della finestra dei segnali.
Shared-Attribute
In questa sezione è possibile definire e configurare gli shared attribute. Gli shared attribute sono valori che non sono determinati da dati di misura e di cui non viene registrata la cronologia. Gli shared attribute possono essere modificati sia da smartCORE sia da optiCLOUD e possono essere utilizzati per comunicare tra i due. Ciò consente, ad esempio, di modificare impostazioni senza dover riconfigurare il dispositivo.
| Campo | Descrizione |
|---|---|
| Name | Nome dell'attributo. |
| Data type | Tipo di dato dell'attributo. Valori possibili: Boolean, Integer, Double, String. |
| Unit | Unità fisica dell'attributo. |
| Save value persistently | Se attivata, l'ultimo valore dell'attributo viene salvato nel dispositivo. Ciò è utile, ad esempio, se dopo il riavvio del dispositivo non è possibile stabilire una connessione a optiCLOUD. |
| Buffer size | La dimensione del buffer per la cronologia dell'attributo. Di norma non deve essere modificata. |
Segnali GPS
In questa sezione è possibile definire i segnali GPS da trasmettere a optiCLOUD. I segnali GPS provengono per lo più dal modulo GPS, ma possono anche essere generati dal modulo Math o letti da altri dispositivi.
Con il pulsante "Plus" è possibile aggiungere un nuovo segnale GPS e con il pulsante "X" eliminare il segnale selezionato.
Per optiCLOUD è necessario assegnare nomi univoci alle tre coordinate che compongono un segnale GPS.
Per impostazione predefinita sono "Longitude", "Latitude" e "Altitude".
| Campo | Descrizione |
|---|---|
| GPS location signal | Segnale smartCORE da trasmettere a optiCLOUD. |
| Name Longitude | Quale nome deve avere il valore Longitude in optiCLOUD. |
| Name Latitude | Quale nome deve avere il valore Latitude in optiCLOUD. |
| Name Altitude | Quale nome deve avere il valore Altitude in optiCLOUD. |
Osfwriter
Il modulo Osfwriter è responsabile della scrittura in file OSF dei dati registrati dai sensori.

| Campo | Descrizione |
|---|---|
| Instance name | Il nome dell'istanza di questo modulo. Attenzione: ogni nome di istanza deve essere univoco. |
| File tag | Contrassegno dei file creati da questa istanza |
| File name structure | Determina la struttura dei nomi dei file e il percorso di salvataggio sul dispositivo. Qui è possibile inserire <date> e <time> come segnaposto. |
| Condition to start new file | Determina in base a cosa stabilire se creare un nuovo file OSF. Valori possibili: dimensione del file, durata. |
| Max. File size (MB) | Dimensione in Mb del file OSF corrente dopo la quale deve essere creato un nuovo file OSF. |
| Max. File length (seconds) | Lunghezza in secondi del file OSF corrente dopo la quale deve essere creato un nuovo file OSF. |
| Save signals in OSF | Quali segnali di questa istanza del modulo devono essere salvati come file OSF. Qui è possibile utilizzare * come segnaposto. |
Memorizzazione dei dati con trigger
È anche possibile attivare la memorizzazione dei dati OSF in base a un trigger esterno. Ciò viene utilizzato, ad esempio, per salvare in caso di guasto dati a risoluzione più alta rispetto al funzionamento normale.
| Campo | Descrizione |
|---|---|
| Trigger signal (data type bool) | Il nome di un segnale booleano che deve attivare la memorizzazione dei dati. |
| Pre time (ms) | Durata del periodo prima del segnale di trigger da cui i dati devono essere scritti nel file OSF. |
| Post time (ms) | Durata del periodo dopo il segnale di trigger da cui i dati devono essere scritti nel file OSF. |
Systeminfos
Il compito del modulo Systeminfos è mettere a disposizione informazioni sull'hardware e sul software del dispositivo. È suddiviso in 8 sezioni, che possono essere attivate e configurate singolarmente.

Poiché alcuni campi si ripetono, nella tabella seguente ogni campo è descritto una sola volta.
| Campo | Descrizione |
|---|---|
| Instance name | Il nome dell'istanza di questo modulo. Attenzione: ogni nome di istanza deve essere univoco. |
| Base namespace | Stringa con cui devono iniziare tutti i canali. |
| Timeout/execution frequency | Imposta la frequenza massima di interrogazione dei sottomoduli e non deve quindi essere superiore all'intervallo di acquisizione dati dei sottomoduli. Se la frequenza corretta non è chiara, si raccomanda di utilizzare le impostazioni predefinite. |
| Active | Indica se il sottomodulo corrispondente deve essere attivo. |
| Namespace | Stringa con cui devono iniziare i canali del sottomodulo. |
| Data acquisition interval (s) | Tempo in secondi dopo il quale devono essere acquisiti nuovi dati. |
| Produce data OnChange | Se attiva, produce dati non solo a intervalli, ma anche quando viene rilevata una modifica. |
| Monitor status of SD card (sde) | Indica se devono essere raccolti anche dati sulla memoria esterna. |
| Config description (version) | Campo di testo libero per descrivere la versione di configurazione corrente del dispositivo. |
| Value pairs | Facendo clic sull'icona "Edit" è possibile aggiungere/rimuovere informazioni statiche definite dall'utente. |
| Minimum file size (kByte) | Dimensione del file in kByte a partire dalla quale i file devono essere conteggiati come upload. |
Uptime
Il modulo Uptime consente di determinare per quanto tempo i segnali assumono un determinato valore (o intervallo di valori).

| Campo | Descrizione |
|---|---|
| Instance name | Il nome dell'istanza di questo modulo. Attenzione: ogni nome di istanza deve essere univoco. |
| Save interval of uptime intermediate values (ms) | L'intervallo in ms dopo il quale deve essere salvato lo stato intermedio dei contatori di uptime. |
| Check interval of the condition (ms) | L'intervallo dopo il quale deve essere verificato se gli input channel soddisfano ancora la condizione impostata. |
Con il pulsante + è possibile aggiungere altri canali da monitorare.
Facendo clic sul pulsante X, il canale attualmente selezionato viene rimosso dall'elenco.
| Colonna | Descrizione |
|---|---|
| Input-Channel | Il nome del canale da verificare. |
| Output-Channel | Il nome del canale in cui devono essere scritti i risultati. |
| Offset in seconds | Il valore qui inserito viene sommato una sola volta all'uptime conteggiato. Ciò viene utilizzato, ad esempio, per sommare il tempo di funzionamento precedente a quello rilevato digitalmente. |
| Comparison operator | Con quale operatore l'input channel deve essere confrontato con il valore di confronto. Valori possibili: vedere sotto. |
| Comparison value | Valore statico con cui l'input channel deve essere confrontato. |
Operatori di confronto
| Operatore | Simbolo |
|---|---|
| Maggiore o uguale al valore di ingresso | >= |
| Minore o uguale al valore di ingresso | <= |
| Uguale al valore di ingresso | == |
| Valore di ingresso uguale/diverso da 0 | Espressione booleana |
| Maggiore del valore di ingresso | > |
| Minore del valore di ingresso | < |
| Diverso dal valore di ingresso | != |
Help
Qui si trova la descrizione di ciascun modulo memorizzata in smartCORE.
Changelog
Qui si trova il changelog di smartCORE così come è memorizzato sul dispositivo. Una versione aggiornata del changelog è disponibile qui.