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




CPU1500: Azzerare tutti i bit/byte di un DB "ottimizzato"


Messaggi consigliati

Inserito:

Buongiorno a tutti.

Ciò che mi occorre è realizzare un FC che quando richiamato, prenda tutti i bit/byte contenuti in un DB (Esempio DB2) e li metta a zero.

Utilizzando CPU 300 avevo realizzato un FC tipo questo:

 

OPN DB2	// Apro il DB2
L DBLG  // Carica la lunghezza del DB2
T DW2   // IN DW2 ora è contenuto il numero di byte di cui è composto il DB
...

 

Una volta determinata la lunghezza in Byte del DB2, era sufficiente creare un LOOP per scrivere zero in tutti i byte.

 

--- ORA ---

Con le CPU serie 1500...
Per fare la stessa cosa devo dichiarare il DB disabilitando la proprietà "Accesso ottimizzato al blocco".

In caso contrario mi da errore nel comando "OPN".

 

Qualcuno sa qualche strada alternativa per poter utilizzare DB con "Accesso ottimizzato al blocco"?

Magari utilizzando SCL invece di AWL.

Mi spiace dover disabilitare una funzione per poter utilizzare un vecchio blocco.

 

Spero d'essermi spiegato bene.

Per ogni chiarimento non esitate a domandare.

Grazie a tutti per l'aiuto, Valerio.

  • 4 weeks later...

Inserita:

Ciao,

nelle cpu 1500 e 1200 c'è una diversa gestione degli indirizzi assoluti e simbolici. Io quando dichiaro dei record o delle strutture, per azzerarli creo una struttura identica che poi deve rimanere intatta cioè che non deve mai essere scritta da nessuno, e poi basta un Mov della struttura vuota nella struttura da azzerare. Penso però che non devi togliere l'ottimizzazione del blocco. Mi sono così abituato a questa cosa che adesso quando torno alle CPU 300 comincio ad innervosirmi.

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