pour résumer, j'étais persuadé qu'il faillait que j’envoie le status en INT et ma valeur en REAL or les registre ne sont que en INT.
A partir de la j'ai essayé de transformer mon status en REAL pour l'envoyé mais ça ne marchai évidemment pas. Il fallait simplement que ma valeur REAL que je récupère de mes données soit séparé en 2 INT et non pas en 2 REAL.
J'avais créé une liste Struct pour pouvoir envoyer une valeur en INT sur le 1er registre et une valeur REAL sur le 2eme mais, vu que le bloc modbus n'accepte pas le struct avec des type différents (INT et REAL), j'étais perdu et ne savais pas comment faire.
Puis en relisant les anciens post de l'article j'ai compris que tout dois être envoyer en INT (c'est ça qu'il aurais du mettre dans leur doc au lieu de nous embrouiller l'esprit !)
Connexion 1510SP-1 et enregistreur E+H RSG35
- andala
- Créateur de langage

- Messages : 505
- Enregistré le : 19 déc. 2016, 10:24
- Localisation : Atlantide
Re: Connexion 1510SP-1 et enregistreur E+H RSG35
Modifié en dernier par andala le 09 mars 2022, 14:28, modifié 3 fois.
Une bonne action en entraine toujours une autre
-
philou77
- Mi homme - Mi automate

- Messages : 2142
- Enregistré le : 21 oct. 2015, 10:00
- Localisation : Ile de France
Re: Connexion 1510SP-1 et enregistreur E+H RSG35
Re !
Ouille, ca fait mal à la tête !
Oui il faut envoyer ton status en INT et ta valeur en REAL
Mais pas en tant que INT ou REAL mais sous la forme d'octets consécutifs qui les constituent !!
Je crois que tu 'as toujours pas bien compris comment sont rangées les informations dans l'automate
.
Int, real, word, Lreal, Dword, Uint, peu importe, vu qu'ils sont tous stockés dans des octets !!
Regarde dans ton db les adresses de ta structure, tu y verras clairement les octets
Si ta structure s'appelle Data1 et contient ton status en int et ta valeur en real
Data1.Byte0 est une adresse valide, elle pointe sur le premier octet de la structure ! Cela devrait marcher sans soucis
Et ce que modbusMaster envoie, ce sont des octets ( 6 dans ton cas) consécutifs à partir de l'adresse spécifiée dans le pointeur !
Si l'adresse du pointeur n'est pas bonne, tu as une erreur, (rien à voir avec le format des informations stockées, enfin il me semble)
Ouille, ca fait mal à la tête !
Oui il faut envoyer ton status en INT et ta valeur en REAL
Mais pas en tant que INT ou REAL mais sous la forme d'octets consécutifs qui les constituent !!
Je crois que tu 'as toujours pas bien compris comment sont rangées les informations dans l'automate
Int, real, word, Lreal, Dword, Uint, peu importe, vu qu'ils sont tous stockés dans des octets !!
Regarde dans ton db les adresses de ta structure, tu y verras clairement les octets
Si ta structure s'appelle Data1 et contient ton status en int et ta valeur en real
Data1.Byte0 est une adresse valide, elle pointe sur le premier octet de la structure ! Cela devrait marcher sans soucis
Et ce que modbusMaster envoie, ce sont des octets ( 6 dans ton cas) consécutifs à partir de l'adresse spécifiée dans le pointeur !
Si l'adresse du pointeur n'est pas bonne, tu as une erreur, (rien à voir avec le format des informations stockées, enfin il me semble)
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! 
- andala
- Créateur de langage

- Messages : 505
- Enregistré le : 19 déc. 2016, 10:24
- Localisation : Atlantide
Re: Connexion 1510SP-1 et enregistreur E+H RSG35
J'ai compris comment sont rangées les infos dans l'automate c'est juste que j'ai beaucoup plus l'habitude du Schneider et donc la syntaxe différente qu'utilise Siemens m'a un peu perturbé si je puis dire.philou77 a écrit : ↑08 mars 2022, 17:27 Je crois que tu 'as toujours pas bien compris comment sont rangées les informations dans l'automate.
Int, real, word, Lreal, Dword, Uint, peu importe, vu qu'ils sont tous stockés dans des octets !!
Regarde dans ton db les adresses de ta structure, tu y verras clairement les octets
En manipulant les mots, les bytes, etc... j'ai mieux appréhendé la syntaxe ! Ça devrai beaucoup mieux ce passer la prochaine fois si prochaine fois il y a
Tu ne vois les octets que si tu décoche dans les parametres l'acces au bloc optimisé (pour info)
Désolé si a plusieurs reprise vous aviez l'impression que je posais toujours la même question
Se coucher moins con le soir est ma raison de vivre !
Une bonne action en entraine toujours une autre
-
philou77
- Mi homme - Mi automate

- Messages : 2142
- Enregistré le : 21 oct. 2015, 10:00
- Localisation : Ile de France
Re: Connexion 1510SP-1 et enregistreur E+H RSG35
re !
Tant mieux si tu as tout bien compris

Tant mieux si tu as tout bien compris
C'est tout à ton honneur
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! 
