Vai al contenuto
PLC Forum


Calcolo Numero Caratteri Di Una Stringa Da Plc


STEU25

Messaggi consigliati

come faccio per fare calcolare automaticamente al plc il numero dei caratteri contenuti in una stringa?

ovvero sapere la loro lunghezza?

esiste un fc o sfc? o un modo? potreste dirmelo?

grazie!

Link al commento
Condividi su altri siti


Se usi il formato STRING di S7, allora, nei primi due byte trovi due informazioni: un byte per la lunghezza massima del campo, un byte per la lunghezza effettiva della stringa. (Nota infatti che se tu dichiari la stringa lunga 50, ti prenderà in effetti 52 byte di sistema per queste ulteriori due informazioni aggiuntive). fatti delle VAT o simili per individuare questi due byte.

Se usi invece stringhe ANSI in un array di byte o simili, non ti resta che contare il numero di byte diversi da 0. Infatti con lo 0 si termina la stringa.

Ci sono certamente dgli FC od SFC già pronti, baste cercare il libreria S7.

Link al commento
Condividi su altri siti

grazie molte.

gli fc non gli ho trovati nelle librerie..

in ogni caso sono riuscito a gestire la lunghezza della stringa anche se con un metodo un po' lungo.

ho usato stringhe ANSI in un array..

Link al commento
Condividi su altri siti

Salve,

per tua conoscenza anche se hai già risolto il calcolo automatico per la determinazione della lunghezza effettiva di una stringa, come postato anche da STEU25, nella biblioteca Standard Library==>IEC Function Blocks esiste la FC21 LEN IEC.

Buona serata

Cagliostro

Link al commento
Condividi su altri siti

grazie. non avevo trovato questo fc per il calcolo della lunghezza.

ho usato un metodo piuttosto rude ma semplice con comparatori. la prossima volta saprò come fare.

contando tutti i byte diversi dallo spazio e spostando il valore nel byte della stringa.

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