Vai al contenuto
PLC Forum


Salvataggio Parametri Sinamics Via Profibus


Messaggi consigliati

Inserito:

Ho già inoltrato la domanda direttamente ad un utente che sembra essere molto ferrato, ma visto lo scopo di questo forum trovo più giusto scriverlo anche qui

Premetto che ho provato tutte le strade percorribili, compresa hotline...

Ho fatto la gestione in cascata dell'invio parametri con SFC58/59, uno alla volta, per i blocchi di posizionamento e altro.

Funziona prefettamente... tranne che per il p0971: il salvataggio in rom dei dati fino a quel punto cambiati.

Quindi al riavvio ho tutto come in partenza, perdendo tutte le modifiche di parametri inviate

Ho provato in tutte le forme e le sostanze ma nisba: qualcuno ci sei è riuscito?

Se si può dirmi come?

grazie e ciao!

Federico


Inserita:

Devi scrivere 1 nel parametro 977 della CU e non nel Sinamics.

Il parametro torna a 0 quando la CU ha finito di salvare tutti i parametri in ROM.

  • 4 months later...
Inserita:

Mi aggancio qui per una questione di compatibilità col tipo di domanda che volevo fare.

Dovendo inviare dei parametri ad una CU320, mi basta usare la SFC58, utilizzando il suo telegramma standard, (che nel mio caso è un PZD 2/2), usando come indirizzo logico per la SFC58 quello progettato in STEP 7, e il tutto funziona? Oppure devo configurare un telegramma particolare sul lato ControlUnit e sul lato STEP 7??

Uso lo STARTER 4.1.1.0 e non mi permette di configurare nel telegramma altro che dati PZD. Vado tranquillo?

Inserita:

Trasferire parametri e gestire l'asse sono 2 cose separate:

il tipo di telegramma è mappato per gestire i segnali di scambio che ciclicamente vengono aggiornati da e verso il plc;

il trasferimento di parametri si gestisce ad evento, cioè tu decidi quando mandare i parametri che decidi. A tal proposito ti consiglio l'utilizzo delle SFB52 e SFB53 al posto delle SFC58 e SFC59 in quanto contengono il flag di job effettuato, cosa non indifferente quando devi effettuare job in cascata.

Sempre per quanto riguarda l'utilizzo delle SFB/SFC tieni conto che lavorano trasferendo i dati quando il profibus non sta lavorando nella trasmissione con il resto dell'impianto.

Il formato dati per il colloquio è il DS47.

buon divertimento

pigroplc

Inserita:
Trasferire parametri e gestire l'asse sono 2 cose separate:

Questo è chiarissimo ed inequivocabile.

il tipo di telegramma è mappato per gestire i segnali di scambio che ciclicamente vengono aggiornati da e verso il plc;

il trasferimento di parametri si gestisce ad evento, cioè tu decidi quando mandare i parametri che decidi.

Questo è altrettanto chiarissimo. La domanda era: non mi serve dichiarare indirizzamenti per l'inserimento dei dati aciclici? Si aggiustano le SFC/SFB ad indirizzare il pacchetto all'azionamento, sempicemente indicando l'indirizzo logico più basso mappato per lo scambio ciclico?

Sempre per quanto riguarda l'utilizzo delle SFB/SFC tieni conto che lavorano trasferendo i dati quando il profibus non sta lavorando nella trasmissione con il resto dell'impianto.

Anche questo è chiaro. PErò mi suggerisci una domanda: meglio ridurre od aumentare le risorse di comunicazione per garantire l'invio/ricezione di dati aciclici in tempi ragionevolmente brevi?

Il formato dati per il colloquio è il DS47.

buon divertimento

Sarà davvero un divertimento visto che anche siemens ha le idee confuse in taluni sensi. Visto che ne parli come se li usassi tutti i giorni; per leggere dati aciclici, devo prima scrivere la richiesta con un SEND, per poi attendermi la risposta con un RECIVE? Questo non mi è chiaro, perchè tra parametro RECORD della SFB, parametro JOB dell'header delle richieste, non mi è chiaro quale dei due prendere come riferimento. Mi pare di capire che, spedito un pacchetto con un numero di JOB, riceverò un pacchetto con lo stesso numero di JOB. Quindi, per concludere: uso SFB53 per inviare la richiesta di lettura, e subito dopo uso SFB52 per ricevere la risposta??

Grazie infinitamente.

Inserita:

Tanto per fare un commento fuori dai denti, i Sinamics sono gli unici azionamenti che ho mai usato che non permettono di linkare qualsiasi parametro allo scambio dati ciclico del profibus. Fidatevi, di azionamenti ne ho messi in funzione tanti.

Ciao.

Moreno

Inserita:

ti lascio il divertimento di scrivere la soluzione della ciclica con le SFB con il bit di done, altrimenti che gusto c'è, e poi è piu' semplice.

comincia a far funzionare questa.

(mancava i DS47 per richiesta di lettura)

WriteJob_with_ReadReques STRUCT

Job_Nr BYTE B#16#1 Job number (0...255), job identification

Job_ID BYTE B#16#1 Job type:Parameter read = 1; Parameter write = 2

Axis_Object_Nr BYTE B#16#2 Axis Object Nr. (Profibus sub ID)

Number_of_Parameters BYTE B#16#D Number_of_Parameters to read/write

Parameter_type BYTE B#16#10 Type of Parameter: 10 Value, 20 Description, 30 Text

Number_of_SubIndexes BYTE B#16#1 Number of subIndexes to read/write

Parameter_Number WORD W#16#A0B Parameter number P2571 max speed

Subindex WORD W#16#0 Subindex

Parameter_type1 BYTE B#16#10 Type of Parameter: 10 Value, 20 Description, 30 Text

Number_of_SubIndexes1 BYTE B#16#1 Number of subIndexes to read/write

Parameter_Number1 WORD W#16#A0C Parameter number P2572 Acceleration

Subindex1 WORD W#16#0 Subindex

Parameter_type2 BYTE B#16#10 Type of Parameter: 10 Value, 20 Description, 30 Text

Number_of_SubIndexes2 BYTE B#16#1 Number of subIndexes to read/write

Parameter_Number2 WORD W#16#A0D Parameter number 2573 Deceleration = A0Dhex

Subindex2 WORD W#16#0 Subindex

Parameter_type3 BYTE B#16#10 Type of Parameter: 10 Value, 20 Description, 30 Text

Number_of_SubIndexes3 BYTE B#16#1 Number of subIndexes to read/write

Parameter_Number3 WORD W#16#A19 Parameter number P2585 Jog 1 = A19hex

Subindex3 WORD W#16#0 Subindex

Parameter_type4 BYTE B#16#10 Type of Parameter: 10 Value, 20 Description, 30 Text

Number_of_SubIndexes4 BYTE B#16#1 Number of subIndexes to read/write

Parameter_Number4 WORD W#16#A1A Parameter number P2586 Jog 2 = A1Ahex

Subindex4 WORD W#16#0 Subindex

Parameter_type5 BYTE B#16#10 Type of Parameter: 10 Value, 20 Description, 30 Text

Number_of_SubIndexes5 BYTE B#16#1 Number of subIndexes to read/write

Parameter_Number5 WORD W#16#A27 Parameter number P2599 Homing coordinate = A27hex

Subindex5 WORD W#16#0 Subindex

Parameter_type6 BYTE B#16#10 Type of Parameter: 10 Value, 20 Description, 30 Text

Number_of_SubIndexes6 BYTE B#16#1 Number of subIndexes to read/write

Parameter_Number6 WORD W#16#9F2 Parameter number P2546 Following error while moving = 9F2hex

Subindex6 WORD W#16#0 Subindex

Parameter_type7 BYTE B#16#10 Type of Parameter: 10 Value, 20 Description, 30 Text

Number_of_SubIndexes7 BYTE B#16#1 Number of subIndexes to read/write

Parameter_Number7 WORD W#16#9F0 Parameter number P2544 Positioning window while moving = 9F0hex

Subindex7 WORD W#16#0 Subindex

Parameter_type8 BYTE B#16#10 Type of Parameter: 10 Value, 20 Description, 30 Text

Number_of_SubIndexes8 BYTE B#16#1 Number of subIndexes to read/write

Parameter_Number8 WORD W#16#A14 Parameter number P2580 Negative overtravel = A14hex

Subindex8 WORD W#16#0 Subindex

Parameter_type9 BYTE B#16#10 Type of Parameter: 10 Value, 20 Description, 30 Text

Number_of_SubIndexes9 BYTE B#16#1 Number of subIndexes to read/write

Parameter_Number9 WORD W#16#A15 Parameter number P2581 Positive overtravel = A15hex

Subindex9 WORD W#16#0 Subindex

Parameter_type10 BYTE B#16#10 Type of Parameter: 10 Value, 20 Description, 30 Text

Number_of_SubIndexes10 BYTE B#16#1 Number of subIndexes to read/write

Parameter_Number10 WORD W#16#A28 Parameter number P2600 Zero offset = A28hex

Subindex10 WORD W#16#0 Subindex

Parameter_type11 BYTE B#16#10 Type of Parameter: 10 Value, 20 Description, 30 Text

Number_of_SubIndexes11 BYTE B#16#1 Number of subIndexes to read/write

Parameter_Number11 WORD W#16#9EF Parameter number P2543 Standstill monitoring time = 9EFhex

Subindex11 WORD W#16#0 Subindex

Parameter_type12 BYTE B#16#10 Type of Parameter: 10 Value, 20 Description, 30 Text

Number_of_SubIndexes12 BYTE B#16#1 Number of subIndexes to read/write

Parameter_Number12 WORD W#16#9EE Parameter number P2542 Standstill window = 9EEhex

Subindex12 WORD W#16#0 Subindex

END_STRUCT

(mancava i DS47 per lettura)

Read_response STRUCT

Job_Nr_mirror BYTE B#16#0 Number of Job (response mirror)

Response_ID BYTE B#16#0 Job_ID response (response mirror)

Axis_Object_Nr_mirror BYTE B#16#0 Axis_Object_Nr (response mirror)

Number_of_Parameters_req BYTE B#16#D Number_of_Parameters requested

Parameter_type_req BYTE B#16#0 Parameter_type requested

Number_of_SubIndexes_req BYTE B#16#0 Number_of_SubIndexes requested

Parameter_Speed DWORD DW#16#0 Value max speed

Parameter_type_req1 BYTE B#16#0 Parameter_type requested

STAT_1 BYTE B#16#0 Number_of_SubIndexes requested

Parameter_Acceleration DWORD DW#16#0 Value acceleration

Parameter_type_req2 BYTE B#16#0 Parameter_type requested

STAT_2 BYTE B#16#0 Number_of_SubIndexes requested

Parameter_Deceleration DWORD DW#16#0 Value deceleration

Parameter_type_req3 BYTE B#16#0 Parameter_type requested

STAT_3 BYTE B#16#0 Number_of_SubIndexes requested

Parameter_Jog_1 DWORD DW#16#0 Value Jog 1

Parameter_type_req4 BYTE B#16#0 Parameter_type requested

STAT_4 BYTE B#16#0 Number_of_SubIndexes requested

Parameter_Jog_2 DWORD DW#16#0 Value Jog 2

Parameter_type_req5 BYTE B#16#0 Parameter_type requested

STAT_5 BYTE B#16#0 Number_of_SubIndexes requested

Parameter_Home_coord DWORD DW#16#0 Value homing coordinate

Parameter_type_req6 BYTE B#16#0 Parameter_type requested

STAT_6 BYTE B#16#0 Number_of_SubIndexes requested

Parameter_foll_moving DWORD DW#16#0 Value following error while moving

Parameter_type_req7 BYTE B#16#0 Parameter_type requested

STAT_7 BYTE B#16#0 Number_of_SubIndexes requested

Parameter_pos_window DWORD DW#16#0 Value positioning window

Parameter_type_req8 BYTE B#16#0 Parameter_type requested

STAT_8 BYTE B#16#0 Number_of_SubIndexes requested

Parameter_negative_ov DWORD DW#16#0 Value negative overtravel

Parameter_type_req9 BYTE B#16#0 Parameter_type requested

STAT_9 BYTE B#16#0 Number_of_SubIndexes requested

Parameter_positive_ov DWORD DW#16#0 Value positive overtravel

Parameter_type_req10 BYTE B#16#0 Parameter_type requested

STAT_10 BYTE B#16#0 Number_of_SubIndexes requested

Parameter_zero_offset DWORD DW#16#0 Value zero offset

Parameter_type_req11 BYTE B#16#0 Parameter_type requested

STAT_11 BYTE B#16#0 Number_of_SubIndexes requested

Parameter_stand_time DWORD DW#16#0 Value standstill time

Parameter_type_req12 BYTE B#16#0 Parameter_type requested

STAT_12 BYTE B#16#0 Number_of_SubIndexes requested

Parameter_stand_window DWORD DW#16#0 Value standstill window

END_STRUCT

così è proprio tutto.

pigroplc

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