function autoblkVirtualConVehShftOptStart(varargin)

%   Copyright 2023 The MathWorks, Inc.

    autoblkVirtualConVehStart
    TopModel='ConfiguredConventionalVirtualVehicle';

    ShiftOptimBlockName=[getString(message('autoblks:autoblkVehMask:optim')) ' ' getString(message('autoblks:autoblkVehMask:shift'))];
    ToggleBlockName=getString(message('autoblks:autoblkVehMask:TogglePlant'));
    PwrBlockName=getString(message('autoblks:autoblkVehMask:powAndEne'));


    SimscapeToggleBlockPos=get_param([TopModel '/' ToggleBlockName],'Position');
    SimscapeToggleBlockPos=SimscapeToggleBlockPos-[90 0 90 0];
    set_param([TopModel '/' ToggleBlockName],'Position',SimscapeToggleBlockPos);

    AnalyzePowerBlockPos=get_param([TopModel '/' PwrBlockName],'Position');

    ShiftScheduleBlockPos=SimscapeToggleBlockPos+SimscapeToggleBlockPos-AnalyzePowerBlockPos;

    add_block([TopModel '/' ToggleBlockName],[TopModel '/' ShiftOptimBlockName]);
    set_param([TopModel '/' ShiftOptimBlockName],'Openfcn','autoblkOptimizeShiftScheduleForBestFuel(bdroot(gcb));');
    set_param([TopModel '/' ShiftOptimBlockName],'ForegroundColor','black');
    set_param([TopModel '/' ShiftOptimBlockName],'ShowName','off');
    set_param([TopModel '/' ShiftOptimBlockName],'BackgroundColor','[0.796078, 0.796078, 0.796078]');
    set_param([TopModel '/' ShiftOptimBlockName],'position',ShiftScheduleBlockPos);
    set_param([TopModel '/' ShiftOptimBlockName],'MaskDisplay',...
    strcat('disp(''',(getString(message('autoblks:autoblkVehMask:optim'))),...
    '\n',(getString(message('autoblks:autoblkVehMask:shift'))),''')'));

    set_param(TopModel,'Zoomfactor','fit to view')

end
