How it works
On one side, the things that make data. On the other, the people and systems that need it. AyMON sits between them and speaks to both — in both directions, so a page or an assistant can also change a value, if it is allowed to.
Machines and devices
- PLCsModbus
- MachinesOPC UA
- Sensors, IoTMQTT
- Network gearSNMP
- CamerasRTSP, USB
- Anything elseTCP, serial
AyMON engine
- one live tree of values
- alarms and limits
- history in SQL
- logic in script
Windows · Linux
People and systems
- Web pagesHTTP, WS
- DashboardsMQTT, REST
- ReportsSQL
- Mail, filesSMTP, FTP
- Another AyMONcluster
- AI assistantsMCP
Three ideas
Everything else follows from these.
Everything is an element
A connection, a device, one request to it, a single measured point — each is an element in one XML tree, with an address anything can read or write: con → dev → bi → io.
Configuration before code
Scaling, rounding, limits, alarms and history are attributes, not programs. Script — a language close to JavaScript — is for the logic that is really yours.
A change is an event
When a value arrives, the functions written beside it run in order: convert, round, check the limits, raise the alarm, publish. Nothing polls the tree.
What it looks like
A tank station on Modbus TCP: one connection, one device, one request for four registers, and the tank level with its scaling and four alarm limits. Not one line of script. Shortened from the example PRJEDU_modbus.
<con id="CN_MB" xdb_fnc="[CON.tcp,PRO.modbus]" con_mod="CLIENT" pro_role="MASTER"/> <dev id="TANK" pro_con="CN_MB" pro_adr="1" con_host="127.0.0.1" con_port="1502"> <!-- one request: read 4 holding registers, every second --> <bi id="TANK_BLK" pro_fni="3" pro_adr="0" pro_len="4" evt_fnc="[PRO.pol]" evt_per="1" pro_fnc="[PRO.inp]"> <!-- register 0, tenths of a percent --> <io id="TANK_LEVEL" pro_adr="0" pro_fnc="[VAL.put]" val_fnc="[VAL.cnv,ATR.rou,ATR.lmt,ALM.onlvl]" val_cnv_dlt="0.1" val_rou="0.1" val_unt="%" val_alm_onlhi_alm="95" val_alm_onlhi_wrn="85" val_alm_onllo_wrn="15" val_alm_onllo_alm="5"/> </bi> </dev>
Where it runs
- Windows x64, and Linux x86-64 (Ubuntu 22.04+, Debian 12+, RHEL 9 and alike).
- One executable and its libraries — no runtime to install, no database required.
- A FREE edition that never expires: enough for every example, for learning and for personal projects.
- Two engines can share one job — replication, and a cluster that fails over.
Repositories
Start with the examples: each one runs with a single command and needs no hardware, no licence and no database unless it says so.
AyMON
Runnable projects and short guides: Modbus, MQTT, OPC UA, SNMP, SQL, live web pages, a camera inspecting bottles, a PLC program, a PID lab, a robot cell, an AI assistant on a plant — and the engine for Windows and Linux.
AyPLG
The plug-in SDK: add a protocol, a connection type, a script library or an SQL driver to the engine, in plain C, with one header.
AyDATA
The core library underneath: the type system, and the live XML tree with XPath and JSON that every value lives in.
AyMON is developed by Şenol Erçetin and licensed exclusively to AKYA Canada Inc.
Questions: Discussions · Support: support@aymon.ca · Licensing: licensing@aymon.ca
See it running
Examples from the repository
PRJEDU_vision — a camera inspects bottles on a filling line inside the engine: 100 frames a second, every bottle judged, no script for the watching.
PRJEDU_plc — a PLC program for a filling line: remote I/O over Modbus, a step sequence, interlocks and an HMI.
Editions
Free to start, licensed to grow
FREE
Never expires. Every protocol, production use included, within 8 connections and 8 devices.
Education
For classrooms and trying out: the same engine, 32 logged-in users.
Commercial
More connections, devices and users, and engines on separate machines.
News & Updates
Engine releases, guides and news from the plants that run AyMON.
No Results Found
The page you requested could not be found. Try refining your search, or use the navigation above to locate the post.
Where to go next
See what the engine speaks, how the editions differ, or run your first example in five minutes.





