east71 Inserito: 29 aprile 2012 Segnala Inserito: 29 aprile 2012 Buonasera Premetto che dopo circa tre anni che seguo il mondo HPLC solo adesso cerco di capire come si programma. In questi giorni sto cercando di valorizzare i progetti di esempio del ladder per poi metterli in pratica con il mio primo progetto. Oggi ho provato a capire il funzionamento del controllo carichi. Mi sono già fermato al primo esempio, dove la prima parte penso di averla capita - un comparatore leggeva il valore del modulo e lo comparava con 0.8 A, qualora il valore letto era maggiore l’uscita era attiva e veniva creata un bit che accusasse tale situazione -. Mentre al rung successivo mi sono perso. 1. A cosa servono i contatti NC inseriti (Flag1 e Carico 300mA)? 2. Perché l’avviso viene detto ritentivo se la word del flag1 è ritentiva? 3. Che differenza c’è tra MX e MW? 4. Ma il display 36 del master 3 non è MW315? 5. Cosa significa avviso nr. 16 Scusatemi per le tante domande, ma penso che le risposte possano servire anche per tantissimi altri utenti che si vogliono avvicinare al fantastico mondo dell’HPLC. Grazie Alla prossima
del_user_56966 Inserita: 29 aprile 2012 Segnala Inserita: 29 aprile 2012 3. Che differenza c’è tra MX e MW? partirei da questa che è la più importante visto che fa parte dello standard IEC con MW si legge e si scrive un valore analogico 0-65535 che è la somma dei singoli valori booleani dei bit che compongono la word stessa quindi usando la dizione MW non leggo un singono bit della word ma la somma dei valori di tutti i bit attivi in quel dato momento... esempio.... se prendo la %MW1000 e in questa sono attivi i primi 4 Bit mentre gli altri sono a zero avrò.. Bit 0 = True (valore 1) Bit 1 = True (valore 2) Bit 2 = True (valore 4) Bit 3 = True (valore 8) Bit 4-15 = False (tutti con valore 0) il valore della Word corrisponde alla somma del peso booleano dei bit attivi.... 1+2+4+8 = 15 cosi anche il valore letto tramite %MW1000 = 15 se al contrario voglio leggere e scrivere un singolo Bit della Word devo usare la dizione %MX1000.x dove X sta appunto per elaborazione digitale e non analogica della word... si potrà quindi usare solo i valori vero/falso, true/false, 1/0, ecc.. se per esempio tramite l'uso di %MX1000.2 = False metto a zero il Bit 2 della word 1000 il risultato di lettura del valore della word precedente cambia cosi... Bit 0 = True (valore 1) Bit 1 = True (valore 2) Bit 2 = False (valore 0) Bit 3 = True (valore 8) Bit 4-15 = False (tutti con valore 0) il valore della Word corrisponde alla somma del peso booleano dei bit attivi.... 1+2+0+8 = 11 cosi anche il valore letto tramite %MW1000 = 11 questo tipo di elaborazione a bit è molto potente perché si può applicare a tutta l'area di lavoro dell'HomePLC ed è talmente standard da poter essere usato anche in altri linguaggi oltre al Ladder, cosi come si fa già tramite HomePLC.Linux tramite Java, PHP ecc...
del_user_56966 Inserita: 29 aprile 2012 Segnala Inserita: 29 aprile 2012 mentre riguardo allo specifico esempio di codice in ladder.... 1. A cosa servono i contatti NC inseriti (Flag1 e Carico 300mA)? servono a tagliare l'alimentazione alla logica successiva.....quando viene eseguita quella che li attiva... per esempio una volta che il flag di esubero carico si attiva trova Flag1 negato e quindi può attivare il messaggio 16 sul display... fatto ciò dopo un ritardo eseguito dalla linea di ritardo (Delay) si attiva Flag1 e la logica d'invio del messaggio viene inibita... 4. Ma il display 36 del master 3 non è MW315? 5. Cosa significa avviso nr. 16 Il display M3-36 ha 1 primi 15 messaggi nella prima word ma il messaggio 16 è il primo della seconda word... ovvero la %MW316 il display è l'unico modulo che non usa l'area estesa quindi occupa tanti indirizzi fisici quanti sono i messaggi da inviare... (16 messaggi per ogni indirizzo occupato) 2. Perché l’avviso viene detto ritentivo se la word del flag1 è ritentiva? forse intendi la R contenuta nel Coll di uscita? in quel caso si intende che è un Coil di Reset
east71 Inserita: 29 aprile 2012 Autore Segnala Inserita: 29 aprile 2012 Grazie Aleandro preciso e tempestivo come sempre. Le prime due risposte mi sono chiare, mentre le succevie due non tanto: Il display M3-36 ha 1 primi 15 messaggi nella prima word ma il messaggio 16 è il primo della seconda word... ovvero la %MW316 il display è l'unico modulo che non usa l'area estesa quindi occupa tanti indirizzi fisici quanti sono i messaggi da inviare... (16 messaggi per ogni indirizzo occupato) ma il 16 messaggio non fa parte della prima word? Perché l’avviso viene detto "non" ritentivo se la word del flag1 è ritentiva? ...ma con la risposta che mi hai dato probabilmente ho capito comunque...la R resetta il msg
del_user_56966 Inserita: 29 aprile 2012 Segnala Inserita: 29 aprile 2012 (modificato) ma il 16 messaggio non fa parte della prima word? No! la pagina zero è la HomePage quindi non è attivabile tramite un coil... il bit 0 serve quindi per eseguire il reset degli allarmi da Ladder se vedi sull'_Help c'è anche la grafica con l'esempio in ladder... (in quel caso è usato il bit %MX217.0) quindi nella prima word/indirizzo le pagine utilizzabili sono 15 e la sedicesima corrisponde al primo bit del secondo indirizzo... cosi come in ingresso i primi 4 bit (0-3) sono i pulsanti mentre dal bit 4 si può leggere se la pagina corrispondente è attiva... cosi se il bit 4 è attivo significa che il display sta mostrando la pagina 4.... vedi che non fa una grinza!... ...ma con la risposta che mi hai dato probabilmente ho capito comunque...la R resetta il msg la R su un uscita significa che questa esegue il Reset di quel Bit che può essere messo invece a SET dall'altra funzione .......---|S|--- in un programma non si possono utilizzare più volte le stesse uscite se queste non sono di Set o di Reset per questo la IDE ogni volta che usi una risorsa di uscita doppia da un messaggio del tipo... "Attenzione la risorsa è già utilizzata" se appare questo messaggio il programmatore deve fare mente locale e capire se la logica già scritta può andare in contrasto con quella che sta scrivendo in quel momento... per esempio se io scrivo l'uscita %QX0.0 tramite un Timer all'inizio del programma... e poi uso nuovamente la risorsa %QX0.0 nello svolgimento del programma.... sicuramente il mio Timer non riuscirà ad utilizzare l'uscita perché questa viene sovrascritta nei Rung successivi... Nel ladder vince sempre l'ultima istruzione scritta... quindi se anche manovro 500 Set di un uscita ma in fondo al programma ho un Reset della stessa il valore scritto sugli I/O sarà sempre un False!... Modificato: 29 aprile 2012 da Aleandro2008
del_user_56966 Inserita: 12 maggio 2012 Segnala Inserita: 12 maggio 2012 Semplicemente fantastico e questo concetto vale anche per tutte le altre IDE di programmazione per PLC....
east71 Inserita: 14 giugno 2012 Autore Segnala Inserita: 14 giugno 2012 Salve ritorno sull'argomento. L'esempio indica un valore letto dal modulo inserito sull'ingresso 1 e confrontato con un valore impostato, ad esempio 0,8 A, sull'ingresso 2. Con QLF = 4, se l'ingresso 1 supera i 0,8A si attiva l'uscita. La mia domanda è la seguente, ma facendo riferimento ad un impianto monofase a 3 KW, qual'è il valore che non devo superare?, visto che il modulo viene messo a monte? Devo riferirmi alla formuna A= W/V*cos_fi, con cos_fi= a 0,9 . In questo caso A è all'incirca 16 A grazie
Simoand Inserita: 2 dicembre 2014 Segnala Inserita: 2 dicembre 2014 Salve volevo riprendere l'argomento perchè sto modificando alcune pagine di un display DSP però non riesco a leggere i bit delle pagine attive, o meglio la pagina deve essere settata con il coil set oppure fino a che il display ha la pagina attiva dovrei in ladder trovarmi il bit corrispondente alto? grazie
del_user_56966 Inserita: 2 dicembre 2014 Segnala Inserita: 2 dicembre 2014 per prima cosa controlla l'aggiornamento del display.. visto che i primi 4 ingressi sono i pulsanti F1-F4 mi pare che la pagina attuale parta solo dalla 5....
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