Open Control Studio from CMD Line

Is there a way to open control studio from the command line/with input of module to open? Thanks.

  • Yes you can, however, doing so is not "supported".

    If you look in a Faceplate picture, you can see the Control Studio Icon (bmpCtrlStudio), which has a Click action that passes the current module name to the frszDynamoOpenCS function. This calls frszLaunchCS, which then runs FRSRunTask

    This function uses the content of "Me" in the Faceplate, which I think will be the Module Name.

    (hint: temporarily add a message box to this click action in a faceplate and display the content of "Me" to understand what DeltaV passes to the command when launched from a Faceplate)

    If you are wanting to launch Control Studio in context of a module within Operate, I highly recommend you use this function. Ultimately, it executes an FRSRunTask function to launch Control Studio.

    In BOL, you can find information on FRS Global variables. However, BOL is not up to date as as the table in BOL is missing two variables and the control studio program name is not correct. The actual variables can be found under under apps_glb
    Variable Name: .CurrentValue BOL Value
    .gs_control_studio_exe dvcs cs
    .gs_cs_sw_options ""
    .gs_cs_sw_debug -d -d
    .gs_cs_sw_fdb -t -t
    .gs_cs_sw_module -m -m
    .gs_cs_sw_online -o not defined
    .gs_cs_sw_SISModule -s not defined

    Control Studio is an application named dvcs.exe
    The Options variable is blank. (may be used by some hidden functions)
    -m is needed, along with a module Path/name in order to open the module in edit mode
    - o opens the specified module in Online view and is in addition to -m
    -t opens the session in Debug and is in addition to the -m

    To open Control Studio without a module:
    C:\DVCS

    To open a module in Control Studio, you mus provide the -m switch along with the module name:
    C:\DVCS -m ModuleName

    Note this will only show the Module name in the window title bar. If you pass the module's path, the title bar will show the path, and open the specified module:
    C:\DVCS -m Area_A/ModuleName

    Doing some syntax tests, it does not matter what you enter for Area/ProcessCell/Unit, as long as the /ModuleName at the end is a valid module.

    The following two switches are placed at the end to direct CS to Online or debug views:
    C:\DVCS -m ModuleName -o Opens module in Online view
    C:\DVCS -m ModuleName -t Opens module in Debug view

    From what I can tell, the -s switch is passed along with -o when opening SIS modules online. The syntax appears to be:
    C:\DVCS -m SISModule -s-o

    I'm not sure about the use of -s

    I think -d may be a legacy switch for debug. The fdb variable with the -t works. -d seems to do nothing.

    Note: If the user that runs a command line launch of DVCS is not logged on via DeltaV Logon, the session will be read only.

    Now for the disclaimer.!!!!!!!!!!!!!

    There is no support for the use of DVCS in command line mode, and thus no documentation on the use of the switches. If you are thinking of automating some functions for the Operator within Operate, then use the FRSZdynamoOpenCS command and pass it the needed information. If you are trying to create some custom tool to launch control studio in context, you are wholly responsible for how that works and any consequences, good or bad, that you create.

    DeltaV gives you context launch of Control Studio from Explorer, Diagnostics and Operate. CS does some validation on the module name and switches, but if you don't get the desired behavior, or if you end up causing some issue in the database, your recourse will be to recover from back up.

    Each workstation is limited to opening 4 control studio sessions and there is a limit of 60 connections to the database. Programmatically opening CS sessions could result in locking modules and or limiting valid connections to the database.

    I never launch these applications from the command line. I'd be interested to know why you wish to use command line syntax. What are you trying to do?

    Andre Dicaire