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




Problema Conversione


Messaggi consigliati

Inserito:

salve a tutti premetto che sono alle prime armi con s7-300, è da un po che provo ma non riesco a venirne a capo.

Dovrei convertire un numero intero in uno dint, usando il blocco standard,il problema sta nei valori di in e out e cioè come ingresso metto un valore dword appoggiato in una db e all'uscita vorrei appoggiare il risultato su un altra db , ma pur dichiarando il valore in dint in questa db quando lo scrivo all'uscita mi da errore (rosso)

con il seguente messaggio

"il tipo di dati attuali dword non è compatibile con il tipo di dati formale dint del parametro formale"

qualcuno mi aiuti


Inserita:

scusate ma ho scordato di scrivere cosa metto come in e out

come in dbxx.dbwx e quà tutto ok

come out dbxx.dbdx

Inserita:

Ciao forse non ho capito la dfomanda ma non esiste l CONVERSIONE DAINT A DINT

basta leggere il valore intero e trasferirlo in un dintero

es.

l mw100

t mw102

Inserita:
Ciao forse non ho capito la dfomanda ma non esiste l CONVERSIONE DAINT A DINT

basta leggere il valore intero e trasferirlo in un dintero

La conversione esiste e serve.

Se tu hai un numero INT negativo e semplicemente lo trasferisci in una variabile DINT, diventa positivo. Con la conversione (in awl ITD) invece il segno rimane.

Esempio:

valore decimale INT -1 (HEX FFFF). Se fai un semplice trasferimento in una DINT diventa: HEX 0000FFFF --> in decimale = 65535

Usando invece la conversione la variabile DINT diventa HEX FFFFFFFF --> in decimale = -1

Per quanto riguarda invece la conversione INT to DINT in ladder con box I_DI, probabilmente hai dichiarato la variabile che colleghi all'uscita come DWORD e non come DINT.

Se è così, hai due possibili soluzioni: la prima, dichiari la variabile come DINT; la seconda, vai in Strumenti --> Impostazioni, scegli la scheda KOP/FUP e togli il segno di spunta a "Controllo tipo di operandi".

Inserita:

confermo batta a ragione io ho detto una ****

Inserita: (modificato)

Capita anche ai migliori ;)

Modificato: da batta

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