Welcome to the new Schneider Electric Community

It's your place to connect with experts and peers, get continuous support, and share knowledge.

  • Explore the new navigation for even easier access to your community.
  • Bookmark and use our new, easy-to-remember address (community.se.com).
  • Get ready for more content and an improved experience.

Contact SchneiderCommunity.Support@se.com if you have any questions.

Close
Invite a Co-worker
Send a co-worker an invite to the Exchange portal.Just enter their email address and we’ll connect them to register. After joining, they will belong to the same company.
Send Invite Cancel
84462members
353666posts

[Imported] Read registers as float C++ tools

Remote Operations Forum

Collaborate and share knowledge on the extensive range of remote systems and devices, including SCADA radios and RTUs, on the Schneider Electric Exchange Remote Operations (formerly SCADA & Telemetry) forum. From commissioning SCADA integration devices and software, to enhancing existing installations or troubleshooting, connect with a global community of experts and users. Subscribe today.

sbeadle
Janeway Janeway
Janeway
0 Likes
0
384

[Imported] Read registers as float C++ tools

>>Message imported from previous forum - Category:SCADAPack RTU<<
User: mchartrand, originally posted: 2018-10-18 20:17:19 Id:140
This is a re-posting from the obsoleted (October 2018) "Schneider Electric Telemetry & SCADA" forum.

-------------------------------

**_brcgomezle:
Hi all,
I'm working on some program in which I need to read some float values stored in Telepace modbus addresses. I know I can use dbase(MODBUS, Register) to read a 16b register and store it as a Integer, but Is there a function to read directly from the database and obtain a 32b Float?_**

_________

bevanweiss:
I haven't worked in the Telepace environment, but it looks like what you might want is the databaseRead() instruction.

You could then have

_float f;
INT16* wordAddr = &f;
databaseRead( MODBUS, register1, wordAddr);
databaseRead( MODBUS, register2, wordAddr+1);_

That should populate the appropriate bits of the float as needed (assuming the float is 32bits).

You'd want to test the status of each databaseRead to make sure that they both occurred ok (returned true).

_____________

**_brcgomezle:
Thanks for your help, I'll try it._**