Enrico Ghisla Inserito: 28 gennaio 2014 Segnala Inserito: 28 gennaio 2014 salve io stò usando un simulatore (pc simu ) per s7 200, io vorrei mettere il valore di un potenziometro (aiw10) nel temporizzatore, ma il problema è che nella simulazione se io metto il potenziometro anche solo ad 1 il temporizzatore mi va a fare un conteggio altissimo. come potrei fare per esempio a dire che se il potenziometro è ad 1 il temporizzatore devo contare 1 secondo? vi ringrazio
elettrix01 Inserita: 28 gennaio 2014 Segnala Inserita: 28 gennaio 2014 Il trucco sta nel riscalare il valore analogico. La CPU legge un valore a 16 bit quindi un numero che va da 0 a 65535 (oppure da -32768 a 32767, sinceramente non mi ricordo se il numero ha segno o meno). Ipotizzando che il valore dell'ingresso analogico sia senza segno e che in ingrasso si abbia un segnale 0-10V ad 1V corrisponde il valore 6554 che tu devi riscalare a 1s. Ipotizzando di utilizzare un timer con passo 10ms devi dividere il valore dell'ingresso analogico per 65 in modo che ottenda il valore 100 (100*10ms=1000ms=1s). Spero di essere stato sufficientemente chiaro
step-80 Inserita: 28 gennaio 2014 Segnala Inserita: 28 gennaio 2014 Non conosco il simulatore, ma ad occhio sembra un problema di scalatura. Dici di mettere il potenziometro ad "1", ma che vuol dire? Mettere ad uno un potenziometro non significa proprio nulla. Se hai un canale analogico che accetta un segnale 0-10 volt e gli colleghi un potenziometro, sul canale leggerai un numero in funzione della posizione del potenziometro e della risoluzione del canale stesso. Ad essmpio se la tua risoluzione fosse 12 bit, leggerai un numero da 0 a 4095.
Enrico Ghisla Inserita: 28 gennaio 2014 Autore Segnala Inserita: 28 gennaio 2014 Grazie elettrix. Sei stato molto chiaro...stop magari non mi sono espresso bene comunque in quel simulatore il potenziometro lo puoi mettere anche in forma con dei numeri e tu gli puoi dare il valore di uno
Enrico Ghisla Inserita: 28 gennaio 2014 Autore Segnala Inserita: 28 gennaio 2014 L'unica cosa che non ho capito e' il devi dividere il valore dell'ingresso analogico...scusate ma sono un autodidatta pivello
elettrix01 Inserita: 28 gennaio 2014 Segnala Inserita: 28 gennaio 2014 (modificato) In generale se hai in ingresso un volt il plc non legge 1, ma un numero diverso (6554 ad esempio). Se tu vuoi che a 1V corrisponda 1s devi riscalare il valore letto in modo da far corrispondere quel valore ad 1s. Se ci hai fatto caso, i temporizzatori s7-200 hanno passi che possono essere 1ms, 10ms oppure 100ms. Se scegli il passo 10ms per avere 1s devi fare 100 passi. quindi per un secondo il set point del temporizzatore deve essere 100. Per passare da 6554 a 100 basta dividere per 65 Modificato: 28 gennaio 2014 da elettrix01
step-80 Inserita: 28 gennaio 2014 Segnala Inserita: 28 gennaio 2014 Non è che PUOI dargli il valore di un numero, gli DEVI dare un numero. Come ti dicevamo prima in entrata scrivi un valore, simulando un potenziometro. Se il potenziometro avesse 10 tacche, ad ogni tacca corrisponderebbe un volt, che equivalrebbe all'intero 6554 come diceva elettrix01. Se vuoi che a questo valore corrisponda 1 secondo, devi fare in modo che a 6554 corrisponda 1,s cosi come a 65535 devono corrispondere 10 s, ovvero il tuo fondoscala.
Enrico Ghisla Inserita: 29 gennaio 2014 Autore Segnala Inserita: 29 gennaio 2014 Ah ok adesso ho capito vi ringrazio molto per la pazienza
batta Inserita: 29 gennaio 2014 Segnala Inserita: 29 gennaio 2014 Il 100% del valore del canale analogico di un S7-200 è 32000 (indipendentemente dal numero di bit del modulo analogico). Se con un potenziometro regoli una tensione da 0 a 10 V e vuoi che il fondo scala del potenziometro corrisponda ad un tempo di 10 secondi, se utilizzi un timer con base tempi 100 ms dovrai scalare 32000 --> 100.
Enrico Ghisla Inserita: 29 gennaio 2014 Autore Segnala Inserita: 29 gennaio 2014 quindi sarebbe cosi no?
elettrix01 Inserita: 29 gennaio 2014 Segnala Inserita: 29 gennaio 2014 (modificato) A me il codice sembra corretto Batta nel manuale del s7-200 dice che il campo può essere 32000 (valori unipolare) oppure 64000 (bipolare), ma come si fa a settare un ingresso analogico in modo bipolare? Modificato: 29 gennaio 2014 da elettrix01
Enrico Ghisla Inserita: 29 gennaio 2014 Autore Segnala Inserita: 29 gennaio 2014 io penso che dipenda dal collegamento dell'ingresso
batta Inserita: 30 gennaio 2014 Segnala Inserita: 30 gennaio 2014 quindi sarebbe cosi no? Sì, questo è un modo. Visto però che con un potenziometro non si può pretendere una grande precisione, trovo inutile "sprecare" un timer con base tempi 10 ms (che non ce ne sono molti a disposizione), e mi accontenterei di dividere per 320 anziché per 32, e utilizzerei un timer con base tempi 100 ms. ma come si fa a settare un ingresso analogico in modo bipolare? Sono anni che non metto le mani su un S7-200, quindi mi potrei anche sbagliare, ma mi pare che non ci sia modo di configurare l'ingresso per segnali unipolari o bipolari. O meglio, l'ingresso analogico è sempre per segnale bipolare (per esempio, ±10 V oppure ± 20 mA.) In questo caso, la lettura del canale analogico è tra -32000 e +32000 (quindi 64000 punti). Se, a questo ingresso, colleghi un segnale 0..10 V, ecco che leggerai valori da 0 a 32000.
Enrico Ghisla Inserita: 30 gennaio 2014 Autore Segnala Inserita: 30 gennaio 2014 grazie batta sei stato gentilissimo sisi lo so che sarebbe sprecato quel timer però volevo fare solo delle prove visto che sono un autodidatta e studio da casa, faccio una fatica incredibile con certi argomenti ahah
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