Page 1 sur 2
[RESOLU][S7-1200] Génération d'un code barre
Posté : 11 mars 2019, 19:13
par Brebiou
Bonjour à tous,
On m'a demandé de généré un code barre d'une sortie compteur, afin que les opérateurs puisse scanner directement l'écran du KTP plutôt que d'écrire sur un post it et de traverser l'atelier.
Sur le fond, rien de bien compliqué, j'ai trouvé
ceci sur le site de Siemens, mais manque de pot, les librairies sont pour TIA v15 et j'utilise TIA v13.
J'ai tout de même récupéré la police d'écriture.
Pour générer un code barre en Code 39, il faut mettre la valeur souhaité entre deux étoiles, genre *BREBIOU*. C'est la que je cale:
Le bloc S_CONV m'ajoute des espace en début de chaîne, ce qui correspond avec ma valeur à la longueur du DINT en entier.
A l'affichage, c'est moins jojo:
J'ai essayé le bloc VAL_STRG en premier puisqu'il est fait pour ça mais j'ai le même constat.
Je ne vois pas comment "effacer" ces espaces correctement, il y a bien le bloc DELETE, mais quand je passerai de 9999 à 10 000 ça risque d'être moins drôle pour les opérateurs de déclarer 0 pièces au lieu de 10 000.
Merci d'avance pour vos lumières.
Re: [S7-1200] Génération d'un code barre
Posté : 11 mars 2019, 21:13
par itasoft
slts,
j'ai pas tout compris mais ya pas une instruction qui remplacerait ces espaces par des 0 et le caractère "+" par un 0 ??
Re: [S7-1200] Génération d'un code barre
Posté : 12 mars 2019, 08:30
par ProfnovA
Marche pas bien les douchettes sur les écrans, si?
Comment sont déclarées tes chaines de caractère?
Re: [S7-1200] Génération d'un code barre
Posté : 12 mars 2019, 09:14
par Brebiou
itasoft a écrit : ↑11 mars 2019, 21:13
slts,
j'ai pas tout compris mais ya pas une instruction qui remplacerait ces espaces par des
0 et le caractère "+" par un
0 ??
A tenter.
Je ne sais pas comment va réagir le système qui reçoit le code avec autant de zéro, c'est un logiciel qui a au bas mot 20 ans.
ProfnovA a écrit : ↑12 mars 2019, 08:30
Marche pas bien les douchettes sur les écrans, si?
Comment sont déclarées tes chaines de caractère?
Tant que le contraste entre le blanc du fond et le noir du code est bien marqué, pas de souci apparent (ça dépend quand même beaucoup de la résolution de la dalle)
Voici la déclaration:
Re: [S7-1200] Génération d'un code barre
Posté : 12 mars 2019, 09:41
par djé
Salut,
Ne peux tu pas faire le traitement de la variable directement dans l'afficheur?
Re: [S7-1200] Génération d'un code barre
Posté : 12 mars 2019, 11:28
par Brebiou
djé a écrit : ↑12 mars 2019, 09:41
Salut,
Ne peux tu pas faire le traitement de la variable directement dans l'afficheur?
Je t'avoue que je n'ai pas forcement réfléchi à cette option. Je ne sais pas si c'est possible sur un KTP700 Basic.
Re: [S7-1200] Génération d'un code barre
Posté : 12 mars 2019, 11:33
par JC87
Sur les basic il me semble que tu ne peut pas faire de script donc ça me parait compromis de ce coté. Après je ne maitrise pas assez TIA pour t'aider sur la partie automate, je ne pensais même pas possible de lire un code barre sur un panel. Tu a essayé de faire un essai de lecture déjà ? parce que un panel basic ça n'a pas une résolution extraordinaire.
JC
Re: [S7-1200] Génération d'un code barre
Posté : 12 mars 2019, 11:58
par ProfnovA
La seule solution que je voie a ton problème est de faire une boucle en commençant par la fin après ton S_CONV pour supprimer le caractère espace
Re: [S7-1200] Génération d'un code barre
Posté : 12 mars 2019, 12:04
par Brebiou
JC87 a écrit : ↑12 mars 2019, 11:33
Sur les basic il me semble que tu ne peut pas faire de script donc ça me parait compromis de ce coté. Après je ne maitrise pas assez TIA pour t'aider sur la partie automate, je ne pensais même pas possible de lire un code barre sur un panel. Tu a essayé de faire un essai de lecture déjà ? parce que un panel basic ça n'a pas une résolution extraordinaire.
JC
J'ai testé avec une application avec mon smartphone en premier lieu sur le KTP
Ensuite j'ai pris une douchette en prod pour tester sur mon écran d'ordi, parce qu'elle n'est pas sans fil et que le KTP est loin.
Tout était bon.
Je devrais recevoir une douchette sans fil d'ici peu.
Re: [S7-1200] Génération d'un code barre
Posté : 12 mars 2019, 12:07
par Brebiou
ProfnovA a écrit : ↑12 mars 2019, 11:58
La seule solution que je voie a ton problème est de faire une boucle en commençant par la fin après ton S_CONV pour supprimer le caractère espace
Je vais tenter cela, je viens d'essayer le DELETE, mais j'ai comme l'impression qu'il supprime le contenu des deux premiers bytes de mon string, a savoir la longueur totale et la longueur actuelle de ce dernier.