sunspec / models

SunSpec Model Definitions
Apache License 2.0
93 stars 52 forks source link

Clarify behaviour of Ena-Register in model 704 (AC Controls) compared to model 123 (Immediate controls) #213

Closed FW22 closed 1 year ago

FW22 commented 3 years ago

Hello @bobfox,

model 704 (AC Controls) contains Ena-registers for every type of setpoint:

The "old" model 123 (immediate controls, which should be replaced by model 704) contained a handfull of such enable registers, too:

...and the associated specification contained a detailed description of the expected behaviour: image

Unfortunately, I didn't find any details about model 704 regarding the enable registers. The only section that talks about enable is the curve management section. But model 704 is not about curves.

Do you expect them to behave similar to those in model 123? Each time a control value is changed, the associated enable register must be written with ENABLE?

Thank you for clarification! Best regards Ferdinand

bobfox commented 3 years ago

Model 704 does not have any requirement to write to the enable (Ena) register after changing the value for an enabled function. The enable register indicates whether the control is active. Any value change for an enabled function should take effect immediately.

Updating the enable point does have an effect on the reversion timer logic as described in the reversion timer section of the DER information model specification.

FW22 commented 3 years ago

Ok, thanks for clarification!

FW22 commented 3 years ago

hi @bobfox, another question to clarify the behaviour of ENA-registers in model 123: "Each time a control value is changed, the associated enable register must be written with the ENABLED value (1)." What does that mean for the controlled device? Shall it buffer the other registers of the control function (e.g. WMaxLimPct, WMinTms, RvrtTms and RmpTms) and apply them only if and when the associated enable register is written with the ENABLED value? Or shall it apply all registers immedeately and use the ENABLED trigger to reset the reversion timer only? Best regards Ferdinand

bobfox commented 3 years ago

The Ena requirements changed for the 1xx as they were being used. They were introduced and then started to be implemented several years later. The synchronization complications for the curve-based controls drove the need to base adoption of the curve settings based on rewriting Ena when the settings were complete. The controls in 123 were documented the same way for consistency but some manufacturers had already implemented them where the change takes effect without rewriting Ena. Based on that, it is currently the choice of the manufacturer for model 123. One of the objectives of the 7xx models is to provide a better synchronization mechanism so all implementations can be consistent.