Vai al contenuto

Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 316 a 330 (di 4,272 totali)
  • Autore
    Post
  • in risposta a: Estrapolare i campi da un datalogger #75566
    Sergio Bertana
    Amministratore del forum

    Puoi provare a fare un salvataggio dati su USB e poi utilizzare le query SQL in locale per cercare di recuperare i dati nel periodo voluto.

    Con un macro potrai poi leggerli e inviarli con free protocol alla stampante.

    In alternativa puoi salvare i dati di misura in variabili ritentive RW e tramite macro elaborarli e inviarli alla stampante.

    in risposta a: Visualizzazione pagine con accesso a databse MySQL #75467
    Sergio Bertana
    Amministratore del forum

    Purtroppo attualmente non è prevista alcuna possibilità.

    in risposta a: Estrapolare i campi da un datalogger #75466
    Sergio Bertana
    Amministratore del forum

    Se usi una stampante che è possibile comandare come stampa videata (Esempio Epson TMT) si potrebbe gestire una pagina con il visualizzatore dati storici selezionando la visualizzazione di quelli voluti e tramite comando stampare la pagina.

    Se invece la stampante è pilotata da free protocol, su pannelli cMT3xxx si può fare qualcosa con le query per estrarre i dati ma sulle altre serie di pannelli è tutto molto più complicato per non dire impossibile.

    in risposta a: Eseguire il reboot del terminale HMI #75465
    Sergio Bertana
    Amministratore del forum

    Si certo credo sia l’unica  soluzione al problema.

    Anche  se sinceramente non riesco a spiegarmi il perchè succeda.

    in risposta a: Conteggio veloce su ingresso digitale #75442
    Sergio Bertana
    Amministratore del forum

    Cominciamo con il dire che per il conteggio consiglio di utilizzare l’operando somma al posto del FB CTU. Questo ti permette di utilizzare per il conteggio una variabile della dimensione che desideri 8/16/32/64 bits, inoltre puoi definirla come RETAIN o allocarla nella DB100 ad indirizzo da 2048 per avere il valore mantenuto allo spegnimento. E con semplici operazioni di MOVE puoi variarne il valore per il reset od il preset.

    Come ingresso digitale è consigliato utilizzare quelli del modulo CPU come correttamente hai fatto, ma non devi utilizzare l’immagine di processo bensì devi acquisirne lo stato con il FB SysGetPhrDI. Ecco un programma di esempio.

    // *****************************************************************************
    // PROGRAM "CounterOnDI"
    // *****************************************************************************
    // Manage counter on CPU module Di00.
    // -----------------------------------------------------------------------------
    
        // -------------------------------------------------------------------------
        // INITIALIZATION
        // -------------------------------------------------------------------------
        // Initialize variables.
    
        IF (SysFirstLoop) THEN
            i:=SysSetTaskLpTime(ID_TASK_FAST, 500); //Task Fast is executed every 500uS
    
            // Set digital input module.
    
            DInp.Address:=255; //Module address
            DInp.Mode:=DI_MODE#DI_8_LL; //Acquisition mode
        END_IF;
    
        // -------------------------------------------------------------------------
        // COUNTER MANAGEMENT
        // -------------------------------------------------------------------------
        // Check digital input rising pulse.
    
        DInp(); //Digital input acquisition
        IF (DInp.Value.0 = Pulse) THEN RETURN; END_IF;
        Pulse:=DInp.Value.0; //Digital input pulse
    
        // Increase the counter.
    
        IF (DInp.Value.0) THEN Counter:=Counter+1; END_IF;
    
    // [End of file]

    Il programma và eseguito in task Fast di cui puoi cambiare il tempo di esecuzione, lo standard è 1mS ma puoi scendere fino a 100uS. Se vuoi modificare l’ingresso digitale cambia DInp.Value.x dove x è l’ingresso da utilizzare.

    in risposta a: Controllo centrale termica via Smartphone #75401
    Sergio Bertana
    Amministratore del forum

    Con i nostri sistemi programmabili abbiamo soluzioni che utilizzano i protocolli IoT per l’accesso Internet, è possibile utilizzare servizi come Beebotte o svilupparsi un proprio portale cloud con connessione in REST.

    Abbinando un pannello operatore tramite EasyAccess è possibile accedere da remoto alla operatività del pannello. Se si dispone di un indirizzo IP pubblico grazie al web server integrato è possibile accedere direttamente alla pagina web generata dal sistema. Questi sistemi necessitano dello sviluppo di una applicazione quindi sono rivolti a clienti che hanno esperienza nella programmazione.

    Una alternativa è utilizzare prodotti dedicati in cui è richiesta solo una configurazione, ad esempio l’HWg-STE2 R2/Plus può acquisire fino a 5 sensori. Il prodotto è configurabile da pagina web ed anche in questo caso se si dispone di un indirizzo IP pubblico è possibile accedere direttamente alla pagina web. In alternativa è possibile connettersi al portale cloud gratuito HWg-cloud.

    in risposta a: Eseguire il reboot del terminale HMI #75394
    Sergio Bertana
    Amministratore del forum

    I feedback che ho con il problema che tu lamenti capitano se è stato attivato i server VNC a singola connessione. Consiglio sempre di attivare il server multiconnessione.

    Può succedere che con un client VNC connesso, in caso di perdita di rete momentanea la connessione rimane “appesa” e se è attiva la singola connessione nessun altro client VNC si può connettere. E’ previsto un timeout sulla connessione se non vi è traffico, ma alcune volte si è visto che la connessione rimane bloccata per molto tempo. Naturalmente il multiconnessione in questo caso garantirebbe l’accesso su un’altra  connessione.

    in risposta a: Utilizzo porta USB su pannelli cMT #75370
    Sergio Bertana
    Amministratore del forum

    Premesso che il massimo delle prestazioni dei pannelli cMT si ottiene con la connessione in rete Ethernet, utilizzata non solo per la programmazione ma anche per visualizzazione da pagina web o tramite App cMTViewer, accesso a server SQL, gestione protocollo OPC-UA, l’accesso da remoto con EasyAccess e molto altro.

    Nel caso in cui si possa utilizzare la sola porta USB, la programmazione và fatta EasyBuilderPro, da cui si può anche testarne il funzionamento con il simulatore On-line/Off-line integrato. Dovrà poi essere generata una immagine del programma su PenDrive che inserita nel pannello ne permette il caricamento. Questa è anche la soluzione utilizzata per inviare al cliente finale upgrade di programma.

    Su PenDrive si possono salvare log dati  (creando l’opportuna configurazione del log), lista allarmi. Le ricette si salvano su HMI ma possono essere esportate/importate su PenDrive.

    in risposta a: Gestione numeri REAL su TiaPortal #75330
    Sergio Bertana
    Amministratore del forum

    Il formato dei numeri REAL è IEE754, ed è lo standard che quasi tutti i PLC utlizzano. IL tuo problema mi sembra legato alla endiannes del dato, il numero REAL è a 32 bits potrebbero esserci le due word a 16 bits che lo compongono invertite tra di loro.

    Se il protocollo di comunicazione con il PLC S7 è assoluto, verifica di trasferire con il formato DBDn, in questo modo Weintek dovrebbe utilizzare il corretto endiannes.

    Se utilizzi il formato simbolico, se la TAG è codificata come REAL, Weintek dovrebbe riconoscerla correttamente.

    in risposta a: Gestione PLC da App su smartphone #75302
    Sergio Bertana
    Amministratore del forum

    Molte volte riceviamo richieste simili vediamo che soluzioni possiamo proporre. Intanto escludiamo lo sviluppo di App apposite visto il costo elevato, la necessità di svilupparle per sistemi Android e iOs ed il doverle caricare sul marketplace per la distribuzione. Detto questo la soluzione è di utilizzare per il comando da cellulare un semplice browser che è disponibile su tutti i cellulari.

    I nostri PLC hanno il server web integrato su cui è possibile sviluppare pagine utente (Vedi articolo). Il problema è accedere al sistema tramite connessione cellulare, perchè in questo caso non si dispone di un indirizzo IP pubblico, una soluzione è utilizzare soluzioni di connessione peer-to-peer come ZeroTier (Vedi articolo).

    Un’altra soluzione è appoggiarsi a portali IoT come ad esempio Beebotte (Vedi articolo), in questo caso il PLC dialoga via MQTT con il servizio mentre chi consulta le pagine si connette con un normale browser.

    Utilizzando il protocollo MQTT è possibile anche appoggiarsi a broker commerciali e utilizzando App disponibili per i vari smartphone gestire i comandi (Vedi articolo).

    Se ci si vuole cimentare con lo sviluppo di una aplicazione cloud è possibile utilizzare il protocollo di comunicazione REST. In questo caso i vari utenti si connettono sempre via browser alla applicazione la quale gestita l’autenticazione invierà i dati al PLC (Vedi articolo).

    Naturalmente tutte queste soluzioni prevedono lo sviluppo dei relativi programmi, sia sul PLC, che, nel caso di applicazioni cloud anche sul server cloud. Noi possiamo fornire supporto per lo sviluppo ma non realizziamo soluzioni chiavi in mano. Per quanto riguarda i prodotti:

    • Router Cellulare 4G LTE WL-R320.
    • Modulo PLC CompattoSlimLine MPS056.
    • Modulo di espansione I/O Analogici PCB126.
    • Modulo di espansione I/O uscite statiche PCB124.
    in risposta a: Salvare credenziali accesso definite su pannello #75296
    Sergio Bertana
    Amministratore del forum

    Devi abilitare la spunta

    Use existing user accounts on HMI first (if existed)

    nelle impostazioni di sicurezza del progetto (Screenshot).

    in risposta a: Reperibilità funzione “SysGetSysTime” #75281
    Sergio Bertana
    Amministratore del forum

    Dalla versione 9.1.20 LogicLab implementa il supporto agli operandi TIME e DATA, questo ha obbligato ad alcune modifiche del sistema operativo. Alcune funzioni relative alla gestione dei tempi di sistema sono state eliminate, per mantenere la compatibilità con i programmi precedenti viene rilasciata la libreria eLLabDTimeAdjLib.

    Ti ricordo che dalla versione 9.1.30 di LogicLab è stata introdotta la gestione della raccolta (Package) delle librerie (Vedi articolo), ora se utilizzi questa tecnica non dovresti mai trovare problemi di compatibilità con la compilazione dei programmi anche se utilizzano vecchie versioni di FB. Nel package viene distribuita la libreria eLLabObsoleteLib che contiene tutte le vecchie versioni.

    Ora per risolvere il tuo problema puoi inserire nel progetto la libreria eLLabDTimeAdjLib che trovi nel package Pck055xxxx. Ma ti consiglio di modificare il progetto utilizzando il package.

    in risposta a: Connessione con apparecchiatura in Modbus #75272
    Sergio Bertana
    Amministratore del forum

    Guardando la tua configurazione vedo che sul pannello Weintek hai utilizzato la configurazione Modbus standard e non la zero base addressing, quindi anche sullo SlimLine è corretto non settare l’ingresso Absolute.

    Vedo che l’indirizzo è 55 decimale quindi è corretto quello che hai definito nel progetto LogicLab.

    Sul pannello Weintek hai utilizzato il comando 04, mentre nel progetto LogicLab hai definito 16#03 in FCode, prova ad utilizzare anche qui il 16#04.

    Sul pannello Weintek esegui la lettura solo di un registro WORD, mentre nel programma LogicLab hai definito 8 in Points, prova a definire 1.

    Fatto questo verifichiamo con la console di spionaggio se la comunicazione funziona, poi andremo a capire se il problema era il codice funzione (Come io credo) o il numero di registri da leggere.

    in risposta a: Connessione con apparecchiatura in Modbus #75242
    Sergio Bertana
    Amministratore del forum

    Quindi se non ricevi risposta con l’emulatore Modbus di Toolly c’è un errore in qualche parametro.

    Modbus TCP è il protocollo da utilizzare, come vedi dal report di spionaggio il frame inviato è:

    00 35 00 00 00 06 01 03 00 31 00 08

    Infatti il Modbus TCP inizia con 2 bytes con un numero progressivo 00 35, 2 bytes sempre 00 00, 2 bytes con la lunghezza del pacchetto 00 06. Poi segue il frame Modbus RTU senza CRC, inizia con nodo 01, codice funzione 03, indirizzo 00 31, numero registri da leggere 00 08.

    Ora il 40055 nel dialetto Modbus potrebbe indicare la lettura (Codice 04) all’indirizzo 55 esadecimale. Tieni conto che Modbus ha offset 1, ma alcuni sistemi non lo gestiscono infatti anche nell’emulatore è previsto il tick Zero base addressing che annulla l’offset.

    in risposta a: Connessione con apparecchiatura in Modbus #75239
    Sergio Bertana
    Amministratore del forum

    Carica le immagini su qualche sito cloud (Esempio imgur) e postane il link…

    Dal report di spionaggio vedo che il sistema innvia il pacchetto Modbus di interrogazione corretto, ma non riceve nessuna risposta… Così và in errore di timeout…

    Sei sicuro dell’indirizzo 55 ?

    Prova con l’emulatore Modbus di Toolly ad interrogare il tuo dispositivo e provare se riesci a ricevere la risposta.

    Visto che con il terminale Weintek hai detto che sei riuscito ad interrogare il dispositivo, invia alla eMail di supporto il programma che hai utilizzato che provo a verificare.

Stai visualizzando 15 post - dal 316 a 330 (di 4,272 totali)