franco1 Inserito: 20 novembre 2008 Segnala Share Inserito: 20 novembre 2008 Leggo, dalle caratteristiche del Compact Logix, che la gestione degli I/O avviene in modo asincrono, cioè, indipendentemente dalla scansione del codice ladder.Su questa cosa, spulciando qua e la su internet, qualcuno afferma che è necessario creare delle subroutine di appoggio che servano a bloccare gli I/O per un'intera scansione.Non riesco a capire: perchè si devono bloccare gli O per un'intera scansione?Saluti. Link al commento Condividi su altri siti More sharing options...
antstan Inserita: 21 novembre 2008 Segnala Share Inserita: 21 novembre 2008 Non so se questa info è vera.Comunque a spanne, se gli in variano anche durante il ciclo e le variabili di In le richiami in diversi punti del codice perchè concorrono su più azioni, potresti avere dei problemi sulla gestione delle stesse.Non so ad esempio:In 1 deve gestire Rout 1 e Rout 2, dove Rout 2 è dipendente da Rout 1.Se In 1 varia durante il ciclo potresti avere: - Istante di processo Rout 1 - In 1 alto- Istante di processo Rout 2 - In 1 bassoIn tal caso potresti avere dei conflitti sulle azioni delle rout.Non so se mi sono spiegato... Link al commento Condividi su altri siti More sharing options...
franco1 Inserita: 21 novembre 2008 Autore Segnala Share Inserita: 21 novembre 2008 Antstan...grazie per la risposta.Il meccanismo degli ingressi mi è chiaro ed è, effettivamente, come dici tu.Non riesco a spiegarmi, invece, il meccanismo delle uscite: perchè è necessario mantenerle bloccate per un ciclo di scansione? Link al commento Condividi su altri siti More sharing options...
antstan Inserita: 21 novembre 2008 Segnala Share Inserita: 21 novembre 2008 (modificato) Non riesco a spiegarmi, invece, il meccanismo delle uscite: perchè è necessario mantenerle bloccate per un ciclo di scansione?Bhè le uscite in un programma di controllo sono puntate una sola volta, non ha senso puntarle su più punti. A parte casi particolari che in questo istante non mi immagino e che comunque sconsiglio.Alla fine non credo che per le uscite ci vogliano accorgimenti!!!In ogni caso sei sicuro che il PLC lavori in questo modo di default? ad esmpio PLC come Omron CJ (Ottimo prodotto ma che secondo me è inferiore all'AB serie logix5000) hanno istruzioni particolari per gestire In e Out in modo asincrono...Di più non so dirti. Sicuramente quì nel forum ci sono persone molto più esperte di me... Modificato: 21 novembre 2008 da antstan Link al commento Condividi su altri siti More sharing options...
franco1 Inserita: 21 novembre 2008 Autore Segnala Share Inserita: 21 novembre 2008 Si...è sicuro che la famiglia Logix lavora in maniera asincrona. Link al commento Condividi su altri siti More sharing options...
Jtag Inserita: 21 novembre 2008 Segnala Share Inserita: 21 novembre 2008 Mi ha incuriosito questa storia, così sono andato a cercare nei manuali.L'unica differenza è se le uscite sono distribuite o locali, potete vedere il flow chart nel manuale 1768-um001_-en-p.pdf disponibile su internet.Inoltre indica di usare quando serve la funzione CPS: "If you need I/O values used during logic execution to be from one moment in time, such as at the beginning of a ladder program, use the Synchronous Copy CPS) instruction to buffer I/O data." Link al commento Condividi su altri siti More sharing options...
franco1 Inserita: 22 novembre 2008 Autore Segnala Share Inserita: 22 novembre 2008 Quindi, se non ho capito male, usando l'istruzione CPS la lettrura degli ingressi e la scrittura delle uscite vengono rese sincrone con il ciclo di scansione?A presto. Link al commento Condividi su altri siti More sharing options...
fredalfa Inserita: 14 dicembre 2008 Segnala Share Inserita: 14 dicembre 2008 La famiglia Logix5000 ha come caratteristica di leggere gli ingressi continuamente ed in tempo reale (del processore e non del processo), quindi durante le scansione può avvenire che cambi lo stato degli ingressi ed uscite.E' evidente che il tempo di aggiornamento varia se l'ingresso è in ControlNet (Locale) o se remoto ed è strettamente dipende dal NUT (Network Update Time settato). NOTA la famiglia Logix5k è sempre in rete anche se sul bus locale.Nello sviluppo del software è opportuno evitare di utilizzare come MEMORIA un ingresso, come fanno molti, dato che cambiano di stato durante le scansioni (es. Task a tempo o evento).Tale particolarità non si verifica sulle uscite dato che di solito ne viene settata una sola (e dico di solito... ).. ma il principio è lo stesso se settata più volte l'uscita viene sovrascritta dall'ultima istruzione che la richiama. (attenzione ai ladder richiamati su evento)Per essere certi della lettura Sincrona di un singresso il dato va "prodotto" e richiamato attraverso l'istruzione CPS.Diversa è la necessità di dover essere certi (!) che ad un punto del programma una uscita debba essere Attivata. In questo caso si utilizza IMMEDIATE OUT -> IOT per creare un RPI request interval packet al fine di aggiornare l'uscita in moto sincrono.Se i dati vengono settati come prodotti e consumati il processore li tratta come dati SINCRONI con evidente perdita di tempo sul processore (es caso MOTION) 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