ThinkPLCAutomation, based in Nelspruit, designs and builds SCADA, PLC, batching and weighing systems, and complete machines for any production line — if it has a PLC, a motor, a sensor or a scale, we can automate it. Our core focus is data: turning every plant we work on into information you can actually use.
If it has a PLC, a motor, a sensor or a scale, we can automate it. These eight sectors are where our experience runs deepest — though our work spans any process, any industry, any machine.
End-to-end control across drying, cracking, sorting and grading — where moisture content, kernel recovery and throughput all depend on the same control system talking to itself correctly.
Grading, packing and cold-chain systems built for seasonal peaks — where the line needs to run flat-out for months, then sit dormant without forgetting how it works.
Full electrical design and control builds for OEM machines — panel, safety circuit and PLC program delivered as one tested package, not three separate hand-offs.
Control systems for log infeed, sawing, edging and kiln drying — high-vibration, high-dust environments where the electronics have to survive the mill, not just the datasheet.
Power monitoring and control layered over your existing plant — visibility into demand, generator and grid state, and automated failover the moment supply is interrupted.
SCADA and telemetry for pump stations, reservoirs and water networks — often spread across sites with no fibre in sight, tied together by radio.
Weighing that has to survive outside the instrument shop — mobile weighbridges, portable dosing scales and load-cell rigs built for dust, vibration and weather.
Multi-vendor integration and modernisation — bringing mismatched PLCs, ageing SCADA and disconnected sites onto one coherent, supportable platform.
Getting a line running is the starting point, not the finish. Our job is turning every sensor, drive and scale on your line into a number someone can act on — and building a system that keeps working long after we've left site.
Every tag, everywhere it needs to be — control room, office, and phone — so decisions get made off what's happening now, not what happened yesterday.
Production, downtime and quality data logged automatically and visualised in Grafana or Ignition reporting, so month-end reporting is a query, not a scramble through paper sheets.
Node-RED flows on Ubuntu edge devices, MQTT/Sparkplug B out to Ignition or your own cloud — data engineered to move, not trapped in one PLC.
SCADA and historian data pushed into ERP, accounting or quality systems, so the plant floor and the front office are finally reading the same numbers.
Trend-based alerts on drives, bearings and drying cycles that flag drift before it becomes downtime, not after.
Panel, PLC code, SCADA, and the reporting layer on top — designed, built, commissioned and supported by the same team, end to end.
We work across the full stack — from the load cell and the drive on the motor, to the dashboard in your plant manager's pocket — so nothing gets lost in translation between the floor and the office.
Process graphics in Ignition, FactoryTalk View and Adroit — clear, consistent screens operators can trust at a glance.
Ladder, structured text and function blocks across Phoenix Contact PLCnext, Siemens, Allen‑Bradley, ABB and Unitronics — including migrations off end‑of‑life hardware.
Recipe-driven batching for liquids, powders and blends — sequencing, ingredient tracking and full traceability back to the tag.
Load cell integration, weighbridge interfacing and infield weighing systems built to hold their calibration in a working plant, not a lab.
Control panels designed, built and wired to spec — from single-drive enclosures to full MCC integration, tested before they leave the shop.
A responsive support desk, remote access configured from day one, and engineers who know your plant because they built it.
Anomaly detection on historian trends, computer-vision quality sorting, and natural-language reporting layered onto your SCADA — practical AI, not a buzzword bolt-on.
One project lead running scope, procurement, site coordination and schedule across panel building, programming and commissioning — so nothing slips between disciplines.
Ladder, function block, structured text and the C++ that bridges our PLCs to the data layer — written to IEC 61131‑3 across PLCnext Engineer, Studio 5000 and TIA Portal. Every program is commented and documented before it leaves our workshop.
(* Batching phase control — dosing sequence *) IF Batch_Active AND NOT Scale_Fault THEN CASE Phase OF 10: (* charge water *) Valve_Water(SP := 250.0); IF Weight_PV >= Rcp.Water THEN Phase := 20; END_IF; 20: (* dose powder *) Feeder(Rate := Rcp.DoseRate); IF Weight_PV >= Rcp.Target - Rcp.InFlight THEN Feeder(Rate := FINE); END_IF; 30: (* mix and hold *) Mixer(Time := Rcp.MixTime); END_CASE; END_IF;
// Modbus TCP -> MQTT Sparkplug B bridge class EdgeGateway { public: void pollCycle() { for (const auto& tag : map_) { float v = plc_.read(tag.addr); // dead-band filter if (std::fabs(v - last_[tag.id]) > tag.deadband) { mqtt_.publish(tag.topic, v, Qos::AtLeastOnce); last_[tag.id] = v; } } hist_.flushBatch(); } private: ModbusClient plc_; MqttClient mqtt_; SqlWriter hist_; };
Five systems, each shown the way an operator actually sees it — process schematic, live KPIs, trends, alarms and reporting on one screen. Every tag on these views is real data moving from the field, through the PLC, to the historian.
| Batch | Product | Weight | Status |
|---|---|---|---|
| B‑0847 | Kernel Grade 1 | 1,204 kg | Complete |
| B‑0846 | Kernel Grade 2 | 980 kg | Complete |
| B‑0845 | Kernel Grade 1 | 1,150 kg | Complete |
| B‑0844 | Reject / Rework | 64 kg | Review |
| Site | Link | Level | State |
|---|---|---|---|
| PS‑01 Intake | ‑58 dBm | 78% | Run |
| PS‑02 Booster | ‑62 dBm | 64% | Run |
| RES‑01 Tower | ‑71 dBm | 71% | Fill |
| PS‑03 Transfer | ‑66 dBm | 52% | Standby |
| RES‑02 Ground | ‑79 dBm | 44% | Weak link |
| PS‑04 Farm | ‑64 dBm | 88% | Run |
| Ingredient | Target | Actual | Status |
|---|---|---|---|
| Maize meal | 620.0 kg | 618.7 kg | Dosing… |
| Soya oilcake | 240.0 kg | — | Queued |
| Molasses | 85.0 kg | — | Queued |
| Premix 4B | 12.5 kg | 12.5 kg | Complete |
$ systemctl status edge-gateway
● edge-gateway.service — Modbus→MQTT bridge
Active: active (running) since Mon; 214d ago
Memory: 42.1M CPU: 1.2%
$ mosquitto_sub -t 'spBv1.0/plant/DDATA/#' -C 2
{"tag":"CRK01.MotorAmps","value":38.2}
{"tag":"DRY02.BinTemp","value":58.4}
$ tail -n 3 /var/log/edge/poller.log
14:52:01 INFO poll cycle 4.2s — 342 tags OK
14:52:05 INFO deadband suppressed 291/342
14:52:05 INFO sql batch insert 51 rows (12ms)
SELECT date_trunc('hour', ts) AS hr, round(avg(kernel_recovery),1) AS recovery, round(sum(throughput_t),2) AS tonnes FROM line_production WHERE ts > now() - interval '8 hours' GROUP BY hr ORDER BY hr DESC; hr | recovery | tonnes ---------+----------+-------- 14:00 | 32.4 | 2.41 13:00 | 32.1 | 2.38 12:00 | 31.2 | 1.94 11:00 | 32.6 | 2.44 (8 rows)
Every project runs the same four stages, whether it's one HMI screen or a plant-wide rollout — so you always know what phase you're in and what happens next.
We start on site — reviewing existing PLCs, drawings and pain points before proposing anything, so the design matches how the line actually runs.
We define the tag database, alarm strategy, batching recipes and screen hierarchy up front, so the system stays consistent as it grows past the first line.
Panels are built and tested in our workshop, code is proven against real I/O, and commissioning is scheduled around your production windows — not ours.
You get complete documentation and a direct support line straight back to the engineer who built it — not a black box. Most clients keep us on for ongoing changes as the plant evolves.
This is what separates a control system that runs for a decade from one that turns into a maintenance headache in year two. It's not the brand on the PLC — it's the discipline behind the build.
We specify Ignition, Siemens, Allen‑Bradley, ABB or Unitronics based on what suits your plant and your team's skill set — and we'll walk you through the reasoning behind every recommendation.
Every PLC program and SCADA project is fully documented and commented, with tag databases and functional descriptions handed over — core program elements remain ThinkPLCAutomation IP, licensed for your plant's ongoing use and support.
E-stop circuits, interlocks and functional safety are designed in from the start, not bolted on after an incident or an audit finding.
Logic is proven against simulated or bench I/O before it reaches your plant, so commissioning is about fine-tuning on real equipment — not first-time debugging on a live line.
We size the solution to the problem — a single-line HMI upgrade gets a single-line scope, and a plant-wide rollout gets the planning it deserves.
The engineers who scope your project are the ones who build, commission and support it — no hand-offs between sales, design and support, and no call centre between you and the person who knows your plant.
ThinkPLCAutomation is a controls and systems integration practice based in Nelspruit, working across South Africa's manufacturing and process sector.
We're multi-vendor by design: Ignition, Phoenix Contact PLCnext, Siemens, Allen‑Bradley, ABB, Node‑RED and Ubuntu-based edge deployments, alongside SCADA experience in FactoryTalk View, Adroit and Unitronics. That range lets us recommend the platform that genuinely suits your plant, your budget and your team.
Where we go further than a generalist integrator is the process itself. Years spent inside macadamia processing, packhouse grading lines, saw milling and custom machine builds mean we understand the process constraints before we open the PLC software — and our energy & power SCADA work gives plants in all of those sectors visibility and control over demand, generators and transformer loading.
From panel building and PLC programming through to batching, weighing and the SCADA screen that ties it all together, we take responsibility for the whole system — designed, built, commissioned and supported by the same team.
Send us a rough scope — plant type, current control platform, and what's not working today. We'll come back with practical next steps.
andrew@brennanholdings.co.za