stefanobruciato Inserito: 26 ottobre 2006 Segnala Share Inserito: 26 ottobre 2006 Ciao a tutti sono nuovo del forum e da un po mi sto appassionando ai plc e al pl7 pro ho la versione 4.4 ora vorrei sapere una cosa che al momento non riesco a fare, vorrei utilizzare lo stesso ingresso per attivare e disattivare un uscita come faccio? Mi spiego meglio vorrei simulare un relè comandato da un pulsante come faccio la programmazione in Ladder?Aiutatemi grazie Link al commento Condividi su altri siti More sharing options...
rddiego Inserita: 27 ottobre 2006 Segnala Share Inserita: 27 ottobre 2006 non è nè questione di Ladder nè questione di istruzioni particolari nè di che tipo di plc, è solo questione di logica.Ci sono 1000 modi per fare quello che chiedi così come per tante altre gestioni.cosa vuoi fare del tuo ingresso e della tua uscita? 1) quando premi il pulsante vuoi accendere la luce 2) quando ripremi il pulsante vuoi spegnere la luceè necessario quindi sapere se devi accendere o spegnere la luce nel momento in cui premi il pulsante.per sapere se accendere o spegnere ti basta controllare lo stato dell'uscita al momento della pressionel'istruzione di questo ragionamento equivale a:SE pulsante premuto=1 AND uscita=0 ALLORA uscita->1SE pulsante premuto=1 AND uscita=1 ALLORA uscita->0Eseguendo queste semplici righe ti accorgerai che non accenderai mai un bel niente, poichè quando la prima istruzione accende la luce, la seconda la spegne poiche la vede accesa.A questo utilizzare scrivere l'uscita ad ogni riga d'istruzione è d'impiccio. Conviene utilizzare una nuova variabile che dica che la luce deve accendersi o deve spegnersi.SE pulsante premuto=1 AND uscita=0 ALLORA accendere->1SE pulsante premuto=1 AND uscita=1 ALLORA accendere->0SE accendere=1 ALLORA uscita->1SE accendere=0 ALLORA uscita->0Eseguendo queste semplici righe ti accorgerai che la luce si accende e poi si spegne e così via finchè tieni premuto il pulsante.Bisogna fare in modo che le istruzioni vengano eseguite una volta sola... quando? Al momento della pressione del pulsante. Bisogna memorizzare il momento in cui viene premuto il pulsante in modo tale che il momento (scansione) successivo ci si ricordi di aver già premuto e quindi di evitare di rieseguire nuovamente le istruzioni fino al momento di una nuova pressione.SE pulsante premuto=1 AND già premuto=0 ALLORA comanda uscita->1 ALTRIMENTI comanda uscita->0SE pulsante premuto=1 ALLORA già premuto->1 ALTRIMENTI già premuto->0SE comanda uscita=1 AND uscita=0 ALLORA accendere->1SE comanda uscita=1 AND uscita=1 ALLORA accendere->0SE accendere=1 ALLORA uscita->1SE accendere=0 ALLORA uscita->0Questo è un ragionamento che ho fatto risolvendo passo passo le problematiche utilizzando le istruzioni di base AND, (AND NOT) ed l'assegnazione (in PL7 " := "). Puoi anche tradurre le parole in maiuscolo ed eseguire la programmazione in linguaggio strutturato.Le prime due righe le puoi tradurre con un fronte di salita.Si potrebbero anche utilizzare i salti (JUMP) anzichè memorie aggiuntive. Insomma questo è quello che mi è venuto in mente per meglio farti capire come io mi approccerei ai vari problemi. Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 27 ottobre 2006 Segnala Share Inserita: 27 ottobre 2006 Link al commento Condividi su altri siti More sharing options...
rddiego Inserita: 27 ottobre 2006 Segnala Share Inserita: 27 ottobre 2006 che c'è walter non ti piace la spataffiata di roba che ho tirato in piedi? Link al commento Condividi su altri siti More sharing options...
stefanobruciato Inserita: 27 ottobre 2006 Autore Segnala Share Inserita: 27 ottobre 2006 Scusa ma la spataffiata di roba che hai tirato onestamente non l'ho compresa tanto comunque hai indovinato cosa voglio fare con l'IN e L' OUT inoltre se non ti dispiace vorrei sapere come far accendere al primo inpulso una lamapada al secondo un altra al terzo tutte e due e al quarto spegnere tutto ps però in ladder grazie ancora ps spiegati meglio oppure allega un file esempio Link al commento Condividi su altri siti More sharing options...
rddiego Inserita: 28 ottobre 2006 Segnala Share Inserita: 28 ottobre 2006 stefanobruciato così ti sei bruciato proprio!!! Ho letto il tuo post dove dicevi che ti stavi appassionando......bella passione quella di farsi fare le cose gratis dagli altri... ma va..io non ti allego un bel niente ... una fattura semmai... Link al commento Condividi su altri siti More sharing options...
stefanobruciato Inserita: 28 ottobre 2006 Autore Segnala Share Inserita: 28 ottobre 2006 Grazie per la tua esplicita richiesta di denaro pensavo che il forum servisse ad aiutare comunque non preoccuparti ci sarà qualcuno molto più gentile di te che mi faccia almeno capire in maniera decente come fare questa programmazione in ladder grazie ancora per la tua disponibilità Link al commento Condividi su altri siti More sharing options...
Savino Inserita: 28 ottobre 2006 Segnala Share Inserita: 28 ottobre 2006 (modificato) Ciao stefanobruciato ..vorrei sapere come far accendere al primo inpulso una lamapada al secondo un altra al terzo tutte e due e al quarto spegnere tutto ps però in ladder..// Seg 1 PS M2 M5 Q1 +--------[ ]---+---[/]----+--------[/]------------( )---+ Lamp1 | | | | Q1 | | +--------[ ]---+ | | | | M3 | +--------[ ]--------------+ // Seg 2 PS Q1 M2 M5 M1 +--------[/]-------[ ]----+--------[/]-----[/]----( )----+ | | | | | M1 | +--------[ ]--------------+ // Seg 3 PS M1 M2 M5 Q2 +---[ ]----[ ]-+---[/]----+--------[/]------------( )---+ Lamp2 | | | | Q2 | | +---[ ]--------+ | | | | M3 | +--------[ ]--------------+ // Seg 4 PS Q1 Q2 M3 M5 M2 +--------[/]-------[ ]----------[ ]--+--[/]--[/]--( )----+ | | | | | M2 | +--------[ ]-------------------------+ // Seg 5 PS M2 M5 M3 +--------[ ]-------[ ]------------------+--[/]----( )----+ | | | | | M3 | +--------[ ]----------------------------+ //Seg 6 PS M3 M5 M4 +--------[/]-------[ ]------------------+---[/]---( )----+ | | | | | M4 | +--------[ ]----------------------------+ // Seg 7 PS M4 M5 +--------[ ]-------[ ]----------------------------( )----+ PS = pulsante (Input) M1-M2-M3-M4-M5 = memorie ausiliarie Q1 = uscita lampada 1 Q2 = uscita lampada 2 Seg 1 accende Lamp 1 Seg 3 accende Lamp 2 Seg 4 spegne tutte 2 : fatto per riaccendere tutte 2 nel passo successivo, altrimenti ti ci vuole un'altro impulso per spegenere ambe due. Seg 5 accende tutte 2 Seg 7 spegne tutte e 2 Non lo ho testato nel PLC ma dovrebbe andare bene Provaci e fammi sapere Modificato: 28 ottobre 2006 da Savino Link al commento Condividi su altri siti More sharing options...
stefanobruciato Inserita: 28 ottobre 2006 Autore Segnala Share Inserita: 28 ottobre 2006 GRazie Savino testo e ti faccio sapere almeno tu mi hai fatto capire la logica Grazie ancora Link al commento Condividi su altri siti More sharing options...
stefanobruciato Inserita: 28 ottobre 2006 Autore Segnala Share Inserita: 28 ottobre 2006 Savino allora ho testao la programmazione però funziona in maniera diversa al 1inpulso accendono tutte e due al 2 si spegne una al terzo.... se tieni premuto il pulsante si riaccendono entrambe ma appena lasci si spengono tutte e due come mai? comunque grazie a te sono riuscito a fare la programmazione di un pulsante on/ off che era la mia prima domanda in questo topic grazie ancora appenna puoi fammi sapere io ci sto mettendo la mia buona volontà nel capirlo purtroppo sono nuovo di questo campo. Link al commento Condividi su altri siti More sharing options...
rddiego Inserita: 28 ottobre 2006 Segnala Share Inserita: 28 ottobre 2006 utilizza una word in questo modo:%M0:=RE %I0.0;IF %MW0>3 THEN %MW0:=0 END_IF;IF %MW0=3 AND %M0 THEN %MW0:=4 END_IF;IF %MW0=2 AND %M0 THEN %MW0:=3 END_IF;IF %MW0=1 AND %M0 THEN %MW0:=2 END_IF;IF %MW0=0 AND %M0 THEN %MW0:=1 END_IF;%Q0.0:=%MW0:X0;%Q0.1:=%MW0:X1;non te lo faccio in ladder perchè ti sconsiglio vivamente il ladder di PL7. Impara il linguaggio ST che ti soddisferà molto di più. Link al commento Condividi su altri siti More sharing options...
Savino Inserita: 29 ottobre 2006 Segnala Share Inserita: 29 ottobre 2006 (modificato) Savino allora ho testao la programmazione però funziona in maniera diversa al 1inpulso accendono tutte e due al 2 si spegne una al terzo.... se tieni premuto il pulsante si riaccendono entrambe ma appena lasci si spengono tutte e due come mai? comunque grazie a te sono riuscito a fare la programmazione di un pulsante on/ off che era la mia prima domanda in questo topic grazie ancora appenna puoi fammi sapere io ci sto mettendo la mia buona volontà nel capirlo purtroppo sono nuovo di questo campo. Ciao,Dunque, ho eseguito un test ON LINE del codice sopra postato. Ho fatto la simulazione utilizzando una tabella di monitoraggio variabili e facendo dei forzamenti per l'input "PS"Il codice va bene, l'unica cosa ..dovresti inserire una modifica sul segmento 7 ed aggiungere un seg.8 per il reset della sequenza// Seg 7 PS M4 M6 M5 +--------[/]-------[ ]------------------+---[/]---( )----+ | | | | | M5 | +--------[ ]----------------------------+ // Seg 8 PS M5 Q1 Q2 M6 +--------[/]-------[ ]-------[/]-------[/]---------( )----+ Poi ecco gli stati delle variabili .... Seg 1 Seg 2 Seg 3 Seg 4 Seg 5 Seg 6 Seg 7 Seg 8 ----------------------------------------------------------------------------- Ps 1 0 1 0 1 0 1 0 Q1 1 1 1 0 1 1 0 0 Q2 0 0 1 0 1 1 0 0 M1 0 1 1 0 0 0 0 0 M2 0 0 0 1 1 1 0 0 M3 0 0 0 0 1 1 0 0 M4 0 0 0 0 0 1 0 0 M5 0 0 0 0 0 0 1 0 Quindi...Seg 1 accende Lamp 1Seg 3 accende Lamp 2Seg 4 spegne tutte 2 : fatto per riaccendere tutte 2 nel passo successivo, altrimenti ti ci vuole un'altro impulso per spegenere ambe due.Seg 5 accende tutte 2 Seg 7 spegne tutte e 2 Seg 8 reset.Verifica utilizzando lo stesso metodo. Per "PS" , al posto del ingresso utilizza una "memoria" per potere fare dei forzamenti....vedari che funziona.Per provare col pulsante, dovresti fare attenzione a dare gl'impulsi correttamente . N.B: prima iniziare, verifica che le memorie utilizzate, ecc sono stato "Zero"(off). Modificato: 29 ottobre 2006 da Savino Link al commento Condividi su altri siti More sharing options...
stefanobruciato Inserita: 29 ottobre 2006 Autore Segnala Share Inserita: 29 ottobre 2006 Ok Savino oggi provo e ti faccio sapere grazie ancora.X Rddiego ringrazio anche te per l'aiuto ma io l'st come l'inguzggio non lo mastico proprio invece il ladder un po di più comunque sapresti dirmi dove trovare qualche guida per l'st dove magari ci sono anche degli esempi? GraziePs toglimi una curiosità ma il codice che hai postato%M0:=RE %I0.0;IF %MW0>3 THEN %MW0:=0 END_IF;IF %MW0=3 AND %M0 THEN %MW0:=4 END_IF;IF %MW0=2 AND %M0 THEN %MW0:=3 END_IF;IF %MW0=1 AND %M0 THEN %MW0:=2 END_IF;IF %MW0=0 AND %M0 THEN %MW0:=1 END_IF;%Q0.0:=%MW0:X0;%Q0.1:=%MW0:X1;fa tutto quello che savino mi ha scritto in ladder? perchè sembra che sia molto più corto. Link al commento Condividi su altri siti More sharing options...
TRC Inserita: 29 ottobre 2006 Segnala Share Inserita: 29 ottobre 2006 Due domande da questo argomento, come si fa a spedire i pezzi di programma in ladder e sottolineare in un riquadro le parti delle risposte precedenti ? Ho tentato di spedire in ladder ma ci metto 6 mesi a scriverlo e in più perdo l'allineamento con gli spazi vuoti .Considerazione per i due tipi di linguaggio : - Il ladder pl7 è uno tra i più facili, con un box fai (A+-C*D/F+(G+H-I),con altri ladder dovresti scrivere un libro per fare lo stesso.- Il linguaggio ST usato con Word e comparazioni al posto dei semplici contatti, forse oggi non fa differenza, ma un po di anni fa quando i PLC erano più lenti, te l'avrebbero bocciato come soluzione, perchè impiegava un sacco di tempo e rallentava i tempi di ciclo del programma. Link al commento Condividi su altri siti More sharing options...
Savino Inserita: 29 ottobre 2006 Segnala Share Inserita: 29 ottobre 2006 Due domande da questo argomento, come si fa a spedire i pezzi di programma in ladder e sottolineare in un riquadro le parti delle risposte precedenti ? Per sottolineare le risposte precedenti usi il penultimo bottone "inserisci come citazione" sulla barra del menu del box "Rispondi". esempio: [quote]inserisce qui il texto[/quote] Incambio per sottolineare del codice, etc... utilizzi l'ultimo bottone "codice". esempio: [code ]inserisce qui il texto[/code ] Per editare il ladder ti conviene copiarlo da un file .txt ( allineato) e poi lo incolli sul box "Rispondi", tra [code ]e[/code ], poiche' lo vedrai disallineato comunque. Link al commento Condividi su altri siti More sharing options...
Savino Inserita: 29 ottobre 2006 Segnala Share Inserita: 29 ottobre 2006 (modificato) Ciao stefanobruciato,Scusa, ho visto un errore di editazione sull'ultima modifica del mio post precedente per il Seg 7.PS e' un NO e non un NC// Seg 7 PS M4 M6 M5 +--------[/]-------[ ]------------------+---[/]---( )----+ | | | | | M5 | +--------[ ]----------------------------+ Questo va bene.! // Seg 7 PS M4 M6 M5 +--------[ ]-------[ ]------------------+---[/]---( )----+ | | | | | M5 | +--------[ ]----------------------------+ Modificato: 29 ottobre 2006 da Savino Link al commento Condividi su altri siti More sharing options...
stefanobruciato Inserita: 29 ottobre 2006 Autore Segnala Share Inserita: 29 ottobre 2006 Scusa Savino tu che sei più esperto ma non cè un metodo in ladder per ridurre le istruzioni e fare le stesse operazioni? Grazie Link al commento Condividi su altri siti More sharing options...
Savino Inserita: 29 ottobre 2006 Segnala Share Inserita: 29 ottobre 2006 (modificato) L'esempio da me postato e' molto "basico". Appunto, visto che sei alle prime arme forse sarebbe meglio che tu afferrassi il concetto di logica booleana. Poiche', questa banale rappressentazione sarebbe universalmente portabile su tutti i PLC cosi' com'e' scritta.Certamente che ci sono tanti altri modi di soluzioni, ma dovresti approffondire di piu' per quanto riguardano le possibilita' e ricchezze della suite di algoritmi di librerie offerti dal linguaggio stesso.Certamente che scrivere in STL e' molto piu' semplificato che in ladder. Modificato: 29 ottobre 2006 da Savino Link al commento Condividi su altri siti More sharing options...
stefanobruciato Inserita: 29 ottobre 2006 Autore Segnala Share Inserita: 29 ottobre 2006 Grazie ancora, sapresti indicarmi dove trovare guide e approfondimenti a riguardo? Magari con esempi pratici? Sia ladder che stl in modo da inpratichirmi un pò. Link al commento Condividi su altri siti More sharing options...
Savino Inserita: 29 ottobre 2006 Segnala Share Inserita: 29 ottobre 2006 Link... dalla pagina 89In italiano non saprei.. Link al commento Condividi su altri siti More sharing options...
TRC Inserita: 29 ottobre 2006 Segnala Share Inserita: 29 ottobre 2006 grazie Savino grazie SavinoNon ho capito una cosa, ma se inserisco il txt allineato, gli spazi vuoti vengono cancellati ? Link al commento Condividi su altri siti More sharing options...
Savino Inserita: 29 ottobre 2006 Segnala Share Inserita: 29 ottobre 2006 (modificato) Non ho capito una cosa, ma se inserisco il txt allineato, gli spazi vuoti vengono cancellati ? Se fai la copia da .txt ed incolli direttamente fuori dal blocco [code ] [/code ], pare che e' cosi' come dici.Se incambio incolli dentro il suddetto blocco allora sembrerebbe che il passo per la larghezza dei caratteri non sarebbe uguale e quindi resta disallineato comunque. Modificato: 29 ottobre 2006 da Savino Link al commento Condividi su altri siti More sharing options...
rddiego Inserita: 30 ottobre 2006 Segnala Share Inserita: 30 ottobre 2006 Considerazione per i due tipi di linguaggio :- Il ladder pl7 è uno tra i più facili, con un box fai (A+cool.gif-C*D/F+(G+H-I),con altri ladder dovresti scrivere un libro per fare lo stesso.molto brevemente dico che non concordo in nulla di ciò che dici, tuttavia non so quali sono le tue esperienze e quindi a cosa ti riferisci...dire che il ladder di pl7 è uno dei più facili solo perchè puoi scrivere un'espressione è molto poco significativo.Il ladder è per tutti ladder, chi ha una funzione di più chi di meno... ma il linguaggio è praticamente universale (e mi riferisco a quelle che per me sono le grandi marche AB, Siemens, Schneider).Per me quindi il punto non è il linguaggio in sè o la funzione in più che ha il tal plc, ma l'interfaccia, e cioè il software, con cui vado a programmarlo. Per questo, e credo che nessuno potrà smentirmi, il ladder migliore tra i tre è certamente AB (parlo del vecchio RSLogix5 e del 5000). E tra i tre PL7 è certamente l'ultimo dove solo disegnare un segmento verticale un impiccio e cancellarlo è peggio. Poi mi sembra che ogni segmento abbia un limite di 8 righe e solo 11 colonne che non facilita certo la programmazione. E mi fermo qua.- Il linguaggio ST usato con Word e comparazioni al posto dei semplici contatti, forse oggi non fa differenza, ma un po di anni fa quando i PLC erano più lenti, te l'avrebbero bocciato come soluzione, perchè impiegava un sacco di tempo e rallentava i tempi di ciclo del programma.Come forse oggi non fa differenza???? A parte che non capisco il discorso di word, comparazioni... ma il linguaggio strutturato ha una potenza 1000 volte superiore ed è un miliardo di volte più malleabile. Sarà un po' meno leggibile, meno chiaro all'occhio dell'inesperto?? Beh ma parliamo di inesperto!!! La velocità non è un problema di linguaggio e comunque oggi è un problema che tende a non essere più tale con le sempre nuove tecnologie.E ad ogni modo conta tanto anche il modo di ragionare e quindi di programmare. Probabilmente ti è più congeniale il ladder, come lo è per me quando voglio avere la logica ben chiara e debuggabile rapidamente.Però il mio suggerimento è più che lecito parlando di PL7 (non direi lo stesso con Step7) poichè ha un ladder molto limitato.Ps toglimi una curiosità ma il codice che hai postato%M0:=RE %I0.0;IF %MW0>3 THEN %MW0:=0 END_IF;IF %MW0=3 AND %M0 THEN %MW0:=4 END_IF;IF %MW0=2 AND %M0 THEN %MW0:=3 END_IF;IF %MW0=1 AND %M0 THEN %MW0:=2 END_IF;IF %MW0=0 AND %M0 THEN %MW0:=1 END_IF;%Q0.0:=%MW0:X0;%Q0.1:=%MW0:X1;fa tutto quello che savino mi ha scritto in ladder? perchè sembra che sia molto più corto.Esattamente, ed anche molto di più semplicemente cambiando i numeri. Visto che quello che vuoi fare tu è praticamente come contare in binario dove lo 0 è la lampada spenta e l'1 è la lampada accesa, ho optato per questa soluzione pulita semplice e malleabile.Se avessi più lampade potresti fare tutti i giochi di luce che vuoi ad ogni nuova pressione del pulsante semplicemente cambiando il valore alla word %MW0Guarda che tradurlo in ladder è proprio banale:dove c'è una comparazione in ladder usi il blocco COMPAREdove c'è un AND usi il contatto ---| |---dove c'è un'assegnazione di un valore numerico usi il COMPUTEdove c'è l'assagnazione digitale usi la bobina ----( )----l'istruzione RE è il contatto ----|P|----le parole IF THEN END_IF sono rappresentate dal flusso stesso del Ladder Link al commento Condividi su altri siti More sharing options...
stefanobruciato Inserita: 30 ottobre 2006 Autore Segnala Share Inserita: 30 ottobre 2006 Grazie rddiego oggi provo a trasformare in ladder per le motivazioni che già ti ho detto comunque proverò a capire meglio l'altro linguaggio. a dopo ciao...Ps X savino ancora non ho avuto il tempo di testare la tua programmazione appena ho news ti faccio sapere e grazie ancora per il link del manuale andrà bene anche in inglese. Link al commento Condividi su altri siti More sharing options...
Claudio Monti Inserita: 30 ottobre 2006 Segnala Share Inserita: 30 ottobre 2006 E tra i tre PL7 è certamente l'ultimo dove solo disegnare un segmento verticale un impiccio e cancellarlo è peggio.Se usi i tasti funzione e' velocissimo... poi puoi sempre usare il maouse x selezionare una zona, cancellarla o fare il copia/incolla...Poi mi sembra che ogni segmento abbia un limite di 8 righe e solo 11 colonne che non facilita certo la programmazione.Vero solo per i Micro, con i Premium hai 16 righe x 8 colonne.Di RUNG puoi comunque farne quante te ne pare e sinceramente riampire tutta quell'area di codice non so quanto ne benefici in leggibilita'... 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