Malis Inserita: 6 settembre 2004 Autore Segnala Inserita: 6 settembre 2004 Premetto di non essere espsertissimo nella programmazione di plc la mia domanda è la seguente:Posso realizzare due programmi all'interno di una cpu 224 e richiamarli singolarmente.Ovviamente uno esclude l'altro.Sono sicuro che si possa fare ma non riesco a capire come.Se qualcuno di voi puo indirizzarmi ne sarei grato.Grazie.Praticamente devo realizzare una macchina reversibile.Grazie a tutti coloro che risponderanno.
Malis Inserito: 6 settembre 2004 Segnala Inserito: 6 settembre 2004 Premetto di non essere espsertissimo nella programmazione di plc la mia domanda è la seguente:Posso realizzare due programmi all'interno di una cpu 224 e richiamarli singolarmente.Ovviamente uno esclude l'altro.Sono sicuro che si possa fare ma non riesco a capire come.Se qualcuno di voi puo indirizzarmi ne sarei grato.Grazie.Praticamente devo realizzare una macchina reversibile.Grazie a tutti coloro che risponderanno.
Dario Valeri Inserita: 6 settembre 2004 Segnala Inserita: 6 settembre 2004 ciaoun plc puo' "contenere" piu' programmi senza nessun problema.non capisco cosa significa "macchina reversibile" puoi essere piu' chiaro?magari con un esempio , forse la soluzione del tuo problema e' a portata di manociaodario
Dario Valeri Inserita: 6 settembre 2004 Segnala Inserita: 6 settembre 2004 ciaoun plc puo' "contenere" piu' programmi senza nessun problema.non capisco cosa significa "macchina reversibile" puoi essere piu' chiaro?magari con un esempio , forse la soluzione del tuo problema e' a portata di manociaodario
Lucky67 Inserita: 6 settembre 2004 Segnala Inserita: 6 settembre 2004 I due programmi possono essere ad esempio due subroutine che vengono richiamate da un selettore che fa capo ad un ingresso uscita del plc...semprechè abbia capito bene la domanda. Nel plc non puoi richiamare dei file distinti in funzione delle tue chiamate. Se utilizzi però i sottoprogrammi è come se fossero due programmi in un programma principale che deve selezionare quale dei due deve essere utilizzato.
Lucky67 Inserita: 6 settembre 2004 Segnala Inserita: 6 settembre 2004 I due programmi possono essere ad esempio due subroutine che vengono richiamate da un selettore che fa capo ad un ingresso uscita del plc...semprechè abbia capito bene la domanda. Nel plc non puoi richiamare dei file distinti in funzione delle tue chiamate. Se utilizzi però i sottoprogrammi è come se fossero due programmi in un programma principale che deve selezionare quale dei due deve essere utilizzato.
Malis Inserita: 7 settembre 2004 Autore Segnala Inserita: 7 settembre 2004 Ok quella della sub routine mi sembra mi sembra la soluzione migliore;quindi basterebbe comporre un altro programma e richiamarlo con in contatto.Domanda: il secondo programma lo creo sulla finestra SBR_0 e lo abilito con il blocco SBRO/EN tramite un contatto?Il primo programma creato sulla finestra MAIN si disabiliterà automaticamente?Ultima domanda l'ingressi e le uscite potranno essere comandati dal programma che al momento è selezionato?Vi ringrazio per l'aiuto che mi avete dato e se potete toglietemi pure questi ultimi dubbi.GrazieIn risposta a Dario Valeri:La macchina che stiamo progettando deve trasportare del materiale dal basso verso l'alto con vari controlli.Ora il cliente mi chiede se può caricare la macchina anche dall'alto verso il basso eseguendo gli stessi controlli. ReversibileGrazie
Malis Inserita: 7 settembre 2004 Autore Segnala Inserita: 7 settembre 2004 Ok quella della sub routine mi sembra mi sembra la soluzione migliore;quindi basterebbe comporre un altro programma e richiamarlo con in contatto.Domanda: il secondo programma lo creo sulla finestra SBR_0 e lo abilito con il blocco SBRO/EN tramite un contatto?Il primo programma creato sulla finestra MAIN si disabiliterà automaticamente?Ultima domanda l'ingressi e le uscite potranno essere comandati dal programma che al momento è selezionato?Vi ringrazio per l'aiuto che mi avete dato e se potete toglietemi pure questi ultimi dubbi.GrazieIn risposta a Dario Valeri:La macchina che stiamo progettando deve trasportare del materiale dal basso verso l'alto con vari controlli.Ora il cliente mi chiede se può caricare la macchina anche dall'alto verso il basso eseguendo gli stessi controlli. ReversibileGrazie
JumpMan Inserita: 7 settembre 2004 Segnala Inserita: 7 settembre 2004 (modificato) Domanda: il secondo programma lo creo sulla finestra SBR_0 e lo abilito con il blocco SBRO/EN tramite un contatto?Il primo programma creato sulla finestra MAIN si disabiliterà automaticamente?No.Se proprio vuoi, creati una SBR0 e una SBR1 e richiama o una o l’altra da OB1/MAIN (PRINCIPALE) in base allo stato (normale per SBR0 e negato per SBR1) di un bit.Comunque non è detto che sia la soluzione migliore, in genere, anche se la macchina facesse 2 (o più) cicli diversi, molte parti possono essere in comune (consensi, anomalie, comandi manuali) e scrivere 2 (o più) SBR quasi simili pilotando 10 volte le stesse uscite non mi sembra il caso. Personalmente non scrivo mai più di una volta la stessa uscita, anche se si fa uso di salti ecc. ci si complica molto la vita in fase di debug o xref (esempio tipico: “....quale sarà stata mai l’istruzione che mi ha mandato a 1 l’uscita tal dei tali ??? ora vado in stato......ma dove? Su quale delle 10 assegnazioni?.....”)Chiaro che questo è un’esempio estremo, ci sono altri 1000 modi di programmare e migliaia di programmatori che usano quel sistema con soddisfazione, può benissimo essere che nel tuo caso sia azzeccato (hai solo 2 varianti..... per ora). Modificato: 7 settembre 2004 da JumpMan
JumpMan Inserita: 7 settembre 2004 Segnala Inserita: 7 settembre 2004 (modificato) Domanda: il secondo programma lo creo sulla finestra SBR_0 e lo abilito con il blocco SBRO/EN tramite un contatto?Il primo programma creato sulla finestra MAIN si disabiliterà automaticamente?No.Se proprio vuoi, creati una SBR0 e una SBR1 e richiama o una o l’altra da OB1/MAIN (PRINCIPALE) in base allo stato (normale per SBR0 e negato per SBR1) di un bit.Comunque non è detto che sia la soluzione migliore, in genere, anche se la macchina facesse 2 (o più) cicli diversi, molte parti possono essere in comune (consensi, anomalie, comandi manuali) e scrivere 2 (o più) SBR quasi simili pilotando 10 volte le stesse uscite non mi sembra il caso. Personalmente non scrivo mai più di una volta la stessa uscita, anche se si fa uso di salti ecc. ci si complica molto la vita in fase di debug o xref (esempio tipico: “....quale sarà stata mai l’istruzione che mi ha mandato a 1 l’uscita tal dei tali ??? ora vado in stato......ma dove? Su quale delle 10 assegnazioni?.....”)Chiaro che questo è un’esempio estremo, ci sono altri 1000 modi di programmare e migliaia di programmatori che usano quel sistema con soddisfazione, può benissimo essere che nel tuo caso sia azzeccato (hai solo 2 varianti..... per ora). Modificato: 7 settembre 2004 da JumpMan
Malis Inserita: 7 settembre 2004 Autore Segnala Inserita: 7 settembre 2004 ok per sbro e sbr1.Tu mi consigli quindi di utilizzare uscite diverse per programmi diversi esempio per SBRO il contattore KM1 azionato da Q0.0 e per SBR1 il lo stesso contattore KM1 azionato da Q3.0 ?Se cosi posso farlo,tranquillamente un modulo in più non costa tanto;Con gli ingressi se sono in comune ho problemi?Tu che ne pensi?Grazie.
Malis Inserita: 7 settembre 2004 Autore Segnala Inserita: 7 settembre 2004 ok per sbro e sbr1.Tu mi consigli quindi di utilizzare uscite diverse per programmi diversi esempio per SBRO il contattore KM1 azionato da Q0.0 e per SBR1 il lo stesso contattore KM1 azionato da Q3.0 ?Se cosi posso farlo,tranquillamente un modulo in più non costa tanto;Con gli ingressi se sono in comune ho problemi?Tu che ne pensi?Grazie.
Livio Orsini Inserita: 8 settembre 2004 Segnala Inserita: 8 settembre 2004 Attenzione! SBR0 viene creata automsticamente dal compilatore e si intende ad uso esclusivo per settare le condizioni iniziali.E' preferibile, per tutti i programmi applicativi, creare altre sub. Nel tuo caso, se sono sufficienti due sottoprogrammo, ti conviene usare SBR1 e SBR2. La scelta verrà fatta in OB1 in funzione dei coamdi esterni.Se devi azionare un medesimo comando, per esempio KM1, in due programmi diversi, usa sempre le medesime uscite, eviterai confusioni ed errori. Idem per gli ingressi.
Livio Orsini Inserita: 8 settembre 2004 Segnala Inserita: 8 settembre 2004 Attenzione! SBR0 viene creata automsticamente dal compilatore e si intende ad uso esclusivo per settare le condizioni iniziali.E' preferibile, per tutti i programmi applicativi, creare altre sub. Nel tuo caso, se sono sufficienti due sottoprogrammo, ti conviene usare SBR1 e SBR2. La scelta verrà fatta in OB1 in funzione dei coamdi esterni.Se devi azionare un medesimo comando, per esempio KM1, in due programmi diversi, usa sempre le medesime uscite, eviterai confusioni ed errori. Idem per gli ingressi.
wnc Inserita: 9 settembre 2004 Segnala Inserita: 9 settembre 2004 Attenzione! SBR0 viene creata automsticamente dal compilatore e si intende ad uso esclusivo per settare le condizioni inizialiMa le seguenti istruzioni funzionano lo stesso:ld sm0.1 //ON al primo fronte call sbrN //N numero qualsiasi compreso tra 0 e 127In "sbrN" setti le condizoni iniziali. Non riesco a capire l'affermazione precedente.....Saluti
wnc Inserita: 9 settembre 2004 Segnala Inserita: 9 settembre 2004 Attenzione! SBR0 viene creata automsticamente dal compilatore e si intende ad uso esclusivo per settare le condizioni inizialiMa le seguenti istruzioni funzionano lo stesso:ld sm0.1 //ON al primo fronte call sbrN //N numero qualsiasi compreso tra 0 e 127In "sbrN" setti le condizoni iniziali. Non riesco a capire l'affermazione precedente.....Saluti
Slims83 Inserita: 9 settembre 2004 Segnala Inserita: 9 settembre 2004 Io ho fatto una cosa simile x uno scherzo ad un collega...richiamava x SBR nel MAIN, le ho duplicate e scambiato un po di uscite, con un confronto dell'ora, alle 4 di mattina ho fatto richiamare il "nuovo" programma.. è stato divertentissimo!!! ( e funziona )
Slims83 Inserita: 9 settembre 2004 Segnala Inserita: 9 settembre 2004 Io ho fatto una cosa simile x uno scherzo ad un collega...richiamava x SBR nel MAIN, le ho duplicate e scambiato un po di uscite, con un confronto dell'ora, alle 4 di mattina ho fatto richiamare il "nuovo" programma.. è stato divertentissimo!!! ( e funziona )
Paolo.tn Inserita: 9 settembre 2004 Segnala Inserita: 9 settembre 2004 (modificato) Ma le seguenti istruzioni funzionano lo stesso:Sono anchio della stessa opinione, utilizzo spesso SBR_0 ( e anche tutti gli altri) nei miei programmi e non ho probemi, non credo ci sia alcun problema ad utilizzarlo. MicroWin all'apertura di un nuovo progetto crea in automatico SBR_0 e INT_0 ma nessuno è obbligato ad utilizzarli o non modificarliCiao Modificato: 9 settembre 2004 da Paolo.tn
Paolo.tn Inserita: 9 settembre 2004 Segnala Inserita: 9 settembre 2004 (modificato) Ma le seguenti istruzioni funzionano lo stesso:Sono anchio della stessa opinione, utilizzo spesso SBR_0 ( e anche tutti gli altri) nei miei programmi e non ho probemi, non credo ci sia alcun problema ad utilizzarlo. MicroWin all'apertura di un nuovo progetto crea in automatico SBR_0 e INT_0 ma nessuno è obbligato ad utilizzarli o non modificarliCiao Modificato: 9 settembre 2004 da Paolo.tn
Livio Orsini Inserita: 9 settembre 2004 Segnala Inserita: 9 settembre 2004 Ma le seguenti istruzioni funzionano lo stesso:Certo che funzionano! L'uso di SBR0 come sub per inizializzazione è un formalismo. Si può progettare un programma secondo logica e seguendo regole formali, oppure si possono martellare istruzioni fintanto che la macchina fa più o meno quello che dovrebbe fare...Seguire determinate regole non solo inutile formalismo, ma semplifica il lavoro e, sopra a tutto, consente di avere programmo più affidabili e di più facile manutenibilità.
Livio Orsini Inserita: 9 settembre 2004 Segnala Inserita: 9 settembre 2004 Ma le seguenti istruzioni funzionano lo stesso:Certo che funzionano! L'uso di SBR0 come sub per inizializzazione è un formalismo. Si può progettare un programma secondo logica e seguendo regole formali, oppure si possono martellare istruzioni fintanto che la macchina fa più o meno quello che dovrebbe fare...Seguire determinate regole non solo inutile formalismo, ma semplifica il lavoro e, sopra a tutto, consente di avere programmo più affidabili e di più facile manutenibilità.
Malis Inserita: 9 settembre 2004 Autore Segnala Inserita: 9 settembre 2004 Ragazzi grazie per l'aiuto ma iniziate un pò a confondermi le idee.tra qualche di farò un po di prove...vi sapro dire.Grazie ancora
Malis Inserita: 9 settembre 2004 Autore Segnala Inserita: 9 settembre 2004 Ragazzi grazie per l'aiuto ma iniziate un pò a confondermi le idee.tra qualche di farò un po di prove...vi sapro dire.Grazie ancora
JumpMan Inserita: 9 settembre 2004 Segnala Inserita: 9 settembre 2004 ok per sbro e sbr1.Tu mi consigli quindi di utilizzare uscite diverse per programmi diversi esempio per SBRO il contattore KM1 azionato da Q0.0 e per SBR1 il lo stesso contattore KM1 azionato da Q3.0 ?Se cosi posso farlo,tranquillamente un modulo in più non costa tanto;Con gli ingressi se sono in comune ho problemi?Tu che ne pensi?Grazie.Mi hai frainteso, e mi rendo conto che ti sto mettendo confusione in testa.Non devi usare 2 uscite per la stessa funzione! Intendo dire che l’uscita Q0.0 (che accende KM1) può benissimo essere programmata una sola volta, basta che la comandi diversamente a seconda se è in esecuzione il ciclo_1, o il ciclo_2, (o il ciclo_n), o il manuale (in Kop avrai una diramazione per ogni ciclo previsto).Se preferisci invece fare 2 SBR distinte, e programmare 2 volte tutte le uscite, nulla ti impedisce di farlo:- userai solo un po’ di memoria in più - dovrai stare attento che venga elaborata una sola SBR per volta - dovrai stare attento anche al cambio del tipo di ciclo “al volo” (potresti avere delle situazioni impreviste se qualcuno gira il selettore mentre la macchina sta lavorando, il ciclo iniziato da SBR0 continuerebbe in qualche modo in SBR1).
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