Vai al contenuto
PLC Forum


Scambio soglie


Project75

Messaggi consigliati

11 minuti fa, acquaman ha scritto:

Ma hai verificato che valori ci sono dentro l'array soglie?

Per evitare questo problema, crea gli array soglie che vanno da 0..3, se per qualche motivo i valori dell'indice sono a 0 il plc non va in stop.

Ho provato da 0 a 3 e da 0 a 4, stesso problema 

Link al commento
Condividi su altri siti


  • Risposte 53
  • Created
  • Ultima risposta

Top Posters In This Topic

  • Project75

    26

  • acquaman

    14

  • Livio Orsini

    6

  • batta

    4

Top Posters In This Topic

Posted Images

No, tu hai mandato la foto dei move, ma se non c'è nessun contatto chiuso i move non lavorano e il valore degli indici resta a 0.

Hai verificato il valore che c'è negli indici?

 

Link al commento
Condividi su altri siti

3 ore fa, acquaman ha scritto:

prima di questo blocco metti un controllo su questi indici se il valore è compreso tra 1 e 3.

Comunque questo non l'hai fatto, c'è l'istruzione limit.

Link al commento
Condividi su altri siti

3 minuti fa, acquaman ha scritto:

Comunque questo non l'hai fatto, c'è l'istruzione limit.

Si ma la cpu non va in run, come faccio a controllare valore?

Link al commento
Condividi su altri siti

cattura.jpg.44b59121d7c8220b6b0cabadc60af703.jpg

 

Se dopo il contatto negato metti un confronto che l'indice deve essere >= a 1 e un secondo confronto che l'indice deve essere <=3, se l'indice è 0 o maggior di 3 non esegui i move e se il valore dell'indice è il tuo problema (come ipotizziamo) non mandi in stop il plc.

Link al commento
Condividi su altri siti

5 minuti fa, acquaman ha scritto:

Sei sicuro che il problema sia in quel segmento, da quello che si vede dalla foto li funziona.

Funziona dopo aver inserito OB PROGRAMMING ERROR, altrimenti la cpu non va in run, il problema è lì perché dalla diagnostica se clicco su 'apri nell'editor' mi porta in quel segmento.....

Link al commento
Condividi su altri siti

15 minuti fa, acquaman ha scritto:

Inkedcattura_LI.jpg.5c943599f5f0ccd5814be4f0adac697c.jpg

 

Ma se non ricordo male se ci fosse un errore anche con l'OB, il simbolino dovrebbe essere rosso.

Si, ma se tolgo OB programming error la cpu non si avvia e rimane acceso LED arancione 

Link al commento
Condividi su altri siti

Metti a dura prova le persone,

Inkedcattura_LI.jpg.351b5c2fa6d4a8dd36aa5b24f9ed0b38.jpg

 

Quello segnato è un contatore? Può essere che quando avvii il plc il contatore è 0, quindi non carica i valori dell'indice che restano a zero.

Mettendo l'ob, il plc non va in stop, carichi un valore nel contatore che a sua volta carica un valore nell'indice?

L'array indice non è ritentivo, prova a mettere i valori di avvio 1, 2, 3 nell'array dell'indice e prova.

Cosi quando avvii il plc nell'indici trovi già un valore e non dovrebbe andare in errore anche senza l'ob.

Link al commento
Condividi su altri siti

6 minuti fa, acquaman ha scritto:

Può essere che quando avvii il plc il contatore è 0,

 

Se nessuno lo inizializza sicuramente è a zero.

E buona pratica alla prima scansione lanciare una funzione che predisponga tutte le vriabili al valore iniziale voluto.

E anche buona pratica creare array che vanno da 0 a n, non da 1 a n. In questo modo si evitano tanti giri a vuoto per ricercare malfunzionamenti.

Link al commento
Condividi su altri siti

12 minuti fa, acquaman ha scritto:

Metti a dura prova le persone,

Inkedcattura_LI.jpg.351b5c2fa6d4a8dd36aa5b24f9ed0b38.jpg

 

Quello segnato è un contatore? Può essere che quando avvii il plc il contatore è 0, quindi non carica i valori dell'indice che restano a zero.

Mettendo l'ob, il plc non va in stop, carichi un valore nel contatore che a sua volta carica un valore nell'indice?

L'array indice non è ritentivo, prova a mettere i valori di avvio 1, 2, 3 nell'array dell'indice e prova.

Cosi quando avvii il plc nell'indici trovi già un valore e non dovrebbe andare in errore anche senza l'ob.

Niente non va 🤔

Link al commento
Condividi su altri siti

Inkedcattura_LI.jpg.a7b3d02a0915e90c00ed05e7d33212e7.jpg

 

Questo segmento, è prima di quello dove vai in errore?

Prova a togliere il contatto segnato, almeno siamo sicuri che un valore dentro gli indici ci sono.

Link al commento
Condividi su altri siti

18 minuti fa, acquaman ha scritto:

Inkedcattura_LI.jpg.a7b3d02a0915e90c00ed05e7d33212e7.jpg

 

Questo segmento, è prima di quello dove vai in errore?

Prova a togliere il contatto segnato, almeno siamo sicuri che un valore dentro gli indici ci sono.

Ho tolto contatto ed è andato via l'errore lo rimesso e ora funziona, sicuramente perché è rimasto memorizzato ultimo valore, secondo me la soluzione è fare larray 0a2 così la cpu si avvia anche se il blocco non è in funzione, e se il blocco non è in funzione l'indice soglia rimarrà a zero perchè il confronto == del contatore stara sempre attivo perche a 0 qundo il blocco non è richiamato e di conseguenza l'indice dell'array non andrà fuori limite, giusto?

Link al commento
Condividi su altri siti

Oppure metto un confronto == del contatore a 0 così se il contatore è a 0 l'indice soglia 1 e a 1, l'indice soglia 2 e a 2 e l'indice soglia 3 e a 3. Giusto? 

Link al commento
Condividi su altri siti

Oppure togli quel contatto cosi se non hai nessun valore nel contatore a prescindere carichi un valore dentro gli indici, poi se il contatore ha il valore 2 sovrascrive gli indici.

 

Non voglio fare critiche, ma quando una persona scrive non è li con te a vedere cosa succede, e spesso vengono inserite domande per cercare di capire cosa succede, chi risponde dovrebbe innanzitutto dare più informazioni possibili, in secondo luogo rispondere alle domande poste per cercare di far capire la situazione senza che l'altro tiri ad indovinare.

1 ora fa, acquaman ha scritto:

Quello segnato è un contatore?

 

38 minuti fa, acquaman ha scritto:

Questo segmento, è prima di quello dove vai in errore?

 

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