Ask our Experts
Didn't find what you are looking for? Ask our experts!
New Community Ranking System
Our Community ranking system has recently been updated. You may notice changes in user rankings and receive system messages or notifications. If you have questions about how the new ranking works, please refer to the announcement post for more details (click here).
Support Forum for HVAC and pumping machines, Modicon M17x and EcoStruxure Machine Expert HVAC software for chillers, AHU, CRAC units for datacenters or process chillers applications - from design, implementation to troubleshooting and more, by Schneider Electric.
Search in
Please select a country to continue with beta search.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2025-07-30 07:49 PM
Hi Guys,
I have a question regarding Status Variables/ Modbus Registers creation in M172.
On ESME HVAC, under Status Variables, Starting from address 8960, when I create a new variable, it is a 16 bit holding register even if it is chosen as 'Boolean' Installer Type and 'BOOL' IEC type.
My understanding is that only the first bit of 16 bits is used as boolean and the rest are unused.
How can I use all the bits in the 16 bit holding register as boolean?
For example, currently under my status variables, I have registers, 10000, 10001, 10002, as AC1,2,3 faults respectively. Instead of doing that, I want to use different bits of register 10000 as respective AC faults, like 10000.1 > AC 1 fault
10000.2 > AC 2 fault
10000.3 > AC 3 fault etc.
I am pretty sure there should be a way to do it. Could you please give some directions on that? Thanks in advance.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2025-07-31 05:13 AM
Hi,
assuming your status variable name is Var10000 you can define it as a WORD and write:
Var10000.0 := xAC1fault;
Var10000.1 := xAC2fault;
...
Var10000.15:= xAC16fault;
This notation is not supported by M171O, in this case (but also as an alternative) you can use bitToWord() function of the Basic Library
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2025-07-31 05:13 AM
Hi,
assuming your status variable name is Var10000 you can define it as a WORD and write:
Var10000.0 := xAC1fault;
Var10000.1 := xAC2fault;
...
Var10000.15:= xAC16fault;
This notation is not supported by M171O, in this case (but also as an alternative) you can use bitToWord() function of the Basic Library
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2025-07-31 04:43 PM
Thank you. Appreciate your prompt response.
Link copied. Please paste this link to share this article on your social media post.
You’ve reached the end of your document
Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.