sunspec / models

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

Mark enable registers for voltage and frequency trip as optional or remove them (models 707, 708, 709, 710) #214

Closed FW22 closed 1 year ago

FW22 commented 3 years ago

Hi @bobfox ,

there are four models for the different tripping functions:

Each of which has an enable register to enable or disable the function. I understand that this was included to be consistent to the other models that contain curves. Nevertheless, IEEE1547 does not require at any point to enable or disable trip limits. Quite the contrary is the case: Trip limits have always been one of the most critical issues when it comes to certification. I don't see a use case to disable those grid-stability critical functions.

I suggest to either remove those registers, or (for the sake of compatibility) mark them as optional. Any thoughts?

Best regards Ferdinand

bobfox commented 3 years ago

It is clear that the enable registers in these models are not used in the same way as the general curve models. The question of how to treat them operationally has been raised previously and the conclusion has been to leave them in place as some implementations are capable of disabling the functionality primarily for testing purposes such as ride-through.

If it is desired for an implementation to not support the ability to disable them, it can allow the only valid setting, in this case 'enabled', to be written to the register and generate an exception for values that are not supported, in this case 'disabled'. This allows the point to still be written with the valid value and in this case the operationally useful setting but inhibits the writing of an operationally questionable setting. This is the general behavior that should be used for any register that only supports a subset of enumerated values including the support of a single value.

Does this approach make sense?

jsbosch commented 3 years ago

Limiting the input to one valid value is my approach, so to me it makes sense.

FW22 commented 3 years ago

We are fine with this approach for the enable registers. We will take the same approach for ActPt (Number of active points), which is also RW. We will only accept 3 to be written and respond with an exception for all other values. Ok?

bobfox commented 3 years ago

I think it should be 5 rather than 3. We just updated the SunSpec DER Information Model Specfication and replaced the Rule 21 trip curve example with a 1547 example. Can you get the latest version from the SunSpec website and see if the example makes sense?We are also producing a 1547 implementation guide to address these issues specifically for 1547 compliance.

FW22 commented 3 years ago

We reviewed a ton of grid codes and came to the conclusion, that the maximum number of trip limits is 3 for voltage and 2 for frequency. This is where DERs trip - before this point, some other functions are activated to help stabilize the grid. Probably i'm not telling you something new, but I think there is no need for 5 trip limits. Also the testing effort would be huge.

FW22 commented 3 years ago

Concerning the DER information model spec: Would it be possible to add the specs to the release-package zip file here on github? As the specs are required to understand the json, xml and excel files, they should be bundled and released together, right?

bobfox commented 3 years ago

Regarding the trip limits, the trip curve encoding convention needs 5 curve points to express the curve in Figure 2. Can you see if the description in 3.3.2 makes sense to you?

I will look into the specification question.

FW22 commented 3 years ago

Hi @bobfox ,

I reviewed SunSpec-DER-Information-Model-Specification-V1-0.pdf Version: 1.0-04-20-2021. This is the figure that you were refering to: image

Unfortunately this figure is the root cause of several major misunderstandings:

  1. The momentary cessation and may trip boundaries are capabilities of the inverter. They DO NOT need to be parametrized. The associated registers in sunspec are useless and we only don't care about them, because they have been marked as optional.
  2. The must trip boundary is NOT a curve. It is specified by two voltage/time points. This is stated very clear in table 13 of IEEE1547:2018: image

My conclusion:

Best regards Ferdinand

bobfox commented 3 years ago

This is the method that was chosen to encode the voltage/frequency and time information. The same method is used in IEEE 2030.5-2018 and the DNP3 DER application note referenced by IEEE 1547.1. There is a deterministic way to map the information in the table to this format and from this format to the table. Using this format, the information for 1547 is represented in five points as outlined in the example.

jsbosch commented 3 years ago

Ferdinand - For what it's worth, I also raised these arguments in the SunSpec Modbus workgroup (and the argument that NPt belonged in each curve and not to the curve set) but I think you and I came in to the discussion too late to make such a change as we suggested because, as Bob noted, this approach had already been adopted in IEEE 2030.5 and one of the major goals of the 700 series models was to bring SunSpec Modbus more into alignment with not only 1547-2018 but also with IEEE 2030.5.

jsbosch commented 3 years ago

@bobfox Is the DNP3 DER app note AN2018-001 publicly available? The SunSpec web site has a link whose text indicates the target is AN2018-001 but whose target is actually AN2018-002, which seems not a revision but a different AN entirely. [link]. The other sites I've checked so far that link to the AN have dead links, as though DNP3.org has pulled the document.

bobfox commented 3 years ago

It is owned by the DNP3 User Group (dnp3.org). It is in their fast find menu as 'DNP3 Profile for DER Comms' but you need to be a member to get to it. I will look into our link to it.

jsbosch commented 3 years ago

Thanks, Bob. It used to be available under their public docs, but perhaps that was a mistake.

FW22 commented 3 years ago

Ferdinand - For what it's worth, I also raised these arguments in the SunSpec Modbus workgroup (and the argument that NPt belonged in each curve and not to the curve set) but I think you and I came in to the discussion too late to make such a change as we suggested because, as Bob noted, this approach had already been adopted in IEEE 2030.5 and one of the major goals of the 700 series models was to bring SunSpec Modbus more into alignment with not only 1547-2018 but also with IEEE 2030.5.

Jeff, I'm afraid you are right. I'm also afraid that no inverter manufacurer will add additional trip limits to comply to this. I already mentioned the testing effort - and I meant production line testing, not type testing.