Vai al contenuto
PLC Forum


Fc In Scl Errore Indirizzo Di Una Variabile


aleb2

Messaggi consigliati

Ho una FC scritta in SCL, compilo tutto ok, ma quando viene eseguita vedo che la CPU va in errore (led rosso ); nel buffer di diagnostica dice qualcosa del tipo errore indirizzamento o variabile non corretta in quell FC; compilando l'FC senza errori cosa vado a cercare? cose del tipo True al posto di 1 ,False al posto di 0 per le Bool?

Link al commento
Condividi su altri siti


uso la v11 e uso sia in/out, input, output e temp (come indice di ciclo FOR) ; l' errore è dovuto all' evento 16# 20:2253; errore in lettura FC16, sembra che ci sia una variabile che va fuori dalla dimensione prevista, magari indirizzata con un indice

Modificato: da aleb2
Link al commento
Condividi su altri siti

sembra che ci sia una variabile che va fuori dalla dimensione prevista, magari indirizzata con un indice

Probabile, ma siamo ancora al punto di partenza.

Senza vedere il codice, come possiamo capire se ci sono errori nel codice?

Link al commento
Condividi su altri siti

Io mi sono dimenticato di chiederlo, ma anche specificare se si tratta di un S7-1200 o di un S7-300 non sarebbe stata una cattiva idea, non ti pare?

Nel codice che hai fornito manca la struttura della variabile Input "MEDIA_H_NF_ARRAY".

Per il resto, da un veloce controllo non ho trovato errori di indici.

Resta da vedere cosa colleghi come parametri alla FC quando la richiami.

Per esempio, se passi un valore #J = 0, nella riga con il codice

IF (#MEDIA_H_NF_ARRAY[#J].N_CAMP-#MEDIA_H_NF_ARRAY[#J+1].N_CAMP<7200) THEN
punteresti alla variabile #MEDIA_H_NF_ARRAY[0].N_CAMP che non esiste.

Dovresti quindi aggiungere un controllo sul valore della variabile #J

Se mi posso permettere un'osservazione poi, noto che nel tuo codice non esiste una sola riga di commento.

Trovo questa una bruttissima abitudine da perdere immediatamente, anche se si tratta solo di una FC di prova.

C'è addirittura chi sostiene che un programma dovrebbe essere formato dal 50% di codice e dal 50% di commenti.

Io non dico di prendere queste percentuali come regola assoluta, ma i commenti devono essere sempre parte rilevante di un programma.

Poi, ovviamente, molto dipende dalla complessità del codice. Ci possono essere 10 righe di codice con 1 riga di commento, ma ci possono essere anche tre righe di codice con 10 righe di commento.

In ogni caso, non dovrebbe mai esistere una riga di codice senza commento.

Link al commento
Condividi su altri siti

Si consiglio senz'altro da seguire quello dei commenti, comunque mi hai acceso una lampadina in effetti l'indice J non ha un controllo che sia diverso da zero; guardo meglio;

intanto grazie

Link al commento
Condividi su altri siti

  • 1 month later...

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