Vai al contenuto
PLC Forum


Contatore A Memorie


niky

Messaggi consigliati

-Come prima cosa ho inizializzato il DB20 creandomi dalla DW0-------->DW16

-dopo di che ho creato un FB12

scrivendo questo codice la memoria si incrementa di continuo senza che tiene conto dello stato di M0.0:

:U M0.0

:SPB =M001

M001:L DW0

LKF +1

+F

T DW0

anche scrivendo questo non cambia nulla:

:U M0.0

:SPB =M001

:BEA

M001:L DW0

LKF +1

+F

T DW0

chi mi aiuta sembra semplice ma :senzasperanza:

Link al commento
Condividi su altri siti


zanellatofabio

UN M0.0

SPB =M001

L DW0

LKF +1

+F

T DW0

M001: NOP 0

L' SPB è un salto condizionato dall' RLC e viene eseguito se RLC=1 .

Fintanto che M0.0 ha lo stato 0 , RLC=1 e il salto viene eseguito .

Quando M0.0 è 1 allora RLC=0 e il programma elabora la somma .

M0.0 dovrebbe eesere un fronte di salita altrimenti con M0.0 a 1

esegue la somma ad ogni ciclo del programma .

Che anni quelli dello step 5 ....

Link al commento
Condividi su altri siti

grazie della risposta ma mi devi spegare una cosa.

Se SPB salta solo se RLC=1 perchè allora il mio primo esempio non funziona?

daltronte ho scritto nella mia sintassi che se M0.0 è a 1 quindi RLC = 1 salta all'etichetta M001 ed esegui la somma....non capisco la differenza tra il mio esempio e il tuo.

nonostante dovrebbe saltare solo quando c'è M0.0 , quando ho provato il software nel PLC mi somma sempre.....

grazie della disponibilità

Link al commento
Condividi su altri siti

se la condizione è falsa l' istruzione di salto condizionato SPB anziche' saltare passa alla istruzione successiva, che nel tuo caso è sempre quella

M001:ldw0

quindi salto o non salto esegue sempre quella sequenza di istruzioni, se non vuoi fare come consigliato da Zanellatofabio, aggiungi sotto a SPB=M001 l' istruzione SPA=M002 poi aggiungi alla fine una istruzione M002: nop 0

:UM0.0

:SPB=M001

SPA=M002

M001:LDW0

:LKF+1

+F

TDWO

M002:NOP0

comunque è un contatore sui generis, perchè se m0.0 è on ad ogni ciclo macchina incrementi la DW con il risultato di ottenere un numero quasi casuale.

Se vuoi contare quante volte va on m0.0 allora devi fare un fronte e usare il fronte nella interrogazione.

saluti bellcar

Link al commento
Condividi su altri siti

grazie credo di aver capito....perchè giustamente se l'istruzione è falsa comunque il ciclo deve continuare e di conseguenza elabora le istruzioni successive a differenza dell'esempio di bellcar che quando è falsa salta a nop 0 e quindi il conteggio non viene incrementato.....comunque avevo già previsto il fronte di salita, questo si

grazie e saluti

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...