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




Sfc22... Creat_db - Come usarlo?


Messaggi consigliati

Inserito:

Ciao a tutti!

Volevo usare il blocco SFC22 per creare un DB... ho letto l'. e il manuale, ma non riesco a capire come usarlo... qualcuno ha voglia di farmi un esempio?

Grazie in anticipo!

Roberto


Inserita:

Ciao

Solitamente io utilizzo l' SFC22 per creare una singola DB.

Utilizzandoli più volte creo varie DB.

Logicamente le creo solo una volta (per es. in OB100).

Se vuoi creare una sola DB il LOW_LIMIT e UP_LIMIT dovranno avere lo stesso valore.

Questo valore deve corrispondere al numero della DB che vuoi creare.

Questo valore deve essere inserito in formato WORD (per es. W#16#2 se vuoi creare la DB2).

Il parametro COUNT determina quanti Byte sarà formata la DB che vuoi creare.

Il parametro deve essere anch'esso inserito in formato WORD.

Per es. W#16#50 se vuoi creare 80 Byte, infatti 50 Hex = 80 Dec

I parametri RET_VAL e DB_NUMBER ti identificano la diagnostica sull'operazione di creazione DB.

Spero di averti chiarito le idee.

Ciao

Luciano

Inserita:

Molto gentile!

Immaginavo si facesse in questo modo... o simile!

Nelle mie varie prove non sono però riuscito a creare la DB (in online dovrei vederla la DB... giusto?)

Dal momento che mi hai fatto una descrizione così esauriente... riproverò!!!

Grazie ancora!

Roberto

Inserita:

A proposito... oggi ho provato ad utilizzare il modo che mi hai spiegato, richiamando in OB100 il blocco nel seguente modo:

CALL "CREAT_DB"

LOW_LIMIT:=W#16#5

UP_LIMIT :=W#16#5

COUNT :=W#16#50

RET_VAL :=MW100

DB_NUMBER:=MW150

Risultato... al riavvio del PLC... nulla, non aveva creato la DB5...

Magari c'è da inizializzare il blocco dati o basta richiamare l'SFC22?

Grazie ancora per la pazienza, spero mi possiate dare una mano!!!

Buona serata a tutti!

Rob

Gabriele Corrieri
Inserita:

Ciao,

io ho provato col simulatore ed effettivamente il DB5 lo crea attenzione però che gli OB di avviamento sono tali che:

Tipo di avviamento                       Rispettivo OB
-----------------------------------------------------------
Riavviamento                                OB 101
Nuovo avviamento (avviamento a caldo)       OB 100
Avviamento a freddo                         OB 102
Controlla poi il RET_VAL ...
Codice di errore (W#16#...)  Significato
-----------------------------------------------------------
0000                         Nessun errore

8091                         La SFC 22 è stata richiamata annidata.

8092                         La funzione "Creazione di blocchi dati" non è eseguibile al momento perché ·    la funzione "Compressione della memoria utente" è attualmente attiva·    la CPU H è in fase di accoppiamento o aggiornamento·    la CPU del software WinAC ha rilevato un errore nel sistema operativo del computer sul quale è stato installato WinAC

80A1                         Errore nel numero del DB:·    il numero è 0·    il numero supera il numero massimo di DB ammesso per la CPU specifica·    limite inferiore > limite superiore

80A2                         Errore nella lunghezza del DB:·    la lunghezza è 0·    la lunghezza è stata data come numero dispari·    la lunghezza è maggiore di quanto la CPU permetta

80B1                         Nessun numero di DB è libero

80B2                         La memoria libera a disposizione non è sufficiente

80B3                         L'area di memoria contigua a disposizione non è sufficiente (comprimere la memoria!)

Ciao

Inserita:

Grazie per le info... darò un'occhiata anche a questo!!!

Grazie ancora... spero di risolvere... avendo problemi di memoria mi fa comodo usare questa funzione!!!

Ciao!

Rob

  • 1 year later...
Inserita:

ho creato un db mediante la SFC 22 all'interno dell'OB100 seguendo le istruzioni date in risposta alla domanda precedente.

Effettivamente lo crea,infatti dal programma utente posso scrivere su di esso cosi come leggere,copiare in esso dati.

l'unico problema è che nella visualizzazione on-line il db non è presente!!!

sapete dirmi perchè?

grazie.

Fabrizio

Inserita:

mi scuso.....ho controllato bene e vedo il db nella modalità on line.grazie lo stesso.

geppo

Inserita:

Ciao a tutti, non riesco a capire per cosa posso usare una DB che creo soltanto on-line, potete dirmi un esempio di applicazione? magari posso farmi venire delle idee per qualche mio lavoro. :lol:

Good Luck, Jake B)

Inserita:

Lo usi come un db creato offline, che differenza fa?

Non hai i commenti, non hai gli indirizzi simbolici ma hai un db vero e proprio.

è una cosa che ci si porta da alcune cpu s5.

Può essere usato anche da chi non vuole farsi copiare i programmi, dB generato on line = massacro per chi deve metterci mano e non conosce la struttura del tuo DB. Tanti fanno così e si creano dei DB su carta.

Lo puoi poi usare per generare DB che offline non servono tipo deposito di dati di produzione, comunicazione con perfiferiche.

è solo un metodo di lavoro diverso.

PS stampi anche meno carta.....

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