Vai al contenuto
PLC Forum


Istruzione Mcra - ....se è possibile


niky

Messaggi consigliati

una domanda.

Ho l'esigenza di poter disabilitare all'occorrenza l'elaborazione di un blocco FC.

siccome il blocco viene richiamato nell'OB1, posso usare l'istruzione MCR?

OB1:

U M 0.0

MCR(

MCRA

UC FC 1

MCRD

)MCR

Link al commento
Condividi su altri siti


Sinceramente MCR non l'ho mai usato.

Se devo "disabilitare un blocco, semplicemente faccio un richiamo condizionato

U M 0.0

CC FC 1

così FC1 è elaborato solo se M0.0 è a 1.

Attenzione che nel momento in cui non elabori più il FC, gli operandi che sono azionati nel blocco rimangono come "congelati" alla situazione dell'ultima elaborazione.

Es se dentro FC1 hai

U E 0.0

= M 0.1 e

durante l'elaborazione E0.0 è a 1, amche M0.1 è a 1.

-M0.0 va a 0

M 0.1 resta a 1 per sempre, anche se E0.0 va a 0.

-spero di non avere fatto troppa confusione. :blink:

Link al commento
Condividi su altri siti

Se per "disabilitare all'occorrenza l'elaborazione di un blocco FC" intendi semplicemente non richiamarlo, allora usa semplicemente un salto o, se l'FC non ha parametri, l'istruzione CC.

Se invece desideri che i merker e le uscite comandati all'interno dell'FC siano messi a zero, come accadrebbe se fossero all'interno di un MCR, allora richiama normalmente l'FC e metti all'interno di essa le istruzioni MCR.

Link al commento
Condividi su altri siti

Altrimeti potresti mettere un parametro di input chiamato enable, quando enable=1 elabori l'FC, altrimenti esci subito dalla funzione; logicamente appena entri nella funzione devi fare un'inizializzazione di tutte le memorie che vengono abilitate dalla funzione portandole tutte a 0.

Good Luck, Jake ;)

Link al commento
Condividi su altri siti

Io la questione la vedo cosi.

Se la FC la richiami con una call condizionata ti troverai il problema di congellamento delle merker.

Segnificha che se La M1.0 è una bobina normale e non una SET e in questo momento e SU quindi a 1.

Quando la FC non viene eseguita questa bobina M1.0 rimarra comunque a 1 anche se non è piu allimentata

da nessun altro contatto. Lastessa cosa sucedera con tutte le mercher presenti sia M che DB.

Secondo me e meglio fare come sopra indicato da un'altro una memoria ENABLE.

Chiamare sempre in OB1 la FC e poi nell FC fare subito in cima la prima riga:

Enable=1 Vai avanti , Enable = 0 JUMP fino alla fine della FC.

Cosi non viene eseguito nessuna riga,tu non ti troverai nessun congellamento.

Facendo cosi però , se hai della roba attivata prima verra comunque congellata.

Quindi fai come una CLEAR WORD.Setti tutto a zero di MERKER e DB che sono usate nella FC se Enable=0.

Link al commento
Condividi su altri siti

allora faccio cosi richiamo dall'OB1 la FC e in cima metto l'istruzione MCR condizionata da una memoria, ma la cosa che non so è questa,quanti segmenti posso inserire tra l'istruzione MCRA e MCRD?

Link al commento
Condividi su altri siti

Non mi pare ci siano limiti al numero di segmenti.

Casomai sono altre le cose a cui bisogna prestare attenzione nell'uso delle istruzioni MCR.

Se leggi l'aiuto in linea, c'è scritto tutto. Basta posizionarsi col cursore sull'istruzione e premere F1.

Link al commento
Condividi su altri siti

  • 1 year later...
leopoldomichele75

ciao a tutti, sapete dirmi se anche per i quadretti generali negli appartamenti và fatto il calcolo della potenza dissipabile? se non và fatto si deve tenere conto di altro?

grazie,ciao

Link al commento
Condividi su altri siti

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...