Vai al contenuto
PLC Forum


Scrittura tabelle SQL con Wincc


Dust

Messaggi consigliati

Buongiorno a tutti, mi trovo da un cliente all'estero, in un impianto che ha circa 7 anni con una CPU ET 200. Il cliente mi ha chiesto di poter fare in modo di salvare tutti i dati del Setup dell'impianto (dati contenuti tutti in una DB) nel loro server.

 

Ho pensato di creare con il WinCC uno script che crei una tabella in SQL server e di un'altro script con un ciclo FOR per scrivere tutti i dati della DB (sono 400 Dint) all'interno della tabella e di installare l'esecutivo del progetto nel loro server e dare il comando con un pulsante da un pannello esterno.

Dopo aver dichiarato tutte le variabili della DB in WinCC, ho notato che le variabili vengono scritte nella tabella di SQL server solamente se creo un campo I/O per tutte le variabili in una pagina del progetto WinCC, in parole povere dovrei creare 400 campi I/O e visualizzare tutte le variabili in una pagina di WinCC per potere salvare su SQL server, altrimenti la tabella viene creata ma mi salva 400 righe con valore 0. Quindi funziona tutto solo se creo 400 campi I/O in lettura delle variabili

 

C'è un modo per poter fare il salvataggio senza dover fare tutto questo lavoro?

 

Vi allego lo script creato, potrebbe essere che sia lo script compilato nel modo errato...

 

Un grazie anticipato a tutti

Write PM.JPG

Link al commento
Condividi su altri siti


Buongiorno di nuovo, ho un altro problema, ho creato 20 campi I/O per provare a salvare i dati in una tabella SQL ma,le prime 8 righe della tabella vengono scritte correttamente, poi inizia a mescolarmi i valori, ad esempio se scrivo 9 righe, nella tabella viene invertita la riga 8 con la riga 9 e così via , vi inserisco un esempio con 13 righe che dovrebbero essere numerate da 1 a 13, qualcuno sa il motivo?

 

Probabilmente sbaglio il ciclo FOR.....

 

Grazie a tutti per un eventuale aiuto...

Tabella.JPG

Link al commento
Condividi su altri siti

1 ora fa, Dust scrisse:

Buongiorno a tutti, ho risolto creando un un nuovo script dei scrittura nel server.

Mahhhh, CONDIVIDERE NO?

tutti a chiedere informazioni ma pochi che hanno capito lo spirito del forum a mio avviso.

Link al commento
Condividi su altri siti

Hai ragione pigroplc; bisognerebbe anche ricordarsi di coloro i quali sono soliti chiedere ma non condividono le soluzioni.

Link al commento
Condividi su altri siti

Scusate ma prima di condividere volevo verificare che funzionasse senza intoppi, ho creato un primo script per cancellare e ricreare una tabella, il secondo script è per scrivere le righe dentro alla tabella e il terzo script è per leggere e salvare sul plc le righe scritte nella tabella.

 

La cancellazione e creazione della tabella avviene ogni volta che devo salvare tutti i dati del setup, quindi con un pulsante da pannello HMI di invio dati richiamo lo script crea tabella e lo script scrivi nella tabella, leggo da una DB e scrivo nella tabella.

Con un altro pulsante da pannello HMI, vado a leggere e salvare su una DB tutte le righe.

 

Questo programma l'ho installato nel server del cliente in autorun.

Crea Tabella.JPG

Leggi dalla tabella.JPG

Scrivi nella tabella.JPG

Nel caricare i file hanno invertito gli script, la seconda immagine è lo script che legge, la terza è lo script per scrivere.

Link al commento
Condividi su altri siti

Ho anche creato una sorta di watchdog che mi permetta di visualizzare da pannello HMI la reale comunicazione tra PLC e server. Leggendo un valore su una tabella e comunicandolo al PLC, il PLC una volta letto lo resetta e aspetta di nuovo di leggerlo.

Questo è lo script fatto.

Watchdog.JPG

Link al commento
Condividi su altri siti

  • 1 month later...

Buongiorno a tutti.

 

Discussione davvero molto utile, anche io sto cercando di buttare giù un progetto simile a questo.

Se potete aiutarmi avrei però una domanda:

è possibile far girare gli script VBS o C in background in wincc?

Nel senso, vorrei andare a scrivere sul database SQL automaticmente al cambio di una determinata variabile che leggo sul campo tramite OPC UA, senza quindi premere un pulsante.

Link al commento
Condividi su altri siti

2 ore fa, matteo694 scrisse:

Se potete aiutarmi avrei però una domanda:

 

Devi aprire una nuova discussione, il regolamento vieta gli accodamenti perchè son causa di confusione nelle risposte.

Link al commento
Condividi su altri siti

  • Livio Orsini locked this discussione
Ospite
Questa discussione è chiusa alle risposte.
×
×
  • Crea nuovo/a...