PageRenderTime 24ms CodeModel.GetById 8ms RepoModel.GetById 0ms app.codeStats 0ms

/CIM14/IEC61970/Generation/GenerationDynamics/FossilSteamSupply.py

https://github.com/rwl/PyCIM
Python | 143 lines | 119 code | 3 blank | 21 comment | 0 complexity | cca9f96f838a78d19c9e7f961576cc29 MD5 | raw file
  1. # Copyright (C) 2010-2011 Richard Lincoln
  2. #
  3. # Permission is hereby granted, free of charge, to any person obtaining a copy
  4. # of this software and associated documentation files (the "Software"), to
  5. # deal in the Software without restriction, including without limitation the
  6. # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
  7. # sell copies of the Software, and to permit persons to whom the Software is
  8. # furnished to do so, subject to the following conditions:
  9. #
  10. # The above copyright notice and this permission notice shall be included in
  11. # all copies or substantial portions of the Software.
  12. #
  13. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  14. # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  15. # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  16. # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  17. # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  18. # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
  19. # IN THE SOFTWARE.
  20. from CIM14.IEC61970.Generation.GenerationDynamics.SteamSupply import SteamSupply
  21. class FossilSteamSupply(SteamSupply):
  22. """Fossil fueled boiler (e.g., coal, oil, gas)
  23. """
  24. def __init__(self, boilerControlMode="following", superHeater2Capacity=0.0, auxPowerVersusFrequency=0.0, feedWaterIG=0.0, controlPED=0.0, throttlePressureSP=0.0, pressureCtrlIG=0.0, fuelSupplyDelay=0.0, controlPEB=0.0, controlTC=0.0, pressureFeedback=0, feedWaterPG=0.0, controlIC=0.0, controlPC=0.0, minErrorRateP=0.0, fuelSupplyTC=0.0, fuelDemandLimit=0.0, mechPowerSensorLag=0.0, pressureCtrlDG=0.0, maxErrorRateP=0.0, superHeaterPipePD=0.0, controlErrorBiasP=0.0, feedWaterTC=0.0, superHeater1Capacity=0.0, auxPowerVersusVoltage=0.0, pressureCtrlPG=0.0, *args, **kw_args):
  25. """Initialises a new 'FossilSteamSupply' instance.
  26. @param boilerControlMode: The control mode of the boiler Values are: "following", "coordinated"
  27. @param superHeater2Capacity: Secondary Superheater Capacity
  28. @param auxPowerVersusFrequency: Off nominal frequency effect on auxiliary real power. Per unit active power variation versus per unit frequency variation.
  29. @param feedWaterIG: Feedwater Integral Gain ratio
  30. @param controlPED: Pressure Error Deadband
  31. @param throttlePressureSP: Throttle Pressure Setpoint
  32. @param pressureCtrlIG: Pressure Control Integral Gain ratio
  33. @param fuelSupplyDelay: Fuel Delay
  34. @param controlPEB: Pressure Error Bias ratio
  35. @param controlTC: Time Constant
  36. @param pressureFeedback: Pressure Feedback Indicator
  37. @param feedWaterPG: Feedwater Proportional Gain ratio
  38. @param controlIC: Integral Constant
  39. @param controlPC: Proportional Constant
  40. @param minErrorRateP: Active power Minimum Error Rate Limit
  41. @param fuelSupplyTC: Fuel Supply Time Constant
  42. @param fuelDemandLimit: Fuel Demand Limit
  43. @param mechPowerSensorLag: Mechanical Power Sensor Lag
  44. @param pressureCtrlDG: Pressure Control Derivative Gain ratio
  45. @param maxErrorRateP: Active power Maximum Error Rate Limit
  46. @param superHeaterPipePD: Superheater Pipe Pressure Drop Constant
  47. @param controlErrorBiasP: Active power Error Bias ratio
  48. @param feedWaterTC: Feedwater Time Constant rato
  49. @param superHeater1Capacity: Drum/Primary Superheater Capacity
  50. @param auxPowerVersusVoltage: Off nominal voltage effect on auxiliary real power. Per unit active power variation versus per unit voltage variation.
  51. @param pressureCtrlPG: Pressure Control Proportional Gain ratio
  52. """
  53. #: The control mode of the boiler Values are: "following", "coordinated"
  54. self.boilerControlMode = boilerControlMode
  55. #: Secondary Superheater Capacity
  56. self.superHeater2Capacity = superHeater2Capacity
  57. #: Off nominal frequency effect on auxiliary real power. Per unit active power variation versus per unit frequency variation.
  58. self.auxPowerVersusFrequency = auxPowerVersusFrequency
  59. #: Feedwater Integral Gain ratio
  60. self.feedWaterIG = feedWaterIG
  61. #: Pressure Error Deadband
  62. self.controlPED = controlPED
  63. #: Throttle Pressure Setpoint
  64. self.throttlePressureSP = throttlePressureSP
  65. #: Pressure Control Integral Gain ratio
  66. self.pressureCtrlIG = pressureCtrlIG
  67. #: Fuel Delay
  68. self.fuelSupplyDelay = fuelSupplyDelay
  69. #: Pressure Error Bias ratio
  70. self.controlPEB = controlPEB
  71. #: Time Constant
  72. self.controlTC = controlTC
  73. #: Pressure Feedback Indicator
  74. self.pressureFeedback = pressureFeedback
  75. #: Feedwater Proportional Gain ratio
  76. self.feedWaterPG = feedWaterPG
  77. #: Integral Constant
  78. self.controlIC = controlIC
  79. #: Proportional Constant
  80. self.controlPC = controlPC
  81. #: Active power Minimum Error Rate Limit
  82. self.minErrorRateP = minErrorRateP
  83. #: Fuel Supply Time Constant
  84. self.fuelSupplyTC = fuelSupplyTC
  85. #: Fuel Demand Limit
  86. self.fuelDemandLimit = fuelDemandLimit
  87. #: Mechanical Power Sensor Lag
  88. self.mechPowerSensorLag = mechPowerSensorLag
  89. #: Pressure Control Derivative Gain ratio
  90. self.pressureCtrlDG = pressureCtrlDG
  91. #: Active power Maximum Error Rate Limit
  92. self.maxErrorRateP = maxErrorRateP
  93. #: Superheater Pipe Pressure Drop Constant
  94. self.superHeaterPipePD = superHeaterPipePD
  95. #: Active power Error Bias ratio
  96. self.controlErrorBiasP = controlErrorBiasP
  97. #: Feedwater Time Constant rato
  98. self.feedWaterTC = feedWaterTC
  99. #: Drum/Primary Superheater Capacity
  100. self.superHeater1Capacity = superHeater1Capacity
  101. #: Off nominal voltage effect on auxiliary real power. Per unit active power variation versus per unit voltage variation.
  102. self.auxPowerVersusVoltage = auxPowerVersusVoltage
  103. #: Pressure Control Proportional Gain ratio
  104. self.pressureCtrlPG = pressureCtrlPG
  105. super(FossilSteamSupply, self).__init__(*args, **kw_args)
  106. _attrs = ["boilerControlMode", "superHeater2Capacity", "auxPowerVersusFrequency", "feedWaterIG", "controlPED", "throttlePressureSP", "pressureCtrlIG", "fuelSupplyDelay", "controlPEB", "controlTC", "pressureFeedback", "feedWaterPG", "controlIC", "controlPC", "minErrorRateP", "fuelSupplyTC", "fuelDemandLimit", "mechPowerSensorLag", "pressureCtrlDG", "maxErrorRateP", "superHeaterPipePD", "controlErrorBiasP", "feedWaterTC", "superHeater1Capacity", "auxPowerVersusVoltage", "pressureCtrlPG"]
  107. _attr_types = {"boilerControlMode": str, "superHeater2Capacity": float, "auxPowerVersusFrequency": float, "feedWaterIG": float, "controlPED": float, "throttlePressureSP": float, "pressureCtrlIG": float, "fuelSupplyDelay": float, "controlPEB": float, "controlTC": float, "pressureFeedback": int, "feedWaterPG": float, "controlIC": float, "controlPC": float, "minErrorRateP": float, "fuelSupplyTC": float, "fuelDemandLimit": float, "mechPowerSensorLag": float, "pressureCtrlDG": float, "maxErrorRateP": float, "superHeaterPipePD": float, "controlErrorBiasP": float, "feedWaterTC": float, "superHeater1Capacity": float, "auxPowerVersusVoltage": float, "pressureCtrlPG": float}
  108. _defaults = {"boilerControlMode": "following", "superHeater2Capacity": 0.0, "auxPowerVersusFrequency": 0.0, "feedWaterIG": 0.0, "controlPED": 0.0, "throttlePressureSP": 0.0, "pressureCtrlIG": 0.0, "fuelSupplyDelay": 0.0, "controlPEB": 0.0, "controlTC": 0.0, "pressureFeedback": 0, "feedWaterPG": 0.0, "controlIC": 0.0, "controlPC": 0.0, "minErrorRateP": 0.0, "fuelSupplyTC": 0.0, "fuelDemandLimit": 0.0, "mechPowerSensorLag": 0.0, "pressureCtrlDG": 0.0, "maxErrorRateP": 0.0, "superHeaterPipePD": 0.0, "controlErrorBiasP": 0.0, "feedWaterTC": 0.0, "superHeater1Capacity": 0.0, "auxPowerVersusVoltage": 0.0, "pressureCtrlPG": 0.0}
  109. _enums = {"boilerControlMode": "BoilerControlMode"}
  110. _refs = []
  111. _many_refs = []