Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This chapter describes how to use Python script and the macro recorder.

Macro Recorder Overview

...

The output of the macro recorder is a Python script module. Once the macro is recorded, RT-LAB lets you modify and edit the macro (script) using a rich editor and then easily play it back to perform simple or complex sets of tests without needing programming skills.

The macro recorder is often used while changing model parameters and interacting with the behavior of the simulation.

The recorded macro can be used to create sequences of maneuvers to control the simulator and model. It is also possible to manage the simulator’s execution mode and configure all simulator parameters and settings.

Before you start to record a new macro, plan the actions you want to perform on the project and simulator. Errors and corrections are also recorded. RT-LAB stores the result in a Python script function.

Recording a New Macro

To record a new macro:
Select the project from the Project Explorer view; only actions performed on this project will be recorded.

On the Tools > Python menu, click Record item, or simply click the Record item in the drop-down menu of the Python toolbar button.

Image Removed

The New Macro dialog box will appear:

Image Removed

In the New Macro dialog, type the script’s file name where it will be stored. By default, the script will be located in the project’s scripts folder, but it is also possible to specify a different location such as a project’s folder or anywhere on file system.

  • Check/uncheck the Write time setting to record the time elapsed between actions in the macro.

When checked, the macro recorder will add a sleep command between all actions to simulate the time elapsed when recording.

  • Type the description for your macro.
  • Click Finish to start recording.
  • Perform actions on your project, such as changing parameters or configurations. These actions will be recorded.
  • On the Macro Recorder toolbar, click the pause and resume buttons to activate and deactivate recording project actions.

Image Removed

To stop recording, click one of the following items:

...

from Macro Recorder toolbar

...

Stop recording menu item

...

in the Tools > Python menu

...

RT-LAB will automatically open the Python editor for the newly recorded macro.

To cancel the recording, click the Cancel recording item in the Macro recorder toolbar.

...

Page Content

Table of Contents
minLevel1
maxLevel6
include
outlinefalse
indent
excludePage Content
typelist
class
printablefalse

This page describes how to use Python script.

Opening a script

Follow these steps to open an existing macro/ script:

  • Click Open file from the file menu and locate your file by browsing your disk or

  • Double click the Python script

    macro

    in the Project Explorer.

  • Make sure that your

    projet’s

    project’s file system is visible by clicking the Filter resources button in the Project Explorer view.

  • Expand your project in the Project Explorer view and locate the Python script in the file system.

  • Double click the Python script

    macro

    .

  • Drag and drop a Python script

    macro

    from the Windows Explorer to the RT-LAB editor area.

Editing a

...

script

The macro/ script editor has a rich set of functionalities that let you edit your macro/ script easily. Here
is a brief description of the available features:

Syntax highlighting

Provide different colors and text styles to be given to dozens of different


lexical sub-elements of the Python syntax. These include keywords, comments, control-flow


statements, variables, and other elements. Programmers often heavily customize their settings in


an attempt to show as much useful information as possible without making the code difficult to


read.

Code analysis

Provides error finding in python programs. It finds common errors such as


undefined tokens, duplicated signatures and warns about things such as unused variables or


unused imports.

Code completion

provides context-sensitive completions and is enabled with Ctrl+Space key in


the editor.

Refactoring

Provides functionalities to change the source code to improve code readability, reduce


complexity and improve the maintainability of the source code such as renaming, extracting,


inlining code elements.

Navigation Views

Outline View, Hierarchy View, ...

Content Assistants

Helps user to write code faster and more efficiently by providing list of


accessible keywords such as variable, method, import, module, ...

Once your script is open in the editor, perform the following steps to edit your script:

  • Locate the part of your script you want to edit.

  • Type your text.

  • Save your file by clicking the Save button in the main toolbar.

Running a

...

script

Follow these steps to run a macroscript:

  • Select the Python script from the Project Explorer or click inside your script in the editor area.

  • On the Tools > Python menu, click Run item (Ctrl-F11), or simply click the Run item in the drop-down menu of the Python toolbar.

Debugging a

...

script

Follow these steps to debug a macroscript:

Open the Python script macro. See Opening a Macro/Script script for more information.

  • Add breakpoint to your script:

  • Double-click the script’s left ruler or

  • Type Ctrl+F10 to open the context menu. If everything goes ok, you'll have the breakpoint shown in your sidebar (as below).

...

Right-click the file and choose to debug the file as a python run.

color
Background Color
Info
#D3D3D3

Note: if you want to re-run the last executed file, you can click F11 to debug it.

When it hits the break-point, it will ask you to go to the debug perspective (click YES to this dialog).

This perspective has the actions needed for debugging and allows you to see the variables and evaluate expressions.Image Removed

...

Stack view

You can see the variables in previous stacks by clicking on the stack to view.

Variables view

Allows you to see the globals and locals for the selected stack.

Breakpoints view

Allows you to see the breakpoints available and enable/disable any breakpoint.

Editor

Shows the code and highlights the line to be executed.

Console

Shows the output of the Python script

macro

.

The basic things you can do in the debugger have some keybindingskey bindings:

Step in

F5

Step over

F6

Step out

F7

Resume

F8

Migrating scripts from Python 2 to Python 3

As of RT-LAB version 2023.2, the python interpreter internally used by RT-LAB on the host computer has been upgraded from Python 2.7 to Python 3.9.  The core of the Python syntax language remains the same, but the language has nonetheless evolved and corrections might be required to make Python scripts compatible with Python 3.9.  To help with the conversion of scripts, the Python community provides a very helpful tool, 2to3 that is included with the Python distribution.

Please note that the following caveats have been observed with the 2to3 tool:

  • not all the changes suggested by the 2to3 tool are essential for the scripts to be operational in Python 3.9.  Some of the changes proposed are more of a recommended programming, but the old Python 2 syntax remains valid. The user remains responsible for using their own judgement.

  • scripts containing non-standard English characters (such é,ö, etc.) will make the 2to3 tool fail, even if they are only part of comments. This is not unique to 2to3 and can be fixed by specifying the encoding of the python scripts. The relevant documentation can be found here: Shebang lines - Encoding declarations

  • more generally, information about porting Python 2 code to Python 3 can be found in the python documentation