Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




"accesso ottimizzato al blocco" non rimuovibile


Messaggi consigliati

Inserito:

Buongiorno, sto cercando di eseguire per la prima volta un collegamento tra un S7-1200 ed un pannello Weintek, premetto che non ho pratica ne con uno ne con l'altro, per ora ho fatto solo alcuni programmini con il Logo.
Ho letto che per poter configurare le variabili nell'HMI devo rimuovere la spunta dalla casella "accesso ottimizzato al blocco" ma nel mio caso non è rimuovibile e non ho trovato come rimuoverlo.

 

Grazie


dina_supertramp
Inserita: (modificato)

Con il blocco chiuso, fai click dx sul blocco, va nelle proprietà e togli l'ottimizzazione.

Se invece è un blocco nuovo te lo chiede quando lo crei.

Se è un DB d'istanza lo devi fare sull'FB a cui è collegato.


Qui trovi una breve spiegazioni dei blocchi ottimizati/non ottimizzati e un video che fa vedere come modificare la proprietà e la procedura passo passo
Difference between standard and optimized block access - ID: 67655611 - Industry Support Siemens

 

Modificato: da dina_supertramp
Inserita:
9 minuti fa, dina_supertramp ha scritto:

Con il blocco chiuso, fai click dx sul blocco, va nelle proprietà e togli l'ottimizzazione.

Se invece è un blocco nuovo te lo chiede quando lo crei.


Qui trovi una breve spiegazioni dei blocchi ottimizati/non ottimizzati e un video che fa vedere come modificare la proprietà e la procedura passo passo
Difference between standard and optimized block access - ID: 67655611 - Industry Support Siemens

 

Grazie per la risposta, ho guardato il tuo video ed in effetti le operazioni che facevo erano corrette, purtroppo la casella per rimuovere il blocco rimane in grigio come se non si potesse togliere, premetto che avevo già inserito diverse variabili con nomi ecc quando ho provato a modificare la casella

Screenshot 2024-08-27 082713.png

Inserita:

Mi sembra di intravedere nel tuo snapshot Main (OB1). Non è quello il blocco da sbloccare, è il il programma principale da cui nel caso si richiamano funzioni e blocchi funzione.

Te devi definire un blocco dati DB in quel caso con accesso non ottimizzato, per le variabili che vorrai scambiare con il display. 

dina_supertramp
Inserita:

Stai provando a farlo online? Devi farlo offline dal PLC.

 

Lo stai provando a fare sull OB1 (Main), dove viene richiamato tutto il programma...


Togli tutti i richiami che ci sono nell'OB, compila e riprova.

Non mi pare ci sia bisogno di togliere anche righe di codice senza richiami ad FB o FC...sinceramente non ricordo.
Se hai dichiarato eventuali temp nell'OB1 e converti l'accesso da ottimizzato a non le variabili vengono cancellate se non ricordo male.

dina_supertramp
Inserita: (modificato)

Errata corrige:

Quello che ti ho scritto vale al contrario...passare da standard a ottimizzato, cosa che facevo con le prime conversioni dal 300...

 

Tu devi togliere l'ottimizzazione.

Ha ragione @Ctec, creati un DB non ottimizzato (ad accesso assoluto) che userai per l'HMI 

Modificato: da dina_supertramp
Inserita:
1 ora fa, Ctec ha scritto:

Mi sembra di intravedere nel tuo snapshot Main (OB1). Non è quello il blocco da sbloccare, è il il programma principale da cui nel caso si richiamano funzioni e blocchi funzione.

Te devi definire un blocco dati DB in quel caso con accesso non ottimizzato, per le variabili che vorrai scambiare con il display. 

Si in effetti io stavo usando il blocco Main, credevo fosse corretto.
Quindi devo creare un nuovo blocco dati e inserire le variabili? Adesso provo

56 minuti fa, dina_supertramp ha scritto:

Errata corrige:

Quello che ti ho scritto vale al contrario...passare da standard a ottimizzato, cosa che facevo con le prime conversioni dal 300...

 

Tu devi togliere l'ottimizzazione.

Ha ragione @Ctec, creati un DB non ottimizzato (ad accesso assoluto) che userai per l'HMI 

Grazie provo

Inserita:

Non devo riscrivere il programma vero?
Non capisco come copiare le variabili che vorrei vedere/controllare da Hmi (quasi tutte) nel nuovo blocco che ho creato, o devo spostarle? 

Immagino siano domande banali per voi, mi spiace

 

dina_supertramp
Inserita:

Concetto da capire:

Hai creato del codice nel PLC, alcune variabili di quel codice ora devono essere viste da un HMI.
Per fare quanto sopra hai creato un DB ad accesso assoluto che viene visto dall'HMI.

Le variabili di quel DB dovranno essere scritte da quelle del tuo codice, per le variabili che vengono visualizzate dall'HMI.

Le variabili del tuo codice dovranno essere scritte da quelle del DB, per le variabili che vengono scritte dall'HMI.

 

Questa è una partica comune per svincolare lo sviluppo del PLC da quello dell'HMI, ti fai il tuo bel programma con le sue belle variabili, dopodiché crei un "DB di scambio" a cui ti appoggi per parlare con un HMI o altro. 

 

Non devi riscrivere il programma nel senso che devi modificare la logica di funzionamento pensata, ma devi scrivere le poche righe di codice che fanno quello appena detto sopra, che si traduce in (esempio in SCL)
 

Per la variabili scritte dal PLC

DB1.DBX0.0 =: pippo;

 

Per le variabili scritte dall'HMI

pippo := DB1.DBX0.0;

Inserita:
41 minuti fa, dina_supertramp ha scritto:

Concetto da capire:

Hai creato del codice nel PLC, alcune variabili di quel codice ora devono essere viste da un HMI.
Per fare quanto sopra hai creato un DB ad accesso assoluto che viene visto dall'HMI.

Le variabili di quel DB dovranno essere scritte da quelle del tuo codice, per le variabili che vengono visualizzate dall'HMI.

Le variabili del tuo codice dovranno essere scritte da quelle del DB, per le variabili che vengono scritte dall'HMI.

 

Questa è una partica comune per svincolare lo sviluppo del PLC da quello dell'HMI, ti fai il tuo bel programma con le sue belle variabili, dopodiché crei un "DB di scambio" a cui ti appoggi per parlare con un HMI o altro. 

 

Non devi riscrivere il programma nel senso che devi modificare la logica di funzionamento pensata, ma devi scrivere le poche righe di codice che fanno quello appena detto sopra, che si traduce in (esempio in SCL)
 

Per la variabili scritte dal PLC

DB1.DBX0.0 =: pippo;

 

Per le variabili scritte dall'HMI

pippo := DB1.DBX0.0;

Grazie mille, io uso ancora il Kop

 

Mentre facevo i refresh per vedere se mi rispondevate ho creato un nuovo DB credevo ci fosse una sorta di importa o drag & drop per far leggere le variabili dall'Hmi ma non ci sono riuscito

dina_supertramp
Inserita:

Non conosco Weintek, non so come si interfaccia, ma posso presumerlo da quanto detto.
Dovrai creare delle variabili nel Weintek che sono legate all'indirizzo assoluto della variabile nel DB.
 

 

Inserita:
4 minuti fa, dina_supertramp ha scritto:

Non conosco Weintek, non so come si interfaccia, ma posso presumerlo da quanto detto.
Dovrai creare delle variabili nel Weintek che sono legate all'indirizzo assoluto della variabile nel DB.
 

 

Grazie stavo guardando proprio questo tutorial.

 

Vediamo se riesco a portare a casa anche questo.

Inserita:

Ho trovato un altro video più esplicativo, alla fine le cose più semplici son sempre le più difficili da trovare, basta importare le variabili tramite la funzione del software Weintek che le estrapola direttamente dal progetto Tia.

 

 

Grazie a tutti

Inserita:

Forse qualcuno l'ha già scritto (ho dato una letta veloce e mi potrei essere perso qualcosa), ma solo i DB di scambio con HMI devono essere "non ottimizzati". Tutto quello che non riguarda HMI può tranquillamente rimanere ottimizzato. In qualunque caso, rendere non ottimizzato il blocco OB1 non ti serve assolutamente a nulla.

 

20 ore fa, dina_supertramp ha scritto:

Questa è una partica comune per svincolare lo sviluppo del PLC da quello dell'HMI, ti fai il tuo bel programma con le sue belle variabili, dopodiché crei un "DB di scambio" a cui ti appoggi per parlare con un HMI o altro. 

Questo sistema ti permette, come dici, di svincolare lo sviluppo PLC da quello del HMI, ma ti crea qualche difficoltà nel caso di variabili che vengono lette e scritte sia da HMI, sia da PLC.

 

Proprio questo è il motivo per il quale con Siemens preferisco usare HMI Siemens: se modifichi variabili nel PLC, in automatico te le trovi aggiornate nel HMI.
Nulla contro Weintek, sia chiaro, si tratta di un ottimo prodotto, con un rapporto qualità/prezzo forse insuperabile, ma risparmiare sull'hardware se poi devo perdere più tempo nello sviluppo software ha senso solo se quel lavoro poi viene replicato su altre macchine.

dina_supertramp
Inserita:
18 minuti fa, batta ha scritto:

Questo sistema ti permette, come dici, di svincolare lo sviluppo PLC da quello del HMI, ma ti crea qualche difficoltà nel caso di variabili che vengono lette e scritte sia da HMI, sia da PLC.

Condivido

 

19 minuti fa, batta ha scritto:

Proprio questo è il motivo per il quale con Siemens preferisco usare HMI Siemens: se modifichi variabili nel PLC, in automatico te le trovi aggiornate nel HMI.

Condivido

 

19 minuti fa, batta ha scritto:

Nulla contro Weintek, sia chiaro, si tratta di un ottimo prodotto, con un rapporto qualità/prezzo forse insuperabile, ma risparmiare sull'hardware se poi devo perdere più tempo nello sviluppo software ha senso solo se quel lavoro poi viene replicato su altre macchine.

E' una cosa che da dipendente non sono mai riuscito a fare capire ai progettisti, project manager ecc.

Inserita:
2 ore fa, dina_supertramp ha scritto:

E' una cosa che da dipendente non sono mai riuscito a fare capire ai progettisti, project manager ecc.

Perchè chi fa i conti guarda le fatture.

Considerano il tuo stipendio una costante e il fatto che tu ci metta mezz'ora o mezza giornata per sistemare un pannello/plc poco importa. Al limite ti stanno col fiato sul collo e poi ti redarguiscono perchè sei stato lento. A detta loro.

 

Pochissimi escono da questo schema mentale.

dina_supertramp
Inserita:
4 minuti fa, drn5 ha scritto:

Perchè chi fa i conti guarda le fatture.

Considerano il tuo stipendio una costante e il fatto che tu ci metta mezz'ora o mezza giornata per sistemare un pannello/plc poco importa. Al limite ti stanno col fiato sul collo e poi ti redarguiscono perchè sei stato lento. A detta loro.

 

Pochissimi escono da questo schema mentale.

Dici bene @drn5.
Loro vedono la fattura...non vedono le giornate spese a far funzionare un inverter che costa 200 euro in meno del solito usato (leggi il manuale, costruisci il telegramma, adatta l'FB che usi da anni). 

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