Your machine data should not cost more thanYourmachinedatashouldnotcostmorethanthe machine.themachine.
One connection to each controller — PLCs, robots, drives, meters. Out the other side: OPC-UA, Modbus, Sparkplug B, SQL and REST — all at once, from one in-memory tag store, without disturbing polling. Unlimited tags, perpetual licence, ₹22,000 one-time per device.
One controller, one robot, or one PLC — same price for each, at any quantity. The incumbents meter you by tag or by driver suite, then bill 16–20% of the licence again every year. This does the connectivity job they do, priced by how many devices you actually read.
Windows and Ubuntu are the supported deployment targets, on x86-64. Docker Desktop is never required: the Windows installer provisions free Docker Engine inside WSL2, and the Debian package takes it from Docker's own apt repository. An arm64 build exists and runs, but has not been validated on a plant device.
siemens_6 · 192.168.1.6
18 tags · replay
tag
type
value
Clock_Byte
uint8
151
Clock_1Hz
bool
true
Clock_2Hz
bool
false
AlwaysTRUE
bool
true
System_Byte
uint8
4
Tag_1
int32
25,941
Clock_Byte · %MB1000–255
Replay of readings captured from the gateway in testing — S7 clock-memory tags from a simulated source, so the bits genuinely toggle. Not a connection to a plant.
Reads Siemens S7, Mitsubishi MELSEC, Modbus TCP, Rockwell EtherNet/IP, Omron FINS and OPC-UA. Serves OPC-UA, Sparkplug B, MQTT, PostgreSQL, MySQL, SQL Server, Modbus and REST.
Read your equipment. Serve it everywhere, at once.
The whole picture, not a list: every controller, robot and system on the intake side, the gateway's one in-memory tag store in the middle, every channel it serves out on the other — all live at the same time. Hover anything to trace its route; the legend colour-codes exactly what is released, what is early access, and what is still only written.
Filter by statusLine style also encodes status (solid / dashed / dotted). Every northbound share is live.
Gateway corePandaLogix Gateway
One in-memory tag store · unlimited tags · polling never disturbed · perpetual licence. Every share is served at once from the same tags — no per-tag or per-driver metering.
Where it lands
Those channels already reach the tools your teams run on — mostly config, no new gateway code. It streams continuously into your BI and historians, and fires alerts to your chat and on-call tools the moment a tag crosses a line or a PLC drops.
Streams into
Power BIvia the SQL logger
Grafanavia SQL, or live MQTT
Excelvia SQL (Power Query)
Ignitionvia OPC-UA / MQTT
HistoriansAVEVA PI, InfluxDB, Timescale
SAPvia OPC-UA (Plant Connectivity)
…and alerts to
Slackwebhook, on a rule
Microsoft Teamswebhook, on a rule
PagerDutyEvents API · trigger/resolve
EmailSMTP, on a rule
PandaLogix Edge Gateway compatibility, in full.
Southbound device intake — sources the gateway reads:
PLC / SCADA — status Live — released
Siemens S7 — S7-300/400/1200/1500, LOGO · ISO-TCP 102
OPC-UA client — any conformant OPC-UA server · 4840
Robots & Cobots — status Early access — read-only
Early access · read-only by default · none hardware-signed-off. UR & Doosan verified against vendor simulators; the rest against protocol-accurate test doubles.
Building / Utility / Substation — status Live — released
Released and quotable — in the shipped image and loopback-tested. None has yet answered that vendor's hardware, so they carry the same caveat as the robots: proven over the real wire, not yet against real steel.
Written into the build, loopback-tested, NOT released.
Beckhoff ADS — TwinCAT · sum-read batching
SNMP — network & infrastructure · WALK discovery
ODBC — read a database as if it were a device
MQTT consumer — subscribe to a broker as a source
Gateway core: one in-memory tag store, unlimited tags, polling never disturbed, perpetual licence. Every northbound share is served at once from the same tags, with no per-tag or per-driver metering.
REST / JSON — apps, dashboards, scripts · pull on your schedule · 8000
Alerts — webhook (Slack, Teams, PagerDuty, Power BI) & email · fired on a rule
Adding an interface on the right never touches polling on the left — every share reads the same cache, so a new SCADA connection cannot slow a PLC down.
replayIllustrative Sparkplug B DDATA frames in the gateway's own wire format, sequence 10 to 15.spBv1.0/…/DDATA seq=10 Clock_Byte=151 Tag_1=25941 · 7 metrics, by alias
What has been run, and against what
Q03UDV
reads and writes, GOOD
Mitsubishi MELSEC over MC protocol 3E: D0 read live, then written by the gateway and confirmed by an independent read of the registers
Live change
45.8 → 45.800
Set on the Q03UDV in GX Works, seen by the gateway in one unbroken take
Siemens S7comm
reads and writes
Exercised over the S7comm wire against a snap7 software server — not yet against a physical S7-1500
OPC-UA
18 variables
The gateway's own address space, served from a simulated tag source — not a plant
Sparkplug B
NBIRTH / DBIRTH / DDATA
The bridge speaks Eclipse Tahu Sparkplug B, sequence numbered and correctly refusing to retain DDATA
Report by exception
changed metrics only
Each cycle sends only what moved, by alias rather than by name
One controller family has met real steel. The Mitsubishi MELSEC driver was exercised on a physical Q03UDV over MC protocol 3E frame with the simulator switched off — reads and gateway-initiated writes, each write confirmed by an independent read of the CPU's own registers. That is Q series: iQ-R and iQ-F share the driver but were not the CPU on the bench. Everything else on this strip was measured over the real wire protocol against a software server or the gateway's own tag store: the Siemens S7comm driver against a snap7 server rather than a physical S7-1500, and the OPC-UA, Sparkplug B and report-by-exception behaviour against the gateway's own tag store, which on that run was filled by a simulated device rather than by any controller. The Rockwell and Modbus drivers are implemented and unit-tested and have not been run against that vendor's hardware either — we will say so until they have been.
What people build with it
The same gateway, six different jobs. Every one of them is somebody replacing a licence, a middleware box, or a week of integration work.
OEM / machine builder
Ship a machine your customer can already integrate
Every customer wants the data in a different place: this one runs Ignition, that one wants it in SQL Server, a third has an MQTT broker and a data team.
One gateway in the panel. It reads the PLC once and serves OPC-UA, Modbus, Sparkplug B, SQL and REST at the same time. You stop writing a bespoke integration per customer, and the licence ships with the machine.
SCADA developer
Get every controller into one address space
A brownfield line is a Siemens cell next to a Mitsubishi cell next to a decade-old Modbus meter, and your SCADA speaks one of them well.
Point the gateway at all of them, then point your SCADA at the gateway's OPC-UA server. Tags arrive with ISA-95 paths, engineering units and quality already attached.
MES / IT integrator
Land tag data in the database you already run
Getting PLC values into SQL usually means a historian licence, a connector licence, and a middleware box that someone has to own.
The SQL share writes straight into PostgreSQL, MySQL, SQL Server or SQLite — insert for history, upsert for a live mirror. The table is yours; the gateway never issues DDL against it.
IIoT developer
Sparkplug B without a middleware licence
Sparkplug is what makes an MQTT host discover your tags instead of an integrator mapping them by hand — and it is usually a paid module.
Birth and death certificates, self-describing metrics, aliases and sequence numbers. Included, not an add-on. Ignition, HiveMQ and Cirrus Link consume it directly.
Cell integration
Make two controllers talk, without touching PLC code
A robot needs one bit from the press, and getting it there means a PLC programmer, a spare I/O card and a shutdown — or a script on a laptop under somebody's desk.
Pick the tag in the gateway UI, pick the device to hand it to, and the gateway keeps the two the same — one way, or both ways. It opens only the tags you approve on that screen, refuses a pairing the controller would reject, and shows the delay it actually measured.
Plant / maintenance
Know a gateway died, without driving to the plant
An edge box that stops publishing looks exactly like a line that stopped running, and you find out from the person who needed the report.
Every gateway heartbeats to the control plane with device health, tag quality, disk and buffer state. Pull logs, restart, or free space remotely from a closed list of commands.
Replacing Kepware
Keep the SCADA. Drop the connectivity bill
Kepware sits between your PLCs and your SCADA doing protocol translation, and renews every year whether or not anything changed.
This does that job — same OPC-UA interface out, same drivers in — for a one-time per-device fee. Your SCADA does not know the difference; it just connects to a different endpoint.
Not one of those six? We also write industrial software to order — protocol bridges, PLC-to-MES plumbing, operator tooling. The software layer, never the control logic.
An honest table, including the rows where we lose. Cost is shown as a multiple of one PandaLogix licence.
What a plant assembles today
Four products, four renewals, four vendors when data stops.
Kepware driver suite≈ 7× ours + 20%/yr
Reading one brand of PLC
MQTT / Sparkplugquoted separately
Kepware IoT Gateway, or Cirrus Link on Ignition
DataLogger≈ 7× ours
Getting tags into a database
Fleet / IIoT platformseparate subscription
Knowing an edge box died
becomes
One service in the panel
Same interfaces out. One licence, no renewal.
PandaLogix Edge Gateway1× — one-time
All four jobs, one service
✓OPC-UA server
✓Sparkplug B
✓SQL logging
✓Modbus slave
✓REST readout
✓Cloud fleet view
Not a SCADA. If you need operator screens, keep the one you have and point it at this over OPC-UA.
PandaLogix Edge Gateway compared with PTC Kepware, Ignition, AVEVA InTouch and Siemens WinCC
PandaLogix
PTC Kepware
Ignition
AVEVA InTouch
Siemens WinCC
Licensed by
Device count. Unlimited tags
Driver suite, per server
Server + modules
Tag count
PowerTag count
Entry price, relative
1× — one-time, the baseline
≈ 7× ours + 20%/yr
≈ 4.5× ours per server, unlimited tags
≈ 7× ours (1k tags)
Quoted by reseller
Perpetual licence
Yes
Perpetual or subscription
Yes
Moving to Flex subscription
Yes
Runs headless on a plant PC
Yes — Docker or native
Yes
Yes
Windows only
Windows only
Linux support
Yes
Kepware Edge, yes. Kepware Server, no
Yes
No
No
OPC-UA server out
Included
Included
Module
Add-on
Included
Sparkplug B
Included
Add-on
Cirrus Link module, priced separately
Add-on
Limited
SQL historian logging
Included — Postgres, MySQL, MSSQL
DataLogger add-on
Historian suite, priced separately
Historian, separate
Separate
Cloud fleet management
Included
ThingWorx, separate
Separate
AVEVA Connect, separate
Insights Hub, separate
Full SCADA / HMI screens
No — that is not what this is
No
Yes, excellent
Yes, excellent
Yes
Installed base and ecosystem
New
Very large
Large
Very large
Very large
“× ours” is a multiple of one PandaLogix device licence — ₹22,000, perpetual, unlimited tags. Multiples are rounded down to the nearest half, so rounding never flatters us. The published prices behind them are linked under the assumptions of the five-year estimator below.
Where the others are genuinely better
Ignition and AVEVA build SCADA screens; this does not, and will not. Kepware has driver coverage two decades deep, including protocols we have never touched. All four have an installed base, a partner network and a support organisation that a new product does not. If you need operator graphics, buy one of them — and point it at this over OPC-UA, which is the combination most plants actually want.
What it costs you over five years
Move the slider to your plant. Every figure is a multiple of what PandaLogix costs at that size, built from published list prices and sourced public estimates with each vendor’s own maintenance rate applied — the sources are linked in the assumptions.
Controllers, robots, PLCs — one licence each. Five-year cost of ownership as a multiple of ours, licence plus published maintenance.
8
devices
1 devicea line50 — a plant
Adjusting the device count updates a five-year cost comparison against PTC Kepware and Ignition below, shown as multiples of the PandaLogix cost.
PandaLogix1×
1× once + nothing a year · 8 perpetual licences at ₹22,000, and nothing after it
PTC Kepware≈ 6×
≈ 3× once + ≈ 60% a year × 4 · licence at 8 machines, then PSP 20%/yr
Ignition≈ 3.5×
≈ 3.5× once + nothing a year · one central server, unlimited tags · MQTT priced separately, not included
paid oncepaid again every year
Over five years the cheaper of the two costs ≈ 3.5× what ours does — and you still own the licence at the end of it. Kepware’s renewal alone is ≈ 60% of our entire licence, again every year, for as long as you run it. Ours is nothing.
What is in these numbers
“1×” is what PandaLogix costs at the device count you set: one perpetual licence per device — controller, robot or PLC — at ₹22,000 each, once. There is no volume break to apply and no maintenance is charged, so our five-year figure and our day-one figure are the same.
Competitor figures are published list prices and sourced public estimates, converted at ₹85/$ and ₹92/€ before the ratio is taken. Rates move and vendors discount; treat the multiples as a starting point, not a quote.
Multiples are rounded down to the nearest half, and fractions to the nearest 5%, so rounding can only ever understate the gap.
PTC does not publish Kepware list pricing. This curve interpolates three public figures — a reseller’s price for the connectivity suite, and two third-party project estimates, one for any meaningful scope and one for a 50-machine project — taking the low end of every range.
Sources, per vendor:
PTC Kepware — Mitsubishi Suite, 20%/yr maintenance. One PLC-brand driver suite, one server. A second brand is a second suite. Perpetual price includes the first year of update and support.kepware-opc.cz (FOXON)
PTC Kepware — DataLogger plug-in, 20%/yr maintenance. Logging tags to an ODBC database — the job our SQL share does. A separate purchase from the driver suite.kepware-opc.cz (FOXON)
PTC Kepware — IoT Gateway plug-in. MQTT and REST output — included in our per-device licence. Listed as a product; no public price, so it cannot be added to any total on this page.kepware-opc.cz (FOXON)
PTC Kepware — Typical first-year project, 20%/yr maintenance. A multi-driver deployment as budgeted by integrators. A third party's estimate, not a PTC list price — they publish none.mdcplus.fi (estimate, May 2026)
PTC Kepware — 50-machine project, 20%/yr maintenance. First-year licensing for the connectivity layer at plant scale. Same third-party estimate, same caveat.mdcplus.fi (estimate, May 2026)
Inductive Automation — Ignition platform. The base platform, unlimited tags and connections, with core drivers bundled — including Mitsubishi and Modbus. Cheaper than us past a handful of devices for connectivity alone; the suites below are what the rest of the job costs.inductiveautomation.com
Inductive Automation — Platform + Historian + Alarm Management. Platform $1,200 + Industrial Historian $3,500 + Alarm Management $3,200 — the nearest published equivalent to our logging and alerting. MQTT/Sparkplug is a Cirrus Link module Inductive Automation does not price on this page, so it is NOT in this figure and the real total is higher.inductiveautomation.com
Inductive Automation — Application Building suite. The operator-screen layer, sold as a suite on top of the platform. We do not sell this at all — it is the SCADA we tell you to keep.inductiveautomation.com
AVEVA (Wonderware) — InTouch Workstation. Perpetual, capped at 1,000 tags, Windows. An HMI rather than a gateway — and at this tier it costs less than eight of our licences. Said plainly because it is true.aveva.com
AVEVA (Wonderware) — InTouch Unlimited Professional. Perpetual, unlimited tags and clients.aveva.com
Reviewed August 2026. None of these vendors publishes complete list pricing, and all of them discount. Get a quote before you budget against any of it — including ours.
Kepware sells connectivity only. Add SCADA, historian and an MQTT bridge and the comparison moves further, not closer.
Neither competitor figure includes the engineering time to license, install and maintain per-tag counts, which is where integrators say the real cost sits.
Pricing
₹22,000 one-time per device — one controller, one robot, or one PLC — perpetual, at any quantity. No tag metering, no renewal, no module unbundling.
Pricing, from a person
The shape of it is settled: a one-time perpetual licence at ₹22,000 per device — one controller, one robot, or one PLC — flat at any quantity, with no per-tag metering and no annual maintenance attached to a machine you have already shipped. The estimator above puts a number on that at your device count.
What it cannot price is your deployment — which devices, what you are replacing, and whether you are embedding this in a machine you ship by the hundred. That comes from us, in writing, and usually the same working day.
✓One-time, perpetual — no renewal on a shipped machine
✓Priced by devices, never by tag count
✓Every protocol and every northbound share in the licence
✓OEM-embed and volume terms if you ship this inside a product
What it does
Everything downstream of the drivers reads from one in-memory TagStore, never from a driver. A tag has exactly one name — its ISA-95 FQID — across the MQTT topic, the OPC-UA BrowseName, the Modbus register map and the REST path. Adding a northbound protocol therefore cannot destabilise PLC polling.
Reads
Southbound drivers connect, poll, decode and scale. One connection per device, shared by everything that consumes it.
Siemens S7
S7-300 / 400 / 1200 / 1500, LOGO
ISO-TCP · 102
Mitsubishi MELSEC
Q / L / iQ-R / iQ-F
SLMP · 1025
Modbus/TCP
PLCs, drives, meters, RTU gateways
Modbus · 502
Rockwell Logix
ControlLogix, CompactLogix
EtherNet/IP · 44818
OPC-UA client
Any third-party OPC-UA server
OPC-UA · 4840
Serves
Northbound shares publish the same poll to the plant's own systems. Writes are default-deny, permitted per tag and per share.
OPC-UA server
SCADA, MES, historians
opc.tcp · 4840
Modbus/TCP slave
Legacy HMIs, panel meters, older SCADA
5020
SQL / ODBC logger
Writes readings into a plant database
ODBC
MQTT bridge
A customer's own MQTT or UNS broker
outbound
REST
Custom applications, dashboards, scripts
on port 8000
It replaces a separate tag server
A gateway that only ships data to a cloud still leaves the site needing an OPC server for its local systems. This one serves both from the same poll, so for the common SCADA/MES integration cases it takes the place of a separate Kepware (or equivalent) installation: one connection to the PLC, one tag namespace, one thing to license and patch.
Cloud telemetry survives the link going down
Telemetry to PandaCloud runs over MQTT at QoS 1 with a disk-backed store-and-forward buffer that replays oldest-first when the link returns. It is separate from the northbound shares, which keep serving the plant either way.
New · second product in the family
PandaLogix Verdict — vision inspection that lands in your PLC like any other tag
Poka-yoke and quality checks, sold as software on a camera you choose. Pick the job from a library of twelve applications, connect a camera, draw the inspection area on your own live picture, show it good parts — it is judging within the hour.
And because it is built on this gateway, every verdict is twelve tags in the tag store: your SCADA, MES and historian read inspection results over OPC-UA, Modbus, Sparkplug B, SQL or REST exactly the way they read everything else on this page. No vision vendor's island, no second integration.
Your camera
from a ₹500 webcam
Presence and variant checks run on a USB webcam or a phone camera. Defects and gauging want a ₹5,000 global-shutter board camera. The feasibility calculator tells you which — before you buy anything.
Teaching
~40 good parts
Show it good parts; it calculates its own threshold and predicts its false-reject rate. You never have to supply a defective example to start, and it stays in shadow until it has earned the reject output.
The verdict
milliseconds, on a wire
The reject pulse leaves on a digital output before anything is stored or published. The data path — pictures, records, drift monitoring — never sits between the camera and the cylinder.
Every reject
photographed
Each NG stores the frame with the suspect region marked, so an operator can hold the part next to the picture. Corrections feed back as labels. Drift monitoring says when the light has aged — before the false rejects start.
Verdict is in early access, running on pilot benches now. The full page lays out the three engines, what it checks, how to evaluate it today, and exactly what has and has not been validated.
Every build is published with its SHA-256. This gateway goes onto plant equipment, so check the digest before you run the file — the command for each platform is under its downloads.
Pick the machine you are installing on.
v3.10.2
Machine
Windows PC
Plant PC or server, 64-bit Windows 10 build 19041 or newer.
Build
Online installer
PandaLogixEdgeGateway-3.10.2-Setup.exe
v3.10.2x64
The normal Windows install. Runs the gateway as a container and pulls its image during setup.
Provisions Docker Engine inside WSL2 when the machine has no container runtime. Docker Desktop is never installed, and is used only if it is already there.
Needs internet during setup: the WSL2 core, the Ubuntu image and Docker Engine are downloaded from Microsoft and Docker.
Requires administrator rights, 64-bit Windows 10 build 19041 or newer, and virtualisation enabled in firmware.
The .exe is unsigned, so SmartScreen warns before it runs.
Before you install on Windows PC
Needs administrator rights and hardware virtualisation enabled in firmware.
With no container runtime present, setup provisions Docker Engine inside WSL2. Docker Desktop is used if already installed, but is never installed for you.
Verify what you downloaded
Run this in Command Prompt from the folder you downloaded into, then compare the digest it prints with the one on the card above. Comparison is case-insensitive. If they differ, delete the file — do not install it.
The gateway runs and serves the plant on its own. Activation is what connects it to this console.
1Run the installer
It provisions a container runtime if the machine has none, writes the configuration, starts the gateway and verifies that it answers before reporting success. Nothing mutable is written beside the code.
2Open the gateway's own UI
It serves its UI on port 8000 — browse to http://<gateway-host>:8000/. It answers without a password, the way a panel HMI does, so before the box goes onto a routed network turn on Settings → Local API access → Require the local API token. That screen mints the token for you.
3Issue an activation token here
Create an account on this console — it is free and takes a minute — add your organisation, then open its Activation tokens tab and issue one. A trial token costs nothing, runs for seven days and covers two controllers. The plaintext is shown exactly once; only its digest is stored.
4Paste it into the gateway
Settings → Activate. The gateway exchanges the token for a session token and broker credentials, adopts the ISA-95 hierarchy for the site, and starts heartbeating. It appears in the console within a minute.
Choosing a deployment path
The container is the right answer on most machines and the wrong one on some. A container cannot be placed on a physical Windows NIC — network_mode: host inside WSL2 means the host of the virtual machine, not the Windows box.
Which install path suits which machine
The machine
Install path
Windows PC that polls PLCs over a routed network
Windows installer
Windows PC serving OPC-UA or Modbus to clients that route to its LAN address
Windows installer, with the advertised host set
Windows PC dual-homed onto an isolated OT VLAN, or a PLC that must reach the gateway at a fixed address on that VLAN
Native Windows serviceNot the container
Ubuntu or Debian server on the plant network
Debian package, on a machine that already has a container runtime
A laptop for development, a demo, or a proof of concept
macOS package — not a plant deployment target
The native Windows service is not one of the installers on this page. It is the PyInstaller build plus NSSM, installed with deploy\windows\install-service.ps1 from the release archive. Ask us for it if that is the machine you have.
Stated plainly
Windows and Ubuntu on x86-64, and the Raspberry Pi and NVIDIA Jetson on arm64, are the supported deployment targets. The boards take one package between them — the same arm64 build, because that is what they both run.
macOS is a development and demonstration host. It is not a plant deployment target: the .pkg is unsigned, the container cannot sit on a physical OT NIC, and because Colima is a per-user VM the gateway cannot start there before somebody logs in.
Docker Desktop is never required and never installed. The Windows installer provisions free Docker Engine inside WSL2, and uses an existing Docker Desktop only when one is already on the machine.
The Debian package needs a container runtime already present — dpkg holds the apt lock while it configures itself, so it cannot install one. The install script it ships, /opt/pandalogix-gateway/install.sh, provisions free Docker Engine from Docker's own apt repository. On macOS the installer provisions Colima — Apache 2.0, no GUI, no subscription.
A site dual-homed onto an isolated OT VLAN needs the native-service path, not the container.
Ready to activate?
Activation tokens are issued from the operator console: create the organisation, lay out its ISA-95 hierarchy, then issue a token for the gateway. The plaintext is shown once and never stored.