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
Design
Build the screen from components
Drag a component onto the screen, set it up, and your code knows it by its own name.
- 1Drag39 component types: gauges, sliders, toggles, trend charts, tables, drawings, documents, connectors and more.
- 2Set it upEvery element is ready in code by name. Double-click it to see its events and jump to its code.
- 3Try itMove the slider, flip the toggle, press Start. Every event has its own handler.
onSlider1Changed(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.
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.
Add a Start button and a gauge.
Adding a Button to the page ...
Adding a Gauge to the page ...
2 changes
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.
- 1Type itType a name or an instruction and press Enter: the editor draws the wires. The instruction list says the same program as text.
- 2Use every nameOne rung may mix an EtherCAT input, a Modbus register, a button of the screen and a variable of your own.
- 3Watch it liveMonitor lights what conducts in the running program. Press start, stop and the guard.
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
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.
- 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.
- 2Set keysPut the playhead at a time and change a part: a key is made there. A drawing's timelines are its named clips.
- 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.
drawing1.tank1Fill.progress = level / 100.0;Connect
Talk to everything on the plant floor
Modbus·
Modbus TCP and Modbus RTU on a serial line, MQTT, HTTP and HTTPS requests, MySQL and SQLite with query and execute, UDP, and timers. Each one is a named object in your code. Pick one to see a line.
plc.speed = 1500;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.cpuTemperatureEncryption
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.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.
Run
One click from design to a running program
The designer writes the complete program, builds it and runs it. Press the button.
Version 2 - coming soon
EngCentre Designer. Industrial automation, from screen to machine.