Vai al contenuto
PLC Forum


Suddivisione memoria mappatura GSD


fiorezzz

Messaggi consigliati

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

Cattura.PNG

Link al commento
Condividi su altri siti


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

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

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

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

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

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

  • 3 weeks later...
Cesare Nicola
il 17/5/2019 at 11:20 , fiorezzz scrisse:

Ma quindi è solo una suddivisone per "logica" migliore comprensione del codice

 

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

 



image.png.5dc1544666fa184cc8adb9cb1130c6c1.png

Link al commento
Condividi su altri siti

mirko.trevenzoli

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: da mirko.trevenzoli
Link al commento
Condividi su altri siti

  • 1 year later...
Angelo Di Pietro

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

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

Ospite
Questa discussione è chiusa alle risposte.
×
×
  • Crea nuovo/a...