46045-syslab/syslab-python/syslab/physical/DieselGenerator.py

101 lines
3.0 KiB
Python

from ..core.SyslabUnit import SyslabUnit
class DieselGenerator(SyslabUnit):
"""The DieselGenerator class represents a photovoltaic panel array in SYSLAB.
The DieselGenerator class is instantiated using a string with the unique name of the dumpload, ie. 'which'
A full list of available panel arrays can be found by calling 'DieselGenerator.getAvailableDieselGenerator()'
Alternatively, the user may specify a host and port to connect to via the *host* and *port* arguments.
"""
__UNITS = {
'diesel319': ('syslab-02.syslab.dk', '8080', 'genset1'),
}
def __init__(self, which=None, host=None, port=None, unitname=None):
baseurl = 'http://{host}:{port}/typebased_WebService_Diesel/DEIFDieselGensetWebService/{unit_name}/'
super().__init__(
baseurl=baseurl,
which=which,
units=self.__UNITS,
host=host,
port=port,
unit_name=unitname,
unit_type="DieselGenerator")
def getRatedP(self):
return self._request_resource('getRatedP')
def getRatedQ(self):
return self._request_resource('getRatedQ')
def getRatedS(self):
return self._request_resource('getRatedS')
def getRatedU(self):
return self._request_resource('getRatedU')
def getRatedf(self):
return self._request_resource('getRatedf')
def isGeneratorBreakerClosed(self):
return self._request_resource('isGeneratorBreakerClosed')
def isGensetRunning(self):
return self._request_resource('isGensetRunning')
def isGensetSynchronized(self):
return self._request_resource('isGensetSynchronized')
def isSynchronising(self):
return self._request_resource('isSynchronising')
def closeGB(self):
return self._request_resource('closeGB', method='put')
def openGB(self):
return self._request_resource('openGB', method='put')
def startGenset(self):
return self._request_resource('startGenset', method='put')
def stopGenset(self):
return self._request_resource('stopGenset', method='put')
def setTargetActivePower(self, setpoint):
return self._request_resource('setTargetActivePower', setpoint, 'put')
def setTargetReactivePower(self, setpoint):
return self._request_resource('setTargetReactivePower', setpoint, 'put')
def getActivePower(self):
return self._request_resource('getActivePower')
def getReactivePower(self):
return self._request_resource('getReactivePower')
#TODO: Implement
def getCurrentGensetMode(self):
pass
#TODO: Implement
def getCurrentRunningMode(self):
pass
#TODO: Implement
def setGensetMode(self, mode):
pass
#TODO: Implement
def setRunningMode(self, mode):
pass
@staticmethod
def getAvailableDieselGenerators():
return list(DieselGenerator.__UNITS.keys())