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




Script Con Protool - Lettura testo csv


Messaggi consigliati

Inserito:

Buon giorno a tutti,

ho la necessità di leggere un file dati nel pannello operatore MP370.

Vorrei farlo tramite uno script che mi legge i tag che precedentemente ho memorizzato nel file.

Purtroppo non sono tanto afferrato su VB e mi sono bloccato...

Il file che contiene le variabili da leggere è un semplice csv, ma riesco a scriverle e non a leggerele.

1' riga)Report day;Report hour;Operator name;Program number;Program description;Quantity set point;Elapsed;Produced;Total Production

2' riga)29/11/02;03:41:39;teresa frank;11;renato di prova;0;0;0;0

qualcuno mi sa dare una dritta ??

grazie e ciao

pigroplc


Inserita:

Ho avuto un problema simile e l'ho risolto passando attraverso le ricette utilizzando la funzione Importa_set_dati. La cosa a cui devi stare attento è che il file .csv che vuole il Protool non è ordinato per righe ma per colonne ed utilizza le prime due righe come intestazione.

Il mio consiglio è di creare una ricetta con le variabili che ti interessano, eseguire la funzione Esporta_set_dati e controllare come viene scritto il file .csv.

Ciao

Inserita:

Tempo fa avevo usato degli script vb su protool/pro

questo scrive le variabili su un file ascii...

Per leggere i dati devi isolare i tes tiche ti servono (con dei comandi tipo left$ basic)

e poi trasferirli su variabili PLC.

Credo sia estremamente laborioso ma funziona. Il debug è inesistente per cui

devi crearti dei campi di appoggio dove trasferire i risultati intermedi se vuoi visualizzare

qualcosa...

'Script per scrittura dati

' cod_rot_8

' matr_8

' fornit_8

' gramm_8

' alt_8

' format_8

' peso_8

dim fso, f, ts, DataSet, FName

FName = "c:\test-pro\Archiv_0.csv"

dataset = "xxxx8R,"+cstr(Now)+","+cstr(cod_rot_8)+"," cstr(matr_8)+","

dataset = dataset + cstr(fornit_8)+","+cstr(gramm_8)+","+cstr(alt_8)+","

dataset = dataset + cstr(format_8)+","+cstr(peso_8)

set fso = createobject("Scripting.FileSystemObject")

if not fso.filexist(FName) then end

set f = fso.getfile(Fname)

set ts = f.openastextstream(8,-2)

ts.writeline dataset

ts.close

Fai riferimento agli . su VbA, saluti e auguri B)

  • 1 month later...
Inserita:

Rispodo a BrunoL8 in ritardo, sai che la priorità nelle aziende è provare le macchine da spedire e non fare

queste subroutines che per i meccanici sono una solenne perdita di tempo.......

Dopo un pò di tentativi e una sbirciata a ciò che ha fatto qualcuno più bravo di me sono riuscito a

far funzionare la visualizzazione di un file csv senza scomodare il plc.

Dim objFile, lngLinea, strNomeFile, strLine, a_strField, riga

riga = record_pointer

Call S_PulisciElencoProduzione

strNomeFile= "\storage card\production.xls"

If PtScp.S_blnEsisteFile(strNomeFile) Then

Set objFile=CreateObject("FileCtl.File")

objFile.Open strNomeFile, 1

lngLinea = 0

While Not objFile.Eof

lngLinea = lngLinea + 1

strLine=objFile.LineInputString

If Trim(strLine)<>"" Then

a_strField=Split(strLine, ";")

Select Case lngLinea

Case riga:Day_01 = Mid(CStr(a_strField(0)), 2):Hour_01 = CStr(a_strField(1)):Operator_01 = CStr(a_strField(2)):Prg_number_01 = CStr(a_strField(3)):Prg_name_01 = CStr(a_strField(4)):Qty_01 = CStr(a_strField(5)):Elapsed_01 = CStr(a_strField(6)):Produced_01 = CStr(a_strField(7)):Total_01 = StrReverse(Mid(StrReverse(CStr(a_strField(8))), 2))

Case riga+1:Day_02 = Mid(CStr(a_strField(0)), 2):Hour_02 = CStr(a_strField(1)):Operator_02 = CStr(a_strField(2)):Prg_number_02 = CStr(a_strField(3)):Prg_name_02 = CStr(a_strField(4)):Qty_02 = CStr(a_strField(5)):Elapsed_02 = CStr(a_strField(6)):Produced_02 = CStr(a_strField(7)):Total_02 = StrReverse(Mid(StrReverse(CStr(a_strField(8))), 2))

così via fino a case 20 ......

End Select

End If

Wend

objFile.Close

Last_record = lngLinea

End If

pigroplc

  • 2 weeks later...
Inserita:

Ciao se vai sul sito della siemens trovi un esempio, cerca questa FAQ

ID:976820 /

Lettura e scrittura di dati in/da una tabella Excel opp. banca dati Access con script Visual Basic e ProTool/Pro

Ciao Mauro

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