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




Inizializzazione Db In S7


Messaggi consigliati

Inserito:

Buon giorno a tutti!

Qualcuno di Voi.... veri programmatori, sa come inizializzare un blocco dati in S7, ovvero portando i valori iniziali in quelli attuali (come la funzione inizializza blocco dati dal menu strumenti, solo che deve essere fatto online!!!).

Forse mi devo spiegare meglio: ho bisogno di portare il db nelle condizioni a cui era stato programmato... ma non ce la faccio... l'unica alternativa che mi è venuta in mente è quella di caricare manualmente i valori di default da sw!!!

###### che siete più bravi di me!

Roberto


Gabriele Riva
Inserita:

Si e' parlato di questo nel vecchio forum alla discussione:

http://www.plcforum.info/forum/topic.asp?TOPIC_ID=898

ecco il riassunto che suggerisce Siemens nelle sue FAQ:

DOMANDA:

È possibile trasferire i valori attuali di un DB dall'AS in un progetto come valori iniziali?

RISPOSTA:

Sì, queste possibile nei due modi seguenti:

Prima possibilità:

Aprire il corrispondente blocco dati "ONLINE", p. es. dall'AS.

Memorizzare il blocco dati "OFFLINE" per mezzo dell'icona Floppy disk.

Generare un sorgente AWL (con il blocco dati) tramite:

"File > Crea sorgente".

Aprire il sorgente AWL.

Collegare i valori attuali posti tra "BEGIN" e "END_DATA_BLOCK" manualmente a riga alla corrispondente riga di dichiarazione (valori di inizio), cosicché la dichiarazione ha il seguente aspetto:

STRUCT

wordVar : WORD := W#16#ABCD;

..

END_STRUCT ;

Compilare il sorgente AWL

Poi i valori attuali sono trasferiti come valori iniziali.

Seconda possibilità (più comoda) con l'aiuto di Microsoft Excel:

Aprire il corrispondente blocco dati "ONLINE", p. es. dall'AS.

Memorizzare il blocco dati "OFFLINE" per mezzo dell'icona Floppy disk.

Generare un sorgente AWL (con il blocco dati) tramite:

"File > Crea sorgente".

Esportare il sorgente AWL, facendo un clic con il tasto destro del mouse sul sorgente AWL e scegliendo nel menù che compare

"Esporta sorgente..". Dare al sorgente AWL da esportare come nome di file l'estensione ".AWL" (p. es. "exQuelle.AWL")

Avviare Microsoft Excel (p. es. Microsoft Excel 97) e aprire il sorgente AWL esportato tramite

"File > Apri".

Si apre automaticamente il wizard di testo di Microsoft Excel. Procedere ora seguente modo:

1. Scegliere, nel primo passo di questo wizard, la formattazione "separato". Fare poi clic su "Avanti".

2. Scegliere ora "Tab" e "spazio" e fare clic su "Avanti".

3. Nell'ultimo passo scegliere "Standard" e confermare le introduzioni con "Fine".

Selezionare o la tutte le celle appartenenti al sorgente AWL in Microsoft Excel. Queste vengono formattate con il tasto destro del mouse e poi tramite "Formatta celle... > Allineamento > Allineamento testo > Orizzontale: > a destra".

Selezionare e copiare i valori attuali che si trovano tra "BEGIN" e "END_DATA_BLOCK" al posto dei valori iniziali che si trovano tra "STRUCT" e "END_STRUCT".

Memorizzare questo file con "File > Salva con nome..." indicando nuovamente l'estensione file ".AWL".

Attenzione:

Questo file deve tassativamente essere memorizzato come tipo file "Testo formattato (separato da spazi)".

Inserire nel SIMATIC Manager tramite "Inserisci > Sorgente esterno.." il file AWL modificato in Excel nella cartella sorgente del proprio progetto.

Compilare il sorgente AWL.

Poi i valori attuali sono trasferiti come valori iniziali.

Inserita:

Grazie, ma temo di non essere stato capito...

Io ho la necessità di fare il contrario, ovvero quelli iniziali farli diventare come attuali, ma via programma, all'attivazione di un dato segnale!

Temo quindi che non vi sia una soluzione, se non creare un DB parallelo e fare... fill! Anzi... penso che farò così!

Grazie millle ancora!

Roberto

Inserita:

Soluzione "agricola" cancelli il db nella cpu e lo ritrasferisci da PC a PLC

Soluzione "siemens" dal menu Modifica dell'editor del db trovi "inizializza blocco dati..." (o qualche cosa di simile)

ciao

Andrea

Inserita:

Ma perche' non si pensa mai alla soluzione piu' stupida ??

fai 2 db , una che il programma utente la puo' modificare , l'altra no

quando vuoi tornare ai valori iniziali

ti copi l'altra DB ( che contiene i valori iniziali ) su quella di lavoro

ciao

Luca

Inserita:

E' proprio quello che farò! Un bel fill non glielo toglie nessuno... ;-P

comunque grazie a tutti quelli che hanno partecipato!

Roberto

  • 5 weeks later...
Inserita:

aprendo la db vai in "visualizza" e cambia da "dichiarazione" a "dati

poi vai in "modifica" e premi "inizializza blocco dati"

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