RickyM Inserito: 2 agosto 2007 Segnala Share Inserito: 2 agosto 2007 Ciao a tutti,C'è un metodo veloce per editare una db, per esempio esportare in excel oppure aprire il file delle descrizioni con un editor un pò più evoluto di quello di step7? Link al commento Condividi su altri siti More sharing options...
Luca Bab Inserita: 2 agosto 2007 Segnala Share Inserita: 2 agosto 2007 Il copia / incolla funziona molto beneSe ti selezione tutte le righe nella DB poi fai incolli in word ti mette una tabulazione tra le colonne , se lo fai in excel ti mette i dati gia' incolonnati ( devi solo allargare o stringere le colonne )Ovviamente non funzia a rovescioCiaoLuca Link al commento Condividi su altri siti More sharing options...
Ecup Inserita: 2 agosto 2007 Segnala Share Inserita: 2 agosto 2007 Ovviamente non funzia a rovescioQuindi è inutile se lo scopo è "editare" la DB... (nel senso che la DB non puoi modificarla perché non puoi "incollare").Effettivamente è una domanda che mi sono posto anch'io diverse volte, ma poi non sono mai venuto a capo di niente.ciao Link al commento Condividi su altri siti More sharing options...
Luca Bab Inserita: 2 agosto 2007 Segnala Share Inserita: 2 agosto 2007 per esempio esportare in excelIn questo caso funzia ,lo scopo è "editare" la DBin questo nonel senso che la DB non puoi modificarla perché non puoi "incollarepuoi incollare , ma copiando da DB , non da EXCELse copi da excel o da word lo puoi fare ma campo per campociaoLuca Link al commento Condividi su altri siti More sharing options...
mircoelektra Inserita: 2 agosto 2007 Segnala Share Inserita: 2 agosto 2007 Io a volte scrivo la DB come sorgente AWL (in tal modo ho tutti i comandi "taglia", "copia", "incolla", ecc. tipici di un qualunque editor di testo), quindi la compilo.Utilizzo questo metodo soprattutto quando voglio assegnare dei valori ai campi della DB. Link al commento Condividi su altri siti More sharing options...
Ecup Inserita: 2 agosto 2007 Segnala Share Inserita: 2 agosto 2007 se copi da excel o da word lo puoi fare ma campo per campoBeh, ma campo per campo non ci si guadagna niente.Buona l'idea di scriverla come sorgente... non ci avevo mai pensato Link al commento Condividi su altri siti More sharing options...
Henon Inserita: 24 agosto 2007 Segnala Share Inserita: 24 agosto 2007 Con Excel o con qualche altro programma puoi farti una macro che crea un file.txt con la sintassiusata per creare una Sorgente AWL (della DB da Creare o Modificare), oppure ti creai una Sorgente SCL (della DB da Creare o Modificare), In questo modo in Excel ti prepari tutti i Commenti (Magari in lingue anche diverse), ti crei tutti gli allarmi,stati etc (Struttura adeguata alla tua applicazione). Inoltre potresti crearti anche tutte le TAGs per l'uso in HMI.In questo modo dalla Motor-List ti creai e sincronizzi immediatamente sia le DB nel PLC, che le tags per la Supervisione HMI.Poi nel PLC importi il File Sorgente AWL oppure Sorgente SCL, e con questa ti ricrei la DB perfettamenteaggiornata con la Motor-List della nuova macchina.Nella stessa maniera ti importi nella tua supervisione le Tags generate da Excel. Link al commento Condividi su altri siti More sharing options...
dago_ Inserita: 24 agosto 2007 Segnala Share Inserita: 24 agosto 2007 Sub CreaDB() 'Esempio di Macro per Excel 'Colonna A = Nome 'Colonna B = Tipo 'Colonna C = Valore iniziale 'Colonna D = Commento 'I valori attuali si formano automaticamente al momento della compilazione in Step 7 'è comunque possibile inserirli con lo stesso sistema. 'Questo programma crea un file con estensione AWL (per il "dove lo crea" vedi NomeFile) 'Il file deve essere importato nel progetto Step7 > Sorgenti > Sorgente esterna... '===========================IMPORTANTE================================ 'Prima di compilare il sorgente controllare il numero del "DATA_BLOCK DB xxx", xxx è il numero del DB che 'verrà creato nella cartella blocchi.Se avete già un DB con lo stesso numero di xxx ,a seconda delle 'impostazioni di Step7, il vostro DB potrà essere sovrascritto senza chiedervi conferma. 'Quindi occhio al numero xxx '=================================================================== Dim NumFile As Integer Dim NomeFile As String Dim NomeFoglio As String Dim I As Integer Dim Simbolo As String Dim Tipo As String Dim Valore As String Dim Descrizione As String Dim RigaInizio As Integer Dim RigaFine As Integer Dim SimboloVuoto As String Dim TipoVuoto As String Dim ValoreVuoto As String '=================================================================== RigaInizio = 2 'La riga 1 mettiamo l'intestazione delle colonne NOME,TIPO,VALORE INIZIALE,COMMENTO RigaFine = 1024 'Allungabile/accorciabile secondo quantità dati (righe) '=================================================================== 'Questi servono per la compilazione, da RigaInizio a RigaFine ci deve essere sempre qualcosa di valido ' altrimenti restituisce un errore SimboloVuoto = "Simbolo" TipoVuoto = "INT" ValoreVuoto = "0" '=================================================================== NomeFoglio = Worksheets(1).Name NomeFile = "c:\" + NomeFoglio + ".awl" NumFile = FreeFile Open NomeFile For Output As NumFile '=================================================================== Print #NumFile, "DATA_BLOCK DB 999" 'Numero a caso del DB Print #NumFile, "TITLE = Titolo" Print #NumFile, "AUTHOR : Dago" Print #NumFile, "FAMILY : Dago" Print #NumFile, "NAME : Dago" Print #NumFile, "VERSION : 0.1" '=================================================================== Print #NumFile, "STRUCT" For I = RigaInizio To RigaFine Simbolo = Worksheets(NomeFoglio).Range("A" + CStr(I)).Value If Simbolo = "" Then Simbolo = SimboloVuoto + CStr(I) Tipo = Worksheets(NomeFoglio).Range("B" + CStr(I)).Value If Tipo = "" Then Tipo = TipoVuoto Valore = Worksheets(NomeFoglio).Range("C" + CStr(I)).Value If Valore = "" Then Valore = ValoreVuoto Descrizione = Worksheets(NomeFoglio).Range("D" + CStr(I)).Value Print #NumFile, Simbolo & " : " & Tipo & " := " & Valore & ";" & " //" + Descrizione Next I Print #NumFile, "END_STRUCT;" '=================================================================== Print #NumFile, "BEGIN" 'Qui si possono scrivere i valori "attuali" 'Print #NumFile, Simbolo & " := " & Valore & ";" Print #NumFile, "END_DATA_BLOCK" Close End Sub Link al commento Condividi su altri siti More sharing options...
Henon Inserita: 25 agosto 2007 Segnala Share Inserita: 25 agosto 2007 Bravo Dago_ , questo e' un bel esempio di Macro VBA per EXCEL. Comunque con il medesimo criterio potresti costruirti ancle la Sorgente SCL.Io Preferisco la Sorgente SCL, perche' voglio usare lo Standard IEC 61131-3 cosi' facendoposso utilizzare le sorgente fatte in STL-SCL anche per altri tipi di PLC.inoltre la sintassi di scrittura di una DB, usando SCL mi sembra piu' semplice.Per facilita' e comodita' d'uso ho preferito farmi una piccola applicazione in Delphi, per creare questesorgenti in SCL, in questo modo posso crearmi le Strutture Dati, che voglio e commentarle nellalingua che desidero, la struttura dati creata.In sostanza e' abbastanza semplice perche' si costruisce un file di tipo testo. Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora