Vai al contenuto
PLC Forum


Immagine di processo - Pro e Contro di due approcci


ZenDan

Messaggi consigliati

Salve a tutti,

lavorando e leggendo i programmi di altri programmatori; ho notato che vengono utilizzati due approcci differenti nell'utilizzo dell'immagine di processo.

Alcuni si appoggiano semplicemente ai Merker altri ai Datablock.

Sinceramente mi sembrano due approcci identici ma volevo chiedervi, secondo voi quali sono i pro e i contro dei due approcci. Magari c'è qualche aspetto che mi sfugge :)

 

Un saluto :)

Link al commento
Condividi su altri siti


I Datablock ti permettono di organizzare le variabili: un DB per il motore A, un DB per il motore B, un DB per la funzione Pinco, un DB per la funzione Pallino... Se sei preciso e ordinato riesci a trovare i tuoi dati in breve tempo o ci riuscirà una eventuale terza persona che dovrà lavorare sul tuo software. Oltretutto, se devi replicare una macchina con delle funzioni simili ad una precedente, copi/incolli l'intero DB nel nuovo progetto e ti trovi tutte o quasi le variabili già definite. Io il grosso delle variabili lo metto in DB. I merker li uso, certamente, ma per variabili che non necessitano di organizzazione, di appoggio, ecc. 

Link al commento
Condividi su altri siti

Tanti anni or sono, con step 5, l'istruzione di interrogazione a bit dei DB occupava un sacco di tempo di elaborazione. Per snellire il tempo ciclo si utilizzava quindi appoggiare i merker sulle DB a fine elaborazione e rinfrescarli prima della elaborazione successiva.

Con l'avvento di Step 7 queste differenze si sono assottigliate fino all'azzeramento. Oggi vale il discorso di Cesare, ben chiarito precedentemente. 

Link al commento
Condividi su altri siti

Usare le DB permette di prendere i blocchi già che in precedenza erano stati salvati in biblioteca o semplicemente trascinandoli da altri progetti con la sicurezza che niente va in conflitto.

Contrariamente, se si usano i Merker, bisogna stare attenti alle sovrapposizioni.

Se il plc comanda più macchine, o se contiene più programmi, scritti da più programmatori, è sicuramente meglio usare le DB al posto dei merker.

Ci sono però delle avvertenze, la prima fra tutte è quella di stare attenti nel trasferire le DB usate come merker, potrebbe succedere addirittura che la macchina parta inavvertitamente, o salti da un punto all'altro del ciclo se non si fanno le cose per bene!

 

Un altra piccola difficoltà subentra se si deve fare una modifica con macchina in ciclo, usando i Merker basterebbe aggiungerli nella tabella simboli, fare le modifiche negli FC e trasferire, usando le DB non si può modificare offline la DB e trasferirla, per il problema che ho descritto prima, in questo caso la procedura è leggermente più complicata:

  • Si apre la DB online (che deve contenere dei BOOL di riserva, p.es. M1, M2, M3 ecc.)
  • Si modificano i simboli dei BOOL da aggiungere (p.es. "M1" diventa "Nastro_2")
  • Si salva e si trasferisce (in questo modo viene aggiornata anche la DB offline)
  • Successivamente si possono inserire le modifiche negli altri blocchi FC/FB.

A questo punto però la DB offline contiene il nuovo simbolo ma anche tutti i valori del programma in esecuzione, questa DB non va mai ritrasferita così com'è altrimenti si potrebbero avere movimenti inaspettati della macchina!

 

Per evitare problemi di solito faccio questo:

  • Dopo la modifica apro la DB offline
  • Passo in visualizzazione dati (Menu > visualizza > dati)
  • Azzero tutto (Menu > modifica > inizializza blocco dati) in quanto questa DB la uso solo al posto dei Merker e non contiene altri dati.

In questo modo ho tutti i bool = false e la DB può essere anche trasferita, per esempio in una nuova macchina.

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