ObaOba97 Inserito: 29 aprile 2019 Segnala Share Inserito: 29 aprile 2019 Buonasera a tutti una domanda gentilmente..siccome ho iniziato da poco ad utilizzare cx programmer e quindi ad affrontare i PLC,avrei un problema con un esercizio che vi allego sotto..in poche parole si tratta di 2 motori che hanno senso di marcia differente,però sull'esercizio che vi ho allegato mi dice di attribuire i 500 punti agli 8 secondi, mentre a 0 punti i 2 secondi mediante la presenza di un potenziometro..il problema è che non capisco proprio da dove cominciare, dovrei per caso utilizzare questa funzione (allego foto) ? grazie mille a chi risponderà.. Il pulsante P2 avvia il motore M2 con funzionamento intermittente, con duty cycle variabile tramite un potenziometro. La fase off è fissa e dura 3 secondi. La fase on può variare da un minimo di 2 secondi a 8, in corrispondenza della regolazione minima e massima del potenziometro, collegato a un ingresso analogico del PLC con risoluzione 500 punti. Link al commento Condividi su altri siti More sharing options...
Marco Fornaciari Inserita: 29 aprile 2019 Segnala Share Inserita: 29 aprile 2019 Onestamente non si capisce da dove parti e dove devi arrivare, cortesemente spiegati meglio, magari con un diagramma. Poi che CPU è? Non sono tutte uguali, nella specie le compatte possono avere istruzioni/variabili specifiche. Nello specifico non ricordo nessuna risoluzione a 500 punti. Link al commento Condividi su altri siti More sharing options...
Ctec Inserita: 30 aprile 2019 Segnala Share Inserita: 30 aprile 2019 Essendo un esercizio, non credo sia legato a una CPU (e neppure al software di programmazione). Inoltre, non c'entra nulla l'indirizzamento del modulo analogico, qui è solo un problema di scalatura. Cioè, dovrai farti una scala tua dove al valore 0 in ingresso corrisponde a 2s di temporizzazione, mentre il valore 500 corrisponde a 8s. Così almeno ho capito io. Bene, dato quanto sopra, il tuo campo di risoluzione è di 6s (8-2) per una variazione da 0 a 500 dell'ingresso. Sarebbero 501 punti, ma preferirei fare da 0 a 499 che sono 500, per semplicità. Quindi, per ogni unità di valore in ingresso corrisponde a 6/500=12ms. Pertanto, per avere il valore del tempo in secondi da impostare a seconda del potenziometro, avrai la formula: Tempo = 12*(Valore)+2000, dove il 2000 sono i ms corrispondenti ai 2s di base della scala. Se provi, avrai 2000ms con valore 0 (2s) e 8000ms con valore 500 (8s). Il come implementarlo è un po' diverso e dipende dalla CPU. Supponiamo di avere una CP1. Supponiamo di usare i timer in decimale (istruzione TIMX) e se si vuole usare la temporizzazione in ms, in particolare la TIMHHX (valida solo per i temporizzatori da 0 a 15). A questo punto, avendo il valore letto dall'analogica in Valore, dovrai fare una moltiplicazione e una somma per avere il tuo Tempo , attenzione che una moltiplicazione di valori a word (16bit) dà un risultato a doppia word (32bit). Quindi una volta calcolato il Valore lo metterai in un timer TIMHHX. Quindi farai la logica di controllo del motore con un altro valore fisso (3s) dove potrai usare un normalissimo TIMX e un semplice "circuito" on/off con due temporizzatori. Io almeno l'ho capita così, ed eseguita come un esercizio. Link al commento Condividi su altri siti More sharing options...
Marco Fornaciari Inserita: 30 aprile 2019 Segnala Share Inserita: 30 aprile 2019 Se è un problema di scalatura, le funzioni ci sono già, per es. una è APR (che se la impari non la molli più), quindi le varie SCL. Quindi i temporizzatori in decimale lavorano con dati UINT, per cui 0-65535. In ogni caso anche se è un esercizio, ma poi deve essere inserito in una CPU o solo simulato, bisogna segliere la CPU del progetto, quindi usare le giuste istruzioni.Tenendo pure presente che non tutte le funzioni funzionano con il simulatore. P.s. Parere personale Se poi chi propone gli esercizi usasse dati reali, magari i futuri programmatori escono più pronti e smaliziati. E non semplici teorici. Link al commento Condividi su altri siti More sharing options...
Marco Fornaciari Inserita: 30 aprile 2019 Segnala Share Inserita: 30 aprile 2019 Si però, un momento ... noi esperti siamo qui a dare indicazioni su istruzioni e metodi di programmazione, ma in realtà al nostro collega furumista cosa hanno insegnato, oppure ha imparato, fino a oggi? Gli avranno insegnato, o ci deve arrivare da solo, a calcolare i decimali usando solo interi? E tempi base dei temporizzatori? Qui prima di trovare la soluzione con un tipo di PLC Omron (per altri la soluzione può essere, ovvero è, diversa) c'è da lavorare di matematica. 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