Variable "String" ou écrire en Wchar sur TIA Portal

Forum traitant des automates industriels de marque Siemens.
kiwi13nrv
Aguerri de l'automation
Aguerri de l'automation
Messages : 78
Inscription : 09 juin 2017, 01:08
Localisation : Provence les cigales

Variable "String" ou écrire en Wchar sur TIA Portal

Message par kiwi13nrv »

Bonjour à toutes et à tous :)

Je souhaite pouvoir écrire une chaine de caractère de maximum 36 caractères dans une variable qui puisse changer en fonction d'une recette choisi pour l'afficher sur mon IHM (Siemens aussi)

Le problème que je rencontre sur TIA Portal est le suivant:

Je ne peux pas creer de variable "String" tandis que lorsque je crée ma chaine de caractère en langage SCL je suis en langage string.
En plus de cela, il faut que mon ihm puisse lire cette variable String (si je reste en string).

OU ! Quelqu'un sait comment écrire directement en wchar ? Quand je fais 'TEXT' c'est du string et je ne sais pas comment écrire en wchar ...

Bref tous cela fais beaucoup de String ... Vivement l'été 8-)

Merci à ceux qui prendront le temps de lire et répondre à ce sujet,

Cordialement,
Pièces jointes
Help.png
DurandO
Expert de l'héxadécimal
Expert de l'héxadécimal
Messages : 396
Inscription : 21 mars 2021, 15:31

Re: Variable "String" ou écrire en Wchar sur TIA Portal

Message par DurandO »

Bonjour,
Sachant que le type string est codé ainsi :
1ier octet : taille définie de la chaîne
2ieme octet : nb caractères contenu dans la chaîne
les octets suivants : les caractères de la chaîne

Dans un db, tu définis une variable de type string.
Dans ton bloc SCL, tu charge ta variable de type String.
coté IHM du définis une variable type array [0..31] of char qui pointe sur le 3ieme octet ([0..31] puisque ta chaîne semble faire 32 caractères max).
Dans ta vue, tu insères un champ d'e/s format d'affichage chaîne de caracteres longueur champ 32.
Avatar de l’utilisateur
maxpeigne
Créateur de langage
Créateur de langage
Messages : 713
Inscription : 11 oct. 2015, 17:31
Localisation : Nord pas de calais

Re: Variable "String" ou écrire en Wchar sur TIA Portal

Message par maxpeigne »

Bonjour,

Sinon as tu essayé avec l'instruction S_MOVE?
s_move.png
http://automacile.fr - Site et tutoriels sur l'arduino.
dpo
Créateur de langage
Créateur de langage
Messages : 715
Inscription : 27 nov. 2015, 20:03

Re: Variable "String" ou écrire en Wchar sur TIA Portal

Message par dpo »

pour ton opération tu peux aussi créer une liste de texte dans l'ihm
pour chaque valeur tu définis un texte

ensuite tu as une animation qui fait appel à cette liste avec en paramètre num_pompe
c'est ce que je fais pour ton genre de manip
kiwi13nrv
Aguerri de l'automation
Aguerri de l'automation
Messages : 78
Inscription : 09 juin 2017, 01:08
Localisation : Provence les cigales

Re: Variable "String" ou écrire en Wchar sur TIA Portal

Message par kiwi13nrv »

Merci a tous pour vos idées / aides vraiment.

J'ai réussi à faire cela en créant un type de donnée Ppe incluant un string.
Puis j'ai créé un DB_Ppe dans les blocs de programmes incluant mon type de donnée "Ppe"

La je viens écrire mon String dans la variable de mon DB.

Et sur l'IHM je viens chercher la variable DB_Ppe.Pompe.Nom_pompe qui est bien en String ! (voir image "variable_IHM")

PS: Voir les captures avec leurs entêtes en haut de la capture.

Ca reste embêtant que l'on doit faire tous cela pour lire un String sur un IHM ...
Mais au moins ça marche :D

Cordialement,
Pièces jointes
variable_IHM.png
Type de donnees.png
Type de donnees.png (10.7 Kio) Consulté 3239 fois
Ecrire_le_String.png
DB_Ppe.png
Répondre