Vai al contenuto
PLC Forum


Assegnazione Di Variabili Gloabali


mautomazione

Messaggi consigliati

Sto cercando di capire l'assegnazione di variabili globali. Cerco di spiegarmi.

Consideriamo di avere in SCL un FB8 cosi fatto:

FUNCTION_BLOCK FB8

VAR

valore1: int;

END_VAR

valore1:= 100;

DB10.DW2:=valore1;

END_FUNCTION_BLOCK

Il DB10 è un blocco dati globale e all'inirizzo 2.0 è definita una variabile var1 di tipo INT.

La compilazione mi da errore perchè mi dice tipo di dati non valido. Forse non è possibile fare l'assegnazione quando i dati sono INT?

Altra domanda:

Ho il seguente FB9:

FUNCTION_BLOCK FB9

VAR

valore1: INT;

END_VAR

valore1:= 20;

MW0:=valore1;

END_FUNCTION_BLOCK

anche questa assegnazione mi da errore.

Dove sbaglio?

Grazie

Modificato: da mautomazione
Link al commento
Condividi su altri siti


Io non conosco SLC, però così ad occhio proverei a scrivere :

valore1: DWord;

visto che la destinazione è una doppia word.

valore1: Word;

visto che questa volta la destinazione è la word MW0.

Ciao

Link al commento
Condividi su altri siti

Ok. ma se la variabile variabile1 è di tipo INT e la voglio assegnare ad una variabile di un DB globale sempre di tipo INT non è possibile?

grazie

Link al commento
Condividi su altri siti

ho provato ma la scrittura DB10.DINT 2:= valore; mi da errore, facendo F1 sull'errore mi dice che probabilmente sto tentando l'accesso ad una struttura che non esiste.

Link al commento
Condividi su altri siti

ok la mia scrittura errata ma da sempre errore perchè tento di assegnare tramite DB10.DBW2:=valore1 un valore INT ad un una WORD.

per FB9 questo sotto mi da errore:

FUNCTION_BLOCK FB9

VAR

valore1: INT;

END_VAR

valore1:= 20;

MW0:= valore1;

END_FUNCTION_BLOCK

dove sbaglio?

Link al commento
Condividi su altri siti

Non conosco SCL, ma credo che l'assegnazione DB10.DBW2:=valore1 corrisponda ad un MOVE valore 1 in DB10.DBW2.

Se è così Ti chiedo:

- ma il Blocco Dati globale DB10 l'hai creato e inserito nel progetto ?

- hai assegnato a DB10.DBW2 il tipo dati INT ?

Modificato: da gaserma
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...