"""Run a program (start a program). If the program exists in the RoboDK station it has the same behavior as right clicking a and selecting Run (or Run Python script for Python programs).
When generating a program offline (Offline Programming), the program call will be generated in the program output (RoboDK will handle the syntax when the code is generated for a specific robot using the post processor).

:param fcn_param: program name and parameters. Parameters can be provided for Python programs available in the RoboDK station as well.
:type fcn_param: str
:param bool wait_for_finished: Set to True to block execution during a simulation until the program finishes (skipped if the program does not exist or when the program is generated)

What do you mean by this parameters?Can you provide an example for this? Is that global variables like 'APPROACH' ,'RADIUS' etc?

When you use RunProgram in simulation mode, it will trigger that program if you have it available in your RoboDK station. If that program you triggered is a Python program, you can collect the parameters as if you passed them as arguments (like command line arguments).

When you generate code for your robot controller, the parameters will be passed as arguments. Usually the post processor will handle the way these parameters are passed (some controllers do not allow passing parameters).