IDCEVSEController.java 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. /*******************************************************************************
  2. * The MIT License (MIT)
  3. *
  4. * Copyright 2017 Dr.-Ing. Marc Mültin (V2G Clarity)
  5. *
  6. * Permission is hereby granted, free of charge, to any person obtaining a copy
  7. * of this software and associated documentation files (the "Software"), to deal
  8. * in the Software without restriction, including without limitation the rights
  9. * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10. * copies of the Software, and to permit persons to whom the Software is
  11. * furnished to do so, subject to the following conditions:
  12. *
  13. * The above copyright notice and this permission notice shall be included in
  14. * all copies or substantial portions of the Software.
  15. *
  16. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17. * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19. * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20. * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21. * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  22. * THE SOFTWARE.
  23. *******************************************************************************/
  24. package com.v2gclarity.risev2g.secc.evseController;
  25. import javax.xml.bind.JAXBElement;
  26. import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEChargeParameterType;
  27. import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.DCEVSEStatusType;
  28. import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.EVSENotificationType;
  29. import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.IsolationLevelType;
  30. import com.v2gclarity.risev2g.shared.v2gMessages.msgDef.PhysicalValueType;
  31. public interface IDCEVSEController extends IEVSEController {
  32. /**
  33. * Returns the charge parameter for DC charging
  34. * @return The EVSE specific charge parameter for the current charging session
  35. */
  36. public JAXBElement<DCEVSEChargeParameterType> getDCEVSEChargeParameter();
  37. /**
  38. * Sets the target voltage communicated by the EV for the DC charging process
  39. * @param targetVoltage The target voltage encapsulated in a PhysicalValueType
  40. */
  41. public void setTargetVoltage(PhysicalValueType targetVoltage);
  42. /**
  43. * Sets the target voltage communicated by the EV for the DC charging process
  44. * @param targetVoltage The target voltage encapsulated in a PhysicalValueType
  45. */
  46. public void setTargetCurrent(PhysicalValueType targetCurrent);
  47. /**
  48. * Sets the maximum voltage communicated by the EV for the DC charging process
  49. * @param maximumVoltage The maximum voltage encapsulated in a PhysicalValueType
  50. */
  51. public void setEVMaximumVoltageLimit(PhysicalValueType maximumVoltage);
  52. /**
  53. * Sets the maximum current communicated by the EV for the DC charging process
  54. * @param maximumCurrent The maximum current encapsulated in a PhysicalValueType
  55. */
  56. public void setEVMaximumCurrentLimit(PhysicalValueType maximumCurrent);
  57. /**
  58. * Sets the maximum power communicated by the EV for the DC charging process
  59. * @param maximumPower The maximum power encapsulated in a PhysicalValueType
  60. */
  61. public void setEVMaximumPowerLimit(PhysicalValueType maximumPower);
  62. /**
  63. * Returns the present voltage at the EVSE
  64. * @return Present voltage given as a PhyiscalValueType
  65. */
  66. public PhysicalValueType getPresentVoltage();
  67. /**
  68. * Returns the present current at the EVSE
  69. * @return Present current given as a PhyiscalValueType
  70. */
  71. public PhysicalValueType getPresentCurrent();
  72. /**
  73. * Returns the maximum voltage limit of the EVSE for DC charging
  74. * @return Maximum voltage limit given as a PhyiscalValueType
  75. */
  76. public PhysicalValueType getEVSEMaximumVoltageLimit();
  77. /**
  78. * Returns the minimum voltage limit of the EVSE for DC charging
  79. * @return Minimum voltage limit given as a PhyiscalValueType
  80. */
  81. public PhysicalValueType getEVSEMinimumVoltageLimit();
  82. /**
  83. * Returns the maximum current limit of the EVSE for DC charging
  84. * @return Maximum current limit given as a PhyiscalValueType
  85. */
  86. public PhysicalValueType getEVSEMaximumCurrentLimit();
  87. /**
  88. * Returns the minimum current limit of the EVSE for DC charging
  89. * @return Minimum current limit given as a PhyiscalValueType
  90. */
  91. public PhysicalValueType getEVSEMinimumCurrentLimit();
  92. /**
  93. * Returns the maximum power limit of the EVSE for DC charging
  94. * @return Maximum power limit given as a PhyiscalValueType
  95. */
  96. public PhysicalValueType getEVSEMaximumPowerLimit();
  97. /**
  98. * Returns TRUE, if the EVSE has reached its current limit.
  99. * @return TRUE, if the EVSE has reached its current limit, false otherwise
  100. */
  101. public boolean isEVSECurrentLimitAchieved();
  102. /**
  103. * Returns TRUE, if the EVSE has reached its voltage limit.
  104. * @return TRUE, if the EVSE has reached its voltage limit, false otherwise
  105. */
  106. public boolean isEVSEVoltageLimitAchieved();
  107. /**
  108. * Returns TRUE, if the EVSE has reached its power limit.
  109. * @return TRUE, if the EVSE has reached its power limit, false otherwise
  110. */
  111. public boolean isEVSEPowerLimitAchieved();
  112. /**
  113. * Returns the peak-to-peak magnitude of the current ripple of the EVSE
  114. * @return Peak given as a PhyiscalValueType
  115. */
  116. public PhysicalValueType getEVSEPeakCurrentRipple();
  117. /**
  118. * Returns the EVSE status for DC charging comprising notification, maxDelay and RCD
  119. * @return The EVSE specific status
  120. */
  121. public DCEVSEStatusType getDCEVSEStatus(EVSENotificationType notification);
  122. /**
  123. * Returns the peak-to-peak magnitude of the current ripple of the EVSE
  124. * @return Peak given as a PhyiscalValueType
  125. */
  126. public IsolationLevelType getIsolationLevel();
  127. /**
  128. * Sets the IsolationLevel DC charging
  129. * @param isolationLevel The IsolationLevel status of the charge equipment
  130. */
  131. public void setIsolationLevel(IsolationLevelType isolationLevel);
  132. }