FrancescoAMIGA Inserito: 17 novembre 2023 Segnala Share Inserito: 17 novembre 2023 Buongiorno a Tutti. Sono un appassionato di elettronica e PLC. Ho collegato una tastiera Siemens 483C-PN ad un plc S1200. La tastiera mette a disposizione due ingressi encoder. Ad uno di questi è stato collegato un encoder da 100 imp/giro Nel plc viene letta come %IW82 e quindi i valori variano nel range -32768 ad 32768 Il mio problema è che quando il conteggio e' arrivato al massimo consentito da un I16 e quindi ad esempio ad 32768, il successivo count dell'encoder la variabile passa a -32768 . Questo mi crea problemi nell'applicazione . Esiste un modo per far in modo di avere continuità di conteggio sia in positivo che in negativo anche quando la iw82 inverte il segno ? Grazie Francesco Link al commento Condividi su altri siti More sharing options...
batta Inserita: 18 novembre 2023 Segnala Share Inserita: 18 novembre 2023 Nel PLC la puoi dichiarare come UINT (intero 16 bit senza segno). In questo caso, il conteggio andrebbe da 0 a 65535, e poi ripartirebbe da zero. Link al commento Condividi su altri siti More sharing options...
FrancescoAMIGA Inserita: 18 novembre 2023 Autore Segnala Share Inserita: 18 novembre 2023 Buongiorno. Grazie per la risposta . Non cambierebbe nulla, perchè il valore passerebbe immediatamente da 65535 a 0 . i valori devono essere successivi sia positivi che negativi. HO provato con Labview e sono riuscito attenere -65535 a 65535, memorizzando i transienti , ma è elaboroto. Ho deciso quindi di collegare l'encoder su una scheda VIpa su ethercat. La scheda utilizza una variabile 32 bit , quindi sufficiente come conteggi per macchine sino a diversi metri di lunghezza. Grazie comunque. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 19 novembre 2023 Segnala Share Inserita: 19 novembre 2023 11 ore fa, FrancescoAMIGA ha scritto: Non cambierebbe nulla, perchè il valore passerebbe immediatamente da 65535 a 0 . La gestione dei trabocchi è semplicissima; si fissa una soglia vicina ai limiti di conteggio superiore ed inferiore. Superata la soglia ad ogni lettura si fa il confronto se la lettura attuale è maggiore della precedente, oltr il limite inferiore, o minore della precedente, oltre il limite superiore; in uesti casi si è avuto il trabocco oltre il massimo o oltre il minimo, e basta incrementare di 1 i contatori dei riporti superiore ed inferiore. In questo modo si può estendere il conteggio a conteggi di qualsiasi lunghezza. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 19 novembre 2023 Segnala Share Inserita: 19 novembre 2023 (modificato) Con 16 bit non puoi fare da -65536 a +65535. Per andare oltre i limiti -32768..+32767 o 0..65535, devi appoggiarti ad una variabile a 32 bit, memorizzando il superamento del limite come descritto da Livio. Però una cosa non capisco: il 1200 gestisce variabili a 8, 16, 32 e 64 bit. Perché ricorrere ad una scheda Vipa? Come hai gestito l'encoder? Mi pare di capire che l'encoder sia collegato alla tastiera (che non conosco), e che dal 1200 leggi questa %IW82 dalla tastiera. Poi hai risolto collegando l'encoder ad una scheda Vipa in Ethercat? Ma non era molto più semplice collegare l'encoder direttamente al PLC S7-1200, che dispone di contatori veloci a 32 bit? Una descizione più dettagliata di tutto il sistema ci aiuterebbe a capire e, se capiamo, forse possiamo darti consigli sensati. Modificato: 19 novembre 2023 da batta 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