Probleme communication M221 ASCII
Probleme communication M221 ASCII
Bonjour a tous,
je souhaite sur un projet envoyer à un contrôleur DMX des séquences d'éclairage pré-programmés, le dialogue se fait via un automate M221 en RS232 (chaine de caractère).
la trame a transmettre est de type X04dd (dd) étant le numéro de programme à envoyer en (Hexa)
mon problème et que le numéro de séquence que je reçois depuis supervision est en décimal et quand je l'envoi via SEND_RECV_MSG0 le numéro de séquence est en décimal.
je suis sur que c'est une connerie mais je bloque je n'arrive pas a trouver la fonction pour convertir ma valeur décimal en hexa.
MERCI POUR VOTRE AIDE
je souhaite sur un projet envoyer à un contrôleur DMX des séquences d'éclairage pré-programmés, le dialogue se fait via un automate M221 en RS232 (chaine de caractère).
la trame a transmettre est de type X04dd (dd) étant le numéro de programme à envoyer en (Hexa)
mon problème et que le numéro de séquence que je reçois depuis supervision est en décimal et quand je l'envoi via SEND_RECV_MSG0 le numéro de séquence est en décimal.
je suis sur que c'est une connerie mais je bloque je n'arrive pas a trouver la fonction pour convertir ma valeur décimal en hexa.
MERCI POUR VOTRE AIDE
- itasoft
- Mi homme - Mi automate
- Messages : 7037
- Inscription : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Probleme communication M221 ASCII
slts,
ya combien de programmes au maxi ??
ya combien de programmes au maxi ??
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: Probleme communication M221 ASCII
Bonjour,
FF en hexa soit 255 programmes possible
FF en hexa soit 255 programmes possible
- itasoft
- Mi homme - Mi automate
- Messages : 7037
- Inscription : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Probleme communication M221 ASCII
slts,
effectivement ce cas n'est pas traité en SoMachine Basic, à part d'écrire 255 lignes de programmes.
effectivement ce cas n'est pas traité en SoMachine Basic, à part d'écrire 255 lignes de programmes.
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: Probleme communication M221 ASCII
merci...C'est con ça!!
je vais leur dire de limiter le nombre de scenario alors...
merci pour tes infos...
je vais leur dire de limiter le nombre de scenario alors...
merci pour tes infos...
- itasoft
- Mi homme - Mi automate
- Messages : 7037
- Inscription : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Probleme communication M221 ASCII
slts,
oui, un exemple si tu dois te le palucher à la mano:
----------cliquer dessus-----------
oui, un exemple si tu dois te le palucher à la mano:
----------cliquer dessus-----------
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: Probleme communication M221 ASCII
Merci pour ton exemple et ta rapidité à répondre à nos problèmes... je vais voir avec le client ses besoins réel.
- itasoft
- Mi homme - Mi automate
- Messages : 7037
- Inscription : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Probleme communication M221 ASCII
Slts,
OK, il se peut qu’il faille inverser les octets avant de l’envoyer sur la COM , à voir
Ex :
%MW10 :=ROL(%MW10,8)
%MW11 :=ROL(%MW11,8)
%MW12 :=ROL(%MW12,8)
OK, il se peut qu’il faille inverser les octets avant de l’envoyer sur la COM , à voir
Ex :
%MW10 :=ROL(%MW10,8)
%MW11 :=ROL(%MW11,8)
%MW12 :=ROL(%MW12,8)
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
- djé
- Dieu du process
- Messages : 776
- Inscription : 20 oct. 2015, 09:55
- Localisation : Bretagne, Pays de la Loire, Nantes
Re: Probleme communication M221 ASCII
Salut,
Sinon pour éviter de te "palucher" les 256 lignes à la mano:
Tu calcules le quotient de la division entière du code programme par 16: ça te donne le deuxième digit (PF) du code HEXA: (en décimal)
Tu calcules le modulo de la même division, ça te donne le premier digit (pf) du code en HEXA: (en décimal)
Ensuite tu compares chaque résultat:
s'il est supérieur à 9 tu lui rajoutes la valeur décimale 55
sinon tu lui rajoutes la valeur 48
pour avoir le code caractère ASCII qui va bien.
Ex avec code programme d45 (h2D)
45/16 = 2 reste 13
Quotient = 2 + 48 = 50 > code caractère '2' en décimal
Reste = 13 + 55 = 68 > code caractère 'D' en décimal
Sinon pour éviter de te "palucher" les 256 lignes à la mano:
Tu calcules le quotient de la division entière du code programme par 16: ça te donne le deuxième digit (PF) du code HEXA: (en décimal)
Tu calcules le modulo de la même division, ça te donne le premier digit (pf) du code en HEXA: (en décimal)
Ensuite tu compares chaque résultat:
s'il est supérieur à 9 tu lui rajoutes la valeur décimale 55
sinon tu lui rajoutes la valeur 48
pour avoir le code caractère ASCII qui va bien.
Ex avec code programme d45 (h2D)
45/16 = 2 reste 13
Quotient = 2 + 48 = 50 > code caractère '2' en décimal
Reste = 13 + 55 = 68 > code caractère 'D' en décimal
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 ...
- itasoft
- Mi homme - Mi automate
- Messages : 7037
- Inscription : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: Probleme communication M221 ASCII
slts,
oui bonne idée , comme quoi rien ne sert e penser il faut réfléchir avant, lol
oui bonne idée , comme quoi rien ne sert e penser il faut réfléchir avant, lol
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr