Vai al contenuto
PLC Forum


modificare stringa di caratteri


FranckIng

Messaggi consigliati

Salve a tutti,

ho un problema. Sulla seriale mando una stringa di caratteri che vanno ad un stampante e mi genera un'etichetta. Ho una db stringa con dei campi costanti nel momento in cui devo inviare la stringa vado a valorizzare dei campi della stringa che compariranno in chiaro. Ora io devo cambiare le cordinate della stinga costante, ma se vado tramite una VAT a cambiare la coordinata della nuova posizione del campo da modificare, la vat mi dice "Impossibile comandare l'operando", anche se provo a trasferire tutta la db con i nuovi campi modificati, on line sono sempre gli stessi valori.

Qualcuno ha dei suggerimenti su come riuscire a modificare i campi di una stringa?

Link al commento
Condividi su altri siti


Ciao

Non ho capito cosa intendi con:

Quote

Stringa che compariranno in chiaro

 

E a cosa ti riferisci:

Quote

cambiare le cordinate della stinga costante

 

Giusto per la cronaca una stringa è un array di Byte, Se definisci una stringa di 100 caratteri la variabile occupa 102byte con il seguente significato:

Tua.String[0] = Numero massimo di caratteri

Tua.String[1] = numero dei caratteri "validi" da "visualizzare" <= Tua.String[0]

Tua.String[2] = Primo carattere della stringa

Tua.String[101] = Ultimo carattere della stringa 

 

Saluti

 

Link al commento
Condividi su altri siti

Per stringa che comparariranno in chiaro intendo che data una stringa di caratteri fissi(comandi di stampa, coordinate,ecc.) tramite plc invierò una stringa di caratteri che combinandosi con la stringa di caratteri fissi comparirà in chiaro sull'etichetta stampata dalla stampante.

 

Lo scopo è cambiare le coordinate (la posizione) presente nella stringa di caratteri fissi per poter cambiare la posizione del testo in chiaro che comparirà sull'etichetta.

Link al commento
Condividi su altri siti

Vediamo se ho capito tu vuoi sostanzialmente "concatenare" due o più stringhe in un'unica stringa da inviare alla stampante, in questo caso devi usare FC2 "CONCAT" la trovi sotto stblibs/iec.

 

Domanda sei sicuro che devi inviare una stringa? o devi inviare solo una "sequenza" di byte? 

Link al commento
Condividi su altri siti

Ma io non ho ancora capito quale sia il problema. Cosa non riesci a fare? È solo la modifica della stringa, o di una parte della stringa, da VAT?
Se il problema è questo, è perché al massimo puoi gestire variabili di 4 byte. Sulla VAT spezza la tua stringa in variabili di massimo 4 byte e visualizzale come carattere.
Poi, se la tua stringa serve solo per essere inviata alla seriale, ti conviene dichiararla come array di char o di byte.

La dichiarazione come stringa risulta comoda per lettura/scrittura da pannelli operatore, ma va ad aggiungere due byte, come già spiegato da TravelMen.

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