cdc Inserito: 24 settembre 2015 Segnala Share Inserito: 24 settembre 2015 (modificato) 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.5Allego le immagini del codice. Modificato: 24 settembre 2015 da cdc Link al commento Condividi su altri siti More sharing options...
ken Inserita: 24 settembre 2015 Segnala Share Inserita: 24 settembre 2015 Il primo carattere nella stringa di caratteri può essere un segno o una cifra, i caratteri successivi devono essere costituiti da cifreil 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 More sharing options...
cdc Inserita: 25 settembre 2015 Autore Segnala Share Inserita: 25 settembre 2015 No, la mia stringa come si vede dall'esempio è una data ed un orario con cifre delimitate da punti o da due punti.Quindi vuol dire che non si può fare? Link al commento Condividi su altri siti More sharing options...
ken Inserita: 25 settembre 2015 Segnala Share Inserita: 25 settembre 2015 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 More sharing options...
cdc Inserita: 25 settembre 2015 Autore Segnala Share Inserita: 25 settembre 2015 Il mio problema è che non funziona la FC26.La FC38 funziona correttamente se gli imposto in ingresso una stringa formata da soli numeri. Link al commento Condividi su altri siti More sharing options...
ken Inserita: 25 settembre 2015 Segnala Share Inserita: 25 settembre 2015 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_TIMEleggi i 4 byte che ti compongono l'anno. Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora