fiorezzz Inserito: 15 maggio 2019 Segnala Share Inserito: 15 maggio 2019 Salve a tutti Durante il "setup" dei file gsd per comunicare con le varie periferiche occorre impostare quanti byte di dati ci si scambia Nel caso ci si debba scambiare ad esempio 10 byte quel è la differenza nell'usare nel GSD un solo"componente" che riporti lo scambio e mappatura di 10 byte invece di 10 "componenti" che mappano e scambiano 1 solo byte Nell'esempio che allego lo scambio è suddiviso in 3word+16word+1word (Tot.20Word)... quale sarebbe la differenza se facessi 20righe di 1 Word? Grazie per la collaborazione Link al commento Condividi su altri siti More sharing options...
pigroplc Inserita: 15 maggio 2019 Segnala Share Inserita: 15 maggio 2019 sarebbe interessante sapere intanto il destinatario di tali byte che componente è. Se si tratta di scambio dati fra PLC per esempio io ero solito utilizzare i dati globali e tenevo separate le aree come logica di utilizzo: per esempio la prima area erano le word che contenevano i bit di comando, le word successive contenevano dati delle ricette e ultima word contiene i bit di allarme. All'interno della singola riga penso sia poi garantito l'aggiornamento coerente dell'area di memoria. Link al commento Condividi su altri siti More sharing options...
fiorezzz Inserita: 16 maggio 2019 Autore Segnala Share Inserita: 16 maggio 2019 Il tipo di periferica è un dispositivo che non è un PLC è diciamo un'altra mc che non ha un PLC Ma questo credo che importi poco ..Visto che è un metodo di scambio dati tra PLC e altre periferiche abbastanza comune (Telegrammi Siemens a Parte) La domanda nasce da una periferica che ho sostituito da Profibus a Profinet ; in Profibus mi era stato detto di mappare come in esempio ..in Profinet mi hanno detto che basta che metta un unica riga da 20word (Prevista come modulo nel loro GSD ..come previsti i moduli da 3word..16word ecc..) Non ho ancora provato e mi sono posto la domanda Link al commento Condividi su altri siti More sharing options...
fiorezzz Inserita: 16 maggio 2019 Autore Segnala Share Inserita: 16 maggio 2019 Aggiornamento Ho fatto un piccola prova cambiando il protocollo di scambio dati ..anziche una suddivisione tipo 3+16+1 Word ho fatto un blocco unico di 20Word Apparentemente i dati in arrivo leggendo semplicemente dall'indirizzo di periferia (Tabella Vat EW.... ) sono identici Link al commento Condividi su altri siti More sharing options...
pigroplc Inserita: 16 maggio 2019 Segnala Share Inserita: 16 maggio 2019 1 ora fa, fiorezzz scrisse: Apparentemente i dati in arrivo leggendo semplicemente dall'indirizzo di periferia (Tabella Vat EW.... ) sono identici Non avevo dubbi. Link al commento Condividi su altri siti More sharing options...
fiorezzz Inserita: 17 maggio 2019 Autore Segnala Share Inserita: 17 maggio 2019 il 15/5/2019 at 23:27 , pigroplc scrisse: sarebbe interessante sapere intanto il destinatario di tali byte che componente è. Se si tratta di scambio dati fra PLC per esempio io ero solito utilizzare i dati globali e tenevo separate le aree come logica di utilizzo: per esempio la prima area erano le word che contenevano i bit di comando, le word successive contenevano dati delle ricette e ultima word contiene i bit di allarme. All'interno della singola riga penso sia poi garantito l'aggiornamento coerente dell'area di memoria. Ma quindi è solo una suddivisone per "logica" migliore comprensione del codice o per esempio se ho una word dove metto un numero è meglio che questa sia su un singolo modulo per essere sicuri della "consistenza" del dato ..spero di essermi spiegato in cosi poche righe Link al commento Condividi su altri siti More sharing options...
pigroplc Inserita: 19 maggio 2019 Segnala Share Inserita: 19 maggio 2019 il 17/5/2019 at 11:20 , fiorezzz scrisse: Ma quindi è solo una suddivisone per "logica" migliore comprensione del codice o per esempio se ho una word dove metto un numero è meglio che questa sia su un singolo modulo per essere sicuri della "consistenza" del dato ..spero di essermi spiegato in cosi poche righe fiorezzz, io ricorro a qualsiasi dettaglio per ottenere un codice il più possibile comprensibile. Separare i campi come già scritto per me è come una sorta di separazione dell'utilizzo, mi aiuta quindi ad identificare l'area e il suo scopo. Link al commento Condividi su altri siti More sharing options...
Cesare Nicola Inserita: 7 giugno 2019 Segnala Share Inserita: 7 giugno 2019 il 17/5/2019 at 11:20 , fiorezzz scrisse: Ma quindi è solo una suddivisone per "logica" migliore comprensione del codice Sì il 16/5/2019 at 08:17 , fiorezzz scrisse: mi hanno detto che basta che metta un unica riga da 20word Tecnicamente hanno ragione ma sono poco attenti alla leggibilità del software. Magari sono dei giovani con buona memoria; io e PigroPlc, che siamo dei diversamente giovani, non ci ricordiamo quello che abbiamo fatto la settimana scorsa, quindi più un software è leggibile, meglio è. E' una battuta per dire di non sottovalutare la leggibilità di un software: ragiona in modo che un software possa anche prenderlo in mano un tuo collega o un manutentore del tuo cliente e più ci capiranno meno ti romperanno le scatole, più bella figura farai e più soddisfazione ricaverai dal tuo lavoro. Nell'immagine qui sotto vedi un progetto a cui sto lavorando in questo momento. A sinistra un GSD ricevuto da una signora ditta con programmatori in gamba (davvero, non scherzo); a destra un I/O device creato da un quaraquaqua, cioè io. Non ci ho mica messo una giornata a scrivere quattro commenti. 🙂 Link al commento Condividi su altri siti More sharing options...
mirko.trevenzoli Inserita: 7 giugno 2019 Segnala Share Inserita: 7 giugno 2019 (modificato) Circa un annetto fa ho dovuto scambiare dati con un plc B&R collegato in profinet. Dal mio lato avevo una 317F 2pn-dp Avuto il gsd dal programmatore B&R, abbiamo stabilito una comunicazione con una quindicina di booleani e 5/6 real. A parte che B&R vuole un byte per ogni booleano, quindi per il booleano 1, il primo bit del primo byte, per il secondo booleano il primo bit del byte 2 etc etc, se non ricordo male ho provato a sostituire i 15 byte singoli con un unica riga della lunghezza necessaria , ma così facendo non c'è stato modo di far funzionare la comunicazione. Appena ho tempo allego screenshot della configurazione hardware. Modificato: 7 giugno 2019 da mirko.trevenzoli Link al commento Condividi su altri siti More sharing options...
Angelo Di Pietro Inserita: 4 agosto 2020 Segnala Share Inserita: 4 agosto 2020 Buonasera, mi accodo a questo post perché penso possiate aiutarmi. Ho necessità di collegare in rete profibus una cpu315-2 DP con slave T2550 Eurotherm. Nel dettaglio devo scrivere dei registri del T2550 con delle variabili di tipo reale dell' S7 300. Eurotherm mi ha fornito un file GSD che per il T2550 è vuoto. Come devo configurarlo per scrivere i dati nel T2550? Si aspettano variabili floating point di lunghezza 4 Byte. Saluti Angelo Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 5 agosto 2020 Segnala Share Inserita: 5 agosto 2020 Nuovo utente che probabilmente non ha letto il regolamento prima di avvettarlo: Quote s) ...Vietato accodarsi alle discussioni di altri utenti, anche con apparente eguaglianza del problema. bisogna sempre aprire una nuova discussione. Questa discussionme, inoltre è ferma da oltre un anno. Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati