Vai al contenuto
PLC Forum


INFORMAZIONI PROTOCOLLO USS


sorecaro

Messaggi consigliati

Salve a tutti, come da titolo sono qui a chiedere informazioni sul protocollo USS. Premetto che ho letto il documento di Drugo66 e il manuale della Siemens, ma ci sono alcune cose che non mi tornano.

L'applicazione che devo fare e' quella di controllare 2 inverter con un plc s71200 (marcia, arresto, regolazione velocita') quindi nulla di che.

La mia perplessita' maggiore e' nell'Istruzione USS_PORT che si trova in: Comunicazione>>>Processore di comunicazione>>>USS.

Tale istruzione deve essere inserita in un OB a tempo, e fin qui tutto ok. Quello che non mi quadra e' il parametro che ha ingresso questa istruzione, cioe' USS_DB. Da quello che ho letto devo inserire la DB che mi creo con l'istruzione USS_DRV. , quindi nella main inserisco l'istruzione USS_DVR, tale istruzione mi crea la sua DB, e questa"DB" la inserisco nel parametro USS_DB. Il problema nasce che io devo controllare 2 inverter, quindi avro' 2 istruzioni USS_DVR e due DB differenti. Quale paramentro inserisco nell'istruzione USS_PORT??

Ho pensato di inserire 2 istruzioni USS_DVR con un'unica DB ma non mi torna. Spero di essere stato il piu' chiaro possibile.

Grazie

 

Link al commento
Condividi su altri siti


Ciao,

USS_PORT gestisce la comunicazione con N inverter, in pratica gestisce la porta, ma non gli inverter; USS_DRV comanda il singolo inverter e condivide con USS_PORT sempre lo stesso blocco dati USS_DB, nonostante chiami USS_DRV per 2, 3 o N volte; infatti nella guida, a pagina 8, ho scritto:

 

Quote

Come OB ciclico ho scelto OB30, quindi al suo interno si trova l'istruzione USS_PORT, con la gestione dell'eventuale errore che imposta anche un bit di errore porta (M27.0); per l'utilizzo dell'istruzione occorre impostare:
• L'ID hardware della porta RS 485, quindi del modulo in PORT, che si trova nella struttura PortParam nel DB DBDrives.
• Il baudrate utilizzato in BAUD, che si trova sempre nella struttura PortParam nel DB DBDrives.
• Il DB utilizzato per l'esecuzione dell'istruzione USS_DRV in USS_DB, che è lo stesso per tutti gli inverter, anche se l'istruzione è eseguita più volte (una per ogni inverter).

 

Probabilmente, l'equivico nasce dal fatto che poi ho scritto una FB1090 che al suo interno utilizza USS_DRV, e che, essendo un blocco FB, necessita di un DB di istanza diverso ogni volta che la si chiama (questa sì) e quindi uno per ogni inverter; per USS_DRV, invece, c'è sempre lo stesso DB, lo stesso passato a USS_PORT; limitandomi poi a chiamare 2 volte FB1090 (con 2 diversi DB), non si fa caso al fatto che l'istruzione USS_DRV è legata sempre allo stesso DB; oppure, forse, è dovuto al fatto che anche il famigerato USS_DB è anch'esso un DB di istanza ...

 

Detto questo, quando inserisci l'istruzione USS_DRV, il TIA ti propone la creazione di un DB da abbinarci; se è la prima istruzione che inserisci, glielo fai creare, rinominandolo e rinumerandolo o lasciando le impostazioni così come sono, sempre che ti vadano bene; quando la usi per la seconda volta, invece, clicchi su annulla, chiudendo la finestra della creazione del DB e gli vai ad assegnare lo stesso DB che hai creato la prima volta; quando utilizzi USS_PORT, in USS_DB andrai ad inserire esattamente quel DB che hai utilizzato per tutte le istruzioni USS_DRV; per capirci, nel mio progetto è il DB1071 DBUssDrv.

Credo che questo accada perchè i comandi devono essere inviati (e gli stati ricevuti) sempre dalla stessa porta; se usi 2 porte diverse, dovrai stare attento a creare 2 USS_DB e quindi ad assegnarli alle istruzioni USS_PORT con i parametri corretti (fra i parametri c'è anche l'ID hardware della porta).

 

Spero di essermi spiegato meglio; se sei interessato e se non funziona ancora il link a dropbox, ricordo che il mio progetto lo trovi anche qui.

 

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