EVS28KINTEX, Korea, May 3-6, 2015
Communication Protocol between EV Charger
and Smart Charger Operating System
Nah-Oak Song1, Jihoon Sung 1, Seung-Ho Han2, Sang-Ok Kim2
1Korea Advanced Istitute of Science Technology, 291 Daehak-ro, Yuseong-gu, Daejeon, Korea, [email protected],
2KEPCO Research Institute
Introduction
Communication Protocol between EV Charger and SCOS
2
Basic Packet Structure
3
Tag: Value to identify the requested process Ver: Protocol Version CMD: Command Code Transmitter ID: ID of transmitting device (SCOS or Charger) Receiver ID: ID of receiving device (SCOS or Charger) Body Size: Length of the body content in Byte Content: Information for the command
Header Body
Tag Ver CMD Transmitter ID Receiver ID Body Size Content
8Byte 4Byte 1Byte 2Byte 2Byte 1Byte
Integer Integer Integer Integer Integer Integer
Command Packets
4
Transmitter Receiver CMD Command Code Name Command Explanation
충전기 SCOS
1 CONNECT EV connected
2 READY_CHARGING Ready for Charging
3 START_CHARGING Start Charging
4 COMPLETE_CHARGING Complete Charging
5 CANCEL_CHARGING Cancel Charging
6 PAUSE_CHARGING_ACK Response to PAUSE_CHARGING
7 SOC_REPORT Report the state of charge
8 CHARGER_STATUS_REPORT Report the charger status
9 DISCONNECT EV disconnected
SCOS 충전기
10 CONNECT_ACK Response to CONNECT
11 PROCEED_CHARGING Proceed charging request
12 PAUSE_CHARGING Pause charging request
13 END_CHARGING End charging request
14 READY_CHARGING_ACK Response to READY_CHARGING
15 START_CHARGING_ACK Response to START_CHARGING
16 END_CHARGING_ACKResponse to COMPLETE_CHARGING or CANCEL_CHARGING
17 SOC_REPORT_ACK Response to SOC_REPORT
18 CHARGER_STATUS_REQUEST Request the charger status
19 CHARGER_STATUS_ACKResponse to CHARGER_STATUS_REPORT
20 DISCONNECT_ACK Response to DISCONNECT
Basics for Communication Protocol
Timeout for responding to a request command = 1sec– When a request command is sent, 1 sec is allowed for
responding. Retransmit the request command
– When Timeout occurs. Rules for retransmitting the request command
– Rule1: Retransmission can be made three time for the period of 1 second.
– Rule2: Rule 1 can be repeated three times for the period of 1 minute.
5
Definition & Rules (1/3)
Charging Mode– PROMPT: Prompt charging mode
• CHARGING_INFO[PROMPT]– ECONOMIC: Economic charging mode
• CHARGING_INFO[ECONOMIC]
Conditions for complete charging– Requested SoC % for complete charging – Requested time for complete charging– Default condition is SoC=100%.
6
Definition & Rules (2/3)
CompleteSoC– Requested SoC % value for complete charging – Integer ≤100
CurSoC– Current SoC % value (Integer ≤100)
CompleteTime– Requested time value for complete charging– Expressed in Day:Hour:Minute
CurTime– Current time expressed in Day:Hour:Minute
Conditions for Complete Charging– CurSoC = CompleteSoC– CurTime = CompleteTime
7
Definition & Rules (3/3)
Initial charging– Charging performed initially for 10 min. before
scheduled charging during the economic charging mode. InitialChargingTime
– Proceeding time for initial charging PAUSE == 0/1
– PAUSE status information of the charger• PAUSE == 0: While charging, i.e. before PAUSE_Charging
is received.• PAUSE == 1: While temporally charging paused, i.e. after
PAUSE_Charging_ACK is sent. Report SoC (x min)
– Report SoC for every x minute
8
Sequence Diagram Symbols (1/3)
Cond1 && Cond2– AND operation of Cond1 and Cond2 conditions
Cond3 || Cond4– OR operation of Cond3 and Cond4 conditions
– A request command packet is sent.
– A response command packet is sent.
9
Sequence Diagram Symbols (2/3)
alt: alternative performance is conducted depending on the condition as follows;– command1() is performed when condition1 is satisfied.– command2() is performed when condition2 is satisfied.– command3() is performed when condition3 is satisfied.
10
A B
alt
[condition1]
command1()
[condition2]
command2()
[condition3]
command3()
Sequence Diagram Symbols (3/3)
loop: The performance is repeated while the condition is met. – command4() is performed while condition4 is satisfied.
opt: The performance is conducted when the condition is met.– command5() is performed while condition5 is satisfied.
11
A B
command4()
loop
[condition4]
A B
command5()
opt
[condition5]
Comm. Protocol between Charger and SCOS
1. Initialization
2. EV Connection
3. Charging Info Exchange
4. Charging
5. EV Disconnection
12
EV CHARGER SCOS
1. Initialization
EV_CONNECT()
2. EV Connection
EV_CONNECT_ACK
CHARGING_INFO()
CHARGING_INFO_ACK
3. Charging Info Exchange
4. Charging
CHARGING_COMPLETED()
EV_DISCONNECT()
5. EV Disconnection
1. Initialization
Process for initializing EV charging – The charger status is reported during initialization process.
13
CHARGER SCOS
1. Initialization
2. EV Connection
3. Charging Info Exchange
4. Charging
5. EV Disconnection
CHARGER SCOS
alt
[ CHARGER_RESET]
[SCOS_RESET]
1. CHARGER_STATUS_REPORT()
2. CHARGER_STATUS_ACK
3. CHARGER_STATUS_REQUEST()
4. CHARGER_STATUS_REPORT
5. CHARGER_STATUS_ACK
2. EV Connection
Process for reporting new EV connection – New EV connection is reported to SCOS.
14
CHARGER SCOS
1. Initialization
2. EV Connection
3. Charging Info Exchange
4. Charging
5. EV Disconnection
EV CHARGER SCOS
6. EV_CONNECT()
7. CONNECT()
8. CONNECT_ACK
9. EV_CONNECT_ACK
3. Charging Info Exchange
Process for reporting information related charging request – Information related charging request is reported to SCOS
while notifying that charging is ready.
15
CHARGER SCOS
1. Initialization
2. EV Connection
3. Charging Info Exchange
4. Charging
5. EV Disconnection
10. CHARGING_INFO[PROMPT]()
11. CHARGING_INFO_ACK
12. READY_CHARGING[PROMPT]()
13. READY_CHARGING_ACK
EV CHARGER SCOS
4. Charging
Process for charging EV– Prompt Charging: Charging is performed right away.– Economic Charging: Charging is scheduled in economic
sense.
16
CHARGER SCOS
1. Initialization
2. EV Connection
3. Charging Info Exchange
4. Charging
5. EV Disconnection
4.1. Prompt Charging
Process for charging EV right away
17
CHARGER SCOS
14. PROCEED_CHARGING()
15. START_CHARGING
16. START_CHARGING_ACK
loop
[(CurSoC(%) < CompleteSoC(%)) && (CurTime(min) < CompleteTime(min)) == TRUE]
Report SoC (1 min)
opt
[(CurSoC(%) == CompleteSoC(%)) || (CurTime(min) == CompleteTime(min)) ]
17. COMPLETE_CHARGING()
18. END_CHARGING_ACK
4.2. Economic Charging
Economic Charging – Initial Charging Process for charging initially for 10 min. before
scheduled charging. – Scheduled Charging. Process for charging EV according to the schedule to
minimize the charging cost.
18
CHARGER SCOSEV
19. CHARGING_COMPLETED()
i. Initial Charging
ii. Scheduled Charging
4.2.1. Economic Charging-Initial Charging
Economic Charging– Initial Charging: Charging is initially performed for 10
min before the scheduled charging.
19
CHARGER SCOS
i. Initial Charging
ii. Scheduled Charging
14. PROCEED_CHARGING()
15. START_CHARGING
16. START_CHARGING_ACK
loop
[(InitialChargingTime(min) < 10(min)) && (CurSoC(%) < CompleteSoC(%)) == TRUE]
Report SoC (1 min)
CHARGER SCOS
4.2.2. Economic Charging-Scheduled Charging
20
CHARGER SCOS
alt
[PAUSE == 1]
loop
[(CurSoC(%) < CompleteSoC(%)) &&(CurTime(min) < CompleteTime(min)) == TRUE]
17. PAUSE_CHARGING()
18. PAUSE_CHARGING_ACK
19. PROCEED_CHARGING()
20. START_CHARGING
21. START_CHARGING_ACK
opt
[(CurSoC(%) == CompleteSoC(%)) ||(CurTime(min) == CompleteTime(min))]
22. COMPLETE_CHARGING()
23. END_CHARGING_ACK
[(CurSoC(%) == CompleteSoC(%)) || (CurTime(min) == CompleteTime(min))]
24. COMPLETE_CHARGING()
25. END_CHARGING_ACK
Report SoC (5 min)
Report SoC (1 min)
CHARGER SCOS
i. Initial Charging
ii. Scheduled Charging
Economic Charging– Scheduled Charging:
Charging is performed according to the schedule to minimize the charging cost.
5. EV Disconnection
Process for disconnection EV – EV is disconnected.
21
27. EV_DISCONNECT()
28. DISCONNECT()
29. DISCONNECT_ACK
EV CHARGER SCOSCHARGER SCOS
1. Initialization
2. EV Connection
3. Charging Info Exchange
4. Charging
5. EV Disconnection
Case Study : Typical Prompt Charging (1/2)
Detailed Sequence Diagram 1.1
22
EV CHARGER SCOS
alt
[ CHARGER_RESET]
[SCOS_RESET]
1. CHARGER_STATUS_REPORT()
2. CHARGER_STATUS_ACK
3. CHARGER_STATUS_REQUEST()
4. CHARGER_STATUS_REPORT
5. CHARGER_STATUS_ACK
6. EV_CONNECT()
7. CONNECT()
8. CONNECT_ACK
9. EV_CONNECT_ACK
10. CHARGING_INFO[PROMPT]()
11. CHARGING_INFO_ACK
12. READY_CHARGING[PROMPT]()
13. READY_CHARGING_ACK
Case Study: Typical Prompt Charging (2/2)
Detailed Sequence Diagram 1.2
23
14. PROCEED_CHARGING()
15. START_CHARGING
16. START_CHARGING_ACK
loop
[(CurSoC(%) < CompleteSoC(%)) && (CurTime(min) < CompleteTime(min)) == TRUE]
Report SoC (1 min)
opt
[(CurSoC(%) == CompleteSoC(%)) || (CurTime(min) == CompleteTime(min)) ]
17. COMPLETE_CHARGING()
18. END_CHARGING_ACK
19. CHARGING_COMPLETED()
20. EV_DISCONNECT()
21. DISCONNECT()
22. DISCONNECT_ACK
EV CHARGER SCOS
Thank you!
Acknowledgement: This work was supported by the National Research Foundation (NRF), Korea [NRF-2013R1A1A2058377]
24
Top Related