EngCentre Designer
EngCentre home Version 2 - coming soon
EngCentre logo

EngCentre Designer

Industrial automation, from screen to machine

  • EtherCAT master with motion control
  • Real-time EngCentre Embedded Linux
  • Ladder logic · Machine drawings · EC-Ai
  • Modbus · MQTT · HTTP · MySQL · SQLite · UDP
  • One click from design to a running program
Version 2 - coming soon

Design

Build the screen from components

Drag a component onto the screen, set it up, and your code knows it by its own name.

  1. 1Drag39 component types: gauges, sliders, toggles, trend charts, tables, drawings, documents, connectors and more.
  2. 2Set it upEvery element is ready in code by name. Double-click it to see its events and jump to its code.
  3. 3Try itMove the slider, flip the toggle, press Start. Every event has its own handler.
DesignCode
gauge1
slider1
040 rpm100
toggle1 · statusLed1 Heater off
trendChart1
label1Ready
startButton
EventonSlider1Changed(double value)label1.text = engc::Text("%1 rpm").arg(value);

Code

Typed code, written for electrical engineers

Every element, page and connector is an object with plain properties and one-word actions.

One code page per screen page, plus a Project page. New in version 2: only what you changed is built again.
Errors on your own line, underlined in red, in plain words.
Ctrl+D formats your code: every line gets its place, in one step you can undo.
Projectpage1page2
void onStartButtonClicked() { label1.text = "Running"; motion.position1.target = 12.5; motion.position1.go(); } void onToggle1Toggled(bool checked) { statusLed1.on = checked; motion.gear.enabled = chcked; } Underlined on your own line: rest the mouse on it to read why.

EC-Ai

Say what you want. EC-Ai does it in front of you.

EC-Ai is the assistant inside the designer. Write what you want in your own words, in your own language: it answers, and it does the work in your open project.

  • Every change is shown: each step is a line in plain words, each change a card with Show me.
  • One request, one undo: Undo all, or Ctrl+Z, takes the whole request back in one step.
  • It asks first: EC-Ai never runs your program, scans a bus or writes to a device on its own. You confirm, and the answer that stands ready is No.
  • The conversation belongs to the project and comes back when you open it.

EC-Ai is a service: it needs a connection and an EngCentre account. The designer itself works exactly the same without it.

DesignCode
EC-Ai

Add a Start button and a gauge.

Adding a Button to the page ...

Adding a Gauge to the page ...

2 changes

Scan the bus now? The designer asks before anything that touches the machine.

For engineers

Everything at hand, nothing to set up

Variables panel

Every name your project defines, in one list, with your own variables beside them.

speed = 5;

Functions

Add a function of your own with one button and call it from any event.

Every event its own handler

Double-click an element to list its events; pick one to land in its code.

onStartButtonClicked()

try, except, finally

Catch a problem and show the reason in plain words. Ready conversions included.

StringToInt("42")

Help window

Press F1 on an element to open its page in the built-in manual.

Undo and redo

Every design step can be taken back, and brought back again.

Themes and dark mode

Dress the screen in one of twenty ready themes; work in the designer light or dark.

Shapes and animated images

Draw shapes on the screen, and play animated SVG drawings when it starts.

Format

Ctrl+D tidies your own code. Only the layout changes, never what the code does.

Long work, live screen

Put a call that waits inside a background block: the screen keeps drawing and taking touches.

background { } then { }

PLC blocks

Timers, edges, counters and latches by their usual names, as variables of your own.

doorClosed.run(input, 500);

JSON text

Read it, reach its fields, build it and write it, straight from your variables.

JsonParse(payload)

Logic

Ladder logic, beside your code

Rungs of contacts, coils, timers and counters. Each logic program runs by itself, again and again, at the speed you choose.

  1. 1Type itType a name or an instruction and press Enter: the editor draws the wires. The instruction list says the same program as text.
  2. 2Use every nameOne rung may mix an EtherCAT input, a Modbus register, a button of the screen and a variable of your own.
  3. 3Watch it liveMonitor lights what conducts in the running program. Press start, stop and the guard.
contactscoilsSET / RSTedgestimerscounterscomparesMOVarithmeticstepsblocks
logic1BlocksMonitor: off
Entry
LIVE

EtherCAT

EtherCAT master with motion control

Works with any EtherCAT device, from its device file.

bus.device1.targetPosition = 1000; Pick a device to see it in code. Signal names come from each device's own file.
  • Add Device File for a device type that is new to you.
  • Device settings by their real names, under sdo.
  • Drives over CoE and SoE, with Distributed Clocks.
  • Every signal a name for your code, your rungs and your drawings alike.
  • Up to 128 devices on one bus, named device1, device2 ... and renamed as you like.
  • Outputs written together leave together, in the same cycle.
  • No setup scripts: the program prepares the machine itself.
  • Trouble reaches your code: frames lost, the bus stopped and why, each as an event of its own.

Motion and control

Motion in plain words

Named motion items with plain properties. A geared follower follows its master exactly, and a cam follows its table.

Electronic gear

Drag the master gear, or scroll: the follower turns at exactly the ratio you set.

motion.gear.enabled = true;motion.gear.ratio = 2.0;

Positioning

Choose a target in turns and press go().

motion.position1.target = 12.5;motion.position1.go();

Cam

The follower follows a table of the master's position. One turn of the master gear above is one cycle.

motion.cam1.enabled = true;motion.cam1.setTable("riseFall");

A table set while the cam runs takes over at the end of the cycle.

Every kind of move

gearcampositionjoghomingspeedtorque

Any drive takes its place from its own signals. Drive it from code, from a rung, or bind it to a variable with no motion code at all.

PID and Equation

Closed loops and formulas as elements of their own.

pid1.setpoint = 70;pid1.start();

Drawing

Draw the machine and make it move

A drawing editor with a timeline: parts move by keys, as in a simple video editor.

  1. 1Place partsTanks, pumps, valves, conveyors and hundreds more ready parts, shapes you draw, or an imported SVG or DXF drawing. Every part is ordinary shapes: go into it, change any shape, ungroup it fully.
  2. 2Set keysPut the playhead at a time and change a part: a key is made there. A drawing's timelines are its named clips.
  3. 3Play itYour code plays a clip by its name, or a clip follows a value of your project with no code at all. Move the level, press a clip.
drawing1Import drawing…
0 % tank1 pump1 valve1 conveyor1
drawing1.tank1Fill.progress = level / 100.0;

Reports, files and the machine

The program writes its own reports

Documents built from your code, a page watched in a browser, and the computer itself as one object.

PDF Document

Headings, text, tables and pictures of the screen, saved as a report.

pdf1.addScreen(page1);

Spreadsheet file

Sheets, rows, formulas and formats in an .xlsx file for the office.

xls1.addRow("08:00", 21.5);

Text File

Lines and CSV lines in the encoding you choose, or one more line of a log.

txt1.append("events.log", line);

Web View

A page of your design, live in a browser on the plant network. Display only: nothing can be changed through it.

web1.page = webPage2;

Static screens

Pages for up to three more displays: the wall display at the end of the line.

screen2.show(staticPage2);

The machine

Network cards, displays, disks and power, in every project with nothing to add.

machine.system.cpuTemperature

Encryption

Keep recipes, settings or readings secret in a database, a file or on the network.

crypto1.encrypt(text)

Project files

The pictures, tables and databases your program uses, kept in the project itself.

ProjectFile("logo.png")

Your project

One project, one place

Your design and your code stay inside your project file. The ready program lands in its Output folder, named as the project.

  • Nothing to tidy up: no build folders or generated files beside your project.
  • Crash recovery brings back the work you had not saved yet.
  • A password of your own: without it nobody can open the project or read its design and its code. Three wrong passwords close the designer.
Line1
Line1.engcprojThe design and your code, in one sealed file: only the designer opens it.
Line1.engcrecoverUnsaved work, ready to come back after a crash.
Output/Line1Your program, ready to run.

Embedded

Real-time EngCentre Embedded Linux

A real-time Linux made for the machine: it boots straight into your program, silently. No desktop, no login, no text on the screen.

  • The boot picture while it starts, then your program, full screen.
  • Everything your program needs is ready before it starts.
  • Real-time timing for EtherCAT and motion, built into the system.
  • Started from a USB stick: nothing on the PC's own disks is touched.
  • Closed from outside: every port stays shut until your project opens it.
Power on
Boot picture
Your program
39
component types, and growing
128
EtherCAT devices on one bus
8
ways to connect: EtherCAT, Modbus TCP and RTU, MQTT, HTTP, UDP, MySQL, SQLite
1
click from design to a running program

Run

One click from design to a running program

The designer writes the complete program, builds it and runs it. Press the button.

CodeYour design and your code
Running programThe running program

Version 2 - coming soon

EngCentre Designer. Industrial automation, from screen to machine.