pineto Inserito: 18 settembre 2007 Segnala Inserito: 18 settembre 2007 Vi espongo l'aplicazione da realizzare.Devo creare un Array di 100 Word da DT0 A DT100 dove l'operatre su ogniuna word dovra inserire dei valori.Per inserire i valori l'operatore deve premere due pulsanti uno che incrementa quindi da DT0 vado verso DT100 e l'altro decrementa da DT100 vado verso DT0 una volta captata la Word desiderata inserisco il valore desiderato e cosi per tutte le altre Word.Per scrivere sulla Word non ho problemi il problema si viene a manifestare quando devo far scorrere le Word in avanti o in indietro,Non riesco a trovare un istruzione che riesca a fare questo.Il software di programazione e FPWINproSarei grato se qualcuno potrebbe spiegarmi come posso realizzare il blocco programmaGrazie Mille
pineto Inserita: 19 settembre 2007 Autore Segnala Inserita: 19 settembre 2007 Problema risoltosono riuscito a realizzare il blocco programma
pineto Inserita: 20 settembre 2007 Autore Segnala Inserita: 20 settembre 2007 Buonasera mi trovo di nuovo davanti ad un problema.Sto realizzando un programma per una macchina,ora mi trovo a esegure il blocco EMERGENZA con il vecchio software FPWIgr quando eseguivo il blocco EMERGENZA utilizzavo l'istruzione F11 e muovevo a zero i registri dei relè o delle Word.Ad esempio se dovevo mettere a zero i relè da R10 a R120 scrivevo [F11 COPY , K0 , WR0 , WR12] e così anche per le DT.Ora che sto realizzando il programma con FPWINpro quando rilevo l'ingresso di Emergenza come posso fare a mettere a zero le variabili BOLL(booleane) o le INT (interne) all'interno del mio programma ci sono circa 130 variabili booleane e 100 interne su diversi sottoprogramma circa 8 (POOUs)Qualcuno potrebbe aiutarmi a capire como potrei mettere a zero queste variabili con poche istruzioni?Grazie mille
del_user_56966 Inserita: 21 settembre 2007 Segnala Inserita: 21 settembre 2007 (modificato) Non cambia nulla in modo sostanziale utilizzi la < F0 > oppure la < F11 > (per più blocchi) e sposti il valore ZEROnelle Word dei relè ovvero le WR (WR0 , WR12) chiaramente questa deve essere l'ultima funzione del programmain modo che durante l'aggiornamento delle uscite non vi siano forzature delle stesse da altri versanti. Modificato: 21 settembre 2007 da alen
pineto Inserita: 21 settembre 2007 Autore Segnala Inserita: 21 settembre 2007 Scusami alen ma non capiscpo come fare.Se devo mettere a zero un pacco di Word dei relè ad esempio da RW0 a RW12 le cose rimangon invariate anche in FPWINpro perche riutilizzo la funzione F11 come facevo prima,fina a qui ci ero arrivato da solo.Ora che sto utilizzando FPWINpro all'interno del mio programma non ci sono più i classici relè R1-R2-R3-ecc. ma ci sono MOTORE1-MOTORE2-MOTORE3-ecc che sono delle variabili BOOLEANE e hanno la steffa funzione dei relè come facevo prima.Quello che chiede è como faccio a mettere a zero queste 130 variabili suddiivise in 8 (POOUs) con poche istruzioni come facevo prima?Come dicevo prima sono due giorni che ci sto lavorando su è l'unico modo che ho trovato e prendere una variabile alla volta e metterla a zero,ma capici di variabili non ne sono 1 o 2 ma 130 e mi occorrerebero 130 linee per metterle tutte a zeroRingrazio anticipatamente
del_user_56966 Inserita: 21 settembre 2007 Segnala Inserita: 21 settembre 2007 Vedi stai affrontando il problema da punto di vista errato!!La programmazione ad Oggetti o quella tramite Alias e ne più ne meno quella di prima con una bella interfaccia grafica...Basta capire come lavora il compilatore e il gioco è fatto!Tu metti tutti gli alias che vuoi ovvero dichiara R1 come (alias) Motore1Poi nel programma metti a zero comunque la WR0 vedrai che il comando diretto alla risorsa agisce comunque, in pratica l'alias e solo una copertura per chi a problemi di memoria.... Potresti programmare direttamente con R1, R2, DT0, DT3 ecc... anche senza dichiararle in maniera esplicitàIl compilatore ringrazia visto che non deve neppure risolvere il nome x 2 volte consegutive!! :goofy:
pineto Inserita: 21 settembre 2007 Autore Segnala Inserita: 21 settembre 2007 Ok concetto afferrato.Quindi con FPWINpro se io disciaro piu variabili booleana ad esempio "MOTORE1 ecc." e poi le vorrei mettere tutte a zero con un'unica istruzione non è possibile ammeno che quella variabile dichiarata non sia un registro relè ad esempio R1 con il nome di "MOTORE1" in pratica a "MOTORE1" la devo dichiarare come varibile globale con indirizzo R1.Scusami della domanda un pò indiscreta,tu quando crei un programma e arrivi al blocco EMERGENZA come fai a mettere tutto a zero?Doto che tu avrai sicuramente più esperienza di me con FPWINpro volevo chiederti alcune cose:E possibile con un istruzione abilitare e disabilitare il POUs.in pratica se io ho 5 POUs che si chiamano "Programma_1 ecc." e li vorrei abilitare e disabilitare con un istruzione e possibile farlo,con il Siemens so che è possibile farlo.Perche in uscita ad un confronto che ho dichiarato con "EN" inserisco ad un operazione matematica al momento che eseguo la compilazione mi da errore e invece se dichiaro il confronto senza "EN" quando compilo l'errore non me lo dà?E in fine se in uscita ad un confronto ad esempio inserisco una variabile Booleana perche la variabile una volta che il suo stato e andato a 1 anche se cambio i valori in entrata al confronto la variabile non si riporta al suo stao di zero quando gli toccasembra come se a quella variabile sia stata configurata come setPer uscita al confronto intendo il risultato del confronto non l'uscita "ENO"Grazie mille e scusami della tempestività
Savino Inserita: 21 settembre 2007 Segnala Inserita: 21 settembre 2007 ...metterla a zero,ma capici di variabili non ne sono 1 o 2 ma 130 e mi occorrerebero 130 linee per metterle tutte a zeroLink FPWINpro Programing manualForse quello che cerchi e' alla pagina 215... 'F11_Copy' - Block copyEsempioST IF start THEN F11_COPY(s:=0, d1_Start=>Motore_array[1], d2_End=> Motore_array[130]; ENF_IF | LD | | start +-----------+ | | F11_COPY | +--[ ]---------------+EN ENO+- | | | | | d1+--- Motore_array[1] | | | | 0 --+S d2+--- Motore_array[130] | | | | | | | +-----------+ |
Savino Inserita: 21 settembre 2007 Segnala Inserita: 21 settembre 2007 MOTORE1-MOTORE2-MOTORE3-ecc che sono delle variabili BOOLEANEOhh, scusa, non avevo fatto caso...ST Var_Motore_array : ARRAY [1..130] OF BOOL; i:=1; WHILE i <= 130 Var_Motore_array[i]:=0; i:= i+1; END_WHILE
pineto Inserita: 21 settembre 2007 Autore Segnala Inserita: 21 settembre 2007 Savino grazzie mille ma quello che volglio fare io è mettere a zero un blocco di variabili booleane non arrey.Il problema come dicevo prima e quando su mio programma ho l'ingresso EMERGENZA che devo mettere tutte le variabili booleane allinterno del mio programma suddiviso in 8 sotto programmi,prima utilizzavo ambiente di sviluppo diverso e con un'unica funzione il gioco era fatto perche erano registri di relè non variabili booleane.Forse ho sbagliato il concetto dell'emrgenza voi come fate a gestrire il blocco EMERGENZA?Non voglio le cose gia fatte ma mi piacerebbe capire se sono io che ho indirizzato male il programma ho se non riesco a trovare la funzione giustaGrazie mille
pineto Inserita: 21 settembre 2007 Autore Segnala Inserita: 21 settembre 2007 Savino ho provato a eseguire l'esempio che mi ai indicato pero le variabili array boolena non le posso dichiarare sui contattiQuello che io devo mettere a zero sono bobbine "uscite"Ho inserito un allegato di quello che devo fare,nell'esempio ho inserito solo un paio di variabili imaginate che ne siano piu di 100su diversi sotto programmai
del_user_56966 Inserita: 21 settembre 2007 Segnala Inserita: 21 settembre 2007 se io disciaro piu variabili booleana ad esempio "MOTORE1 ecc." e poi le vorrei mettere tutte a zero con un'unica istruzione non è possibile ammeno che quella variabile dichiarata non sia un registro relè ad esempio R1 con il nome di "MOTORE1" in pratica a "MOTORE1" la devo dichiarare come varibile globale con indirizzo R1.Riavvolgiamo il nastro!"Motore1" e R1 sono la solità cosa!Il modo di interpretarle cambia, inoltre le posso utilizzare entrambe, il compilatore le utilizzerà in maniera identica,Quindi se uso un alias tipo "Motore1" lo devo dichiarare esplicitamente e se voglio decidere dove questo agisce lo devo referenziare con una risorsa fisica quindi lo abbini per esempio a R1.Se al contrario "Motore1" lo dichiari in locale la risorsa viene stabilita direttamente dal compilatore in fase di compilazione e quindi diventa di tipo dinamicoMa se come nel primo caso la risorsa è conosciuta "e statica", nessuno vieta che tu azzeri direttamente questa utilizzando la word principale che per R1 è appunto WR0.Per esempio io dichiaro:Motore1 = R0Motore2 = R1''Motore16 = RFTutte gli alias (da R0 a RF) possono essere azzerate semplicemente mettendo a zero la risorsa WR0 (Ovvero la Word delle R da R0 a RF)Quindi utilizzerei la funzione F0 Move per spostare un valore zero in WR0, in questo modo tutti i relè da R0 a RF vengono azzerati.Nel tuo caso visto che devi fare un azzeramento multiplo puoi utilizzare la F11.Spero che cosi ti sia più chiaro!
del_user_56966 Inserita: 22 settembre 2007 Segnala Inserita: 22 settembre 2007 (modificato) Scusami della domanda un pò indiscreta,tu quando crei un programma e arrivi al blocco EMERGENZA come fai a mettere tutto a zero?E possibile con un istruzione abilitare e disabilitare il POUs.in pratica se io ho 5 POUs che si chiamano "Programma_1 ecc." e li vorrei abilitare e disabilitare con un istruzione e possibile farlo,con il Siemens so che è possibile farlo.Se devo eseguire uno shutdown, ovvero un arresto veloce non si disabilita i blocchi, ma si esegue una funzione programmata di sicurezza,disalimentando gli Enabled delle FDB.Questa funzione programmata se viene impartita dall'esterno e a priorità uno, si possono utilizzare i task di Interrupt...Riguardo alle altre tue, dovrei vedere che funzioni utilizzi e come le programmi, il compilatore esegue la lettura del programma in un modo ben ordinato, quindi per la programmazione in Ladder, FDB, Grafcet ci sono alcuni trucchi temporali che si devono apprendere.In pratica se vuoi delle spiegazioni sul codice vale la regola dei programmi di alto livello ovvero va visto il codice! Modificato: 22 settembre 2007 da alen
pineto Inserita: 22 settembre 2007 Autore Segnala Inserita: 22 settembre 2007 Spero che cosi ti sia più chiaro!Alen ti ho inviato in formato privato un esempio di quello che devo realizzare cosi credo che ci riusciamo a capire meglioSe devo eseguire uno shutdown, ovvero un arresto veloce non si disabilita i blocchi, ma si esegue una funzione programmata di sicurezza,disalimentando gli Enabled delle FDB.Ladder, FDB, Grafcet ci sono alcuni trucchi temporali che si devono apprendere.Alen potresti spiegarmi meglio come realizzare il blocco programma e se non tichiedo troppo potresti allegarmi un esempionell'esempio che ti ho inviato e ben chiaro quello che devo realizzareTi ringrazio del tempo che mi stai dedicando
pineto Inserita: 22 settembre 2007 Autore Segnala Inserita: 22 settembre 2007 (modificato) Scusami alena ma la tua email è ***[at]***.comGrazie Modificato: 10 novembre 2007 da Luca Bettinelli Rimosso indirizzo di email
Savino Inserita: 22 settembre 2007 Segnala Inserita: 22 settembre 2007 (modificato) Savino grazzie mille ma quello che volglio fare io è mettere a zero un blocco di variabili booleane non arreyDunque, non ho sotto mano il tool di sviluppo, tratto di darti delle idee cosi .. Se tu associ l'array coll'indirizzo delle uscite, allora l'identificatore Motore_array(0) e l'indirizzamento fisico %WY0.0 diventano la stessa cosa...La associazione viene dichiarata nella 'global variable list'.. l'identifier sarebbe il nome simbolico dato all'array che viene associato coll'indirizzo iniziale ove l'array verra' salvato in memoria.Identifier Address Type Inizial ---------------------------------------------------------------- Motore_array %WY0.0 ARRAY [0..15] OF BOOL 16(FALSE)Anche con le funzioni F0_MOV (16 bit) e F1_MOV (32 bit) potresti muovere la costante '0' su una word di uscita / word doppia di uscita... a secondo il bisogno.Forse ho sbagliato il concetto dell'emrgenza voi come fate a gestrire il blocco EMERGENZA?Quello che io devo mettere a zero sono bobbine "uscite" Non so se queste due operazioni sono legate tra di loro.. ma se premi una emergenza, non sarebbe neccessario resetare l'uscite.. basta fare cadere la memoria di 'macchina ripristinata' oppure 'macchina pronta' e di conseguenza aprire le catene per le memorie di 'Automatico in corso' o 'Manuale in corso'. Se tu programmi in Ladder, ti suggerirei di aggruppare tutte le uscite in un solo blocco, ove ogniuna avrebbe due catene, una per l'automatico e l'altra per il manuale.. Modificato: 22 settembre 2007 da Savino
del_user_56966 Inserita: 22 settembre 2007 Segnala Inserita: 22 settembre 2007 Scusami alena ma la tua email è ***[at]***.comNo! quello non è raggiungibile tramite mail, ma solo tramite Messanger!Se vuoi per inviare comunicazioni utilizza gli MP.
pineto Inserita: 23 settembre 2007 Autore Segnala Inserita: 23 settembre 2007 Credo che si stia facendo un pò di confusione con l'aplicazione che devo realizzare,rileggendo i miei post credo che non mi sia saputo esprimere molto bene.Per tanto cerchero di descrivere con più chiarezza l'aplicazione.Sto relaizzando un programma per una macchina che deve mettere delle Anuba sulle finestre di legno,in pretica l'operatore inserisce l'anuba e la macchina prima fa il foro e poi l'avvita contro la finestra.Il mio programma e formato dal blocco Manuale,Automatico,emergernza e in fine c'è il blocco delle uscite.Il blocco del manuale e automatico e formato da contatti e bobbine,semplici e SETTA e RESETTA dichiarate come variabili interne booleane con diversi nomi ad esempio Motore,valvola,freno,mandrino,ecc. con un totlae di 130 Variabili,il problema viene quando devo eseguire il blocco emergenza,dove vado a fare l'arresto di tutti e due i blocchi manuale e automatico e per fare ciò devo mettere a zero tutte le variabili booleane che si trovano allo stato alto.La stessa cosa la dovrei utilizzare quando e in corso il ciclo automatico,quondo premo il pulsante arresto devo arrestare tutte le variabili booleane all'interno del cblocco automatico.Con il tool di sviluppo che utilizzavo prima dove si poteva utilizzare solo relè e word il gioco era fatto perche con un'unica istruzione facevo tutto, quando avevo l'emergenza o stavo lavorando in automatico e dovevo arrestare il tutto, muovevo a zero il blocco di WR (rele) che mi interessavano.Ora che sto utilizzando l'ambiente di sviluppo conforme allo standard IEC61131-3 mi sembra superfluo continuare a programmare solo con gli indirizzi R (relè) e Word dal momento che posso utilizzare delle variabili interne.Quello che chiedo e sapere se c'e un modo per ferlo anche con le variabili boolenane (che non siano dichiarate R-(rele) )Spero di essere stato chiaro a descrivere l'applicazione, credo che con il programma che o realizzato non vada bene utilizzare l'array perche dovrei avere una solo variabile array booleane e lavora solo con quella.Non so se queste due operazioni sono legate tra di loro.. ma se premi una emergenza, non sarebbe neccessario resetare l'uscite.. basta fare cadere la memoria di 'macchina ripristinata' oppure 'macchina pronta' e di conseguenza aprire le catene per le memorie di 'Automatico in corso' o 'Manuale in corso'.savino non riesco a capire molto bene il tuo concetto, me lo potresti espimere con un po più di chiarezza o con un esempio in pratcica qunado mi cade macchina ripristinata cosa succede all'interno del mio blocco automatico o manualeSe devo eseguire uno shutdown, ovvero un arresto veloce non si disabilita i blocchi, ma si esegue una funzione programmata di sicurezza,disalimentando gli Enabled delle FDB.alen se ho capito bene tu quando rilevi l'emergenza disabiliti tutti gli ingressi enabled sugli ingressi dei blocchi funzione,e se nel caso oltre ai blocchi funzione ai delle bobbine dichiarate SETTA ( -(s)- ) come fai a metterle a zero,mica le metti una per una a zero!Se vuoi per inviare comunicazioni utilizza gli MP.alen o provato a inviarti un messaggio privato per allegarti il programma esempio ma non sono riuscito ad allegarli mi sapresti indicare come fare ad allegarteli.Il problema principale è che il programma macchina l'o già realizzato è vorrei tenere buono quello che ho già fatto senza rittoccarlo perche ho dei ritardi sulla consegna e non ho tempo materiale per modificarlo
del_user_56966 Inserita: 23 settembre 2007 Segnala Inserita: 23 settembre 2007 (modificato) La spiegazione che ti avevo dato in precedenza (esempio applicato alle WR) vale anche per le altre risorsecon le dovute differenze applicative, tu puoi resettare le WR come le DT e nel caso di funzioni tipo Set-Reset azzeri le uscite resettando le realative WY,Nota: il fatto che tu utilizzi la programmazione in IEC61131, non pregiudica la tipologia di utilizzo, ovvero qualsiasiprogramma che sia stato sviluppato in precedenza in FDB, Ladder ecc.. può essere convertito in programmazione Standard IEC,in particolare lo standard prevede:1) la comune condivisione degli indirizzi IEC tra varie marche di PLC,2) la trasportabilità del programma sempre tra marche diverse...3) la possibilità di programmare liberamente in uno dei linguaggi riconosciuti come Linguaggi Standard a livello Internazionale da tutti i costruttori.l'FPWINPRO oltre a questo prevede la possibilità di creare un programma utilizzando in contemporanea tutti i 5 linguaggi disponibili o miscele di questi. Modificato: 23 settembre 2007 da alen
Savino Inserita: 23 settembre 2007 Segnala Inserita: 23 settembre 2007 (modificato) savino non riesco a capire molto bene il tuo concetto, me lo potresti espimere con un po più di chiarezza o con un esempio in pratcica qunado mi cade macchina ripristinata cosa succede all'interno del mio blocco automatico o manualeQuesto sarebbe un esempio base di massima .. Io non ho visto il tuo programma , quindi non so come hai predisposto il tutto..LAD Macchina Pronta PS_RIPRISTINO PS_EM1 PS_EM2 PS_EM3 M_READY | +------[ ]------+-------[ ]------[ ]-------[ ]--------------( )---+ | | | | | M_READY | | | +------[ ]------+ | Automatico in corso PS_START_CICLO_AUTO SEL_AUTO SEL_MAN M_READY M_AUTO_IN_CORSO | +------[ ]------+-------[ ]-------[/]-------[ ]-------------( )---+ | | | | |M_AUTO_IN_CORSO| | | +------[ ]------+ | Manuale in corso SEL_MAN SEL_AUTO M_READY M_MAN_IN_CORSO | +------[ ]--------------[/]-----------------[ ]-------------( )---+ | | | | | Operazione Avanti .. M_AUTO_IN_CORSO M_AV_P1 Q_AVANTI | +---[ ]-------------+---[ ]---+----------+------------------( )---+ | | | | | | M_AV_P3 | | | | | | | +---[ ]---+ | | | | | | | M_AV_P5 | | | | | | | +---[ ]---+ | | | |M_MAN_IN_CORSO M_AV_MAN | | | +---[ ]-----------------[ ]--------------+ | Operazione Indietro .. M_AUTO_IN_CORSO M_IND_P2 Q_INDIETRO | +---[ ]-------------+---[ ]---+----------+------------------( )---+ | | | | | | M_IND_P4| | | | | | | +---[ ]---+ | | | | | | | M_IND_P6| | | | | | | +---[ ]---+ | | | |M_MAN_IN_CORSO M_IND_MAN | | | +---[ ]-----------------[ ]--------------+ |Queste righe di ladder sarebbero posizionate su differenti blocchi, a secondo la organizzazione strutturale del programma..Le memorie di commando passo ( M_AV_P..- M_IND_P..) verrano impostato nei respettivi blocchi che potrebbero essere del tipo sequenziali o continui.. li imposterai anche le memorie di predisposizione, abilitazioni ..etc, alla esecuzione del movimento..Idem per il commando delle memorie per il manuale..Ripeto, questo sarebbe solo per rendere una idea di massima, senza cadere nei dettagli.. Modificato: 23 settembre 2007 da Savino
kamikaze Inserita: 23 settembre 2007 Segnala Inserita: 23 settembre 2007 Ciao Savino ,Sono al corrente che la domanda che ti posto e' un molto OT Vedo che nei codici di esempio che scrivi , usi sempre 2 ingressi distinti MAN & AUTO.Solitamente lavoro solo con 1 ingresso di AUTO , che se non presente manda il sistema implicitamante in manuale.La mia domanda e' questa , la tua filosofia nasce da esigenze specifiche che riscontri sul campo o normative tecniche che non conosco, o solo e' una tua consuetudine? "diciamo abitudine"CiaoIvan
Savino Inserita: 23 settembre 2007 Segnala Inserita: 23 settembre 2007 (modificato) Vedo che nei codici di esempio che scrivi , usi sempre 2 ingressi distinti MAN & AUTO.Ciao kamikaze .. si', infatti in questo caso lo ho fatto cosi', ma non sarebbe esclusivo...Il selettore AUTO-MAN potrebbe essere di due posizione con 1 NO, due posizione con due NO.. oppure 3 pos. col lo zero centrale... Il fatto di utilizzare solo 1 contatto (risparmiare), funzionalmente non cambiarebbe.. utilizzi una interrogazione negata del AUTO per dire che sei in manuale.. non penso ci siano delle restrizioni a livello normative, sarebbero soltanto delle scelte costruttive prese dal costruttore in se. Modificato: 23 settembre 2007 da Savino
Savino Inserita: 23 settembre 2007 Segnala Inserita: 23 settembre 2007 Il fatto di utilizzare solo 1 contatto (risparmiare), funzionalmente non cambiarebbe..Bisogna dire che in questo caso, se il selettore non e' posizionato su AUTO, allora "logicamente" potresti dire che sei in MAN.. ma non "elettricamente" pero'.
pineto Inserita: 23 settembre 2007 Autore Segnala Inserita: 23 settembre 2007 Savino se ho capito bene quando ti cade il relè macchina pronta fai cadere il contatto manuale in corso e automatico in corso, dove queste due variabili sono associate ad ogni uscita del PLC.Per quanto riguarda le memorie di controllo quando ti cade macchina pronta le resetti internamente ai blocchi associatiLAD Macchina Pronta PS_RIPRISTINO PS_EM1 PS_EM2 PS_EM3 M_READY | +------[ ]------+-------[ ]------[ ]-------[ ]--------------( )---+ | | | | | M_READY | | | +------[ ]------+ | Automatico in corso PS_START_CICLO_AUTO SEL_AUTO SEL_MAN M_READY M_AUTO_IN_CORSO | +------[ ]------+-------[ ]-------[/]--------[ ]------+---------(S)---+ | | | | | | |M_AUTO_IN_CORSO| | USCITA_PUNTA | | | +------[ ]------+ +---------(S)---+ | | | |M_AUTO_IN_CORSO FC_PUNTA_AVANTI ROTAZINE_PUNTA | +------[ ]-------------[ ]--------------------------------------(S)---+ | | | | | |M_AUTO_IN_CORSO FC_USCITA_PUNTA ROTAZINE_PUNTA | +------[ ]-------------[ ]--------------------------+-----------(R)---+ | | | | | | USCITA_PUNTA | | | +-----------(R)---+ | | | | M_READY ROTAZINE_PUNTA | +------[/]------------------------------------------+-----------(R)---+ | | | | | | USCITA_PUNTA | | | +-----------(R)---+ | | | | | | M_AUTO_IN_CORSO | | | +-----------(R)---+ IL PROGRAMMA CONTINA COSI Blocco uscite | M_AUTO_IN_CORSO USCITA_PUNTA M_READY SCITA_PUNTA (Y0) | +---[ ]-------------+---[ ]---+----------+-----[/]-------------( )---+ | | | | | | ECC. | | | | | | | +---[ ]---+ | | | | | | | ECC. | | | | | | | +---[ ]---+ | | | |M_MAN_IN_CORSO MAN | | | +---[ ]-----------------[ ]--------------+ | | | | | | | | | M_AUTO_IN_CORSO ROTAZINE_PUNTA M_READY ROTAZINE_PUNTA (Y1) | +---[ ]-------------+---[ ]---+----------+-----[/]-------------( )---+ | | | | | | ECC. | | | | | | | +---[ ]---+ | | | | | | | ECC. | | | | | | | +---[ ]---+ | | | |M_MAN_IN_CORSO MAN | | | +---[ ]-----------------[ ]--------------+ | | | |Questo in parte è il mio programma,ho inserito secondo quello che ho capito le modifiche che devo apportare.All'interno del mio programma Automatico tutte le bobbine che si settano al momento che mi cade macchina pronta le devo resettare una per una.Dovrei allegare un files da inviare a alen ho provato a inviarli un messaggio privato ma non riesco ad allegare un file sapresti indicami come posso fare a spedeire questo file
Savino Inserita: 23 settembre 2007 Segnala Inserita: 23 settembre 2007 (modificato) Savino se ho capito bene quando ti cade il relè macchina pronta fai cadere il contatto manuale in corso e automatico in corso, dove queste due variabili sono associate ad ogni uscita del PLC.Per quanto riguarda le memorie di controllo quando ti cade macchina pronta le resetti internamente ai blocchi associatiSi' hai capito bene..La memoria READY, farebbe cadere le memorie di automatico o manuale in corso, a secondo dove ti trovi in quel istante...poi, di conseguenza, le catene per le uscite saranno interrotte.. Il ladder che hai allegato non se capisce bene.. non riesci a fare un screenshot di questi pochi rungs e allegralo usando la procedura "UPLOAD" (massimo 500KB).. dovresti impostare il file bmp con il bottone del browse e premere UPLOAD.. ti lo trovi sotto a destra del box view di controllo Modificato: 23 settembre 2007 da Savino
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