in reality the fan-speed control does not work properly - it does not change in consistence with the setup on user interface (ABB wall-mount sensor control), and in certain speed settings (esp at low speed) the fan makes troubling noises
just wondering how the value-base and value-multiplier are calculated and chosen in this case, and how i can make changes to make the setup work right.
i also attached Daikin's protocol below
You forgot to attach a file.
The profile won't work correctly because a single register controls several different values. You will need a script similar to this to combine object values into a single register value: https://forum.logicmachine.net/showthrea...9#pid15619
(04.06.2020, 06:09)admin Wrote: You forgot to attach a file.
The profile won't work correctly because a single register controls several different values. You will need a script similar to this to combine object values into a single register value: https://forum.logicmachine.net/showthrea...9#pid15619
sorry here is the attachment.
I looked at the script - does it mean i need to read out the value from the input register and then write it back to the holding register?
how should i embed the script into the project? - sorry i'm not very skillful at this.
thanks again
You will also need 3 objects: on/off (bool), fan direction (1 byte unsigned), fan volume (either bool or 1 byte unsigned depending on 2 or 3 step fan)
All objects must have the same tag assigned to them, then you need to create an event script attached to this tag.
Change group addresses as needed, 1/1/4 is the group that is mapped to control register of ModBus device.
Code:
onoff = grp.getvalue('1/1/1') and 1 or 0
direction = grp.getvalue('1/1/2')
volume = grp.getvalue('1/1/3')
if direction > 7 or direction == 5 then
direction = 6
end
if type(volume) == 'boolean' then
volume = volume and 1 or 5
elseif volume ~= 1 and volume ~= 3 and volume ~= 5 then
volume = 1
end
(04.06.2020, 08:00)thank you very muchwhen i tried this, i got error message on scripting - cannot open User script: No such file or directory stack traceback: why is this happening? admin Wrote: You need to modify the profile to allow raw value to be written to the control register.
You will also need 3 objects: on/off (bool), fan direction (1 byte unsigned), fan volume (either bool or 1 byte unsigned depending on 2 or 3 step fan)
All objects must have the same tag assigned to them, then you need to create an event script attached to this tag.
Change group addresses as needed, 1/1/4 is the group that is mapped to control register of ModBus device.
Code:
onoff = grp.getvalue('1/1/1') and 1 or 0
direction = grp.getvalue('1/1/2')
volume = grp.getvalue('1/1/3')
if direction > 7 or direction == 5 then
direction = 6
end
if type(volume) == 'boolean' then
volume = volume and 1 or 5
elseif volume ~= 1 and volume ~= 3 and volume ~= 5 then
volume = 1
end