Jump to content
PLC Forum


fiorezzz

Suddivisione memoria mappatura GSD

Recommended Posts

fiorezzz

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

Share this post


Link to post
Share on other sites

pigroplc

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.

Share this post


Link to post
Share on other sites
fiorezzz

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 

Share this post


Link to post
Share on other sites
fiorezzz

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  

Share this post


Link to post
Share on other sites
pigroplc
1 ora fa, fiorezzz scrisse:

Apparentemente i dati in arrivo leggendo semplicemente dall'indirizzo di periferia  (Tabella Vat  EW....  )  sono identici  

Non avevo dubbi.

Share this post


Link to post
Share on other sites
fiorezzz
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 

Share this post


Link to post
Share on other sites
pigroplc
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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.

Edited by mirko.trevenzoli

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...