Hello @Ashwath M,
I created a calculated table that sums the Time column in the state chart. This gives the time that the transporter is utilized. I then created an event triggered source in the process flow that creates a token every time the transporter changes states. This token will update a tracked variable with the calculated table's value. It is important that this value is on a tracked variable so that a wait for event activity is able to monitor the value.
In the other part of the process flow there is a source that creates a token to represent the transporter. This token is created with a label to track the number of charges so the token also knows what value of utilized time it is looking for. When the token is at the wait for event activity is uses the label to determine what value of utilized time should trigger the activity. For example, if the transporter has already charged twice then the value on the label is 2 and the value at the wait for event will be 54000s so the event will trigger once the transporter has been through 54000s. In other words it will trigger every 5 hours of utilization time.


One thing to note is that is it is important that the Charge delay activity is set to an idle state so the transporter doesn't add to the utilization time while it is charging.
charging-logic-sample_JF.fsm