The Machine Editor manages your project configuration in main.machine. It provides five visual tabs to configure project metadata, sequence instances, hardware stations, custom data types, and global variables.
- Double-click
main.machine in the Explorer or the Machine Explorer panel to open the visual editor.
- Click Open Text Editor in the editor title bar to view the underlying Python file.
- Run AutomationView: Navigate to Machine Tab (Ctrl+Shift+P) to jump directly to a specific Machine Editor tab from anywhere in the workspace.
| Tab |
Purpose |
| Project |
Project metadata, multi-target export configuration, and client definitions |
| Instances |
Sequence classes, dynamic sequence instances, boolean options, and parameters |
| Architecture |
Hardware stations, industrial fieldbus protocols, equipment modules, and I/O channel bindings |
| Datatypes |
Custom STRUCT and ENUM definitions plus built-in IEC 61131-3 types |
| Variables |
Project-wide variable table, custom types, array dimensions, and CSV import/export |
Configure project details and export targets:
- Basic Information: Edit Project Name, Version, Author, and Description.
- Export Configuration: Select one or more Export Targets (such as CODESYS, Siemens TIA Portal, Rockwell Studio 5000, or Fanuc TP). Selected targets enable inline export support indicators in the Sequence Editor.
- Clients: Add and configure external communication clients.
Register sequences and configure multiple instances of dynamic sequences:
- Available Sequence Classes: Browse discovered sequence classes and click + to add a new instance to the project.
- Configured Instances: View all active instances grouped by class.
- Double-click an instance name or click the Rename icon to rename it.
- Drag and drop rows to reorder execution order.
- Click Duplicate or Delete to manage instances.
- Options & Parameters: Click Edit Params on any dynamic sequence instance to expand its configuration panel:
- Toggle boolean Options (
ON / OFF) for that specific instance.
- Enter instance-specific Parameters (
__init__ arguments).
- Resolve Missing Classes: If an instance references an unresolved class, click Resolve to link it to an existing
.seq file or remove the entry.
Define hardware stations and wire physical I/O channels to variables:
- Click Add Station to create a station (for example,
MainRack or RemoteIO).
- Select the station communication protocol (
profinet, ethercat, ethernet-ip, io-link, modbus-tcp, modbus-rtu, canopen, profibus, as-interface, or opc-ua).
- Click Add Equipment to select controllers, I/O modules, valve terminals, or drives from the Equipment Catalog.
- Assign variables to input (
%I) and output (%Q) channels in the module channel grid.
Create and inspect custom structured and enumerated data types:
- Add Struct:
- Click + Struct and enter a type name.
- Add fields and select each field's data type (built-in types, nested
STRUCT, ENUM, or arrays).
- Set default values and descriptions for each field.
- Add Enum:
- Click + Enum and enter a type name.
- Add named symbolic values to the enumeration.
- Built-in Types: Inspect the reference list of standard IEC 61131-3 elementary and compound types (
TON, TOF, TP, RTO, CTU, CTD).
Manage all project variables in a single table:
- Filter and Search: Filter by status (Declared vs Inferred), usage (
local, input, output), or name.
- Add Variable: Click Add variable to declare a new variable directly in
main.machine.
- Edit Properties: Set the variable's Name, Type (including custom
STRUCT/ENUM types and multi-dimensional array bounds such as [0..9]), Description, Usage, and Initial Value.
- Declare (Freeze) Inferred Variables: Click the Freeze action on an auto-discovered variable to persist its explicit declaration in
main.machine.
- Spreadsheet & CSV Workflow:
- Click Import CSV or Export CSV to exchange variable tables with external tools.
- Copy rows from Excel or a spreadsheet and press Ctrl+V in the Variables tab to bulk-create or update variables.
The Machine Explorer panel in the AutomationView sidebar displays the project hierarchy:
Machine Explorer
+-- main.machine
+-- Sequences
+-- Instances
+-- Architecture
Click any sequence or instance to open it in the visual editor, or right-click to access export and refactoring commands.
¶ Exporting and Importing
Run these commands from the Machine Explorer title bar or the Command Palette (Ctrl+Shift+P):
- AutomationView: Export Project: Exports the complete project (sequences, machine architecture, datatypes, and variables) to all configured export targets in
automationview/export/<target>/.
- AutomationView: Export All Sequences: Translates every sequence in the project into target source files.
- AutomationView: Import Sequences: Imports PLCopen XML, Rockwell
.L5X, or Structured Text files into .seq files and registers them in main.machine.