Sergio Bertana
Risposte nei forum create
-
AutorePost
-
Sergio Bertana
Amministratore del forumNon mi dici se nella caldaia vi è una connessione Internet oppure no, cerco di darti una idea delle possibilità.
Dovendo gestire solo una comunicazione Modbus potresti utilizzare un pannello operatore, in locale visualizzi lo stato della caldaia e forzi i comandi, le versioni con Ethernet possono inviare anche eMail. Con questa soluzione hai la possibilità di operare sul pannello interamente da remoto con Easy Access 2.0. Naturalmente devi avere una connessioni Internet o via router ADSL o via router UMTS, il software EasyAccess 2.0 grazie all’uso di una infrastruttura server di appoggio opera anche su reti con IP dinamico anche se NATtate.
La versione attuale del firmware del modulo Compact Eth supporta solo la modalità server TCP e quindi non può connettersi a server SMTP pere invio eMail. Se nella caldaia non hai connessione Internet allora puoi utilizzando un Modem con un modulo CPU compact inviare e ricevere SMS (Topic). Utilizzando una connessione GPRS lo stesso modem può dialogare con una applicazione Web sul cloud (Topic).
In generale la tendenza è di creare applicazioni sul cloud, questo evita di avere necesità di IP statici e pubblici e di dover intervenire sulle configurazioni dei routers di accesso ad Internet che molte volte sono in comodato d’uso e non sono modificabili dall’utente. Nel caso in cui vi sia già una connessione Internet in alternativa al Modem è possibile abbinare un convertitore Ethernet-Seriale al modulo CPU.
Dicembre 18, 2014 alle 4:16 pm in risposta a: Protocollo Modbus master per applicazione domotica #38605Sergio Bertana
Amministratore del forumA parte il capire cosa vuol dire “ho messo questa stringa in Toolly e non fà nulla”, adesso ti darò due dritte ulteriori… l’indirizzo 4026 và scritto in esadecimale 4026 -> 0x0FBA (Modbus ha un offset di 1 ed a volte devi sottrarre 1) ma questo lo scopriremo quando comunicherai e potrai verificare se il dato letto dal comando è quello del registro oppure quello del registro dopo.
Ma l’errore ancora più grave che hai commesso è che il CRC non è un numero casuale ma è un codice di controllo e và calcolato con un algoritmo sul valore dell’intero frame. Quindi se al posto di 0x0FBA scrivi 0x4026 il CRC cambia completamente.
Ecco come devi configurare Toolly (Screenshot), come vedi l’intero frame di comando l’ho inserito in un command e viene inviato premendo Cmd1. Il Modbus RTU è un protocollo time oriented e non puoi inviare i dati uno alla volta da tastiera ma devi inviare l’intero frame.
Poi i valori indicati 01 03 ecc.. sono dati esadecimali, inviando 01 dalla seriale esce un solo carattere ascii (Codice 0x01) e non due caratteri 0x30, 0x31 come se fossero due numeri.
Dicembre 18, 2014 alle 9:24 am in risposta a: Protocollo Modbus master per applicazione domotica #38603Sergio Bertana
Amministratore del forumLeggo il manuale che hai postato e mi sembra di capire che l’uscita O2XT1 è mappata all’indirizzo 4001+25 quindi indirizzo 4026. Siccome gli ingressi sono mappati in un registro word (16 bit) per leggerlo devi utilizzare il comando modbus 0x03 Read multiple register.Se usi semplicemente il nostro programma Toolly puoi gestire semplicemente tramite l’emulazione terminale la stringa Modbus di interrogazione e verificare il ritorno. Leggo dal manuale che i parametri di default sono Default setting: 2 wires, RTU, even parity, Address No.1, 19200 bauds.Quindi la stringa di interrogazione è del tipo 01 03 0F BA 00 01 A6 FB. Dove 01 indirizzo di nodo, 03 il codice funzione, 0FBA indirizzo variabile (4026), 0001 Numero di registri da leggere, A6FB CRC pacchetto modbus (Vedi anche questo topic).
Dicembre 18, 2014 alle 8:41 am in risposta a: Nuovo blocco funzione per Gateway Modbus TCP/RTU #38601Sergio Bertana
Amministratore del forumProseguo con la risposta alla domanda in questo topic in cui abbiamo trattato l’argomento connessione con PLC Crouzet.
Sergio Bertana
Amministratore del forumLa funzione Pass-Through è possibile solo con i terminali dotati di porta ethernet, ma lo SlimLine ha una porta USB e collegandoti al PC con il driver RNDIS (Topic) hai una connessione ethernet aggiuntiva (Indirizzo di default 192.168.1.122).
In alternativa usando la sola connessione seriale, anzichè continuamente scambiare la connessione tra il terminale ed il PC, ti consiglio di utilizzare la simulazione On-Line del pannello (Dal programma EasyBuilder). In questo modo puoi sconnettere LogicLab e connettere il pannello simulato. Poi sconnettere il pannello simulato e riconnettere LogicLab sempre senza mai staccare fisicamente la porta seriale ma solo agendo dai due programmi.
Sergio Bertana
Amministratore del forumNon è chiara la tua domanda, perchè collegarsi attraverso il terminale per andare in debug… Puoi collegare LogicLab direttamente alla seriale libera dello SlimLine ed eseguire sia il debug che la programmazione. In più avendo il tuo dispositivo la porta Ethernet puoi collegarti anche in Ethernet oltre che in seriale.
Diversa situazione sarebbe se nel tuo impianto avessi un pannello Weintek con Ethernet connesso in seriale ad uno SlimLine e volessi tramite la Ethernet del pannello connettere LogicLab allo SlimLine per debug e programmazione. In tal caso devi utilizzare la procedura di Pass-Through (Topic).
A maggior ragione se tu volessi programmare da remoto sia il pannello Weintek che lo SlimLine, disponendo di un pannelo con porta Ethernet potresti utilizzare EasyAccess 2.0.
Sergio Bertana
Amministratore del forumAggiungo una considerazione sulla banda utilizzata, nel contratto EasyAccess 2.0 viene garantita una banda minima grantita di 100 Kb/s fino ad un traffico dati mensile di 1 Gb per ogni terminale. Raggiunta la soglia di traffico mensile la banda minima garantita viene ridottta a 5 Kb/s.
La quantità di traffico mensile utilizzato è visualizzata nel pannello di accesso al servizio (Screenshot).
Dicembre 16, 2014 alle 8:58 am in risposta a: Come conoscere l’indirizzo IP del Cloud HMI cMT-SVR #38594Sergio Bertana
Amministratore del forumQuesto è un modello che come dice il nome “Coud HMI” è proprio nato per l’accesso da remoto infatti non dispone di un suo monitor ma è visualizzabile solo tramite apps su dispositivi esterni tablet o smartphone IOS, Android, Windows.
Non avendo l’applicazione grafica che “gira” al suo interno non ha l’accesso da VNC ma vi si accede con l’app e l’applicazione grafica “girando” nell’app è molto veloce limitando il consumo di banda alla sola gestione delle variabili e non a tutta la grafica.
Ora in rete locale l’accesso è diretto, da remoto occorre creare una VPN tra il Cloud HMI e la rete a cui è connesso il dispositivo di visualizzazione (tablet, smartphone, ecc). A tal proposito può essere utilizzato anche l’EasyAccess 2.0 (Topic).
Dicembre 16, 2014 alle 8:24 am in risposta a: Gestire un conteggio veloce su ingresso digitale #38592Sergio Bertana
Amministratore del forumQuando serve acquisire ingressi in modo molto veloce conviene utilizzare se possibile gli ingressi del modulo CPU, questo perchè essendo fisicamente connessi al microcontrollore ne è estremamente veloce l’acquisizione (Pochi uS).
Per acquisire gli ingressi dai moduli di estensione è necessario un tempo che varia in funzione del numero di ingressi acquisisti (Per 8 ingressi è dell’ordine di 100 uS). Essendo il tempo di esecuzione di default della task fast impostato a 1 mS la sola acquisizione di 100 uS occupa un decimo del tempo disponibile.
Il tempo necessario alla acquisizione degli ingressi diventa ancora più significativo nel caso in cui si desideri velocizzare l’esecuzione della task fast utilizzando la funzione SysSetTaskLpTime (Il tempo minimo è 100 uS). In quel caso non vi sarebbe più neanche il tempo per eseguire l’acquisizione degli ingressi dai moduli periferici (Topic). Ecco un’altro esempio in cui sono utilizzati gli ingressi veloci per acquisire un lettore tag RFiD (Topic).
Certo poi come fai notare tu, acquisendo velocemente gli ingressi, se l’ingresso proviene da un dispositivo elettromeccanico, occorrerà cautelarsi contro i rimbalzi del contatto.
Sergio Bertana
Amministratore del forumIntanto se ti colleghi da porta Ethernet l’indirizzo di default dello SlimLine è 192.168.0.122.
Non mi dici se il tuo PC è nella stessa rete dello SlimLine e se sei riuscito a collegarti da LogicLab e a visualizzare le pagine web. La prima verifica da fare un ping del dispositivo da PC, vedi se riesci a pingare l’indirizzo IP dello SlimLine dal tuo PC prima di provare qualsiasi altra connessione TCP/IP.
Dicembre 16, 2014 alle 7:30 am in risposta a: Nuovo blocco funzione per Gateway Modbus TCP/RTU #38588Sergio Bertana
Amministratore del forumIl blocco funzione agisce da gateway tra una connessione Modbus su TCP/IP ed una connessione Modbus RTU. Quindi si presuppone che il dispositivo master Modbus sia esso uno SCADA, un terminale operatore od altro, apra una connessione TCP/IP verso lo SlimLine che agisce da gateway e quindi non serve un virtual COM.
Ma non capisco cosa vuoi dire quando vuoi fare dei tests, se devi interfacciarti da SlimLine con dispositivi Modbus RTU puoi utilizzare direttamente l’FB ModbusMaster, usa il cerca in alto e vedrai che trovi un sacco di informazioni. In questo topic trovi anche informazioni su programmi per il test del Modbus da PC.
Dicembre 15, 2014 alle 7:58 am in risposta a: Sistema di monitoraggio e controllo dell’abitazione #38586Sergio Bertana
Amministratore del forumQuando è stata sviluppata la libreria ePowerOneLib non è stato implementato il comando di lettura allarmi dall’inverter, non era stato richiesto dal cliente per il quale è partito il progetto. Allego la tabella di allarmi che viene ritornata dal comando di lettura (Download).
Implementare il comando nella libreria è una operazione fattibile ma deve essere richiesto al nostro ufficio commerciale che credo chiederà una partecipazione ai costi di sviluppo. Non potendo noi provare fisicamente il comando con l’inverter dovrei chiedere a te di fare i tests pratici ed eventualmente aprire una sessione di supporto remoto per il debug.
Dicembre 12, 2014 alle 5:10 pm in risposta a: Gestire un conteggio veloce su ingresso digitale #38584Sergio Bertana
Amministratore del forumMi parli di due ingressi quindi immagino che i conteggi siano due, ma per chiarire il modo in cui sono gestiti gli I/O dal sistema ti rimando alla lettura di questo topic.
Quindi venendo al tuo problema e non conoscendo ne come hai fatto il programma ne in che task lo esegui, immagino tu stia utilizzando l’immagine di processo che di default acquisisce gli ingressi ogni 10 mS. Dovendo eseguire un conteggio, devi rilevare la variazione di stato dell’ingresso, quindi occorre che l’ingresso sia attivo per almeno 10 mS e poi disattivo per almeno 10 mS. In caso contrario il LED è acceso ma se l’ingresso si disattiva per un tempo inferiore ai 10 mS il programma non può catturane la variazione di stato.
Per acquisire ingressi velocemente, occorre utilizzare la task fast (Di default è eseguita ogni 1 mS), quindi gestendo tutta la logica ma anche l’acquisizione fisica degli ingressi nella task fast possiamo controllare variazioni di stato molto più veloci.
Ma come al solito più delle parole vale un esempio, ecco un programa che esegue un doppio conteggio su ingressi digitali, nel programma utilizzo gli ingressi del modulo CPU, ma tu puoi cambianto l’indirizzo di modulo usare gli ingressi che desideri. Da notare il modo di acquisizione DI_I_8_LL Read 0-7 input mode (Immediate), per eliminare il debouncing di 4.7 mS tipico degli ingressi digitali (Stampa programma, Programma sorgente).
Sergio Bertana
Amministratore del forumLo scopo del forum non è di fornire il pesce già cotto e condito, ma di fornire una buona canna da pesca ed insegnare a pescare… Non è escluso che tempo permettendo, riesca ad ampliare il topic con un esempio di utilizzo del terminale operatore per l’impostazione dei valori di orario.
Nel frattempo ti consiglio di dare una occhiata a questo topic dove si parla dell’uso delle ricette da terminale operatore. Il programma riportato illustra come impostare i tempi di lampeggio in due lampeggianti, credo che sia una buona traccia su come utilizzare la gestione ricette (Sul nuovo EasyBuilder Pro) o l’utilizzo dei registri indice sul precedente EasyBuilder 8000 per realizzare quello che tu necessiti.
Dicembre 11, 2014 alle 11:13 am in risposta a: Connessione modem tramite convertitore Ethernet-Seriale #38581Sergio Bertana
Amministratore del forumPer utilizzo con VCOM si consiglia il modo TCP server. La prima prova da fare è testare il funzionamento del convertitore con un programma di emulazione terminale (Esempio Toolly) e con la seriale del convertitore in loopback (Pin 2 con pin 3) testare se vi è l’echo dei caratteri sia con connessione TCP/IP diretta che con il VCOM (Topic).
Se così funziona verifica i parametri seriali, ti consiglio di impostarli corretti anche dalla pagina web del convertitore e non solo tramite le impostazioni di Hyperterminal.
Altra possibilità è che i criteri seriali DTR-RTS non siano nello stato corretto, verifica il funzionamento del modem utilizzando solo una connessione a 3 fili (Rx, Tx, GND), provala sia con la seriale reale che con il convertitore per assicurarti che il modem non necessiti dei criteri seriali.
-
AutorePost