Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumCi sono due diverse soluzioni…
- Utilizzando un dispositivo HWg-Ares connesso ad un sensore di corrente per la lettura della sonda di livello. Occorrerà configurare il prodotto per inviare un SMS e/o una chiamata telefonica (Solo squillo) quando il livello supera il valore impostato. La versione Ares12 ha anche una batteria ricaricabile interna in grado di fare funzionare il sistema in mancanza di alimentazione e di inviare un SMS di alert.
- Utilizzando i ns sistemi programmabili SlimLine, l’MPS056 è in grado di acquisire direttamente I/O logici ed analogici, quindi basterà collegare la sonda di livello ed un modem GSM per gestire invio di SMS e/o chiamate telefoniche (Solo squillo).
La soluzione (1) è la più immediata da implementare, basta semplicemente configurare il prodotto con i parametri di funzionamento. Ma naturalmente è una soluzione “rigida” occorre accettare la logica di funzionamento del prodotto.
La soluzione (2) basandosi su di un sistema programmabile dall’utente permette la massima flessibilità, ma richiede in controparte un tempo per lo sviluppo del programma. Grazie ad appositi blocchi funzione è possibile inviare messaggi SMS completamente configurabili, è possibile gestire chiamate vocali (Solo squillo), è possibile ricevere messaggi SMS, ecc…
Quindi ecco che il sistema potrebbe eseguire una chiamata vocale di heartbeat a tempi predefiniti, in modo che la sua ricezione garantisca che il sistema funziona (Se non si risponde alla chiamata il tutto è senza costi). Inviando SMS al sistema è possibile gestire comandi, eseguendo una chiamata vocale al sistema è possibile comandare l’invio di un SMS di stato, ecc…
Attualizzando l’applicazione abbandonerei la gestione SMS a favore di una soluzione WEB oriented, sostituendo il modem con un router è possibile connettere il sistema ad Internet e inviare dati ad un portale in MQTT o in REST.
Se si dispone di un indirizzo IP pubblico è possibile connettere alla connessione Internet con IP pubblico un altro SlimLine e gestire lo scambio dati automatico tra i vari dispositivi (Vedi articolo). In alternativa è possibile inserire un terminale operatore per visualizzare i dati di livello dai vari serbatoi.
Se come router si utilizza il WL-R220L basato su openWRT, è possibile oltre alla connessione Internet anche gestire l’invio e ricezione di SMS (Vedi topic). Utilizzando il servizio ZeroTier è possibile creare una rete peer-to-peer criptata tra i vari router per lo scambio dati, per accedere direttamente alla pagina web dello SlimLine da PC o da Smartphone, per eseguire debug e programmazione degli SlimLine da remoto tramite Internet.
Sergio Bertana
Amministratore del forumUna aggiunta doverosa al post precedente e che aranet-agent non è mantenuto dal fornitore, quindi và utilizzato com’è con tutti i suoi limiti.
Il limite maggiore è che non supporta tutti i sensori, non essendo più mantenuto mano a mano che sono rilasciati nuovi sensori questi non sono più supportati. In linea di massima però tutti i sensori più importanti (Che sono anche i primi ad essere stati rilasciati) sono supportati.
Se si desidera acquisire i valori dalla stazione Aranet-PRO il mio consiglio è di utilizzare il supporto MQTT che è supportato e permette la gestione di tutti i sensori.
Sergio Bertana
Amministratore del forumIl valore di RSSI (Received Signal Strength Indication) indica il livello di segnale radio ricevuto, in linea di principio dovrebbe essere almeno 7dBm sopra la soglia di ricezione. Quindi un segnale accettabile deve essere almeno -120dBm.
Poi nulla vieta di decidere di assumere un fade margin maggiore, accettando per esempio solo valori di segnale ricevuti maggiori di -110dBm soglia oltre alla quale i segnali sono da considerare buoni.
Sergio Bertana
Amministratore del forumSi è proprio come hai detto, come spiegato nell’articolo, la libreria YottacontrolFBs contiene l’FB di gestione di alcuni moduli e viene fornita con il codice in chiaro proprio per permettere di modificare i FB per addattarli al proprio modulo Yotta.
Quindi ottimo partire dal modulo 1055 naturalmente utilizzerai una sola struttura ACData dove configurari la lettura di 16 variabili BOOL corrispondenti ai 16 ingressi digitali del modulo, che poi appoggerai in uscita.
Sergio Bertana
Amministratore del forumNel file di log vengono volutamente inseriti tutta una serie di errori che ci permettono di effettuare una completa diagnostica di funzionamento, quindi non ci si deve spaventare di fronte ad un numero elevato di errori.
[E] SFR055 [20/08/2021 10:23:25] 6640, [5] IP:52.48.11.58:80
Questo errore indica che lo SlimLine ha cercato di connettersi all’IP 52.48.11.58 su porta 80 (Probabilmente è il tuo server REST nel cloud) e non è riuscito a connettersi, il motivo può essere una temporanea mancanza di connettività, oppure il server ha rifiutato la connessione. In questo caso lo SlimLine ritenta alcune volte di connettersi attendendo la risposta dal server, e se continua a non arrivare la connessione viene abortita generando questo errore.
Ma nessun problema per i tuoi dati proprio per questo il FB RESTClient appoggia i dati da inviare in un FIFO. Dopo una pausa la connessione viene ritentata fino a che non riesce, ed ecco che se non vi è la connessione l’errore viene continuamente generato. Il dato da registro FIFO viene cancellato solo dopo essere stato inviato al server REST.
[E] SFR052 [04/08/2021 09:33:03] 3020, Fct:eGetTxBSize
Questo errore probabilmente è riconducibile a quello precedente, l’errore indica che si stà cercando di capire con la funzione SysFGetOBfSize la dimensione del buffer di uscita di uno stream (eFILE) che in realtà non è corretto. Questo potrebbe succedere ad esempio se la connessione REST viene iniziata ma proprio mentre si stà cercando di inviare dati al server per qualche motivo la connessione si interrompe.
Concludendo, posso dire che questi errori possono capitare normalmente nel caso di comunicazioni TCP/IP specie con sistemi nel cloud dove la connessione passa attraverso una infinità di salti. Ecco il trace della connessione dal mio PC.
tracert 52.48.11.58 1 <1 ms <1 ms <1 ms 192.168.0.1 2 <1 ms <1 ms <1 ms 10.0.0.1 3 11 ms 10 ms 11 ms ip-58-1.sn1.clouditalia.com [62.94.58.1] 4 11 ms 10 ms 11 ms ip-0-174.sn-212-90.clouditalia.com [212.90.0.174] 5 12 ms 11 ms 11 ms amazon2.mix-it.net [217.29.67.16] 6 12 ms 12 ms 12 ms 52.119.155.102 7 15 ms 13 ms 15 ms 52.119.155.123 8 * * * Richiesta scaduta.
Come vedi passa in molti server prima di arrivare al server definito, nel mio log il trace si perde perchè il dispositivo non risponde al ping.
Sergio Bertana
Amministratore del forumHW-group per le situazioni particolari, negli ambienti aziendali, dove la comunicazione online non è possibile ha previsto la possibilità di richiedere una licenza Off-line.
Per inviare la richiesta occorre fornire un file .txt prodotto seguendo le istruzioni riportate su questa pagina web. Ci fornite il file generato e provvediamo ad inviarlo ad HW-group per avere il file di licenza Off-line.
Si ricorda che anche nel caso di licenze Off-line, la licenza può essere utilizzata su un solo computer.
Agosto 5, 2021 alle 3:19 pm in risposta a: Sostituzione modulo CPU SlimLine ARM MPS046 con MPS054 #60749Sergio Bertana
Amministratore del forumSi certo il nuovo modello MPS054 è l’evoluzione del modulo CPU su processore Cortex M7 del precedente modulo MPS046. A livello hardware è identico, mantiene le stesse connessioni del precedente.
Per quanto riguarda la compatibilità software devi aprire il programma srgente con LogicLab, cambiare target da MPS046 a MPS054 e ricompilare, in questo modo avrai esattamente la stessa funzionalità.
Occorre però aprire una parentesi sulla architettura, il modello MPS046 aveva architettura XTarget_x ora i nuovi moduli CPU sono forniti con architettura XUnified, quindi puoi aggiornare il progetto ad XUnified oppure se non vuoi toccare nulla puoi semplicemente aggiungere al progetto la libreria eLLabXTargetAdjLib come indicato in questo articolo.
Se proprio vuoi mantenere il tuo progetto intonso, puoi eseguire un downgrade del nuovo modulo alla architettura XTarget_12 (Vedi articolo) e così basterà scegliere il nuovo target e ricompilare.
Per quanto riguarda tutti i moduli di estensione rimane la completa compatibilità, quindi nessun problema con il tuo modulo.
Agosto 4, 2021 alle 3:13 pm in risposta a: Note rilascio upgrade sistemi Cortex M7 PCK051**** #60735Sergio Bertana
Amministratore del forumPurtropo a volte è più rapido lo sviluppatore a sviluppare nuove versioni di sistema operativo del webmaster a riportarne le note di rilascio.
In questo caso dalla versione PCK051A050 alla PCK051A070 passano 2 versioni in cui sono state fatte modifiche minori per correggere alcuni BUGs sulla gestione del disco.
In particolare modo si è prevista la possibilità di gestire nuovi phyter ethernet e si sono aggiunti nuovi comandi utilizzati dal nostro sistema ATE di test automatico.
In sostanza nulla di eclatante ma vista la correzzione dei BUGs se usi il file system vale comunque la pena eseguire l’upgrade.
Agosto 3, 2021 alle 4:25 pm in risposta a: Problemi di comunicazione con PLC FP2 – Panasonic (NAIS Matsushita) #60732Sergio Bertana
Amministratore del forumHo sentito Weintek, mi dicono di utilizzare sul pannello il protocollo Panasonic FP/KW, e di verificare sul PLC le impostazioni della porta di comunicazione che deve essere impostata con il protocollo Mewtocol.
Naturalmente devi verificare che le impostazioni di comunicazione (Baud rate, parità, nr bit) siano corrispondenti tra il pannello ed il PLC. E verificare anche in numero di stazione impostato.
Altro consiglio è di realizzare un semplice progetto con un solo oggetto (Esempio un pulsante toggle) e verificare se la connessione con il PLC funziona. Per comodità ti consiglio di testare il progetto direttamente su PLC con la simulazione On-Line. Naturalmente dovrai collegare la porta RS232 del PC al PLC.
Luglio 30, 2021 alle 4:01 pm in risposta a: Cubatura area gestita da Arananet4 sensore qualità aria #60721Sergio Bertana
Amministratore del forumIn merito alla domanda, ho sentito il fornitore che mi informa che per questi dispositivi è improprio parlare di metri quadri o metri cubi di copertura, perchè la concentrazione di CO2 in un ambiente non segue regole precise e sopratutto non si distribuisce uniformemente nell’ambiente.
Quindi non vi è a priori una dimensione massima, clienti che hanno installato il prodotto e tra questi ci sono moltissime scuole lo hanno utilizzato sia nelle aule didattiche che nei locali piu spaziosi come palestre, mense od aule magne.
Per una acquisizione ottimale del CO2 consiglio di seguire i suggerimenti per il montaggio riportati in questo articolo.
Il fornitore aggiunge che è a conoscenza di installazioni in ambienti anche di 150-200 metri quadri per singolo sensore, con soddisfazione del cliente. Tuttavia, non si tratta di un dato che il fornitore ritiene non avere senso mettere nella documentazione tecnica.
La dimensione dell’ambiente monitorabile da un sensore dipende dal tipo di uso del locale, dalla frequentazione, dalla forma, dalla posizione di porte e finestre, e dal punto in cui si sceglie di mettere il sensore stesso.
Sergio Bertana
Amministratore del forumSi certo, la gestione delle variabili ritentive è gestito dal run time LogicLab, attualmente abbiamo reso ritentiva un’area di 2048 bytes per le variabili definite RETAIN ed i soliti 2048 bytes nell’area DB100 da 2048 a 4095.
Siccome il backup è eseguito su di un file per evitare di stressare l’SDCard viene eseguito ogni 20 secondi.
Sergio Bertana
Amministratore del forumSe guardi attentamente l’esempio riportato nel manuale riferito al FB CLIClient, vedrai che il programma si connette all’localhost porta 23.
TCPClient.PeerAdd:=ADR('127.0.0.1'); //Peer address TCPClient.PeerPort:=23; //Peer portQuindi lo SlimLine emula una connessione Telnet (Proprio come faresti con Toolly) a se stesso e dopo essersi autenticato invia il comando IFConfig. Il comando ritorna tutte le informazioni di connessione e la prima occorrenza del campo Gateway, riporta proprio l’indirizzo IP assegnato dal server DHCP. Ecco il codice che esegue l’invio del comando e acquisisce l’indirizzo.
// --------------------------------------------------------------------- // SEND COMMAND // --------------------------------------------------------------------- // Send the RMalloc statistics request command, every answer row ends // with so they are wait. 10: CLI.CStr:=ADR('IFConfig$r'); CLI.PStr:=ADR('[Admin]>'); CLI.EAStr:=NULL; CLI.CSend:=TRUE; IF NOT(CLI.EOL) THEN RETURN; END_IF; CLI.CSend:=FALSE; //Command send // Reads the gateway IP. IF NOT(SysVsscanf(SysStrFind(CLI.ABPtr, ADR('Gateway:............ '), FIND_GET_END), ADR('%s'), STRING_TYPE, ADR(Gateway))) THEN ErrorNr:=50; END_IF; CaseNr:=0; //Program caseIncludo il progetto WhoIsTheGateway per il download.
Sergio Bertana
Amministratore del forumOltre ad inviare SMS è anche possibile eseguire la chiamata, facendo suonare il telefono, questo può essere comodo per avvertire il destinatario dell’arrivo di un SMS oppure per gestire un heartbeat di funzionamento.
Il chiamato sentirà squillare il telefono e vedrà il numero del chiamante, se non risponde alla chiamata questa dopo alcuni secondi viene interrotta. In caso di risposta la chiamata viene interrotta immediatamente.
Per eseguire la chiamata si utilizzanlo le stesse tecniche viste per l’invio di SMS ma si sostituisce il comando con Call e non si definisce il testo.
http:\\xxx.xxx.xxx.xxx\values.xml?Cmd=Call&Nmr=00420123456789
Sergio Bertana
Amministratore del forumUtilizzando il programma Wget è possibile inviare SMS direttamente da linea di comando ecco un esempio.
C:\>wget "http://192.168.1.99/values.xml?Cmd=SMS&Nmr=12345678&Text=Hello World!" --2021-07-28 10:00:38-- http://192.168.1.99/values.xml?Cmd=SMS&Nmr=12345678&Text=Hello%20World! Connecting to 192.168.1.99:80... connected. HTTP request sent, awaiting response... 200 Ok Length: unspecified [text/xml] Saving to: 'values.xml@Cmd=SMS&Nmr=12345678&Text=Hello World!' values.xml@Cmd=SMS&Nmr=335217 [ <=> ] 118 --.-KB/s in 0s 2021-07-28 10:00:38 (2,07 MB/s) - 'values.xml@Cmd=SMS&Nmr=12345678&Text=Hello World!' saved [118] C:\>
Sergio Bertana
Amministratore del forumIl modo più semplice per inviare SMS utilizzando HWg-SMS-GW3 Gateway SMS è utilizzando il metodo HTTP GET da un comune browser.
L’HTTP GET è un metodo in cui tutti i parametri vengono passati direttamente nell’URL, viene spesso utilizzato per applicazioni semplici perché consente un semplice debug ed è facile da codificare. Da un browser si invoca semplicemente l’indirizzo del dispositivo con i parametri necessari, esempio:
http:\\xxx.xxx.xxx.xxx\values.xml?Cmd=SMS&Nmr=00420123456789&Text=Hello World!
Si riceverà in risposta un documento xml del tipo:
<?xml version="1.0" encoding="utf-8"?> <Root> <QueueAddResponse> <Rslt>1</Rslt> <ID>1</ID> </QueueAddResponse> </Root> -
AutorePost