Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 2,731 a 2,745 (di 4,367 totali)
  • Autore
    Post
  • in risposta a: Controllo motore passo-passo in Modbus #38625
    Sergio Bertana
    Amministratore del forum

    Parli di programma preso da esempio postato ma non sò esattamente a quale esempio ti riferisci. La connessione RS485 è corretta + con + e – con -. Hai verificato che i parametri di comunicazioni siano corretti (Baud rate, numero di bit, parità), nella impostazione della seriale hai definito il DTRManagement a DTR_AUTO_WO_TIMES (Impostazione di default).

    Nelle comunicazioni in RS485 il segnale DTR è utilizzato per determinare la direzione di comunicazione, il modbus master attiva la trasmissione del frame di comando e poi la disattiva per ricevere la risposta dallo slave.

    In merito alla domanda 0x03 o 16#03 sono in realtà la stessa cosa, nel linguaggio C i numeri esadecimali si identificano con 0x mentre nella IEC61131 si identificano con 16#.

    Se attivi la console di spionaggio e catturi le stringhe di dati che invii e ricevi possiamo capire cosa stà succedendo.

    in risposta a: Registrazione di dati storici da variabili PLC #38621
    Sergio Bertana
    Amministratore del forum

    Nelle vacanze Weintek ha fatto i compiti mi ha fornito una nuova versione del firmware da trasferire sul terminale per bypassare il limite del 4Mb. Ti invio in privato il file gui.e30 da sostituire all’analogo file presente nella cartella di installazione di EasyBuilderPro “..EBprofirmware”. Poi dovrai eseguire il download del tuo progetto sul terminale attivando il tick di  upgrade del firmware.

    in risposta a: Aiuto impostazione comunicazione seriale RS485 #38620
    Sergio Bertana
    Amministratore del forum

    Si il tuo errore è proprio nella gestione dell’Enable, per poter gestire più istanze in cascata l’FB esegue il comando sulla attivazione dell’Enable, terminata l’esecuzione si attiva il Done. Ed il comando non verrà più eseguito se non viene disabilitato Enable e poi riabilitato.

    Questa tecnica comune a tutte le FB che possono essere eseguite in cascata permette appunto di collegare il Done della FB all’Enable della FB da eseguire successivamente, e così di seguito fino all’ultima FB della serie. Il Done negato dell’ultima FB andrà poi connesso all’Enable della prima FB.

    Quindi usando una sola istanza della FB basta connettere il negato del Done sul suo Enable, in pratica devi realizzare questo (Screenshot).

    in risposta a: Aiuto impostazione comunicazione seriale RS485 #38618
    Sergio Bertana
    Amministratore del forum

    Non è previsto eseguire upload di file nel forum da parte degli utenti ma è posibile inserire links a file esterni nel post, sarà poi nostra cura verificare i links e trasferire se il caso il file linkato nel forum.

    Se invece vuoi inviare un programma per una nostra verifica, ti ricordo che puoi utilizzare l’indirizzo email del supporto tecnico (Pagina web).

    in risposta a: Aiuto impostazione comunicazione seriale RS485 #38617
    Sergio Bertana
    Amministratore del forum

    Quello che hai fatto lato CPU master è corretto, però ti ricordo che lato slave tu stai utilizzando la gestione Modbus slave embedded nel sistema la quale opera con il nodo modbus 01, questa impostazione è modificabile da pagina web (Screenshot).

    In una comunicazione modbus il nodo master non ha indirizzo, si indirizzano solo i nodi slaves.

    Ora dovendo trasferire uno o più variabili BOOL devi definire in FCode il comando modbus 16#0F (Force multiple coils), come indirizzo dovendo agire sul bit %MX100.100 dello slave devi scrivere in Address il valore 40100. In Buffer devi definire ADR(%MX100.100) come hai fatto correttamente. In Points potrai definire il numero di variabili BOOL da trasferire (Nel tuo caso 1). In questo topic viene trattato un argomento simile al tuo.

    Per visualizzare i comandi Modbus puoi attivare il parametro SpyOn e visualizzare i dati tramite la console di spionaggio (Topic).

    in risposta a: Controllo motore passo-passo in Modbus #38616
    Sergio Bertana
    Amministratore del forum

    Il FB ModbusMaster come vedi dall’estratto del manuale postato precedentemente ha in ingresso il parametro FCode, devi definire il tipo di comando da eseguire (Codice modbus). Ad esempio per leggere dei registri il codice  sarà 16#03, per scrivere il codice sarà 16#06 (Scrive un solo registro) oppure 16#10 per scrivere più registri.

    Nel parametro Address dovrai indicare l’indirizzo del registro modbus sul driver mentre in Points dovrai indicare il numero di registri su cui operare.

    Probabilmente dovrai eseguire più operazioni di lettura e scrittura consecutive, quindi dovrai istanziare più FB ModbusMaster ed eseguirle in cascata, segui quanto suggerito in questo topic.

    Per visualizzare i comandi Modbus puoi attivare il parametro SpyOn e visualizzare i dati tramite la console di spionaggio (Topic).

    in risposta a: File HTM caricabili in SlimLine CPU ARM7 IEC61131 #38614
    Sergio Bertana
    Amministratore del forum

    Credo il problema nasca dalla formattazione che è stata eseguita sulla cartella “Storage”, il file system di SlimLine ha delle restrizioni. Il numero di files caricabili in una data cartella è deciso in fase di formattazione, la cartella Storage è stata formattata con un comando: Format Storage, 4.Se vuoi trasferire più files devi riformattarla indicando il numero di files che vuoi trasferire, ricorda però che l’area totale a disposizione nella cartella viene equamente suddivisa tra i files.Altra informazione riguarda la lunghezza del nome del file che compresa l’estensione non può superare i 16 caratteri.

    in risposta a: Controllo caldaia da remoto con invio eMail #38612
    Sergio Bertana
    Amministratore del forum

    Si la soluzione è fattibile, con lo SlimLine ARM7 come client puoi solo aprire connessioni UDP, per il TCP client devi utilizzare un modulo CPU CODESYS od un pannello operatore.

    Il problema è la disponibilità nel locale caldaia di un IP pubblico e oltre che pubblico usando il modulo SlimLine ARM7 o il pannello operatore deve essere anche statico visto che non gestiscono la risoluzione del DNS.

    In CODESYS può essere che esistano delle FB per la risoluzione del DNS ma personalmente non le conosco.

    Se invece tu puoi operare sul router del cliente e creare delle VPN tra il router di caldaia ed il tuo router di centrale, con le VPN disponi di “cavi ethernet virtuali” su cui puoi gestire connessioni TCP o UDP su indirizzi IP statici, indipendentemente dal tipo di IP assegnato al router di caldaia che può essere dinamico ed anche NATtato.

    in risposta a: Registrazione di dati storici da variabili PLC #38610
    Sergio Bertana
    Amministratore del forum

    Hai messo il dito in una piaga mai rimarginata, anche nella versione precedente vi era il limite dei 4Mb ma era un limite che appariva solo sul manuale ed il terminale solitamente non legge i manuali.

    Nella versione attuale è stata aggiunta la possibilità di definire a piacere il nome del file di log e anche di poter suddividere il log in frazioni di giorno, quindi fare anche più di un log al giorno. Con queste modifiche Weintek ha anche visualizzato il limite di 4Mb sul file *.dtl (Screenshot).

    Ora la domanda è i 14 Mb che tu citi sono la dimensione del file *.dtl oppure del file *.csv ricavato dal file *dtl con l’oggetto backup dati ? Perchè il file *dtl è un file compresso e può essere che da 4Mb se ne ottengano oltre 14Mb in *.csv.

    Non ne ho la certezza, ma può essere che la registrazione dati funzioni anche con file maggiori di 4Mb, così come faceva prima, l’avvertimento è stato messo per sicurezza ma ancora una volta non viene controllato.

    Ti ricordo che ora con  la nuova versione puoi dividere la registrazione giornaliera in più files riducendo la dimensione del singolo file ai 4Mb del limite.

    in risposta a: Utilizzo server VNC su pannello MT8100iE #38608
    Sergio Bertana
    Amministratore del forum

    Consiglio di Weintek che sembra avere risolto da altri clienti è di aggiornare il programma EasyBuilderPro alla nuova versione 5.00.01 che è disponibile per il download dal nostro sito.

    Con questa nuova versione eseguire il download del progetto sul terminale flaggando anche l’aggiornamento del Runtime (Screenshot).

    in risposta a: Controllo caldaia da remoto con invio eMail #38607
    Sergio Bertana
    Amministratore del forum

    Aggiungo due note sulla gestione cloud, il vantaggio di concentrare le informazioni su un servizio cloud fornendo al cliente un portale di accesso permette di offrire servizi aggiuntivi al cliente oltre ad avere una gestione di un database dati per la storicizzazione.

    Il cloud inoltre permette di fidelizzare il cliente fornendo un servizio che può anche essere offerto in abbonamento. Allego lo screenshot di un servizio di test che utilizzo personalmente, il servizio cloud è hostato su un account gratuito di altervista. IL sistema si compone di un NetlogIII che tramite un Modem con una SIM TIM invia ogni 5 minuti i dati al server cloud.

    Tutti i dati dell’impianto compresi eventuali SMS ricevuti sono inviati verso il portale che li memorizza in un server MySQL e li ritorna nella pagina web. Contestualmente all’invio dei dati il sistema legge dal database del server le impostazioni. Non prestate attenzione alla semplicità della pagina si tratta un test su di un impianto in cui stà funzionando il solo controllo antigelo.

    Il sistema è un cantiere che utilizziamo per tutti i nostri tests e come si vede riceve in push anche i dati da un sensore Mowi di temperatura che si trova in una posizione geografica diversa.

    in risposta a: Controllo caldaia da remoto con invio eMail #38606
    Sergio Bertana
    Amministratore del forum

    Non 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.

    in risposta a: Protocollo Modbus master per applicazione domotica #38605
    Sergio Bertana
    Amministratore del forum

    A 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.

    in risposta a: Protocollo Modbus master per applicazione domotica #38603
    Sergio Bertana
    Amministratore del forum

    Leggo 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).

    in risposta a: Nuovo blocco funzione per Gateway Modbus TCP/RTU #38601
    Sergio Bertana
    Amministratore del forum

    Proseguo con  la risposta alla domanda in questo topic in cui abbiamo trattato l’argomento connessione con PLC Crouzet.

Stai visualizzando 15 post - dal 2,731 a 2,745 (di 4,367 totali)