SourceForge.net Logo

 

Demand Side Management Simulator

 


A DSM EMCS (or Energy management control system) system is an automation system that helps reduce electrical consumption by turning off electrical equipement according to priority and usage rules to constrain the global electricity demand to a user specified constrain: the maximum demand.
(for more info see EREN - Power - Demand Side Management)

DSM Simulator is a set of tools written in Java to help electrical engineers and energy consummers to simulate the savings that the use of a DSM system may bring to them according to their electrical equipment, the consumption profiles and the maximum demand applied to them.
By varing the maximum demand, consumption profiles or even equipments, the engineer has the opportunity to fine tune the solution.
The electrical installation is described in a specific language that DSM Sim compile into Java code, links with its libraries and executes to provide graphical and tabular text outputs.
The grammar of the description language is defined in JavaCUP format. However, the original JavaCUP parser has been modified to fix a few minor bugs and to add custom code entry points. The modified version is supllied with DSM Simulator.


Being written in Java, DSM Sim is portable to any Java-enabled platform at the following condition: access to the java compiler must be possible from a Java program.
It's also better if Java code can access OS-level feature but this not mandatory.

UI interface is made of AWT frames for the standard version.
Currently, code has been tested on Mac OS 9 and Mac OS X. Only invocation of the java compiler and class loading has required very limited changes.


However, a Mac OS X specific version has also been written which uses Cocoa-Java specific features to offer better user interface experience on Max OS X (faster and better integrated with other OS features).


The AWT-based version should be considered as the basic version for porting on other platforms.
CodeWarrior, ProjectBuilder, JBuilder projects are supplied along with the sources.

The description language lets the user describes individual electrical equipments, their power consumption (in both kW and kVA) as a function of time, the constrains to be respected (such as minimum turned-on time, minimum turn-off time, etc.).
Each equipment may be associated to "flows" to describe situation like a water pump fiiling up a reservoir which has min. and max capacity or a compressor maintaining the temperature of a cold-room (the output flow being the increase of the temperature).
Variouses equipment have been defined and more may be defined by subclassing existing ones.

Among the already defined equipments and constrains are some pure mathematical ones that let the engineer defines random or pseudo-random consumption and flow profiles (like water or light consumption in hotel rooms) or to define consumption for which statistical data (consumption profiles) exists.

Cuurently the definition of the installation is done in a very easy to learn description language which provides an "escape" CODE instruction to allow direct writing of Java code at various level.


Future development:
i. a "sketch" board to let the user defines the electrical installation in a graphical way;
ii. add description of utility tarification to also output savings in $$$;
iii. based on the same Java technology, develop the associated DSM software to drive electrical equipments in the real world using TCP to serial bridges (most control systems and automates use RS485).

See screen dumps

See Manual (pdf)