-
Notifications
You must be signed in to change notification settings - Fork 0
/
example_config.yml
460 lines (411 loc) · 19.6 KB
/
example_config.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
openssl_cnf: openssl.cnf
# front-end proxy to the server.
# proxy_hostname -> server_hostname
proxy_hostname: gridappsd_dev_2004:8443
server_hostname: 127.0.0.1:8070
server_mode: enddevices_create_on_start
tls_repository: ~/tls
# A file where the der programs are specified or an inline list
# within this context.
program_lists: program_lists_config.yml
curve_list: curves_config.yml
# The following are the possible list of programmable
# """
# DeviceCategoryType defined from 20305-2018_IIEStandardforSmartEnergyProfileApplicationsProtocol.pdf Appendix
# B.2.3.4 Types package
# """
# # The Device category types defined.
# # Bit positions SHALL be defined as follows:
# PROGRAMMABLE_COMMUNICATING_THERMOSTAT = 0
# STRIP_HEATERS = 1
# BASEBOARD_HEATERS = 2
# WATER_HEATER = 3
# POOL_PUMP = 4
# SAUNA = 5
# HOT_TUB = 6
# SMART_APPLIANCE = 7
# IRRIGATION_PUMP = 8
# MANAGED_COMMERCIAL_AND_INDUSTRIAL_LOADS = 9
# SIMPLE_RESIDENTIAL_LOADS = 10 # On/Off loads
# EXTERIOR_LIGHTING = 11
# INTERIOR_LIGHTING = 12
# LOAD_CONTROL_SWITCH = 13
# ENERGY_MANAGEMENT_SYSTEM = 14
# SMART_ENERGY_MODULE = 15
# ELECTRIC_VEHICLE = 16
# ELECTRIC_VEHICLE_SUPPLY_EQUIPMENT = 17
# VIRTUAL_OR_MIXED_DER = 18
# RECIPROCATING_ENGINE = 19 # Synchronous Machine
# FUEL_CELL = 20 # Battery
# PHOTOVOLTAIC_SYSTEM = 21 # Solar
# COMBINED_HEAT_AND_POWER = 22
# COMBINED_PV_AND_STORAGE = 23
# OTHER_GENERATION_SYSTEMS = 24
# OTHER_STORAGE_SYSTEMS = 25
#
# # Additional here for Aggregator
# AGGREGATOR = 99
# OTHER_CLIENT = 100
#
devices:
- device_category_type: PHOTOVOLTAIC_SYSTEM
# id used for creating certificates and is used for the host name of the system
#
# required: Yes
id: _def62366-746e-4fcb-b3ee-ebebb90d72d4
# Poll rate specifies how long a client can go without polling the server for changed information
# on the server.
#
# default: 900
# required: No
poll_rate: 60
# For the CSIP Direct Communication scenario, the DER Client SHALL only receive function set assignments for a
# single energy connection point reflecting the aggregate capabilities of the plant at its point of
# common coupling with the utility.
#
# default: true
direct_communication: true
# pin number specified so that the client can validate that we are talking to the correct server. The client
# shall know the server and can match to this pin number for verification.
#
# required: Yes
pin: 12345
# In the absence of scheduled controls, DERs SHALL revert to a default control setting specified by
# interconnection tariffs, the utility Interconnection Handbook or as specified by the last DefaultDERControl.
#
# Define the DefaultDERControl for the inverter if necessary to customize for this specific inverter.
#
# default: None (uses the global DefaultDERContorl)
fsa_list:
- mRID: _def62366-746e-4fcb-b3ee-ebebb90d72d4-fsa
description: _def62366-746e-4fcb-b3ee-ebebb90d72d4 fsa description
program_lists:
- pl1
- pl2
- device_category_type: PHOTOVOLTAIC_SYSTEM
id: dev1
pin: 12345
fsa_list:
- mRID: dev1-fsa
description: dev1 fsa description
program_lists:
- pl1
- pl2
- device_category_type: PHOTOVOLTAIC_SYSTEM
id: dev2
pin: 12345
fsa_list:
- mRID: dev2-fsa
description: dev2 fsa description
program_lists:
- pl1
- pl2
# Contains control mode information to be used if no active DERControl is
# found
DefaultDERControl:
# Distributed Energy Resource (DER) control values.
# Required: True
DERControlBase:
# Set DER as connected (true) or disconnected
# (false). Used in conjunction with ramp rate when re-connecting.
# Implies galvanic isolation.
#
# default: True
opModConnect: True
# Set DER as energized (true) or de-energized
# (false). Used in conjunction with ramp rate when re-energizing.
#
# default: True
opModEnergize: True
# The opModFixedPFAbsorbW function
# specifies a requested fixed Power Factor (PF) setting for when
# active power is being absorbed. The actual displacement SHALL be
# within the limits established by setMinPFOverExcited and
# setMinPFUnderExcited. If issued simultaneously with other
# reactive power controls (e.g. opModFixedVar) the control
# resulting in least var magnitude SHOULD take precedence.
#
# default: null
opModFixedPFAbsorbW: 0.9
# The opModFixedPFInjectW function
# specifies a requested fixed Power Factor (PF) setting for when
# active power is being injected. The actual displacement SHALL be
# within the limits established by setMinPFOverExcited and
# setMinPFUnderExcited. If issued simultaneously with other
# reactive power controls (e.g. opModFixedVar) the control
# resulting in least var magnitude SHOULD take precedence.
opModFixedPFInjectW: 0.9
# The opModFixedVar function specifies the
# delivered or received reactive power setpoint. The context for
# the setpoint value is determined by refType and SHALL be one of
# %setMaxW, %setMaxVar, or %statVarAvail. If issued
# simultaneously with other reactive power controls (e.g.
# opModFixedPFInjectW) the control resulting in least var
# magnitude SHOULD take precedence.
# opModFixedVar:
# The opModFixedW function specifies a requested
# charge or discharge mode setpoint, in %setMaxChargeRateW if
# negative value or %setMaxW or %setMaxDischargeRateW if positive
# value (in hundredths).
# opModFixedW:
# Specifies a frequency-watt operation. This
# operation limits active power generation or consumption when the
# line frequency deviates from nominal by a specified amount.
# opModFreqDroop:
# Specify DERCurveLink for curveType == 0. The
# Frequency-Watt function limits active power generation or
# consumption when the line frequency deviates from nominal by a
# specified amount. The Frequency-Watt curve is specified as an
# array of Frequency-Watt pairs that are interpolated into a
# piecewise linear function with hysteresis. The x value of each
# pair specifies a frequency in Hz. The y value specifies a
# corresponding active power output in %setMaxW.
# opModFreqWatt:
# Specify DERCurveLink for curveType == 1. The
# High Frequency Ride-Through (HFRT) function is specified by one
# or two duration-frequency curves that define the operating
# region under high frequency conditions. Each HFRT curve is
# specified by an array of duration-frequency pairs that will be
# interpolated into a piecewise linear function that defines an
# operating region. The x value of each pair specifies a duration
# (time at a given frequency in seconds). The y value of each pair
# specifies a frequency, in Hz. This control specifies the "may
# trip" region.
# opModHFRTMayTrip:
# Specify DERCurveLink for curveType == 2.
# The High Frequency Ride-Through (HFRT) function is specified by
# a duration-frequency curve that defines the operating region
# under high frequency conditions. Each HFRT curve is specified
# by an array of duration-frequency pairs that will be
# interpolated into a piecewise linear function that defines an
# operating region. The x value of each pair specifies a duration
# (time at a given frequency in seconds). The y value of each pair
# specifies a frequency, in Hz. This control specifies the "must
# trip" region.
# opModHFRTMustTrip:
# Specify DERCurveLink for curveType == 3. The
# High Voltage Ride-Through (HVRT) function is specified by one,
# two, or three duration-volt curves that define the operating
# region under high voltage conditions. Each HVRT curve is
# specified by an array of duration-volt pairs that will be
# interpolated into a piecewise linear function that defines an
# operating region. The x value of each pair specifies a duration
# (time at a given voltage in seconds). The y value of each pair
# specifies an effective percentage voltage, defined as ((locally
# measured voltage - setVRefOfs / setVRef). This control specifies
# the "may trip" region.
# opModHVRTMayTrip:
# Specify DERCurveLink for
# curveType == 4. The High Voltage Ride-Through (HVRT) function
# is specified by duration-volt curves that define the operating
# region under high voltage conditions. Each HVRT curve is
# specified by an array of duration-volt pairs that will be
# interpolated into a piecewise linear function that defines an
# operating region. The x value of each pair specifies a duration
# (time at a given voltage in seconds). The y value of each pair
# specifies an effective percent voltage, defined as ((locally
# measured voltage - setVRefOfs) / setVRef). This control
# specifies the "momentary cessation" region.
# opModHVRTMomentaryCessation:
# Specify DERCurveLink for curveType == 5.
# The High Voltage Ride-Through (HVRT) function is specified by
# duration-volt curves that define the operating region under high
# voltage conditions. Each HVRT curve is specified by an array of
# duration-volt pairs that will be interpolated into a piecewise
# linear function that defines an operating region. The x value
# of each pair specifies a duration (time at a given voltage in
# seconds). The y value of each pair specifies an effective
# percent voltage, defined as ((locally measured voltage -
# setVRefOfs) / setVRef). This control specifies the "must trip"
# region.
# opModHVRTMustTrip
# Specify DERCurveLink for curveType == 6. The
# Low Frequency Ride-Through (LFRT) function is specified by one
# or two duration-frequency curves that define the operating
# region under low frequency conditions. Each LFRT curve is
# specified by an array of duration-frequency pairs that will be
# interpolated into a piecewise linear function that defines an
# operating region. The x value of each pair specifies a duration
# (time at a given frequency in seconds). The y value of each pair
# specifies a frequency, in Hz. This control specifies the "may
# trip" region.
# opModLFRTMayTrip:
# Specify DERCurveLink for curveType == 7.
# The Low Frequency Ride-Through (LFRT) function is specified by a
# duration-frequency curve that defines the operating region under
# low frequency conditions. Each LFRT curve is specified by an
# array of duration-frequency pairs that will be interpolated into
# a piecewise linear function that defines an operating region.
# The x value of each pair specifies a duration (time at a given
# frequency in seconds). The y value of each pair specifies a
# frequency, in Hz. This control specifies the "must trip" region.
# opModLFRTMustTrip:
# Specify DERCurveLink for curveType == 8. The
# Low Voltage Ride-Through (LVRT) function is specified by one,
# two, or three duration-volt curves that define the operating
# region under low voltage conditions. Each LVRT curve is
# specified by an array of duration-volt pairs that will be
# interpolated into a piecewise linear function that defines an
# operating region. The x value of each pair specifies a duration
# (time at a given voltage in seconds). The y value of each pair
# specifies an effective percent voltage, defined as ((locally
# measured voltage - setVRefOfs) / setVRef). This control
# specifies the "may trip" region.
# opModLVRTMayTrip:
# Specify DERCurveLink for
# curveType == 9. The Low Voltage Ride-Through (LVRT) function is
# specified by duration-volt curves that define the operating
# region under low voltage conditions. Each LVRT curve is
# specified by an array of duration-volt pairs that will be
# interpolated into a piecewise linear function that defines an
# operating region. The x value of each pair specifies a duration
# (time at a given voltage in seconds). The y value of each pair
# specifies an effective percent voltage, defined as ((locally
# measured voltage - setVRefOfs) / setVRef). This control
# specifies the "momentary cessation" region.
# opModLVRTMomentaryCessation:
# Specify DERCurveLink for curveType == 10.
# The Low Voltage Ride-Through (LVRT) function is specified by
# duration-volt curves that define the operating region under low
# voltage conditions. Each LVRT curve is specified by an array of
# duration-volt pairs that will be interpolated into a piecewise
# linear function that defines an operating region. The x value
# of each pair specifies a duration (time at a given voltage in
# seconds). The y value of each pair specifies an effective
# percent voltage, defined as ((locally measured voltage -
# setVRefOfs) / setVRef). This control specifies the "must trip"
# region.
# opModLVRTMustTrip:
# The opModMaxLimW function sets the maximum
# active power generation level at the electrical coupling point
# as a percentage of set capacity (%setMaxW, in hundredths). This
# limitation may be met e.g. by reducing PV output or by using
# excess PV output to charge associated storage.
# opModMaxLimW:
# Target reactive power, in var. This control is
# likely to be more useful for aggregators, as individual DERs may
# not be able to maintain a target setting.
# opModTargetVar:
# Target output power, in Watts. This control is
# likely to be more useful for aggregators, as individual DERs may
# not be able to maintain a target setting.
# opModTargetW:
# opModVoltVar: Specify DERCurveLink for curveType == 11. The
# static volt-var function provides over- or under-excited var
# compensation as a function of measured voltage. The volt-var
# curve is specified as an array of volt-var pairs that are
# interpolated into a piecewise linear function with hysteresis.
# The x value of each pair specifies an effective percent voltage,
# defined as ((locally measured voltage - setVRefOfs) / setVRef)
# and SHOULD support a domain of at least 0 - 135. If VRef is
# present in DERCurve, then the x value of each pair is
# additionally multiplied by (VRef / 10000). The y value specifies
# a target var output interpreted as a signed percentage (-100 to
# 100). The meaning of the y value is determined by yRefType and
# must be one of %setMaxW, %setMaxVar, or %statVarAvail.
# opModVoltVar:
# Specify DERCurveLink for curveType == 12. The
# Volt-Watt reduces active power output as a function of measured
# voltage. The Volt-Watt curve is specified as an array of Volt-
# Watt pairs that are interpolated into a piecewise linear
# function with hysteresis. The x value of each pair specifies an
# effective percent voltage, defined as ((locally measured voltage
# - setVRefOfs) / setVRef) and SHOULD support a domain of at least
# 0 - 135. The y value specifies an active power output
# interpreted as a percentage (0 - 100). The meaning of the y
# value is determined by yRefType and must be one of %setMaxW or
# %statWAvail.
# opModVoltWatt:
# Specify DERCurveLink for curveType == 13. The
# Watt-PF function varies Power Factor (PF) as a function of
# delivered active power. The Watt-PF curve is specified as an
# array of Watt-PF coordinates that are interpolated into a
# piecewise linear function with hysteresis. The x value of each
# pair specifies a watt setting in %setMaxW, (0 - 100). The PF
# output setting is a signed displacement in y value (PF sign
# SHALL be interpreted according to the EEI convention, where
# unity PF is considered unsigned). These settings are not
# expected to be updated very often during the life of the
# installation, therefore only a single curve is required. If
# issued simultaneously with other reactive power controls (e.g.
# opModFixedPFInjectW) the control resulting in least var
# magnitude SHOULD take precedence.
# opModWattPF:
# Specify DERCurveLink for curveType == 14. The
# Watt-Var function varies vars as a function of delivered active
# power. The Watt-Var curve is specified as an array of Watt-Var
# pairs that are interpolated into a piecewise linear function
# with hysteresis. The x value of each pair specifies a watt
# setting in %setMaxW, (0-100). The y value specifies a target var
# output interpreted as a signed percentage (-100 to 100). The
# meaning of the y value is determined by yRefType and must be one
# of %setMaxW, %setMaxVar, or %statVarAvail.
# opModWattVar:
# Requested ramp time, in hundredths of a second, for
# the device to transition from the current DERControl mode
# setting(s) to the new mode setting(s). If absent, use default
# ramp rate (setGradW). Resolution is 1/100 sec.
# rampTms:
# Enter service delay, in hundredths of a second.
# When present, this value SHALL update the value of the
# corresponding setting (DERSettings::setESDelay).
#
# default: null
setESDelay: null
# Enter service frequency high. Specified in
# hundredths of Hz. When present, this value SHALL update the
# value of the corresponding setting (DERSettings::setESHighFreq).
#
# default: null
setESHighFreq: null
# Enter service voltage high. Specified as an
# effective percent voltage, defined as (100% * (locally measured
# voltage - setVRefOfs) / setVRef), in hundredths of a percent.
# When present, this value SHALL update the value of the
# corresponding setting (DERSettings::setESHighVolt).
#
# default: null
setESHighVolt: null
# Enter service frequency low. Specified in
# hundredths of Hz. When present, this value SHALL update the
# value of the corresponding setting (DERSettings::setESLowFreq).
#
# default: null
setESLowFreq: null
# Enter service voltage low. Specified as an
# effective percent voltage, defined as (100% * (locally measured
# voltage - setVRefOfs) / setVRef), in hundredths of a percent.
# When present, this value SHALL update the value of the
# corresponding setting (DERSettings::setESLowVolt).
setESLowVolt: null
# Enter service ramp time, in hundredths of a
# second. When present, this value SHALL update the value of the
# corresponding setting (DERSettings::setESRampTms).
setESRampTms: null
# Enter service randomized delay, in
# hundredths of a second. When present, this value SHALL update
# the value of the corresponding setting
# (DERSettings::setESRandomDelay).
setESRandomDelay: null
# Set default rate of change (ramp rate) of active
# power output due to command or internal action, defined in
# %setWMax / second. Resolution is in hundredths of a
# percent/second. A value of 0 means there is no limit.
# Interpreted as a percentage change in output capability limit
# per second when used as a default ramp rate. When present, this
# value SHALL update the value of the corresponding setting
# (DERSettings::setGradW).
setGradW: null
# Set soft-start rate of change (soft-start ramp
# rate) of active power output due to command or internal action,
# defined in %setWMax / second. Resolution is in hundredths of a
# percent/second. A value of 0 means there is no limit.
# Interpreted as a percentage change in output capability limit
# per second when used as a ramp rate. When present, this value
# SHALL update the value of the corresponding setting
# (DERSettings::setSoftGradW).
setSoftGradW: null
#gridappsd:
# field_bus_config: gridappsd_feeder_config.yml
# feeder_id_file: examples/simulation.feeder.txt
# simulation_id_file: examples/simulation.id.txt