When is the correct time to start and stop each service (in relation to a the boundaries of a charge session or in relation to iso15118 request/response message pairs)? How do I restore each service (CP/SLAC/V2G) to a state that is ready for the next session? I find that there is a disparity between what is recommended in the user manual and what works in a practical sense. Before closing development for the Whitebeet host interface, I'd like to get some buy-in from your team to tie up what loose ends I have. This is perhaps an issue with the user manual and not the firmware itself. I am familiar with the Appication Examples section of the user manual, but I find them either lacking in information, or sometimes incorrect. Let's start with CP Service to address what I believe is a mistake, just to get that out of the way, as it's not a major concern of mine.
CP Service
The message sequence diagram in the user manual instructs the Host EVSE to stop the CP service after high-level communication with the EV is complete. If the service is turned off, it seems to me that we would not be able to detect the next plugin.
- Suppose you want Whitebeet to run indefinitely in EVSE mode in a DC fast charger...how would you handle the end of a session with respect to the CP service?
- My method to manage end of session is to return CP to the x1 state by issuing "Set PWM duty cycle to 100%" (CP service left on).
- Besides changing the EV/EVSE mode, what is an intended use case for stopping CP service?
- What happens when CP service is turned off besides turning off 12V power supply?
V2G Service
Between the user manual, experience with testing, the FreeV2G source code, and threads on this forum, I have been able to piece together correct usage at the beginning and end of a session. On the other hand, it's not clear to me what the "best practices" for V2G service usage are.
For example, in the configuration portion, we set some (but not all) parameters that remain constant to the station. A good example is the EVSEID. We shouldn't expect the EVSEID value to change from session to session, only the format changes according to which protocol is selected (ISO vs DIN). So why not set each value once during configuration, and let it be?
Speaking of only configuring Whitebeet once, from the user manual I would assume that configuration is performed after reset release, but in the FreeV2G application, configuration happens every single charging session!
- What is the best method to configure V2G service: junst once after reset or every charge session after successful SLAC match?
- I have tested both, and both seem to work, but what is your recommendation?
- When should the V2G service be stopped??
- I turn it off either after receiving "Session Stopped (0x81)" or in the case of emergency shutdown and loss of comm, I turn it off after safe voltage level is observed. (I allow an interval for response from EV, but after the timeout, service is closed.)
- According to the diagram, it should not be stopped: is this because the message "Session Stopped (0x81)" is an indication that the V2G service is stopped as well as the session? What gives?
- As I understand it, when V2G Service is stopped, TCP port is closed..what else happens when the service is stopped?
SLAC Service
It is clear to me how to initialize the SLAC service, but not so much how to restore it to a proper idle state. The application example sequence diagrams for CP and V2G at least depicted the end of the charging session, but there is no such diagram for SLAC. My current understanding is to leave SLAC running at the end of charging session until plugout. After plugout, I turn SLAC service off, wait, then turn it back on.
- What is your recommendation for starting and stopping the SLAC service?
- What actually happens when the SLAC service is stopped?
- At what point are NID/NMK generated?
- At what point is the HomePlug Green PHY logical network established? Disestablished?
Closing Remarks
In my first pass as designing the host interface, my assumption was that each service needed to be configured, but only configured once. And after configuration, my assumption was that I would turn the service on once. The only reason I conceived to turn the service off was to re-configure it. However, it seems that each service requires a different approach with respect to (1) configuration and (2) restoring the services to an idle/standby state such that is ready for the next session.
TL;DR
- When do I start each (CP/SLAC/V2G) service?
- What actually happens when I start each service?
- When do I stop (CP/SLAC/V2G) service?
- What actually happens when I stop each service?
Thanks again for your time,
-Zach