1#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct EssEventZbat {
4 #[prost(message, optional, tag="1")]
6 pub logical_node_for_event_and_status: ::std::option::Option<super::commonmodule::LogicalNodeForEventAndStatus>,
7 #[prost(message, optional, tag="2")]
9 pub bat_hi: ::std::option::Option<super::commonmodule::StatusSps>,
10 #[prost(message, optional, tag="3")]
12 pub bat_lo: ::std::option::Option<super::commonmodule::StatusSps>,
13 #[prost(message, optional, tag="4")]
15 pub bat_st: ::std::option::Option<super::commonmodule::StatusSps>,
16 #[prost(message, optional, tag="5")]
18 pub soc: ::std::option::Option<super::commonmodule::Mv>,
19 #[prost(message, optional, tag="6")]
21 pub stdby: ::std::option::Option<super::commonmodule::StatusSps>,
22}
23#[derive(Clone, PartialEq, ::prost::Message)]
25pub struct FrequencyRegulation {
26 #[prost(message, optional, tag="1")]
30 pub frequency_dead_band_minus: ::std::option::Option<f32>,
31 #[prost(message, optional, tag="2")]
35 pub frequency_dead_band_plus: ::std::option::Option<f32>,
36 #[prost(message, optional, tag="3")]
38 pub frequency_regulation_ctl: ::std::option::Option<bool>,
39 #[prost(message, optional, tag="4")]
41 pub frequency_set_point: ::std::option::Option<f32>,
42 #[prost(message, optional, tag="5")]
46 pub grid_frequency_stable_band_minus: ::std::option::Option<f32>,
47 #[prost(message, optional, tag="6")]
51 pub grid_frequency_stable_band_plus: ::std::option::Option<f32>,
52 #[prost(message, optional, tag="7")]
56 pub over_frequency_droop: ::std::option::Option<f32>,
57 #[prost(message, optional, tag="8")]
61 pub under_frequency_droop: ::std::option::Option<f32>,
62}
63#[derive(Clone, PartialEq, ::prost::Message)]
65pub struct PeakShaving {
66 #[prost(message, optional, tag="1")]
68 pub base_shaving_limit: ::std::option::Option<f32>,
69 #[prost(message, optional, tag="2")]
71 pub peak_shaving_ctl: ::std::option::Option<bool>,
72 #[prost(message, optional, tag="3")]
75 pub peak_shaving_limit: ::std::option::Option<f32>,
76 #[prost(message, optional, tag="4")]
79 pub soc_management_allowed_high_limit: ::std::option::Option<f32>,
80 #[prost(message, optional, tag="5")]
83 pub soc_management_allowed_low_limit: ::std::option::Option<f32>,
84}
85#[derive(Clone, PartialEq, ::prost::Message)]
87pub struct SocLimit {
88 #[prost(message, optional, tag="1")]
93 pub soc_high_limit: ::std::option::Option<f32>,
94 #[prost(message, optional, tag="2")]
99 pub soc_high_limit_hysteresis: ::std::option::Option<f32>,
100 #[prost(message, optional, tag="3")]
102 pub soc_limit_ctl: ::std::option::Option<bool>,
103 #[prost(message, optional, tag="4")]
108 pub soc_low_limit: ::std::option::Option<f32>,
109 #[prost(message, optional, tag="5")]
114 pub soc_low_limit_hysteresis: ::std::option::Option<f32>,
115}
116#[derive(Clone, PartialEq, ::prost::Message)]
118pub struct SocManagement {
119 #[prost(message, optional, tag="1")]
123 pub soc_dead_band_minus: ::std::option::Option<f32>,
124 #[prost(message, optional, tag="2")]
128 pub soc_dead_band_plus: ::std::option::Option<f32>,
129 #[prost(message, optional, tag="3")]
131 pub soc_management_ctl: ::std::option::Option<bool>,
132 #[prost(message, optional, tag="4")]
134 pub soc_power_set_point: ::std::option::Option<f32>,
135 #[prost(message, optional, tag="5")]
137 pub soc_set_point: ::std::option::Option<f32>,
138}
139#[derive(Clone, PartialEq, ::prost::Message)]
141pub struct VoltageRegulation {
142 #[prost(message, optional, tag="1")]
146 pub over_voltage_droop: ::std::option::Option<f32>,
147 #[prost(message, optional, tag="2")]
151 pub under_voltage_droop: ::std::option::Option<f32>,
152 #[prost(message, optional, tag="3")]
156 pub voltage_dead_band_minus: ::std::option::Option<f32>,
157 #[prost(message, optional, tag="4")]
161 pub voltage_dead_band_plus: ::std::option::Option<f32>,
162 #[prost(message, optional, tag="5")]
166 pub voltage_set_point: ::std::option::Option<f32>,
167}
168#[derive(Clone, PartialEq, ::prost::Message)]
170pub struct VoltageDroop {
171 #[prost(message, optional, tag="1")]
173 pub voltage_droop_ctl: ::std::option::Option<bool>,
174 #[prost(message, optional, tag="2")]
176 pub voltage_regulation: ::std::option::Option<VoltageRegulation>,
177}
178#[derive(Clone, PartialEq, ::prost::Message)]
180pub struct VoltagePi {
181 #[prost(message, optional, tag="1")]
183 pub voltage_pi_ctl: ::std::option::Option<bool>,
184 #[prost(message, optional, tag="2")]
186 pub voltage_regulation: ::std::option::Option<VoltageRegulation>,
187}
188#[derive(Clone, PartialEq, ::prost::Message)]
190pub struct CapacityFirming {
191 #[prost(message, optional, tag="1")]
193 pub capacity_firming_ctl: ::std::option::Option<bool>,
194 #[prost(message, optional, tag="2")]
198 pub limit_negative_dp_dt: ::std::option::Option<f32>,
199 #[prost(message, optional, tag="3")]
203 pub limit_positive_dp_dt: ::std::option::Option<f32>,
204}
205#[derive(Clone, PartialEq, ::prost::Message)]
207pub struct EssFunction {
208 #[prost(message, optional, tag="1")]
210 pub capacity_firming: ::std::option::Option<CapacityFirming>,
211 #[prost(message, optional, tag="2")]
213 pub frequency_regulation: ::std::option::Option<FrequencyRegulation>,
214 #[prost(message, optional, tag="3")]
216 pub peak_shaving: ::std::option::Option<PeakShaving>,
217 #[prost(message, optional, tag="4")]
219 pub soc_limit: ::std::option::Option<SocLimit>,
220 #[prost(message, optional, tag="5")]
222 pub soc_management: ::std::option::Option<SocManagement>,
223 #[prost(message, optional, tag="6")]
225 pub voltage_droop: ::std::option::Option<VoltageDroop>,
226 #[prost(message, optional, tag="7")]
228 pub voltage_pi: ::std::option::Option<VoltagePi>,
229}
230#[derive(Clone, PartialEq, ::prost::Message)]
232pub struct EssPointStatus {
233 #[prost(message, optional, tag="1")]
235 pub black_start_enabled: ::std::option::Option<super::commonmodule::ControlDpc>,
236 #[prost(message, optional, tag="2")]
238 pub frequency_set_point_enabled: ::std::option::Option<super::commonmodule::ControlDpc>,
239 #[prost(message, optional, tag="3")]
241 pub function: ::std::option::Option<EssFunction>,
242 #[prost(message, optional, tag="4")]
244 pub mode: ::std::option::Option<super::commonmodule::EngGridConnectModeKind>,
245 #[prost(message, optional, tag="5")]
247 pub pct_hz_droop: ::std::option::Option<f32>,
248 #[prost(message, optional, tag="6")]
250 pub pct_v_droop: ::std::option::Option<f32>,
251 #[prost(message, optional, tag="7")]
253 pub ramp_rates: ::std::option::Option<super::commonmodule::RampRate>,
254 #[prost(message, optional, tag="8")]
256 pub reactive_pwr_set_point_enabled: ::std::option::Option<super::commonmodule::ControlDpc>,
257 #[prost(message, optional, tag="9")]
259 pub real_pwr_set_point_enabled: ::std::option::Option<super::commonmodule::ControlDpc>,
260 #[prost(message, optional, tag="10")]
262 pub state: ::std::option::Option<super::commonmodule::OptionalStateKind>,
263 #[prost(message, optional, tag="11")]
265 pub sync_back_to_grid: ::std::option::Option<super::commonmodule::ControlDpc>,
266 #[prost(message, optional, tag="12")]
268 pub trans_to_islnd_on_grid_loss_enabled: ::std::option::Option<super::commonmodule::ControlDpc>,
269 #[prost(message, optional, tag="13")]
271 pub voltage_set_point_enabled: ::std::option::Option<super::commonmodule::ControlDpc>,
272}
273#[derive(Clone, PartialEq, ::prost::Message)]
275pub struct EssEventAndStatusZgen {
276 #[prost(message, optional, tag="1")]
278 pub logical_node_for_event_and_status: ::std::option::Option<super::commonmodule::LogicalNodeForEventAndStatus>,
279 #[prost(message, optional, tag="2")]
281 pub aux_pwr_st: ::std::option::Option<super::commonmodule::StatusSps>,
282 #[prost(message, optional, tag="3")]
284 pub dynamic_test: ::std::option::Option<super::commonmodule::EnsDynamicTestKind>,
285 #[prost(message, optional, tag="4")]
287 pub emg_stop: ::std::option::Option<super::commonmodule::StatusSps>,
288 #[prost(message, optional, tag="5")]
290 pub gn_syn_st: ::std::option::Option<super::commonmodule::StatusSps>,
291 #[prost(message, optional, tag="6")]
293 pub point_status: ::std::option::Option<EssPointStatus>,
294}
295#[derive(Clone, PartialEq, ::prost::Message)]
297pub struct EssEventZgen {
298 #[prost(message, optional, tag="1")]
300 pub e_ss_event_and_status_zgen: ::std::option::Option<EssEventAndStatusZgen>,
301}
302#[derive(Clone, PartialEq, ::prost::Message)]
304pub struct EssEvent {
305 #[prost(message, optional, tag="1")]
307 pub event_value: ::std::option::Option<super::commonmodule::EventValue>,
308 #[prost(message, optional, tag="2")]
310 pub ess_event_zbat: ::std::option::Option<EssEventZbat>,
311 #[prost(message, optional, tag="3")]
313 pub ess_event_zgen: ::std::option::Option<EssEventZgen>,
314}
315#[derive(Clone, PartialEq, ::prost::Message)]
317pub struct EssEventProfile {
318 #[prost(message, optional, tag="1")]
320 pub event_message_info: ::std::option::Option<super::commonmodule::EventMessageInfo>,
321 #[prost(message, optional, tag="2")]
323 pub ess: ::std::option::Option<super::commonmodule::Ess>,
324 #[prost(message, optional, tag="3")]
326 pub ess_event: ::std::option::Option<EssEvent>,
327 #[prost(message, optional, tag="4")]
329 pub ied: ::std::option::Option<super::commonmodule::Ied>,
330}
331#[derive(Clone, PartialEq, ::prost::Message)]
333pub struct EssReading {
334 #[prost(message, optional, tag="1")]
336 pub conducting_equipment_terminal_reading: ::std::option::Option<super::commonmodule::ConductingEquipmentTerminalReading>,
337 #[prost(message, optional, tag="2")]
339 pub phase_mmtn: ::std::option::Option<super::commonmodule::PhaseMmtn>,
340 #[prost(message, optional, tag="3")]
342 pub reading_mmtr: ::std::option::Option<super::commonmodule::ReadingMmtr>,
343 #[prost(message, optional, tag="4")]
345 pub reading_mmxu: ::std::option::Option<super::commonmodule::ReadingMmxu>,
346}
347#[derive(Clone, PartialEq, ::prost::Message)]
349pub struct EssReadingProfile {
350 #[prost(message, optional, tag="1")]
352 pub reading_message_info: ::std::option::Option<super::commonmodule::ReadingMessageInfo>,
353 #[prost(message, optional, tag="2")]
355 pub ess: ::std::option::Option<super::commonmodule::Ess>,
356 #[prost(message, optional, tag="3")]
358 pub ess_reading: ::std::option::Option<EssReading>,
359 #[prost(message, optional, tag="4")]
361 pub ied: ::std::option::Option<super::commonmodule::Ied>,
362}
363#[derive(Clone, PartialEq, ::prost::Message)]
365pub struct EssStatusZbat {
366 #[prost(message, optional, tag="1")]
368 pub logical_node_for_event_and_status: ::std::option::Option<super::commonmodule::LogicalNodeForEventAndStatus>,
369 #[prost(message, optional, tag="2")]
371 pub bat_st: ::std::option::Option<super::commonmodule::StatusSps>,
372 #[prost(message, optional, tag="3")]
374 pub gri_mod: ::std::option::Option<super::commonmodule::EngGridConnectModeKind>,
375 #[prost(message, optional, tag="4")]
377 pub soc: ::std::option::Option<super::commonmodule::Mv>,
378 #[prost(message, optional, tag="5")]
380 pub stdby: ::std::option::Option<super::commonmodule::StatusSps>,
381}
382#[derive(Clone, PartialEq, ::prost::Message)]
384pub struct EssStatusZgen {
385 #[prost(message, optional, tag="1")]
387 pub e_ss_event_and_status_zgen: ::std::option::Option<EssEventAndStatusZgen>,
388}
389#[derive(Clone, PartialEq, ::prost::Message)]
391pub struct EssStatus {
392 #[prost(message, optional, tag="1")]
394 pub status_value: ::std::option::Option<super::commonmodule::StatusValue>,
395 #[prost(message, optional, tag="2")]
397 pub ess_status_zbat: ::std::option::Option<EssStatusZbat>,
398 #[prost(message, optional, tag="3")]
400 pub ess_status_zgen: ::std::option::Option<EssStatusZgen>,
401}
402#[derive(Clone, PartialEq, ::prost::Message)]
404pub struct EssStatusProfile {
405 #[prost(message, optional, tag="1")]
407 pub status_message_info: ::std::option::Option<super::commonmodule::StatusMessageInfo>,
408 #[prost(message, optional, tag="2")]
410 pub ess: ::std::option::Option<super::commonmodule::Ess>,
411 #[prost(message, optional, tag="3")]
413 pub ess_status: ::std::option::Option<EssStatus>,
414 #[prost(message, optional, tag="4")]
416 pub ied: ::std::option::Option<super::commonmodule::Ied>,
417}
418#[derive(Clone, PartialEq, ::prost::Message)]
420pub struct EssPoint {
421 #[prost(message, optional, tag="1")]
423 pub black_start_enabled: ::std::option::Option<super::commonmodule::ControlDpc>,
424 #[prost(message, optional, tag="2")]
426 pub frequency_set_point_enabled: ::std::option::Option<super::commonmodule::ControlDpc>,
427 #[prost(message, optional, tag="3")]
429 pub function: ::std::option::Option<EssFunction>,
430 #[prost(message, optional, tag="4")]
432 pub mode: ::std::option::Option<super::commonmodule::EngGridConnectModeKind>,
433 #[prost(message, optional, tag="5")]
435 pub pct_hz_droop: ::std::option::Option<f32>,
436 #[prost(message, optional, tag="6")]
438 pub pct_v_droop: ::std::option::Option<f32>,
439 #[prost(message, optional, tag="7")]
441 pub ramp_rates: ::std::option::Option<super::commonmodule::RampRate>,
442 #[prost(message, optional, tag="8")]
444 pub reactive_pwr_set_point_enabled: ::std::option::Option<super::commonmodule::ControlDpc>,
445 #[prost(message, optional, tag="9")]
447 pub real_pwr_set_point_enabled: ::std::option::Option<super::commonmodule::ControlDpc>,
448 #[prost(message, optional, tag="10")]
450 pub reset: ::std::option::Option<super::commonmodule::ControlDpc>,
451 #[prost(message, optional, tag="11")]
453 pub state: ::std::option::Option<super::commonmodule::OptionalStateKind>,
454 #[prost(message, optional, tag="12")]
456 pub sync_back_to_grid: ::std::option::Option<super::commonmodule::ControlDpc>,
457 #[prost(message, optional, tag="13")]
459 pub trans_to_islnd_on_grid_loss_enabled: ::std::option::Option<super::commonmodule::ControlDpc>,
460 #[prost(message, optional, tag="14")]
462 pub voltage_set_point_enabled: ::std::option::Option<super::commonmodule::ControlDpc>,
463 #[prost(message, optional, tag="15")]
465 pub start_time: ::std::option::Option<super::commonmodule::ControlTimestamp>,
466}
467#[derive(Clone, PartialEq, ::prost::Message)]
469pub struct Esscsg {
470 #[prost(message, repeated, tag="1")]
472 pub crv_pts: ::std::vec::Vec<EssPoint>,
473}
474#[derive(Clone, PartialEq, ::prost::Message)]
476pub struct EssControlScheduleFsch {
477 #[prost(message, optional, tag="1")]
479 pub val_dcsg: ::std::option::Option<Esscsg>,
480}
481#[derive(Clone, PartialEq, ::prost::Message)]
483pub struct EssControlFscc {
484 #[prost(message, optional, tag="1")]
486 pub control_fscc: ::std::option::Option<super::commonmodule::ControlFscc>,
487 #[prost(message, optional, tag="2")]
489 pub ess_control_schedule_fsch: ::std::option::Option<EssControlScheduleFsch>,
490}
491#[derive(Clone, PartialEq, ::prost::Message)]
493pub struct EssControl {
494 #[prost(message, optional, tag="1")]
496 pub control_value: ::std::option::Option<super::commonmodule::ControlValue>,
497 #[prost(message, optional, tag="2")]
499 pub check: ::std::option::Option<super::commonmodule::CheckConditions>,
500 #[prost(message, optional, tag="3")]
502 pub ess_control_fscc: ::std::option::Option<EssControlFscc>,
503}
504#[derive(Clone, PartialEq, ::prost::Message)]
506pub struct EssControlProfile {
507 #[prost(message, optional, tag="1")]
509 pub control_message_info: ::std::option::Option<super::commonmodule::ControlMessageInfo>,
510 #[prost(message, optional, tag="2")]
512 pub ess: ::std::option::Option<super::commonmodule::Ess>,
513 #[prost(message, optional, tag="3")]
515 pub ess_control: ::std::option::Option<EssControl>,
516 #[prost(message, optional, tag="4")]
518 pub ied: ::std::option::Option<super::commonmodule::Ied>,
519}