Vai al contenuto
PLC Forum


Telegrammi cu305 -cpu313c


coquinati

Messaggi consigliati

Salve ,

ho iniziato  da poco a studiare  starter  con un manuale e programma esempio fornito come futuro  aiuto ancora nel 2013 da un amico programmatore .

Nel frattempo ho acquistato anche una cu305DP un power module (ingresso d’alimentazione in  220v così posso usarlo anche con la rete domestica )  una cpu 313c 2 DP e prossimamente quando disporrò del denaro farò l’acquisto dell’OP.

veniamo al dunque , dal manuale della CU   la trasmissione di dati tra CU e CPU avviene tramite telegrammi :

parole di invio che consistono in parole di stato o valori attuali (da inviare) e parole di ricezione che sono le parole di comando o valori di riferimento (da ricevere)

Mi risulta che il tipo di telegramma voluto si seleziona tramite un parametro (p0922=x)e qua in base alla classe di applicazione si scelgono i più opportuni ( descritti in una tabella nel manuale Siemens ),

e poi con la sfc14/15 dalla cpu si ricevono e inviano .

La sfc sopramenzionata  codifica i telegrammi in base all’indirizzo hardware assegnato  giusto ?

io ho programmato più telegrammi come si nota nella foto allegata ! 

Ma ottengo sempre un solo indirizzo nella configurazione hardware ,  come è possibile ?

ho Allegato anche delle foto sotto !

 

Grazie 

546FE4FB-61D1-4254-AE4A-7730EA5CAC3C.jpeg

D19B45D0-DC86-4A9A-86CC-CBE6F7E08471.jpeg

Link al commento
Condividi su altri siti


approfittando della discussione posso chiedervi anche un consiglio ?
studiando da autodidatta mi risulta parecchio controproducente leggere solo i manuali senza applicarmi , in rete si trovano esercizi da svolgere riguardo la comunicazione con telegrammi ?

io non ne trovo 

Link al commento
Condividi su altri siti

Per sviscerare i telegrammi in modo esaudiente servirebbe una giornata di corso, cercherò in breve di ragguagliarti:

 

in funzione del componente esistono diversi pacchetti (chiamati telegrammi) configurati con i bit mappati secondo una logica standard di mamma Siemens.

Per un alimentatore dei servomotori ci sarà un telegramma con i bit di abilitazione della potenza ecc. mentre per un inverter ci sarà un telegramma con lo start/stop e la frequenza da impostare ecc.

 

Dovrò quindi alzare un bit della word 0 per esempio per abilitare l'inverter e leggerò un altro bit per sapere se è in errore o meno. Siccome questi bit sono da valutare allo stesso momento e sono da scrivere nello stesso momento, si utilizzano le SFC14 e 15 per leggere e scrivere coerentemente il pacchetto di dati che contiene il telegramma, quindi se un un telegramma che ha 6 word in lettura, il mio pacchetto da leggere coerentemente (cioè aver la certezza che mi arrivano in pancia tutti insieme) sarà di 6 word, se fosse di meno perderei qualcosa, se fosse di più andrei a leggere un indirizzo NON aggiornato da componenti oppure aggiornato da altri componenti. Idem per la scrittura, quindi SF14 E 15 DIPENDONO DALLA LUNGHEZZA DEL TELEGRAMMA.

 

scarica questo manuale e leggi il capitolo 3, prima prendi del paracetamolo ........

https://support.industry.siemens.com/cs/document/109477369/fieldbus-systems%3A-profinet-profibus-ethernet-ip-canopen-uss-bacnet-modbus-p1?dti=0&lc=en-WW

   

Modificato: da pigroplc
Link al commento
Condividi su altri siti

10 ore fa, pigroplc scrisse:

Per sviscerare i telegrammi in modo esaudiente servirebbe una giornata di corso, cercherò in breve di ragguagliarti:

 

in funzione del componente esistono diversi pacchetti (chiamati telegrammi) configurati con i bit mappati secondo una logica standard di mamma Siemens.

Per un alimentatore dei servomotori ci sarà un telegramma con i bit di abilitazione della potenza ecc. mentre per un inverter ci sarà un telegramma con lo start/stop e la frequenza da impostare ecc.

 

Dovrò quindi alzare un bit della word 0 per esempio per abilitare l'inverter e leggerò un altro bit per sapere se è in errore o meno. Siccome questi bit sono da valutare allo stesso momento e sono da scrivere nello stesso momento, si utilizzano le SFC14 e 15 per leggere e scrivere coerentemente il pacchetto di dati che contiene il telegramma, quindi se un un telegramma che ha 6 word in lettura, il mio pacchetto da leggere coerentemente (cioè aver la certezza che mi arrivano in pancia tutti insieme) sarà di 6 word, se fosse di meno perderei qualcosa, se fosse di più andrei a leggere un indirizzo NON aggiornato da componenti oppure aggiornato da altri componenti. Idem per la scrittura, quindi SF14 E 15 DIPENDONO DALLA LUNGHEZZA DEL TELEGRAMMA.

 

scarica questo manuale e leggi il capitolo 3, prima prendi del paracetamolo ........

https://support.industry.siemens.com/cs/document/109477369/fieldbus-systems%3A-profinet-profibus-ethernet-ip-canopen-uss-bacnet-modbus-p1?dti=0&lc=en-WW

   

 

grazie molte ,

un telegramma completo  quindi è 32 byte ovvero 15 PZD  (16bit l'una) una word in parole siemens,

all'inizio  e alla fine di ogni telegrammi è posta una STW (scrittura parola di comando)  altrimenti c'è una ZSW (per la lettura della parola di stato).

la sfc14/15 viene usata per la trasmissione di dati coerenti cioè maggiori a 4 bit .  

ho scaricato  il manuale  che mi ha linkato e sono riuscito a colmare alcune lacune di dubbi, tra l'altro ho scoperto anche una tecnica di comunicazione di dati coerenti  detta BICO , mi è sembrato di capire  che consiste in  un telegramma definito  dall'utente. dove si ha la possibilità di inviare segnali digitali es (0-1) detti biconnettori o segnali a 32bit che semplicemente connettori .

domani sera provo continuare con gli studi e venerdi mi sono preso un giorno di ferie cosi stendo qualcosa a livello software . 

vi tengo aggiornati 😃

grazie ancora

Link al commento
Condividi su altri siti

no, un telegramma è composto da diversi byte, non esiste un telegramma completo. può essere un telegramma di 2 byte come un telegramma di 100byte. consideralo come un vero telegramma che si faceva in posta, poteva essere lungo quanto volevi, da una a x parole.

di telegrammi ce ne sono sostanzialmente di 2 tipi, quelli standard, e quelli liberi.

quelli standard sono già confezionati e pronti all'uso ma non puoi cambiare nulla. Siemens mette a disposizione diversi telegrammi standard in base all'uso che devi farne. se ti serve solo impostare una frequenza di rotazione del motore e dare marcia, arresto, jog, ripristinare i guasti avrai il tuo telegramma standard. se vuoi leggere anche i guasti e limitare la coppia ne avrai un'altro etc etc.

quello libero è una scatola aperta. configuri l'inverter come meglio credi e ti crei il tuo telegramma. richiede più dimestichezza, prima meglio imparare ad usare quelli standard.

non è detto che ci siano sempre una stw all'inizio e alla fine

Link al commento
Condividi su altri siti

2 ore fa, ken scrisse:

quello libero è una scatola aperta. configuri l'inverter come meglio credi e ti crei il tuo telegramma. richiede più dimestichezza, prima meglio imparare ad usare quelli standard.

non è detto che ci siano sempre una stw all'inizio e alla fine

Grazie!!

Ma quindi con un PZD si intende sempre e comunque 16bit occupati giusto ?

nonostante tutti i manuali che passo non riesco capire dove  si forma un telegramma di tipo BICO!

impostarlo riesco ma selezionare cosa metterci dentro sinceramente non trovo la pagina su starter 😭

Per cortesia Qualcuno può indicarmi  un percorso ?

 

metto il link del manuale  delle liste Siemens del s110 che mi è stato di fondamentale importanza se mai servisse a qualcuno di voi  !

 

https://cache.industry.siemens.com/dl/files/674/62999674/att_90625/v1/LH7_0612_ita.pdf

Modificato: da coquinati
Link al commento
Condividi su altri siti

Facciamo un esempio:

Nell'inverter hai cablato un segnale digitale es bero di zero o extracorsa e vuoi lo stesso segnale anche nel PLC. Hai quindi 2 opzioni:

1) cablarlo elettricamente anche come ingresso nel PLC

2) inserire il segnale nel telegramma.

   

Link al commento
Condividi su altri siti

il 23/11/2018 at 09:26 , pigroplc scrisse:

Facciamo un esempio:

Nell'inverter hai cablato un segnale digitale es bero di zero o extracorsa e vuoi lo stesso segnale anche nel PLC. Hai quindi 2 opzioni:

1) cablarlo elettricamente anche come ingresso nel PLC

2) inserire il segnale nel telegramma.

   

 

grazie molte a tutti , 

ho ripreso ora in mano la situazione per il fatto che non ho avuto il tempo per ritornare a sfogliare i pdf.

sono riuscito a capirci qualcosa comunque , scoperto anche la pagina di starter "server BICO" dove si riesce vedere la struttura completa di un telegramma, è un po anche da li che mi sono aperto gli occhi .

inoltre mi son chiarito il dubbio  dei più indirizzi che trovavo nella configurazione hardware di step7 , l'indirizzo primario solitamente è della CU e l'altro dell'azionamento (niente meno che la cosiddetta parte di potenza).

ma qua mi sorge un altro dubbio e vorrei chiedere un vostro parere , ci sono telegrammi fatti apposta per CU ? e altri fatti per il PM?

io ero convinto che solo la CU comunicasse con la CPU invece mi sembra di vedere che mi ero capito male come tutte le volte :(

 

grazie ancora

 

cordiali saluti

Modificato: da coquinati
Link al commento
Condividi su altri siti

si, non conosco il tuo drive in particolare ma gli S120 hanno telegrammi per la cu e per i moduli motore. sotto ogni cu possono stare più moduli motore.

sulle cu puoi leggere i bit digitali di I/O ella Cu,e le informazioni della status word, scrivere le uscite digitali e comandare lo stato

Link al commento
Condividi su altri siti

2 ore fa, ken scrisse:

si, non conosco il tuo drive in particolare ma gli S120 hanno telegrammi per la cu e per i moduli motore. sotto ogni cu possono stare più moduli motore.

sulle cu puoi leggere i bit digitali di I/O ella Cu,e le informazioni della status word, scrivere le uscite digitali e comandare lo stato

Grazie molte ken , infatti impostando telegrammi preimpostati da Siemens ho notato che si può andar solo a lavorare sugli ingressi e uscite digitali/analogiche restando in tema CU.

ho provato a stendere un segmento di programma che  dovrebbe leggere gli ingressi ( allego le foto in basso )

siccome devo ancora cablare il mio quadro  volevo un vostro parere su quello che ho fatto , può funzionare così ? Ho tralasciato qualcosa ?

1555C7B4-1108-4D09-9771-536F7B0556D3.jpeg

B2C93391-0B5A-424A-B367-4B295F25427A.jpeg

Link al commento
Condividi su altri siti

  • 3 weeks later...

Ciao ragazzi !!

Come va tutto bene ? 

Io mi sto ancora divertendo/impazzendo nello studio dei telegrammi sempre da autodidatta .

Ho preso in mano un programma esempio  che ha la bellezza di 4 control unit e 15 ,

Per capire come si lavora con una logica professionale e razionale! ho iniziato a studiarlo.

La comunicazione tra cpu e cu avviene  tramite telegrammi definiti dall’utente   BICO ,la prima parola di stato è una parola creata per ricevere vari Bit di abilitazioni .

( si visualizza nel convertitore binettore-connettore )

per essere precisi  il primo bit è un power_up !

La sfc 14 punta al primo bit !!ma guarda caso non è  quello del  power_up ma un altro !C’è un byte di differenza messo prima che non capisco da dove e come viene trasmesso ( vi allego le foto così si capisce meglio )

Io dalle parole di stato questo byte non mi risulta nemmeno essere trasmesso ! Da dove è che può saltar fuori ? Proprio non lo vedo sembra quasi una cosa di default

 

0163F385-C764-4755-BB93-61C2A9845CB5.jpeg

Modificato: da coquinati
Link al commento
Condividi su altri siti

1B560284-9386-4B9F-B355-A72F4C4E984F.jpeg

 

 

 

il byte parte da "setpoint_devation" a "converter_overload"  come si può vedere non è presente nelle parole di stato eppure l'azionamento selezionato è quello giusto 

Modificato: da coquinati
Link al commento
Condividi su altri siti

Ne sto uscendo un po’ alla volta .

la variabile “pzd_control” che mi trovo nelle stat corrisponde al “comando richiesto” poco importa questo .. la cosa più assurda che nella trasmissione è impostata come nono bit ! Ma nella stat della fb è il secondo !

sembra  che durante l’invio  della pzd il “byte che va dal bit 8 al 15” transla di posizione invertendosi  con il primo byte della stessa pzd 

sui manuali non trovo nulla a riguardo !:(

 

 

59CE1FBE-EC37-435B-8A86-D4A3744C8856.jpeg

Modificato: da coquinati
Link al commento
Condividi su altri siti

Ciao

cosa normale se parli di word o doppie word, ricorda sempre che mamma siemens inverte i byte della word, ovvero se prendiamo la word 0, questa sarà composta dal byte o e 1 e se tu imposti il bit 0.0 a 1 nella word risulta l'ottavo bit ad uno e non il bit zero, se invece metti a 1 il bit 1.0 nella word sarà a uno il bit zero.

 

Saluti

Link al commento
Condividi su altri siti

21 minuti fa, TravelMen scrisse:

Ciao

cosa normale se parli di word o doppie word, ricorda sempre che mamma siemens inverte i byte della word, ovvero se prendiamo la word 0, questa sarà composta dal byte o e 1 e se tu imposti il bit 0.0 a 1 nella word risulta l'ottavo bit ad uno e non il bit zero, se invece metti a 1 il bit 1.0 nella word sarà a uno il bit zero.

 

Saluti

 

grazie  mille gentilissimo !!!!!!

mi sei stato di grande aiuto,

devo abituarmi a ragionare con questa logica allora !

:)

saluti

Modificato: da coquinati
Link al commento
Condividi su altri siti

il 18/12/2018 at 22:35 , TravelMen scrisse:

Ciao

cosa normale se parli di word o doppie word, ricorda sempre che mamma siemens inverte i byte della word, ovvero se prendiamo la word 0, questa sarà composta dal byte o e 1 e se tu imposti il bit 0.0 a 1 nella word risulta l'ottavo bit ad uno e non il bit zero, se invece metti a 1 il bit 1.0 nella word sarà a uno il bit zero.

 

Saluti

 

dai manuali viene detta anche configurazione dei bit su logica  big endian se non sbaglio ,  ma quando io vado inviare una word impostata come connettore ( dati della velocità,coppia,corrente) nel momento della ricezione nel plc la ricevo "storta" quindi con un valore sfalsato a quello che dovrebbe essere. 

teoricamente usando l'istruzione RLD in awl dovrei riottenere il corretto risultato. 

è corretto ?

grazie

Modificato: da coquinati
Link al commento
Condividi su altri siti

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