daddioo Inserito: 23 ottobre 2022 Segnala Share Inserito: 23 ottobre 2022 Ciao a tutti come al solito ho bisogno un vostro aiuto. Dovrei imposta minuti e secondi, esempio( 10.30= 10minuti e 30 secondi) con un pannello Schneider Magelis su un PLC s7 300, ho fatto tante prove ma non sono riuscito, ho trovato sul forum questo, purtroppo fa soltanto i minuti senza secondi. Poi sempre per cortesia vorrei sapere come posso fare soltanto per i secondi per esempio quando imposto 2 sul pannello devo ottenere 2s'. Grazie a tutti voi per il vostro aiuto Giuseppe Link al commento Condividi su altri siti More sharing options...
batta Inserita: 24 ottobre 2022 Segnala Share Inserita: 24 ottobre 2022 Il formato del timer S7 è il seguente: - nei 12 bit a destra (da 0 a 11) è contenuto il valore in formato BCD - i bit 11 e 12 contengono la base tempi, nel seguente modo: -- 00 = 10 ms -- 01 = 100 ms -- 10 = 1 s -- 11 = 10 s - i bit 14 e 15 sono riservati e, nel caso di valore di preset, vanno lasciati a zero. Nell'esempio vedi che i minuti vengono trasformati in decine di secondi. Il valore poi viene convertito da decimale a BCD. Il risultato (che non deve essere superiore a 999, e questo controllo, nell'esempio, manca) viene messo in OR con 3000 Hex. Quel 3000 Hex serve per impostare la base tempi che, in questo caso, sarà di 10 secondi, e ti permette di arrivare ad un valore massimo di 9990 secondi, ovvero 166 minuti e 30 secondi. Se ti va bene la base tempi di 10 secondi, non devi far altro che sommare, subito dopo la moltiplicazione, i secondi a #Tmp1, e mettere il risultato sempre in #Tmp1. Se vuoi passare ad una base tempi di 1 secondo, dovrai moltiplicare i minuti per 60, sommare i secondi, sostituire 3000 Hex con 2000 Hex. In questo caso, il valore massimo del timer sarà di 999 secondi, ovvero 16 minuti e 39 secondi. In alternativa, potresti sostituire il timer S7 con un TON. In questo caso, il preset è in millisecondi su una variabile DInt (o Time, che è sempre una DInt), ed il valore massimo è di 2147483647 millisecondi, ovvero 24 giorni, 20 ore, 31 minuti, 23 secondi, 647 millisecondi . Link al commento Condividi su altri siti More sharing options...
max.bocca Inserita: 25 ottobre 2022 Segnala Share Inserita: 25 ottobre 2022 (modificato) Per la gestione del caso mm.ss io prendo la parte intera e la moltiplico per 60 e poi aggiungo i decimali moltiplicato per 100 è ho il tempo tutto in secondi da passare al timer. Quindi prima di di tutto calcolo l'intero e lo sottraggo dal dato iniziale e moltiplicato per 100 questi sono secondi da sommare all'intero moltiplicato per 60. Modificato: 25 ottobre 2022 da max.bocca Link al commento Condividi su altri siti More sharing options...
daddioo Inserita: 25 ottobre 2022 Autore Segnala Share Inserita: 25 ottobre 2022 Grazie Batta e max.bocca per la risposta. Io vorrei scrivere direttamente dal pannello operatore Schneider Magelis 4430, esempio : 1.30 ( 1M . 30S ) in unico temporizzatore S_EVERZ, sempre s'è possibile. in questo forum qualcuno parlava di utilizzare un SFB4 TON, io ci ho provato ma non riesco a venirne fuori non sò più come fare, non riesco a trovare le istruzioni come parametrizzare SFB, vorrei un esempio come scriverlo, Grazie a tutti anticipatamente Link al commento Condividi su altri siti More sharing options...
cagliostro Inserita: 25 ottobre 2022 Segnala Share Inserita: 25 ottobre 2022 A seguire uno screenshot di esempio per la realizzazione di un timer con SFB4. Link al commento Condividi su altri siti More sharing options...
acquaman Inserita: 26 ottobre 2022 Segnala Share Inserita: 26 ottobre 2022 nella libreria Standard Librery/IEC Function Block, c'è l'FC40 che converte il formato Time in S5T, da HMI netti le tue 2 variabili minuti e secondi, le converti in formato TIME come da segmento 2 dell' esempio di @cagliostro e poi lo passi a questo FC che lo converte in S5T Link al commento Condividi su altri siti More sharing options...
daddioo Inserita: 27 ottobre 2022 Autore Segnala Share Inserita: 27 ottobre 2022 Grazie a cagliostro e acquaman, l'esempio di cagliostro mi è stato molto utile, invece per visualizzare i minuti e secondi che scorrono come potrei fare ? devo prenderli dalla DB45 ? una volta che funziona tutto, poi devo creare in totale 5 temporizzatore, credo che devo ripetere 5 volte l'esempio di cagliostro. abbiate pazienza sono un principiante. Poi chiedo ad acquaman se per cortesia può farmi un esempio riguarda al blocco SFC40, io ci ho provato però non risco a capire come parametrizzarlo. Praticamente il lavoro che devo fare: Creare 5 temporizzatore più la visualizzazione del tempo che scorre, tutto con un pannello operatore Magelis. Grazie ancora e scusatemi per la mia incompetenza. Giuseppe Link al commento Condividi su altri siti More sharing options...
acquaman Inserita: 27 ottobre 2022 Segnala Share Inserita: 27 ottobre 2022 3 minuti fa, daddioo ha scritto: una volta che funziona tutto, poi devo creare in totale 5 temporizzatore, credo che devo ripetere 5 volte l'esempio di cagliostro. abbiate pazienza sono un principiante. Si ma devi cambiare la DB di istanza. Il tempo che passa li leggi nella DB45, nella variabile ET lo vedi in millisecondi, quindi devi convertirlo come meglio credi. Se ti basta vedere i minuti che scorrono devi dividere la variabile ET per 60000, se vuoi vedere i secondi devi dividerla per 1000. Per i minuti e secondi dividi per 60000 e trovi i minuti, il resto lo dividi per 1000 e trovi i secondi. Link al commento Condividi su altri siti More sharing options...
cagliostro Inserita: 28 ottobre 2022 Segnala Share Inserita: 28 ottobre 2022 Esempio per la visualizzazione su HMI in due campi dati distinti, dei minuti e secondi trascorsi. Le variabili usate come nell'esempio precedente sono aree di memoria MDxxxx, nessuno ti vieta di usare dei DB...........a te la scelta. Link al commento Condividi su altri siti More sharing options...
cagliostro Inserita: 28 ottobre 2022 Segnala Share Inserita: 28 ottobre 2022 (modificato) Nello screenshot di esempio che ti ho allegato nel precedente post ho commesso un errore......... Nell'istruzione MOD_DI nel parametro di ingresso IN1 non devi inserire la MD220 ma sempre la DB45.DBD8, cioè la variabile ET del DB45 di istanza del timer. Modificato: 28 ottobre 2022 da cagliostro Link al commento Condividi su altri siti More sharing options...
daddioo Inserita: 28 ottobre 2022 Autore Segnala Share Inserita: 28 ottobre 2022 Grazie Cagliostro per la correzione del errore, adesso ho fatto la correzione e funziona una meraviglia. Se dovessi avere bisogno posso contare su di voi, grazie di cuore a tutti voi per l'aiuto. E un grazie allo Staff Giuseppe Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora