How to Commission a Battery Storage Site in an EMS
Commissioning a battery storage site in an EMS means describing the plant to the software: what the site is, which devices it talks to, how they are wired, what logic dispatches them, what the tariff is, and which outside systems may read the result. Done in the right order, it is data entry rather than detective work, and the site can be rehearsed in simulation before a single command reaches real equipment.
In brief
- Gather the single line diagram, device register maps, nameplate ratings, and the utility rate sheet before opening the software; every one of them becomes a field.
- The order matters: project, equipment, layout, algorithms, tariff, interfaces, then a review of the change list.
- An equipment item is what algorithms address; a device is the physical box that gets polled. A BESS is one item holding a battery, a BMS, and a PCS.
- The one line diagram is not a picture. It is the electrical model that decides how power flows are attributed and what an algorithm can reach.
- Nothing reaches the running control system until a reviewed save, and the site should run a full day in simulation before it is allowed to dispatch.
What should you have in hand before you start?
A commissioning visit goes badly when the information you need is somewhere else. Everything below ends up in the configuration, so gathering it first turns commissioning into data entry instead of a series of phone calls.
- Site identity: the name as it should appear on reports, the street address, latitude and longitude, and a site contact who can make decisions.
- The single line diagram, with the grid connection, the interconnection meter, the busbar, and every generator, storage system, and metered load hanging off it. Which meter measures what matters, because net site power is derived from them.
- For each device the EMS will poll: manufacturer and model, IP address and port or the serial settings, the Modbus unit ID, the register map, the event table, and nameplate ratings in kW, kWh, kVA, and kvar.
- Operating limits you intend to enforce: maximum and minimum state of charge, charge and discharge efficiency, and ramp limits.
- The tariff: energy charge, demand charge, sell back price, currency, rate seasons, and time of use periods with the dates and times they change.
- Whether a site SCADA or third party master will poll the EMS, and whether the appliance is permitted outbound internet access. The second answer affects licensing, updates, and cloud telemetry.
Step 1: Record the project and the plant ratings
The project is the folder that holds one site’s complete configuration: identity, equipment, layout, algorithms, tariff, documents, and settings. Project Details is where it starts. The project name becomes the heading at the top of every screen and the filename when the project is exported, so it should be the name operators use.
The plant ratings on this screen feed dispatch calculations; they do not limit any device. Rated power in MW, rated energy in MWh, and inverter real and reactive ratings tell the dispatch logic how large the plant is. Operational limits come from the device profiles configured later, which keeps the two ideas separate. The count of PCS units is derived from the equipment configuration and cannot be typed over, so if it is wrong, the equipment library is wrong.


Why do the applications you tick matter?
The most consequential set of checkboxes in the product asks what the system is used for. Each application ticked enables the platform features that application needs, grouped as economic, grid services, and resiliency. A site that shaves demand charges and provides backup power ticks both. Some cards name additional configuration blocks that must exist before the application can operate: microgrid requires operating modes, ramp limits, and safe states; utility DER control over IEEE 2030.5 requires the 2030.5 configuration and a utility issued client certificate.
The utility DER card also states a division of responsibility worth reading twice. The grid support functions themselves, volt var, volt watt, frequency watt, and ride through, are executed and certified at the inverter. The EMS receives the utility instruction and applies the corresponding limit or mode to certified equipment. A commissioned site should always have at least one application ticked; leave them all clear and the system runs, but the features that depend on knowing what the site is for stay off.
Step 2: Build the equipment library
The equipment model separates two ideas that are easy to confuse. An equipment item is a functional part of the plant: a battery energy storage system, a meter, a PV array, the utility connection. Items appear on the single line diagram and are what algorithms address. A device is a physical box the EMS communicates with: a battery management system, a power conversion system, an inverter, a meter head. Devices have IP addresses and register maps, and they are what gets polled.
An item contains one or more device slots. A BESS holds three: the battery pack, which is not polled and is read through the BMS; the PCS, which is the inverter that charges and discharges the pack; and the BMS, which reports state of charge, cell health, and limits. The separation pays off during diagnosis. The BESS is not responding is ambiguous. The BMS slot on bess_1 is not responding but the PCS slot is points at one cable.


- Commission the library in dependency order: manufacturers, then models, then devices. A model carries the register map, the event table, and the parameter set for one make and model of hardware, so two identical meters should be two devices built from one model.
- Choose device identifiers during commissioning and choose them well. They cannot be changed after saving, and they are how algorithms, charts, and event records refer to the device. A convention such as bess_1_pcs_0 and poi_meter_0 reads well on a multiple unit site.
- Every polled device carries a communication block matched to its protocol: IP address, port, and slave ID for Modbus TCP; serial port and unit ID for Modbus RS485; outstation and master addresses for DNP3; a server URI for IEEE 2030.5.
- On a serial bus, every device on one port must share the same baud, parity, stop bits, and data bits. The system refuses to start a bus whose devices disagree rather than letting whichever device starts first decide.
- Set the BMS state of charge scale to match what the device puts on the wire, normalized 0 to 1 or percent 0 to 100. Set it wrong and a newly commissioned BESS reports a state of charge of 5500 percent.
Step 3: Draw the single line diagram and mount the devices
System Layout is the site’s single line diagram, drawn in the product. It is not decoration: what you draw here determines how power flows are attributed, what the dashboard aggregates, what the three dimensional site view renders, and which equipment an algorithm can reach. Every equipment item is a node and every electrical connection is an edge. The Grid node is the reference point of the whole model; it is created with the project and cannot be deleted.
At Alpine Ridge the chain runs from the utility grid through the interconnection meter to a main AC busbar, with the BESS, the PV array, and a load meter on the busbar and the site load beyond the load meter. Each type accepts a fixed number of connections: a meter has two, one upstream and one downstream, because a meter measures the flow between two points; a BESS, a PV array, and a load have one; a busbar has one per port.


- The canvas opens locked. Unlock it to add, move, connect, or delete; lock it again to read properties without risk of changing them.
- An item is complete when it has a type, every slot holds a device, and it is connected back to the Grid. The orange badge is the commissioning checklist: a site is not finished until no node carries one.
- The layout must form a single tree with no loops. A loop means two paths from the grid to the same item, so a measurement cannot be attributed to one path.
- Equipment type is set once. Changing it means deleting the item and adding a replacement, which also releases any devices mounted in its slots, so confirm the type before building the item out.
- Once a device is mounted, clicking its slot card with the canvas locked opens a live monitor with the device’s values, tracked registers, active events, and logs, each value carrying a Good, Stale, or Bad quality chip.
Step 4: Choose and configure the dispatch algorithm
An algorithm is the control logic that decides what the plant does: charging in the cheap hours, holding a demand ceiling, ramping the PCS down at shutdown. It is a folder of Python code plus, optionally, an operator panel. An algorithm runs because it is registered as a task on a schedule, and the kind of task is set when the algorithm is created: a task script for control logic that runs every cycle, a monitoring task for data acquisition, a startup task that runs once when the EMS starts, and a shutdown task that runs once when it stops.
Alpine Ridge runs five: site aggregation as the monitoring task, site startup and site shutdown, a starter task, and a time of use dispatch script. The execution interval is chosen to match the job. Dispatch logic that responds to load changes belongs on a few seconds; a daily report belongs on hours. Every cycle costs polling and database work. The separate guide on how EMS dispatch algorithms work covers the editor, panels, and version control in detail.
Step 5: Enter the tariff
The Financials page holds the site’s electricity tariff, and it is an input to control rather than a reporting convenience. Any algorithm that decides when to charge or discharge reasons about the prices entered here, and the same numbers value the energy the site imports, exports, and shifts. General settings hold the fallback energy, demand, and sell back rates and two switches, demand charges enabled and nonbypassable charges enabled. Rate seasons hold month ranges, each with day groups, each with named time of use periods carrying their own energy and demand rates.
The check before saving is that the seasons cover all twelve months exactly once and that each day group’s twenty four hour color bar is continuous. A month covered by no season has no time of use prices. The separate guide on entering a time of use tariff walks through the two season commercial example configured at Alpine Ridge.
Step 6: Configure the interfaces the site needs
Everywhere else in commissioning the EMS is a Modbus client polling meters, the BMS, and the PCS. Where a plant SCADA, a historian, a building management system, or a utility gateway needs the site’s data, the Modbus server turns that around and publishes aggregated power, energy totals, mode and state, dispatch setpoints, and alarm bits as a Modbus TCP server with a register map you control. It is off on a new site; nothing is published until it is enabled and given a map.
The two settings that cause almost every wrong numbers report from an integrator are byte order and address base. Agree both in writing before commissioning the link, and store them in the project’s documents alongside the register map. Where the site receives controls from a utility over IEEE 2030.5, the device, its certificate, and the utility DER setting are configured together in dependency order.
Step 7: Review the change list and save
Configuration changes are not written the moment you type them. Every screen builds a draft held in the browser, and nothing reaches the running EMS until you save. The behavior is deliberate: a configuration screen edits the model of a plant that is running, and a half finished edit committed by accident is an operational event. Save Changes opens a review dialog that groups changes by section, lists each change chunk with a field count, and shows every field diff with the old value and the new value.
Each chunk has its own checkbox, so the tariff correction can be committed now while a half finished season stays in the draft. Every saved configuration is a new revision, and every save carries the revision the screen was working from. If someone else saved in the meantime, the system refuses the write rather than overwriting their work, and the fix is to refresh, review their change, and reapply yours on top.

| Change | When it takes effect |
|---|---|
| Project details, contact, plant ratings, applications | On save |
| Tariff and rate seasons | On save; algorithms use the new prices on their next cycle |
| Equipment parameters and communication settings | On save; the data acquisition task uses them on its next poll |
| Algorithm code | On the algorithm’s next cycle |
| Algorithm panel | When the panel is compiled |
| Modbus server register map | On save; the running server reloads without dropping client connections |
| Opening or creating a project | Requires the EMS to be idle |
What does the pre commissioning checklist cover?
Work through this before handing a site over. Each item is checked on the screen it belongs to.
- Project Details: the name and description describe the site as an operator needs it, the map marker sits on the plant, at least one application is ticked, and the single line drawing, interconnection agreement, and rate sheet are in Documents.
- Equipment: every device exists in the library and is built from a model that carries the manufacturer’s register map and event table; identifiers follow the site convention; serial devices on one port share the same line settings; every BMS has the correct state of charge scale and limits inside the manufacturer’s limits.
- System Layout: every item is present, typed, and named; every slot holds a device; Save completes with no validation dialog; no node carries an orange badge.
- Algorithms: startup and shutdown algorithms exist, each control algorithm’s interval suits its job, each is enabled in Task Manager with no errors, and any operator panel has been compiled.
- Financials: the tariff matches the rate sheet, the seasons cover twelve months exactly once, and demand charges enabled matches the tariff.
- Modbus Server: if a SCADA or historian integration exists, the server runs on an agreed port with an agreed byte order and address base, publishes only what is contracted, and has the access list enforcing with read only mode on unless writes are required.
- Handover: the EMS has run in simulation through a full daily cycle without errors, a project export is stored with the commissioning records, and Refresh confirms the stored configuration matches the screen.
Intellect Operate
Intellect Operate is the WATTMORE energy management system shown in these screenshots: a site appliance that runs dispatch at the edge, polls any Modbus, DNP3, or IEEE 2030.5 device, and rehearses a configuration in simulation before it moves real power.
Frequently asked questions
- How long does it take to commission a battery storage site in an EMS?
- With the single line diagram, register maps, ratings, and rate sheet in hand, the configuration work for a site like the demonstration plant, one BESS, one PV array, two meters, and a load, is a matter of hours. Most of the elapsed time on a real commissioning goes to proving device communications and rehearsing in simulation, not to data entry.
- Can the site be commissioned without touching real equipment?
- Yes. Commissioning is done in monitoring mode, which polls and records without issuing commands, and the configuration is proven in simulation, which runs every task and algorithm against simulated device behavior. Operation, the only mode that moves real power, is started only when the equipment, the protection scheme, and the people on site are ready.
- What is the difference between an equipment item and a device?
- An equipment item is a functional part of the plant that appears on the single line diagram and is addressed by algorithms, such as bess_1 or poi_meter. A device is a physical box the EMS polls, such as a BMS, a PCS, or a meter head, with its own address and register map. An item contains one or more device slots, and each slot holds one device.
- What happens if two engineers edit the configuration at the same time?
- Every save carries the revision the screen was working from. If another engineer saved first, the second save is refused and reported rather than silently overwriting the first. The second engineer refreshes, reviews the other change, and reapplies their edit on top. Configuration is saved per page, so one person on Equipment and another on Financials do not collide.
- Why can a device identifier not be changed after saving?
- The identifier is how algorithms, charts, and event records refer to the device, and how the audit record names it. Renaming would silently break every reference. Renaming means creating a replacement device with the new identifier and remounting it, which is why the naming convention should be agreed before the library is built.
Sources
- INTELLECT EMS 4.0 Operator and Administrator Manual, Part II: Commissioning a Site, WATTMORE, Inc.
- Energy Storage Handbook, Chapter 15: Energy Storage Management Systems, Sandia National Laboratories for the U.S. Department of Energy
- IEEE 2030.5, Standard for Smart Energy Profile Application Protocol, IEEE Standards Association
- Modbus Application Protocol Specification V1.1b3, Modbus Organization