# Rapid Prototyping of Multi-Functional Battery Energy Storage System Applications
## 5 Proof-of-Concept Evaluation
### Realized Development Example
#### 5.2.1. Step 1: CEMS Description via EMS-Templates  
Control engineers employ the EMS-templates to specify knowledge about the information, function and component layers of the CEMS. This action is referenced in Figure 9 by Step 1 and detailed in the following paragraphs. In the specification phase, a list of approaches are offered to control engineers to formally describe the CEMS (e.g., UML, SysML) as exposed in Table 2. Among the different options, the SGAM-Toolbox was chosen. Hence, a representation of the CEMS previously outlined in Figure 8 is matched to the SGAM matrix (information layer), where components of the system under study and also the exchanged information across them is illustrated, see Figure 10. The CEMS controller is located at the customer premises. The BESS and PV are situated at the DER-domain and field/process-zone. The meter located at the PCC point belongs to the customer-domain and field-zone. In turn, the low-voltage distribution grid and loads are matched to the process-zone. SGAM-Toolbox offers more schemes to detail the structure and behavior of control applications, covering the other layers of SGAM such as component and communication. After the specification phase is concluded, control engineers reuse the derived knowledge at the design stage to fill the EMS-templates. One template is focused only on the structure and functionalities covered by CEMS (see Table 10). A System(Sys) is composed of Application[CEMS, BESS, PV,...]. Services carried out by them are described under HLUC, for instance Application(CEMS) owns HLUC[FW, SelfC]. A description and a type are assigned to HLUC and Application by the roles hasDescription and hasType. Hence, hasDescription(FW, active power...) and hasType(FW,_PS_) belong to HLUC(FW). Figure 9: EMSOnto in practice by realizing the CEMS. A further description of HLUC is given by the concept PUC as shown in Table 11. Hence, the HLUC(FW) contains PUC[Linear-Control, Limit_SoC]. A description of PPCs is given as well as the category details (e.g., \(FWHZ\)). Type specification leads to inherit Variables from the UC repository. Therefore, variables not inherited should be specified by the control engineer as follows: the PUC(Limit_SoC) controls Application(BESS) through Control(\(ct\_BESS\_P\)), the measurement of the frequency at the PCC point is derived from Feedback(\(fd\_Meter\_F\)). Moreover, PUC(PI_Control) controls the battery by commanding Control(\(ct\_BESS\_P\)). A generic HLUC was achieved by the definition of ParamUC and ParamCont as exposed in Section 4.4. PS and MSC being generic HLUCs, the matching of HLUC[FW, SelfC] to PS and MSC respectively derives the population of HLUCs as shown in Table 12. In this context, a priority is set to HLUC(FW) by stating ParamUC(Prt). Information related to the controller features is described under ParamCont. Hence, the settling-time of HLUC(FW) is set to 30 s and stated by ParamCont(SettlingTime). IED data models (e.g., BESS, meter) are created by the control engineer and stored within the IED repository to be used in future EMS design. A battery model is shown in Table 13. It was not the aim of EMS-templates to gather data from control algorithms deployed within the BESS. Thus, only internal and external variables of the battery are considered within the model. In addition to this, those models assist with identifying the variables available to the CEMS such as Setpoint and Status. \begin{table}
\begin{tabular}{l l l l l l} \hline System & Application & Description & Type & HLUC & Description  
The IED repository leverages models from IEC 61850, a large list of function and IED models is detailed in the standard. A model suitable to PUC(Linear-Control) is extracted from the logical node FWHZ exposed in the standard IEC 61850-90-7 [12], resulting in Table 14.  
The detection of certain inconsistencies requires the gathering of extra specific information--for instance, the detection of conflict \(C_{I}\) requires filling Table 15. That conflict looks for a coupling across PUCs or HLUCs.