RESETTING -> IDLE fbPackML(eMode := E_PackMLUnitMode.PRODUCTION, eCmd := E_PackMLCmd.RESET); fbPackML.M_StateComplete(); AssertEquals_DINT(E_PackMLState.IDLE, fbPackML.eState, 'Should reach IDLE'); // IDLE -> STARTING -> EXECUTE fbPackML(eCmd := E_PackMLCmd.START); fbPackML.M_StateComplete(); AssertEquals_DINT(E_PackMLState.EXECUTE, fbPackML.eState, 'Should reach EXECUTE'); // EXECUTE -> COMPLETING -> COMPLETE fbPackML.M_StateComplete(); fbPackML.M_StateComplete(); AssertEquals_DINT(E_PackMLState.COMPLETE, fbPackML.eState, 'Should reach COMPLETE'); // COMPLETE -> RESETTING -> IDLE fbPackML(eCmd := E_PackMLCmd.RESET); fbPackML.M_StateComplete(); AssertEquals_DINT(E_PackMLState.IDLE, fbPackML.eState, 'Should return to IDLE'); TEST_FINISHED();]]>