Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Data_block E Scl Dove Sono I Simboli? - Creazione di DB mediante SCL e utilizzo dei record


Messaggi consigliati

Inserito:

Ciao a tutti,

complimenti per il sito che fornisce sempre molte informazioni utili.

Ho un piccolo problema, inizio ora a programmare in S7-SCL e devo dire che è davvero molto comodo e veloce se utilizzato con criterio, ho realizzato una funzione che si appoggia ad un DB, dato che la struttura del DB deve essere fissa per ovvi motivi, ho pensato di inserire i sorgenti del db nello stesso file sorgente della funzione e anche in questo non ho avuto problemi, tutto sembra funzionare ma... attenzione attenzione.... quando copio il sorgente SCL in un nuovo progetto e compilo, sembra andare tutto bene ma appena cerco di assegnare una bobina a un qualsiasi bit del DB, mi rendo conto che non posso utilizzare il simbolico, potete aiutarmi?

vi posto il codice che uso per generare il DB

//*************

DATA_BLOCK DB1

STRUCT

ENB_ST:ARRAY[0..39] OF BOOL;

LOAD_ST:ARRAY[0..39] OF BOOL;

LOAD_P:ARRAY[0..39,0..2] OF BOOL;

END_STRUCT

BEGIN

END_DATA_BLOCK

//*************

Ripeto, il DB viene creato senza errori, la FC che segue il codice riportato sopra viene generata senza problemi e il software fa tutto ciò che deve fare, il mio problema è che nel progetto di prova se vado in una qualsiasi FC in KOP o AWL vedo il simbolico del bit del db che mi interessa per esempio, se digito sopra una bobina db1.dbx0.0 appena premo ENTER l'indirizzo assoluto viene sostituito da DB1.DBX0.0 "DB1".ENB_ST[0] ovvero indirizzo assoluto e simbolo, questo avviene anche perchè nel progetto di prova io avevo assegnato a mano il simbolo al DB.

Per concludere, cosa devo fare per fare in modo che oltre a generare il DB1 il codice scritto sopra provveda anche a inserire il simbolo del db?

grazie ancora e... PS scusate se ho postato nel posto sbagliato, ho fatto qualche errore o ho violato inconsapevolmente qualche regola, se avessi fatto una qualsiasi di queste cose vi esorto a comunicarmelo per potermi correggere

  • 2 weeks later...

Inserita:

se ho capito bene il tuo problema è che il contatto DB1.DBX0.0 si chiamo DB1.ENB_ST[0] e tu vorresti che si chiami "pincopallino".ENB_ST[0] se questa è la richiesta basta che tu apra la tabella dei simboli e definisca il simobolo per il DB1.

Se non è questa la tua richiesta allora non ho capito la domanda.

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