Cylinder Editor
Cylinder Editor is the editor for defining the machine's pneumatic cylinders. For each cylinder you set a name and a motion type, and map the extend/retract solenoid outputs and the arrival sensor inputs to IO signals, managing it all in a single row. The entry path is Project → Cylinder Editor (Ctrl+Shift+2).
The screen consists of a cylinder list DataGrid and a SAVE button at the bottom. Each row in the grid is a single cylinder, and the solenoid/sensor mappings defined here are reflected into the runtime at build time for use in scripts and test screens.
Main columns
Each row is a single cylinder. The basic information columns are as follows.
| Column | Description |
|---|---|
Name | The cylinder name. Referenced from scripts as CYL["name"]. |
Enable | A checkbox specifying whether the cylinder is in use. |
Description | A description of the cylinder's purpose. |
Type | The CylinderType Enum selection column specifying the motion method. |
GroupName | The name of the group the cylinder belongs to, used by the group tabs on the test screen. |
SubModel | The sub-model identifier used when branching by model. |
Timing and error columns
These columns are used for motion monitoring and error handling. If the arrival sensor does not engage within the specified time after the solenoid acts, it is treated as a timeout.
| Column | Description |
|---|---|
TimeOutA · TimeOutB | Completion-monitoring timeout for the A motion and B motion. |
DelayA · DelayB | Delay applied after the A motion and B motion. |
ErrorCodeA · ErrorCodeB | The error code raised when the A motion or B motion fails. |
Solenoid and sensor mapping
These columns connect the cylinder's outputs (solenoids) and inputs (arrival sensors) to IO signals. The A series corresponds to motion in one direction and the B series to the opposite direction, with up to four channels available per direction. Mapped cells are shown with a background color according to their input/output type (IoToBrush color), so the wiring state can be checked at a glance.
| Column group | Description |
|---|---|
SolIndexA1 – SolIndexA4 | Solenoid output mapping for the A-direction motion (output IO). |
SolIndexB1 – SolIndexB4 | Solenoid output mapping for the B-direction motion (output IO). |
SensorIndexA1 – SensorIndexA4 | Arrival sensor input mapping for the A direction (input IO). |
SensorIndexB1 – SensorIndexB4 | Arrival sensor input mapping for the B direction (input IO). |
The values entered here point to IO signals defined in IO Editor. Use
Change IO ID to Name from the context menu to switch from ID notation to name notation for better
readability.
Row editing
Right-clicking in the grid opens a context menu for row editing. It includes adding, duplicating, moving, and deleting rows, along with items that assist with IO mapping.
| Menu item | Action |
|---|---|
Add Row | Adds a new cylinder row. |
Duplicate Row | Duplicates the selected row. |
Move Up · Move Down | Moves the selected row up or down. |
Set All This Column | Applies the selected column's value to all rows at once. |
Search IO | Searches for an IO signal to map. |
Delete Row | Deletes the selected row. |
Change IO ID to Name | Converts IO ID notation to name notation. |
Workflow
- Open the editor via Project → Cylinder Editor (Ctrl+Shift+2).
- Add a cylinder row with
Add Rowfrom the context menu and enterNameandDescription. - Select a
CylinderTypevalue inTypeand set usage withEnable. - Map the output/input signals defined in IO Editor to the
SolIndexandSensorIndexcolumns. - If needed, configure motion monitoring and error handling with
TimeOutA/B,DelayA/B, andErrorCodeA/B. - Save with
SAVEat the bottom, then verify the defined cylinder's behavior in Cylinder Test.