Skip to content
jayatsandia edited this page Jun 10, 2019 · 15 revisions

Welcome to the System Validation Platform!

Setup

If you are going to run the SVP, you will need to have a few things: You will need the graphical user interface. If you have access, you can download the SVP Windows executable from the SunSpec website after creating an account (https://sunspec.org/sunspec-svp/) Alternatively, you can run the SVP from python directly from python (https://github.com/sunspec/svp)

Second, you will need one or more SVP “working directories”. The most important one include the svpe_lab directory with the equipment drivers and abstraction layers (https://github.com/sunspec/svp_energy_lab/tree/dev). These drivers are located in the Lib directory and will need to be copied over to other working directories, e.g.,

Third, please download a Python IDE like PyCharm (https://www.jetbrains.com/pycharm/download/#section=windows).

Fourth, assuming you will be doing development work, please download the latest version of python 2.7 (currently python 2.7.15). Get it at: https://www.python.org/downloads/

Running the SVP

Opening up the svp_energy_lab in the SVP by selecting the directory File > Open SVP Directory...

While you will likely not see all these options within the svp_energy_lab directory, there are four types of files (that are located in the associated subdirectories in the SVP:

  1. Results - Manifests with the results and logs from the SVP experiments.
  2. Scripts - The testing logic (python files) representing test sequences
  3. Tests - A set of parameters associated with a script that can be executed. For instance, if testing "Inverter A", parameters might be the inverter manufacture and nameplate power.
  4. Suites - A ordered list of tests (or other suites) that will be executed sequentially. Suites also allow easy adjustment of global parameters that are inherited by all the tests in the suite.

Contributing to the project

When you are ready to edit or add to the SVP codebase on GitHub, please take the time to read through Chapters 1, 2, 3, and 6 of this book: https://git-scm.com/book/en/v2 The basic steps that you will need to make updates to the SVP code are:

  1. Create a GitHub account.
  2. Fork the repository
  3. Use git bash (https://git-scm.com/download/win) or some other GUI to clone the repository.
  4. Checkout the dev branch.
    git fetch origin
    git checkout -b dev origin/dev
  5. Make the changes to the code on your computer.
  6. ‘Add’ the changes to git.
  7. ‘Commit’ the code changes to your local directory.
  8. ‘Push’ the changes to your GitHub account.
  9. Issue a ‘pull request’ on the SunSpec version of the code.
  10. Later, after there are other updates to the sunspec upstream master, pull those updates into your local codebase: 'git pull https://github.com/sunspec/svp_energy_lab dev' or:
    $ git remote add upstream https://github.com/sunspec/svp_energy_lab
    $ git fetch upstream
    then: (like "git pull" which is fetch + merge)
    $ git merge upstream/dev dev
    or, better, replay your local work on top of the fetched branch, like a "git pull --rebase"
    $ git rebase upstream/dev

More details of this process are here: https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project