31.07.2025, 10:09
I have a Grundfos circulation pump with CIM200 Modbus RTU adapter. I can read and write values just fine - but have issues with one register.
https://api.grundfos.com/literature/Grun...012947.pdf
Page 18 has this:
Page 36 says this:
(I'm pretty sure there is a typo in the "stopping" section - it should be 0 in bit 1 for stopping - which is kind of confirmed with the value being set. But that's not the point.)
I have made a profile that connects bit 0 and bit 1 to separate group adresses. This works fine - ish. Problem is that even if I have enabled bit 0 - and I can read the status in register 201 bit 8 - that remote control is enabled - when I later makes changes to bit 1 - the value of bit 0 is not taken into account. So 0x0002 is sent, which disables the remote control bit (bit 0). And thus won't let me turn the pump on or off.
Sending 1 and 3 to the register works as expected - and I understand I can make a script that does the right thing, but is it really not possible with modbus profile directly to make sure that all bits are sent to a register when using bitmask - not just the one I'm changing?
Hope this was understandable.
https://api.grundfos.com/literature/Grun...012947.pdf
Page 18 has this:
Page 36 says this:
(I'm pretty sure there is a typo in the "stopping" section - it should be 0 in bit 1 for stopping - which is kind of confirmed with the value being set. But that's not the point.)
I have made a profile that connects bit 0 and bit 1 to separate group adresses. This works fine - ish. Problem is that even if I have enabled bit 0 - and I can read the status in register 201 bit 8 - that remote control is enabled - when I later makes changes to bit 1 - the value of bit 0 is not taken into account. So 0x0002 is sent, which disables the remote control bit (bit 0). And thus won't let me turn the pump on or off.
Sending 1 and 3 to the register works as expected - and I understand I can make a script that does the right thing, but is it really not possible with modbus profile directly to make sure that all bits are sent to a register when using bitmask - not just the one I'm changing?
Hope this was understandable.