thejolly Inserito: 9 maggio 2014 Segnala Share Inserito: 9 maggio 2014 Ciao a tutti, è passato qualche tempo dalla prima volta che mi sono addentrato nel mondo dei plc e ho fatto la conoscenza di questo bel forum ; da allora ho maturato esperienza a riguardo ma "so sempre di non sapere" , infatti credo vivamente che chi si sente arrivato in questo settore non ha capito propio un c........ per quanto sia vasto ed in continua evoluzione! da autodidatta mi sono procurato un pò di materiale ed ho creato il mio banco/studio/esperimenti, dalle mie parti si dice che: "la pratica rompe la grammatica"; questo: DATI: cpu 315-2dp sm321 32DI sm322 DO32 sm334 AI4/AO2 INV. 230V Motore 2750 giri/min 50Hz Astina in ferro calettata su albero motore (puleggia virtuale) lung.(raggio) 3cm Proxy per rilevamento giri Ora sto studiando/sperimentanto su step7 per creare una camma, per gestire il motore con l'analogica e fare dei posizionamenti virtuali e delle variazioni di velocità in base al raggiungimento quota, ma quando vado con l'online test l'ingresso m'incrementa nel modo corretto il contatore solo facendo facendo lavorare il mot a pochi Hz, se aumento non mi corrisponde. considerando i seguenti calcoli mi dovrebbe funzionare oppure sto sbagliando qualcosa: f=2750/min=2750/60=46Hz ---> T=1/2750=60/2750=0.022sec*1000=22ms >4,8ms ritardo sull'ingresso DI sm321 quindi s'intende che io campiono un segnale ogni 22ms mentre l'ingresso lo campiona ogni 4,8ms dovrebbe farcela a leggere o dovrei usare OB35? Inoltre come faccio a variare la velocità motore(con l'analogica sono apposto, già programmata/scaling) in base alla distanza dalla quato da raggiungere, nel senso di vel. alta a distanza maggiore dal punto e più mi avvicino più diminuisce . Link al commento Condividi su altri siti More sharing options...
beppo Inserita: 9 maggio 2014 Segnala Share Inserita: 9 maggio 2014 (modificato) quindi s'intende che io campiono un segnale ogni 22ms mentre l'ingresso lo campiona ogni 4,8ms dovrebbe farcela a leggere Secondo me a non farcela è il sensore. Mi sembra di ricordare per per simili applicazioni ci vogliano sensori adeguati. Comunque complimenti per il tuo banco/studio/esperimenti . Modificato: 9 maggio 2014 da beppo Link al commento Condividi su altri siti More sharing options...
thejolly Inserita: 9 maggio 2014 Autore Segnala Share Inserita: 9 maggio 2014 Ho cambiato il sensore inserendo uno con le seguenti caratteristiche: tipo contatto nc frequenza max di commutazione: 1000hz Ritardi: alla disponibilità <= 25ms all'azione <= 0.5ms al rilascio <= 0.5ms ...devo dire che è migliorato e ancora di più quando ho trasferito il codice su ob1 eliminando ob35 , comunque quando vado sopra i 15hz velocità motore, non riesce a percepire più il segnale in ingresso(con fronte salita) dal proxy . forse bisogna tener conto altri parametri? tempo ciclo ecc..? Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 9 maggio 2014 Segnala Share Inserita: 9 maggio 2014 comunque quando vado sopra i 15hz velocità motore, non riesce a percepire più il segnale in ingresso(con fronte salita) dal proxy . forse bisogna tener conto altri parametri? tempo ciclo ecc..? E' proprio l'ingresso Hw che non ce la fa. Dovresti usare una scheda con ingressi veloci, quelli per interrupt di processo. Poi sarebbe meglio che tu legassi l'ingresso proprio ad un interrupt. Gli ingressi normali vengono letti e copiati nella tabella immagine ad ogni fine ciclo. Quindi se vuoi leggere oltre i 15 Hz (66.6666 ms) è indispensabile, secondo il teorema di Shannon, che il tempo di aggiornamento della tabella sia inferiore a 33.33 ms. Se, ad esempio, leggi l'ingresso ogni 20 ms puoi acquisire segnali con frequenza <= 25 Hz. Puoi anche velocizzare il sistema leggendo direttamente la periferia usando le istruzioni di lettura diretta degli ingressi (PExxx). Se leggi più volte all'interno del ciclo, puoi aumentare la frequnza del segnale. Link al commento Condividi su altri siti More sharing options...
thejolly Inserita: 9 maggio 2014 Autore Segnala Share Inserita: 9 maggio 2014 (modificato) Livio come già detto "so sempre di non sapere" quindi Poi sarebbe meglio che tu legassi l'ingresso proprio ad un interrupt. ...intendi scrivendo il codice su ob35 con settaggi particolari? Puoi anche velocizzare il sistema leggendo direttamente la periferia usando le istruzioni di lettura diretta degli ingressi (PExxx). Se leggi più volte all'interno del ciclo, puoi aumentare la frequnza del segnale. ...ma gli ingressi esempio pewXXX step7 non li assegna dalla configurazione hw alle periferiche analogiche ecc..? dove posso trovare istruzioni a riguardo per fare questo? ...so che esistono moduli di conteggio o per camme ma vorrei scoprire fin quanto posso spingermi con l'hw in possesso Modificato: 9 maggio 2014 da thejolly Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 10 maggio 2014 Segnala Share Inserita: 10 maggio 2014 Rispondo alla "spicciolata" I limiti dello Hw non li devi cercare speimentalemente, ma devi leggere cosa dice il manuale e considerare il caso pessimo. Se leggi il foglio tecnico della sceda di ingressi digitali, troverai il tempo minimo del filtro hw di ingresso. Un segnale che ha una durata in feriore non viene riconosciuto. Può capitare che, magari stai usando un ingresso il cui filtro è un poco più veloce, quindi in pratica puoi magari superare di poco quella freqeunza, però non lo puoi usare in un progetto, perchè non affidabile. Devi sempre considerare il caso pessimo. Se leggi il manuale dell step 7, o anche solo la guida in linea, vedrai che le istruzione per leggere e scrivere direttamente la periferia riguardano sia i segnali analogici che quelli digitali. Esistono schede di ingressi veloci. Questi ingressi possono essere accoppiati direttamente ad interrupt di processo. Non ricordo più i dettagli, perchè sono anni che non uso più step 7, però credo che uno degli interrupts di processo sia legato ad OB40; OB35, se non ricordo male, è legato al timer di sistema. Comunque sui manuali queste notizie le trovi tutte, anche sulla guida in linea. La tecnica del "proviamo e vediamo quello che succede" porta sempre ad un maggior dispendi di tempo ed a risultati incerti. Uno studio approfondito dei manuali fa risparmiare tempo ed i risultati son sempre certi, come le madri. Link al commento Condividi su altri siti More sharing options...
thejolly Inserita: 14 maggio 2014 Autore Segnala Share Inserita: 14 maggio 2014 Grazie a tutti per le risposte... ...altra domanda: ho inserito CALL sfc40 in ob1 con relativi parametri MODE=2 , OB_NR=40 , RET_VAL=MW100; poi in ob40 ho inserito trasferimento dell'ingresso digitale di periferia PEBx(del proxy) ad un MB, poi MB con fronte di salita e merker d'appoggio, poi contatore ed uscite dati contatore su un DB. ...in online però vedo che ob40 non viene richiamato, perchè? forse per effettuare interrupt di processo ci vogliono per forza delle schede di ingresso parametrizzabili e con interrupt di processo? quindi non si può fare con delle normali sm321? 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