Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumQuello che vuoi realizzare è possibile utilizzando i ns sistemi programmabili SlimLine, utilizzando un modulo PLC Compatto con Ethernet abbinato a un numero di I/O Ethernet o WiFi, è possibile realizzare un programma che acquisendo un ingresso digitale comanda le uscite su tutti i moduli di I/O.
Il programma implementerà il FB YottaA1MMng per la gestione dei moduli via Modbus TCP, permettendo la scrittura delle uscite e la letture degli eventuali ingressi. Naturalmente utilizzando il Modbus TCP occorre gestire il polling dei dispositivi e questo può portare a dei tempi di ritardo di qualche centinaio di mS.
In alternativa è possibile utilizzare tutti moduli PLC compatto sia per il principale che per i secondari in questo caso utilizzando i FB TCPDataExchServer e TCPDataExchClient è possibile scambiare gli I/o quasi in tempo reale, permettendo la scambio anche su rete Internet oltre che in locale.
Per il comando e la visualizzazione di eventuali errori (Esempio un nodo slave non raggiungibile) è possibile utilizzare un pannello operatore, e sia con il pannello operatore che con il modulo PLC è possibile inviare eMail di alert o gestire datalogging su file degli eventi.
Per la scrittura del programma se si ha esperienza della programmazione PLC si può partire dagli esempi del manuale on-line, aggiungo che è possibile acquistare un pacchetto di supporto per aiutare da remoto nella programmazione.
Maggio 13, 2024 alle 8:26 am in risposta a: Connessione pannello Weintek a dispositivo SlimLine #77230Sergio Bertana
Amministratore del forumIntanto non conviene partire dall’indirizzo 100.0 con variabili BOOL in quanto il pannello Weintek quando legge una variabile BOOL in realtà ne legge 16 leggendo a cavallo dell’indirizzo indicato. Quindi per leggere la variabile 100.0 (40000 sul Weintek) in realtà vengono lette 16 variabili a partire da 39992 e questo produce un errore sula richiesta Modbus. Consiglio di allocare varibili BOOL a partire da 100.16 (400016 sul Weintek).
Le variabili numeriche (WORD, DWORD, REAL) possono essere allocate anche a partire da 100.0 l’importante è sempre mantenere l’allineamento binario (Indirizzi divisibili per 2 per variabili WORD, indirizzi divisibili per 4 variabili DWORd e REAL). Quindi è corretto aver allocato la variabile REAL a 100.32 ma attenzione l’indirizzo da definire sul Weintek è 40000+(Indirizzo variabile/2), quindi 40016.
L’errore che hai sul pannello credo quindi dipenda dalla allocazione delle variabili BOOL. Prova a fare un programma con una sola variabile così da verificare dove è l’errore. In questo topic si trova il progetto HMIStartup con un esempio di connessione HMI SlimLine.
Sergio Bertana
Amministratore del forumDovendo utilizzare la porta RS485 ti consiglio il modulo CPU PLC SlimLine, che oltre alla porta Ethernet anche una porta RS485 isolata. Al modulo puoi connettere localmente i moduli di estensione I/O che ti servono.
Come moduli di I/O remoti puoi usare quelli della Yotta come indicato nel post precedente, oppure utilizzare un modulo PLC compatto eventualmente abbinando moduli di estensione I/O per creare isole di automazione che servono più locali e/o il locale caldaia.
Per acquisire i valori di temperatura/umidità ecc nei locali puoi utilizzare questi sensori combinati RS485. In questo caso l’impostazione della temperatura sarà centralizzata dal pannello operatore o tramite accesso da browser al modulo CPU. In alternativa puoi utilizzare un termostato in RS485 che permette l’impostazione locale.
Come pannello operatore puoi utilizzare quelli della serie iP (Soluzione più economica) che puoi visualizzare da locale/remoto sullo smartphone utilizzando un client VNC. In alternativa le serie cMT più prestazionale che oltre al VNC permette di essere visualizzato e gestito dalla apposita App cMTViewer che permette l’accesso fino a 9 utenti contemporanei in modo trasparente (A differenza del VNC ogni utente visualizza la propria finestra in modo indipendente dall’altro).
Per gli altert sia il modulo CPU che il pannello possono inviare eMail, il modulo CPU può essere gestito anche da Telegram ricevendo comandi e/o inviando messaggi. Un modo veloce e semplice di visualizzazione dati può essere offerto dal portale Beebotte.
Sergio Bertana
Amministratore del forumI ns sistemi sono utilizzati in diverse applicazioni domotiche in questo articolo puoi trovare degli spunti interessanti. Vediamo le varie possibilità
- Interruttori, prese, tapparelle: se non hai problemi di passaggio cavi consiglio moduli di I/O a cui connetterli vedi ModbusMaster. Puoi creare zone dove concentrare gli I/O di più stanze e connetterli tutti ad un sistema SlimLine con I/O che poi interconnetti tra di loro via ethernet, vedi DataTransfer. Se vuoi utilizzare dispositivi wireless dai una occhiata alla gamma Shelly, con il protocollo Direct Device to Device communication (DDD) è possibile gestirli utilizzando il FB HTTPClient.
- Apertura porta con badge o codice, abbiamo soluzioni sia con RFID che con Tag a contatto, vedi offerta. Tramiti appoositi FB è possibile acquisire il codice tessera e gestire l’apertura in base a regole (Esempio l’orario per il personale di pulizia). Con la gestione di una tastiera è possibile gestire l’apertura a codice nel caso di alloggi in affitto breve.
- Sensori per antifurto, se non hai problemi di passaggio cavi puoi connettere i classici sensori agli I/O del sistema. In alternativa puoi utilizzare dispositivi wireless utilizando ad esempio sistemi LoRaWAN connessi ad un gateway Milesight.
Se aggiungi uno o più pannelli operatore puoi creare grafiche accattivanti che ti permettono una gestione intuitiva delle varie funzioni, inoltre grazie ad EasyAccess potrai accedere al pannello via Internet in completa sicurezza con il tuo Smartphone.
In conclusione esistono moltissimi prodotti per applicazioni domotiche, naturalmente i prodotti commerciali sono più semplici da utilizzare ma sono rigidi nell’utilizzo e puoi abbinare solo prodotti compatibili. L’utilizzo di un sistema programmabile certo è più complesso perchè devi realizzare il programma di gestione ma ha il vantaggio di potertelo personalizzare come desideri e non hai limiti sulla integrazione di altri prodotti.
Sergio Bertana
Amministratore del forumNon è chiaro se l’esigenza è di utilizzare la rete LoRaWAN per connettere dispositivi remoti dotati di interfaccia seriale o di connettere via Modbus dispositivi remoti nativi LoRaWAN. Vediamo come con i prodotti Milesight da noi distribuiti si può soddisfare la tua esigenza.
- Per collegare i dispositivi seriali al gateway è possibile utilizzare i dispositivi UC100 o UC300 collegando alla porta RS485 uno o più dispositivi Modbus RTU.
- I dispositivi nativi LoRaWAN come quelli presenti sul ns sito o qualsiasi altro dispositivo LoRaWAN si collegano direttamente al gateway.
Detto questo occorre tenere presente che i gateway LoRaWAN (Esempio UG56) non dispongono di connessione seriale per il Modbus RTU. Ma anche ipotizzando di utilizzare il protocollo Modbus TCP il gateway non ha il supporto al protocollo Modbus. La connessione LoRaWAN non permette trasmissioni continue di dati (Tipiche delle interrogazioni Modbus di un pannello HMI o di uno SCADA), la comunicazione avviene con tempi tipici di qualche minuto, per i dispositivi a batteria si consiglia minimo 10 minuti.
Quindi una possibilità è di utilizzare unitamente al gateway un nostro modulo CPU come questo, che utilizzando i blocchi funzione MlsGateway e MlsDevice acquisisca i valori dai sensori remoti rendendoli disponibili su registri Modbus (RTU o TCP). Naturalmente oltre a questa operazione di buffering il sistema può gestire altre operazioni come ad esempio logiche di automazione, storage di dati, data logging ecc.
Sergio Bertana
Amministratore del forumCome descritto il tipo TIME e un valore a 32 bits con il tempo espresso in mS, quindi per impostare da pannello HMI un valore di tempo espresso in hh:mm:ss devi utilizzare una macro di scalatura valore.
L’argomento è stato trattato in questo topic.
Sergio Bertana
Amministratore del forumQuello che devi fare è abbastanza semplice e trovi sicuramente esempi nella nostra Knowledge base. Cominciamo con il ricordare che tutti i programmi che gestiscono comunicazioni Ethernet vanno eseguiti in task Back.
La gestione degli I/O, quindi il programma che alla attivazione di un ingresso attivi una uscita lo farei in LD, e lo puoi eseguire in task Slow. Sulla attivazione dell’ingresso occorre gestire un FB R_TRIG che sulla attivazione dell’uscita Q setta una variabile BOOL globale di comando invio stringa UDP.
Un’altro programma scritto in ST ed eseguito in task Back (Puoi utilizzare l’esempio ST_SysUDPClient) su attivazione della variabile BOOL globale viene inviata la stringa UDP ed esegue il reset della variabile di comando.
Per la ricezione comandi UDP di gestione I/O occorre realizzare un programma un po più complesso in grado di ricevere stringhe, interpretarle e poi eseguire il comando richiesto. Puoi dare una occhiata ai programmi ST_SerialDataReceive e ST_WindSonicDriver naturalmernte sostituendo alla gestione seriale un server UDP. In realtà in questi due programmi come vedrai nella ricezione della stringa di comando viene atteso un carattere terminatore o un tempo di pausa in quanto essendo ricevuta da seriale i caratteri arriveranno uno alla volta. Da un socket UDP o TCP la ricezione è molto più semplice in quanto il comando arriverà tutto in un unico pacchetto dati.
Per il test della comunicazione UDP su PC puoi utilizzare il programma Toolly con l’utility Terminal, emulazione terminale.
Ricordo che è possibile acquistare un pacchetto di supporto On-Line che permette di ottenere supporto con TeamViewer e di imbastire insieme ai ns tecnici lo sviluppo del programma.
Sergio Bertana
Amministratore del forumPer connettersi in FTP al pannello operatore NON si utilizza un browser web, ma si deve utilizzare l’esplora risorse di Windows, o in alternativa un qualsiasi client FTP (Esempio Filezilla).
Aprile 29, 2024 alle 8:52 am in risposta a: Connessione Peer-to-peer tra convertitori ATC-1200 #76963Sergio Bertana
Amministratore del forumAggiungo che il convertitore non gestisce connessioni multicast, ma utilizzando un ns sistema SlimLine è possibile connettere più convertitori ATC-1200 allo SlimLine e con un semplice programma (Vedi esempio COMMulticast) in questo articolo, si può inviare la stringa verso più convertitori ritornando il dato ricevuto.
Ecco quindi che con un protocollo ad indirizzamento (Esempio Modbus) è possibile connettere tramite rete Ethernet più ATC-1200 ognuno connesso ad uno o più dispositivi Modbus RTU e gestire dallo SlimLine la comunicazione seriale verso tutti.
Sergio Bertana
Amministratore del forumLa certificazione MID, certifica gli strumenti di misura per tutelare il consumatore ed il mercato, quindi non esiste un modo disponibile all’utente per il reset.
L’unico modo per resettare l’impostazione e permettere una nuova impostazione è di ritornarci lo strumento. L’operazione di reset può essere fatta solo nei ns laboratori.
Sergio Bertana
Amministratore del forumSi nelle schede PCB137xxxx è previsto il montaggio delle schede Click Boards MikroE, in questa gamma di schede vi sono moltissime funzioni. Il problema è che i segnali su cui si appoggiano le varie funzioni non sono sempre gli stessi. Nella nostra scheda PCB137 abbiamo portato:
- Bus SPI
- Bus I2C
- UART
Ma da LogicLab l’unica risorsa gestibile al momento è l’UART che si può utilizzare come porta seriale COM2. In effetti i moduli CPU dotati di porta RS485 utilizzano un modulino stile MikroE sviluppato da noi.
Quindi gli unici moduli MikroE standard gestibili da LogicLab sono quelli che utilizzano l’interfaccia seriale (Pin 13: Tx, Pin 14: Rx).
Sergio Bertana
Amministratore del forumNon so se ho capito bene quello che volevi ottenere ecco lo screenshot di quello che ho fatto io con questa macro.
macro_command main() short Value=0 //Value to convert char Result[8]={0} //Result string GetData(Value, "Local HMI", LW, 10, 1) //Get data from LW DEC2ASCII(Value, Result[0], 4) //Convert 4 digit to ascii GetData(Value, "Local HMI", LW, 12, 1) //Get data from LW DEC2ASCII(Value, Result[4], 4) //Convert 4 digit to ascii SetData(Result[0], "Local HMI", LW, 20, 8) //Copy the ascii result to 8 bytes (4 LW) end macro_command
Sergio Bertana
Amministratore del forumPurtroppo tutte le informazioni sono nel file project.rms quindi se non c’è il file non è possibile estrapolare il programma.
Sergio Bertana
Amministratore del forumPer il controllo delle condizioni ambientali consiglio il modello EM300-TH, la batteria interna da 4000 mAh garantisce 5 anni con trasmissioni ogni 10 minuti. Questo sensore può inviare temperatura su soglia di allarme ma non su variazione. L’invio su soglia di variazione è possibile con il modello TS30x che però non può rilevare l’umidità.
Ma se analizziamo il consumo energetico, dovremmo valutare se consuma meno un sensore come EM300 che esegue un campionamento ed un invio ogni tempo impostato e poi si pone in quiescenza in attesa del prossimo invio, rispetto ad un sensore che deve continuamente controllare la temperatura per poi inviarla in caso di superamento della soglia.
Inoltre non è un caso che l’EM300 non abbia questa funzione perchè la temperatura ambiente è un fenomeno lento e quindi poco si presta ad un controllo di tipo soglia. Completamente diverso è il caso del sensore TS30x che avendo la sonda esterna può essere utilizzato per il controllo di temperatura in svariate applicazioni in cui può essere utile avere una segnalazione immediata nel caso di una repentina variazione.
Sergio Bertana
Amministratore del forumIl fornitore consiglia di controllare i servizi Windows ed il firewall, loro non hanno ancora ricevuto lamentele riguardo agli ultimi aggiornamenti di Windows sulla funzionalità del programma PDMS. Probabilmente c’è un qualche blocco di sicurezza nell’accesso al DB Firebird.
In effetti dal 9/24 cesserà il supporto sul programma, SensDesk è la normale migrazione del programma sul cloud.
Capisco che ci sia una diffidenza all’invio dati sul cloud ma occorre considerare che miglioni di telefoni cellulari con dati altamente privati (foto, e-mail, pagamenti, conti, ecc.) sono sul cloud, perché allora non i dati sicuramente meno privati come le temperature, umidità, …
In alternativa, siccome tutti idispositivi HW-group supportano il protocollo SNMP è possibile utilizzare uno dei molti programmi che trasferiscono dati da SNMP su DB.
-
AutorePost