convertion String en Word (et inversement) sous TIA V14
convertion String en Word (et inversement) sous TIA V14
Bonjour,
J'ai une chaine de caractère (String [24]) que je cherche à convertir en Word ou en DWord (sur TIA V14) pour les stocker sur une puce RFID (qui n'accepte que les octets => je sais extraire chaque octet d'un Word mais ça ne marche pas sur un String!), connaitriez vous la "formule magic" qui m'autoriserait une telle opération?
Merci d'avance.
J'ai une chaine de caractère (String [24]) que je cherche à convertir en Word ou en DWord (sur TIA V14) pour les stocker sur une puce RFID (qui n'accepte que les octets => je sais extraire chaque octet d'un Word mais ça ne marche pas sur un String!), connaitriez vous la "formule magic" qui m'autoriserait une telle opération?
Merci d'avance.
- djé
- Dieu du process

- Messages : 864
- Enregistré le : 20 oct. 2015, 09:55
- Localisation : Bretagne, Pays de la Loire, Nantes
- Contact :
Re: convertion String en Word (et inversement) sous TIA V14
Salut,
il existe une fonction sous S7 (FC38-STRNG_I) dans la bibliothèque "stdlibs\iec", j'imagine quelle doit exister sous TIA dans une forme ou une autre.
il existe une fonction sous S7 (FC38-STRNG_I) dans la bibliothèque "stdlibs\iec", j'imagine quelle doit exister sous TIA dans une forme ou une autre.
Le monde se divise en 10 catégories:les personnes qui comprennent le binaire,et les autres.
Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
Re: convertion String en Word (et inversement) sous TIA V14
Merci pour votre réponse (rapide),
De votre piste de recherche j'ai trouvé les fonctions STRG_VAL et VAL_STRG (mais elles suppriment les lettres), ATH et HTA (mais elles n'acceptent pas les lettres audelà du F), et S_CONV (mais elle n'accepte que les chiffres)!... ;-(
De votre piste de recherche j'ai trouvé les fonctions STRG_VAL et VAL_STRG (mais elles suppriment les lettres), ATH et HTA (mais elles n'acceptent pas les lettres audelà du F), et S_CONV (mais elle n'accepte que les chiffres)!... ;-(
- djé
- Dieu du process

- Messages : 864
- Enregistré le : 20 oct. 2015, 09:55
- Localisation : Bretagne, Pays de la Loire, Nantes
- Contact :
Re: convertion String en Word (et inversement) sous TIA V14
Que cherches tu à faire exactement? Quel est le probleme?
Essaye de travailler en CHAR sinon.
Le monde se divise en 10 catégories:les personnes qui comprennent le binaire,et les autres.
Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
Re: convertion String en Word (et inversement) sous TIA V14
Mon problème est de pouvoir enregistrer un String[24] en octets (car la fonction gérant le RFID n'accepte que des bytes) hors si j'essaie de faire un MOVE de mon "String[24].%B1" vers mon "Array of Byte[1]" le TIA me le refuse! A noter que le String est un mot composé de lettres et de chiffres.
(j'ai simplifié lpour dire que je vise l'octet 1 de mon "Array [0..1999] of Byte")
Pour les CHAR le problème est le même car ce sont les mêmes fonctions qui sont utilisées (avec donc les mêmes problèmes au final).
Re: convertion String en Word (et inversement) sous TIA V14
Bonjour,
Sur quel automate?
Sur les S7-1200 et S7-1500 il existe des instructions toutes faites (dans les 2 sens).
Sur quel automate?
Sur les S7-1200 et S7-1500 il existe des instructions toutes faites (dans les 2 sens).
Modifié en dernier par dehell le 09 nov. 2017, 17:45, modifié 1 fois.
- itasoft
- Mi homme - Mi automate

- Messages : 7806
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: convertion String en Word (et inversement) sous TIA V14
slts,
comment tu écris sur ta puce RFID ? via une COM ?
Le RFID il attends une suite d’octets codés ASCII , une chaîne de caractères c’est une suite d’octets codés ASCII donc il faut envoyer ton String directement sur le RFID via une communication du type Texte .
comment tu écris sur ta puce RFID ? via une COM ?
Le RFID il attends une suite d’octets codés ASCII , une chaîne de caractères c’est une suite d’octets codés ASCII donc il faut envoyer ton String directement sur le RFID via une communication du type Texte .
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: convertion String en Word (et inversement) sous TIA V14
Utilisant un lecteur IOLink et n'y connaissant rien, je suis parti de l'exemple fournit par SIEMENS ( https://support.industry.siemens.com/cs ... 0&lc=fr-WW ) que j'essaye de faire coller à mon besoin.itasoft a écrit : ↑09 nov. 2017, 17:45 slts,
comment tu écris sur ta puce RFID ? via une COM ?
Le RFID il attends une suite d’octets codés ASCII , une chaîne de caractères c’est une suite d’octets codés ASCII donc il faut envoyer ton String directement sur le RFID via une communication du type Texte .
Je suis sur S7-1500, mais mon but n'est pas de transformer du String en Char (ou l'inverse), mon but c'est de transformer du String (ou du Char) en une succession d'octets et de faire l'opération inverse.
- djé
- Dieu du process

- Messages : 864
- Enregistré le : 20 oct. 2015, 09:55
- Localisation : Bretagne, Pays de la Loire, Nantes
- Contact :
Re: convertion String en Word (et inversement) sous TIA V14
Salut,
Ce qu'il faut comprendre c'est que un STRING, CHAR, WORD, INT peut importe le type c'est avant tout une valeur binaire qui ne elle ne change pas; c'est l'interprétation (représentation dans le type) que tu en fais qui change.
Un chaine de cararctère n'est n'y plus n'y moins qu'une succession d'octet. De même un tableau de caractère.
Le monde se divise en 10 catégories:les personnes qui comprennent le binaire,et les autres.
Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
- djé
- Dieu du process

- Messages : 864
- Enregistré le : 20 oct. 2015, 09:55
- Localisation : Bretagne, Pays de la Loire, Nantes
- Contact :
Re: convertion String en Word (et inversement) sous TIA V14
Si on prend les valeurs binaires des 4 octests successifs de DB1.DBB0 à DBB3:
DB1.DBB0 BIN 2#0000_1100
DB1.DBB1 BIN 2#0110_0001
DB1.DBB2 BIN 2#0110_0010
DB1.DBB3 BIN 2#0110_0011
Voila ce que cela donne pour un double mot par exemple:
DB1.DBD0 en HEXA : DW#16#0C616263
DB1.DBD0 en DEC : L#207708771
DB1.DBD0 en REAL: 1.736298e-031
et pour chaque octet:
DB1.DBB0 en CARACTERE '$p'
DB1.DBB1 en CARACTERE 'a'
DB1.DBB2 en CARACTERE 'b'
DB1.DBB3 en CARACTERE 'c'
DB1.DBB0 en DEC : 12
DB1.DBB1 en DEC : 97
DB1.DBB2 en DEC : 98
DB1.DBB3 en DEC : 99
DB1.DBB0 en HEXA: B#16#0C
DB1.DBB1 en HEXA: B#16#61
DB1.DBB2 en HEXA: B#16#62
DB1.DBB3 en HEXA: B#16#63
DB1.DBB0 BIN 2#0000_1100
DB1.DBB1 BIN 2#0110_0001
DB1.DBB2 BIN 2#0110_0010
DB1.DBB3 BIN 2#0110_0011
Voila ce que cela donne pour un double mot par exemple:
DB1.DBD0 en HEXA : DW#16#0C616263
DB1.DBD0 en DEC : L#207708771
DB1.DBD0 en REAL: 1.736298e-031
et pour chaque octet:
DB1.DBB0 en CARACTERE '$p'
DB1.DBB1 en CARACTERE 'a'
DB1.DBB2 en CARACTERE 'b'
DB1.DBB3 en CARACTERE 'c'
DB1.DBB0 en DEC : 12
DB1.DBB1 en DEC : 97
DB1.DBB2 en DEC : 98
DB1.DBB3 en DEC : 99
DB1.DBB0 en HEXA: B#16#0C
DB1.DBB1 en HEXA: B#16#61
DB1.DBB2 en HEXA: B#16#62
DB1.DBB3 en HEXA: B#16#63
Le monde se divise en 10 catégories:les personnes qui comprennent le binaire,et les autres.
Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...
Dans tout ce que vous apprenez, seuls 10% vont vous servir,mais vous ne savez pas lesquels ...

