Sandy, I modified my model and add a ControlCenter to control the changeover with some labels and code.
When item come into Queue1, OnEnrty trigger will evaluate the item whether a new "product type". If so, the label "batch" will change to input number of Q1 which it determine the start time of changeover(a delay message will be sent from sink to ControlCenter)
On the message trigger of ControlCenter, it will stop the machine with STATE_CHANGE_OVER and back to normal after "changeover" time.
Changeover time now is an fixed value you can find it in label"change_time" of ControlCenter, you can change based on different product types.
By the way, I'm not sure about judging "product type" is based on itemtype or Product ID. This time I choose to use label "Product ID"
changeovertime2v17chj.fsm
May it will help you~