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.
The New Macro dialog box will appear:
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.
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 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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
macroin the Project Explorer.
Make sure that your
projet’sproject’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
macrofrom 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.
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.
...
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 |
. |
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