Vai al contenuto
PLC Forum


Estrarre stringa da un'altra stringa


cdc

Messaggi consigliati

Ciao,

sto cercando di estrarre da una stringa che mi arriva su una DB, l'anno e convertirlo in un intero.

Ho usato le FC standard Siemens ma non funziona.

La CPU è una 317F-PN/DP e sto usando S7 v5.5

Allego le immagini del codice.

1.jpg

2.thumb.jpg.e145d530f2e054c55b0debc2586d

Modificato: da cdc
Link al commento
Condividi su altri siti


Il primo carattere nella stringa di caratteri può essere un segno o una cifra, i caratteri successivi devono essere costituiti da cifre

il manuale dice questo, la tua stringa è composta solo da numeri ed eventualmente il segno come primo carattere?

potresti ricomporre la stringa eliminando i byte (ogni carattere è un byte) che contengono valori diversi dai numeri, dovrebbero essere sempre nello stesso posto.

Link al commento
Condividi su altri siti

se fc38 vuole solo numeri oltre ad un eventuale segno iniziale no, non puoi usarla.

una stringa è composta da caratteri ascii quindi ogni byte è un codice ascii che identifica un carattere. a te serve solo l'anno quindi saranno 4 byte al massimo. individui quali byte sono all'interno della stringa. penso saranno sempre gli stessi. li copi in una nuova stringa composta dai due byte iniziali che identificano la stringa e dai 4 caratteri (numeri che compongono l'anno). con la nuova stringa usi fc38 e la converti il numero intero.

altra soluzione è quella di decodificare tu i 4 caratteri senza usare fc38

Link al commento
Condividi su altri siti

individui quali byte sono all'interno della stringa. penso saranno sempre gli stessi. li copi in una nuova stringa composta dai due byte iniziali che identificano la stringa e dai 4 caratteri (numeri che compongono l'anno). con la nuova stringa usi fc38 e la converti il numero intero.

la stringa è PALLET_TIME

leggi i 4 byte che ti compongono l'anno.

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