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




Wincc: Conversione Array Di Byte In Ascii


Messaggi consigliati

Inserito:

Ho un TSX premium che comunica con un PC su cui gira un supervisore fatto con WinCC

Il collegamento è in Ethernet tramite OPC utilizzando il driver XIP.

Ho necessità di visualizzare una stringa di 20 caratteri su WinCC.

Attualmente sto leggendo un Array di 20 Byte dal PLC su una variabile WinCC chiamata per comodità ASCII.

Purtroppo in ogni word i byte sono invertiti ed ho quindi necessità di girarli e ricomporre la mia stringa (non posso col PLC)

attualmente è così:

sul PLC = 'ciao a tutti'

WinCC = 'icoaa t tuit'

Qual è l'azione C per poter fare questa operazione o meglio come faccio a scompattare la variabile ASCII in singoli byte. Oppure c'è un'altra maniera per leggere le stringhe dal PLC?


Inserita: (modificato)

Ciao,

Dunque, prova con wsprintf ...

wsprintf : formata e carica una serie di caratteri e valori in un buffer.

Header: Declared in winuser.h.

Library: Use user32.lib

char Old_Ascii[21];
char New_Ascii[21];

Old_Ascii[21]='\ 0'; (ultimo carattere nullo)
New_Ascii[21]='\ 0';
    
wsprintf(Old_Ascii,"%s","icoaa t tuit");
wsprintf(New_Ascii,"%c%c%c%c%c%c%c%c%c%c%c%c",Old_Ascii[1],Old_Ascii[0],Old_Ascii[3],Old_Ascii[2],Old_Ascii[5],
              Old_Ascii[4],Old_Ascii[7],Old_Ascii[6],Old_Ascii[9],Old_Ascii[8],Old_Ascii[11],Old_Ascii[10]);

Poi,la stringa New_Ascii risultera' "ciao a tutti"

Modificato: da Savino
Inserita:

grazie Savino, in realtà ho risolto già così:

char* text;

char text2[21];

int i;

text=GetTagChar("asci"); //Tipo di ritorno:char*

for(i=0;i<19;i=i+2){

text2[i+1]=text;

text2=text[i+1];

}

return text2;

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