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




File CSV in tabella Variabili su Wincc


Messaggi consigliati

Inserito:

Buongiorno a tutti

Chiedo scusa ma non essendo molto pratico di VB sui pannelli ho bisogno veramente di una mano...

Ho la necessità di visualizzare su di una pagina di un pannello TP1200, 4095 byte provenienti da un lettore RFID, alla difficoltà di capire come visualizzarli con pulsanti di scroll o con puntatori diretti per visualizzare l'area di memoria che desidero, mi hanno aggiunto anche il fatto che oltre ai dati devo visualizzare una descrizione del dato stesso che posso ricavare da un file xls dove è spiegata tutta la mappa dei dati, da questo file posso creare anche un csv volendo (c'è un tasto nel file xls per la creazione), credo che io debba assolutamente farmi aiutare da degli script sia per lo scroll, che per importare il file ed associarlo alle variabili giuste...

Qualcuno può aiutarmi dandomi dei suggerimenti?

Grazie anticipatamente...


Inserita:

Su un pannello fare uno scroll diventa lungo, fai un tot di pagine con in ogni pagina una parte delle tue variabili, poi scrolli le pagine.

Lavori su un pannello chiuso, non hai la versatilità di un pc.

Inserita:

fai una pagina sola con variabili indicizzate oppure fai una pagina sola con variabili multiplexate poi coi pulsanti di scroll aumenti e diminuisci il puntatore.

Inserita:

Grazie per le risposte, in realtà la parte che mi preoccupa di più è l'utilizzo del file csv indicizzato con le variabili in arrivo dalla DB dell'RFID non ho proprio idea di come fare...

Inserita:

Forse non ho capito bene io, ma come fai ad indicizzare ed ordinare i dati? l'rfid cosa ti va a scrivere nella db? il file csv contiene i medesimi dati che ti arrivano dall'rfid ma comprendenti anche la descrizione?

La soluzione più "semplice" credo sia andare a scrivere, tramite wincc, sul csv per poi riordinare i dati con un cerca.vert o funzioni simili di excel.

Fare l'atto di "abbinare" variabile a descrizione credo sia più semplice farla da lato excel che da wincc tramite vb, che girando su pannello operatore (quindi windows ce) non ha la potenzialità che potresti avere usando il solo runtime su di un pc.

Poi andare a creare/leggere il file csv da wincc sfruttando vb non è così complicato, ma prima credo sia necessario riordinare variabili e descrizione in un unico file per poi fare una lettura pura e semplice.

Inserita:

"il file csv contiene i medesimi dati che mi arrivano dall'rfid ma comprendenti anche la descrizione", hai detto bene, DesmoGiec.

Io nella pagina di visualizzazione, accanto al byte, dovrei fare apparire la descrizione ed in fondo il valore, allego un jpeg per chiarire come dovrebbe risultare ed il secondo per farvi vedere il file xls da dove prenderei il testo.

Fiches Réception-01-ControleEnt.pdf

Inserita:

non riesco a caricare la seconda!!!! troppo poco 0,03mb!!!!

 

Inserita:

Ma sono curioso: questo RFID lo colleghi direttamente al pannello oppure passa dal PLC?

 

Inserita:

faccio fatica a interpretare ciò che devi fare, ma Il codice che trovi di sotto dovrebbe essere una parte dello script che ti serve per leggere I dati e trasferirli su tag che vengono visualizzati su HMI.

Poi bisogna vedere il pannello le istruzioni da cambiare.

Dovresti trovare anche dei miei vecchi esempi per MP370 datati di qualche anno......

' *****************************************************************************************
' LEGGE I DATI DEL PROGRAMMA SELEZIONATO DAL FILE CORRISPONDENTE
' E LI SCRIVE NELLE VARIABILI DI SIMOTION PER VISUALIZZARLI IN HMI
' *****************************************************************************************

SetValue SmartTags("Range_control.strobecambiaprogramma"), 1


Dim objFileSystem, fs, strNomeFile, Puntatore_array, LanFeedback, ShellPopup, Titolo, Testo, Line, ArrSing(100)
Dim Arr1(1000), Arr2(1000), Arr3(1000), Arr4(1000), Arr5(1000)
Dim Arr6(1000), Arr7(1000), Arr8(1000), Arr9(1000), Arr10(1000), Arr11(1000)

'Imposta la lingua dei messaggi
LanFeedback=HmiRuntime.Language

' Legge il nome del programma selezionato (quello segnato in nero nella panoramica)
strNomeFile = SmartTags("Line_" & SmartTags("Index_program"))
strNomeFile = "C:\Ugo\Progs\" + strNomeFile + ".prg"

'Verifica se il file esiste, altrimenti conclude con un messaggio di errore
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
If objFileSystem.FileExists(strNomeFile) = True Then

' apre il file in lettura
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set fs = objFileSystem.OpenTextFile(strNomeFile, 1, False)

' Legge il contenuto delle variabili NON ARRAY dal file e lo mette nelle variabili di appoggio.
' Il limite superiore del ciclo FOR è pari al numero di variabili NON ARRAY da leggere
' e va quindi aumentato se si aggiungono variabili. Le variabili singole comprendono
' sia dati generici del programma, sia dati relativi alla piega.
For Puntatore_array = 1 To 42			'Numero da cambiare in funzione dei tag "non array" presenti nel programma	
ArrSing(Puntatore_array) = fs.ReadLine
Next

e vai avanti di questo passo!!!!!!!!!!!!!!!

 

Inserita:

Grazie per la risposta, cerco di farmi capire meglio, vediamo se ci riesco...

Io ho un file di excell dove è segnata tutta la mappa scritta sopra l'RFID. Naturalmente i dati presenti dentro il TAG sono solo valori corrispondenti ai byte che vanno da 0 a 4192.

Quando ho acquisito i dati con il lettore, devo visualizzarli sul pannello. questi dati dovranno essere visualizzati come la figura che ho allegato nel mio 3° messaggio "Fiches Reception" prima colonna "N. byte", seconda colonna "Descrizione", Terza colonna "Valore".

La descrizione deve essere ricavata dal file excell che il cliente mi ha dato, quindi, trasformandolo in CSV, o mantenendolo in excell dovrei caicarlo nella memoria del pannello ed abbinare al numero di byte la descrizione corretta.

Spero di essere stato più chiaro...

P.S. Pigroplc, non ho capito bene il tuo script, poichè ci sono dei tags e eltre cose che non sono richiamate nello script....

 

Inserita:

piano piano si dirada la nebbia....

vediamo se ho capito:

tu hai un file dove ci sta scritto più o meno

codice                 descrizione             altro

1                          mele                       verdi

2                          mele                       rosse

3                          banana                   gialle

ecc.

 

quando arriva RFID tu col tuo bel numerino vai a compilare la tua tabella in modo da aggiungere nuova frutta, se invece la frutta è già presente nella tua lista la devi solamente visualizzare. Più frutta diversa arriva, più il tuo file diventa grande.

Di poco cambia la logica, tendendo presente che invece della Colonna dei numeri controlli la Colonna della frutta o del colore.

SE HO CAPITO BENE, si tratta di gestire il file csv nel pannello.

Tieni presente: il file DEVE risiedere su un supporto di memoria che NON sia banco di memoria del pannello stesso (es. flash card piuttosto che SD).

Spendi 4 baiocchi e compra marchi principali tipo Sandisk che tanto costano meno delle mele.

Altra considerazione: NON penso sia possibile utilizzare Excel e I suoi metodi sul pannello, io uso sempre PC quindi non ti saprei dire, mentre col file csv vai tranquillo.

Quanto al codice che ti ho postato la mia ricetta contiene circa 12.000 valori e stringhe, io ho messo solamente una piccola parte del codice, per quello non ti trovi tutti I tag.

Se vuoi vedere un esempio con la gestione di dati nel foglio Excel guarda qui sotto:

http://www.plcforum.it/f/topic/188611-script-su-wince/#comment-1382643

 

 

 

 

Inserita:

Grazie Pigroplc, proverò ad effettuare alcune prove... Vedremo....

 

Inserita:
Quote

Vedremo....

E' quel vedremo che mi preoccupa.... :lol:

 

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