[RESOLU][S7-1200] Génération d'un code barre
[RESOLU][S7-1200] Génération d'un code barre
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.
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.
- itasoft
- Mi homme - Mi automate
- Messages : 7037
- Inscription : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: [S7-1200] Génération d'un code barre
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 ??
j'ai pas tout compris mais ya pas une instruction qui remplacerait ces espaces par des 0 et le caractère "+" par un 0 ??
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: [S7-1200] Génération d'un code barre
Marche pas bien les douchettes sur les écrans, si?
Comment sont déclarées tes chaines de caractère?
Comment sont déclarées tes chaines de caractère?
Re: [S7-1200] Génération d'un code barre
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.
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:
- djé
- Dieu du process
- Messages : 776
- Inscription : 20 oct. 2015, 09:55
- Localisation : Bretagne, Pays de la Loire, Nantes
Re: [S7-1200] Génération d'un code barre
Salut,
Ne peux tu pas faire le traitement de la variable directement dans l'afficheur?
Ne peux tu pas faire le traitement de la variable directement dans l'afficheur?
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 ...
- JC87
- Mi homme - Mi automate
- Messages : 1903
- Inscription : 20 oct. 2015, 13:00
- Localisation : Nouvelle Aquitaine
Re: [S7-1200] Génération d'un code barre
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
JC
"On veut faire du zéro défaut mais on a zéro bonhomme et zéro budget, et bien à la fin on a zéro résultat..."
Re: [S7-1200] Génération d'un code barre
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
J'ai testé avec une application avec mon smartphone en premier lieu sur le KTPJC87 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
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
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.