Vai al contenuto
PLC Forum


Contatori Veloci Cpu313c2dp - Problema di conteggio?


sfinge

Messaggi consigliati

:unsure:

Salve a tutti,

su un progetto vengono utilizzati 2 contatori veloci (canale 0 e 1) entrambi progettati con il compito di generare interrupt in OB 40 con raggiungimento del valore di conteggio.

Il contatore 1 a differenza dello 0 viene avviato sulla lettura di una fotocellula (in OB35).I conteggi sembrano funzionare correttamente ma in maniera random (in 2000 pezzi prodotti vi sono 4-5 errori di conteggio)sembra che il numero 1 venga avviato in anticipo.Mi rendo conto non sia facile capire quello che succede:

Lettura anticipata imprevista della fotocellula,o accavallamento degli interrupt?

In OB40 vengono letti i bit relativi agli interrupt del contatore 0 e 1 (bit 3 canale 0 e bit 7 canale di OB40_POINT_ADDR)quesi bit vengono resettati nella riga successiva alla fermata del motore relativo:

L #OB40_POINT_ADDR

T MD 125

HSC1 Interrupt Event

U M 125.7

R A 2.1

Clear HSC1 Interrupt Event

U M 125.7

R M 125.7

HSC0 Interrupt Event

U M 125.3

R A 2.0

Clear HSC0 Interrupt Event

U M 125.3

R M 125.3

Outputs Refresh

//Uscite cablate

L AB 2

T PAB 2

Grazie per l'attenzione

Link al commento
Condividi su altri siti


Ciao Sfinge,

se ho capito bene il funzionamento credo che il problema sia la lettura della fotocellula nell'OB35.

L'OB 35 non reagisce all'interrupt di processo (come l'OB40), ma è un interrupt ciclico che viene richiamato periodicamente secondo un tempo impostato nelle proprietà della cpu.

Di conseguenza se il tempo in cui la fotocellula è ON e l'esecuzione dell'OB35 non si sovrappongono perdi alcuni impulsi di conteggio.

Ciao.

Massimo

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