conversion 2 INT en REAL
conversion 2 INT en REAL
Bonjour,
Je cherche une fonction Siemens pour Step 7 pour faire un real avec 2 INT
Depuis un API Schneider j'envoi un real dans 2 INT sauf que dans le siemens je ne sais pas comment reconstituer mon REAL
RealSchneider = 65 000
INT1 Siemens = -6144
INT2 Siemens = 18301
Merci pour votre aide
Je cherche une fonction Siemens pour Step 7 pour faire un real avec 2 INT
Depuis un API Schneider j'envoi un real dans 2 INT sauf que dans le siemens je ne sais pas comment reconstituer mon REAL
RealSchneider = 65 000
INT1 Siemens = -6144
INT2 Siemens = 18301
Merci pour votre aide
- itasoft
- Mi homme - Mi automate

- Messages : 7806
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: conversion 2 INT en REAL
slts,
comment tu ferais ça si c’était sur un Schneider à la place du Siemens ?
comment tu ferais ça si c’était sur un Schneider à la place du Siemens ?
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: conversion 2 INT en REAL
bonjour,
Comprends pas ta question ?, tu lis simplement le real MF. ou dans les DBs, DBx.DBDy avec en déclaration REAL
Ou cela proviens d'une communication ?
En attente,++
Comprends pas ta question ?, tu lis simplement le real MF. ou dans les DBs, DBx.DBDy avec en déclaration REAL
Ou cela proviens d'une communication ?
En attente,++
- itasoft
- Mi homme - Mi automate

- Messages : 7806
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: conversion 2 INT en REAL
slts,
je modifie la question.
Depuis un API Schneider (A) j'envoi un real dans 2 INT vers un autre automate Schneider (B) , comment reconstituer mon REAL dans l'automate (B)
tu sais comment ?
je modifie la question.
Depuis un API Schneider (A) j'envoi un real dans 2 INT vers un autre automate Schneider (B) , comment reconstituer mon REAL dans l'automate (B)
tu sais comment ?
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: conversion 2 INT en REAL
slt,
Pas pour toi itasoft mais pour geronimo la question.
++
Pas pour toi itasoft mais pour geronimo la question.
++
Re: conversion 2 INT en REAL
Bonjour,
Par exemple
- tu stockes l'entier le poids fort à l'emplacement MW10 (octet 10 + octet 11)
- tu stockes l'entier de poids faible à l'emplacement MW12 (octet 12 + octet 13)
- tu déclares une variable de type REAL à l'adresse MD10 (octet 10 + octet 11 + octet 12 + octet 13)
Aucune fonction à utiliser.

Par exemple
- tu stockes l'entier le poids fort à l'emplacement MW10 (octet 10 + octet 11)
- tu stockes l'entier de poids faible à l'emplacement MW12 (octet 12 + octet 13)
- tu déclares une variable de type REAL à l'adresse MD10 (octet 10 + octet 11 + octet 12 + octet 13)
Aucune fonction à utiliser.

Enseignant en BTS électrotechnique (Pas taper sur l'intru !)
- itasoft
- Mi homme - Mi automate

- Messages : 7806
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: conversion 2 INT en REAL
slts,
coté Unity on ne peut le faire que par l'adressage absolu , reste à savoir si sur Siemens existe l'adressage absolu
sur unity:
nom=REAL000 type=REAL adresse=%MW10
et envoi %MW10 et %MW11 au Siemens
sur le Siemens on peut reconstituer le REAL que par un adressage absolu. ceci dit il faudrait tester ton exemple.
coté Unity on ne peut le faire que par l'adressage absolu , reste à savoir si sur Siemens existe l'adressage absolu
sur unity:
nom=REAL000 type=REAL adresse=%MW10
et envoi %MW10 et %MW11 au Siemens
sur le Siemens on peut reconstituer le REAL que par un adressage absolu. ceci dit il faudrait tester ton exemple.
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: conversion 2 INT en REAL
Merci pour vos réponses. Comme l'a dit Itasoft c'est ça mais l'automate B est en Siemens.
Du coup en Schneider j'ai envoyer 65000 dans ma variable REAL à l'adresse %MW600, coté Siemens je reçois dans la variable db6.DBW250 = -6144 et dans la variable Db6.DBW252 = 18301.
J'ai essayer en prenant la variable Db6.DBD250 mais je n'ai rien de cohérant.
Je voudrais récupérer ma valeur 65000 coté Siemens.
En fait dans mon DB de Com venant de l'automate Schneider je n'ai que des INT ( j'ai pas le droit de la modifier).
Du coup en Schneider j'ai envoyer 65000 dans ma variable REAL à l'adresse %MW600, coté Siemens je reçois dans la variable db6.DBW250 = -6144 et dans la variable Db6.DBW252 = 18301.
J'ai essayer en prenant la variable Db6.DBD250 mais je n'ai rien de cohérant.
Je voudrais récupérer ma valeur 65000 coté Siemens.
- itasoft
- Mi homme - Mi automate

- Messages : 7806
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: conversion 2 INT en REAL
slts,
l'exemple à Ulairi doit marcher car apparemment ça ne travaille que sur des adresses absolues
(ceci dit, je suis pas spécialiste Siemens et espère ne pas le devenir, lol)
l'exemple à Ulairi doit marcher car apparemment ça ne travaille que sur des adresses absolues
(ceci dit, je suis pas spécialiste Siemens et espère ne pas le devenir, lol)
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: conversion 2 INT en REAL
Il faut inverser les valeurs, ton entier de poids fort (comprenant l'exposant et le début de la mantisse) est celui dont la valeur est 18301 ; ton entier de poids faible (comprenant la fin de la mantisse) est celui dont la valeur est -6144.
Autrement dit, tu ne peux utiliser la variable Db6.DBD250 que si tu as rangé tes deux entiers dans le db6 de manière à avoir db6.DBW250 = 18301 et Db6.DBW252 = -6144.
D'abord l'entier de poids fort, puis ensuite l'entier de poids faible.
Autrement dit, tu ne peux utiliser la variable Db6.DBD250 que si tu as rangé tes deux entiers dans le db6 de manière à avoir db6.DBW250 = 18301 et Db6.DBW252 = -6144.
D'abord l'entier de poids fort, puis ensuite l'entier de poids faible.
Modifié en dernier par Ulairi le 28 mars 2018, 22:16, modifié 1 fois.
Enseignant en BTS électrotechnique (Pas taper sur l'intru !)


