The Voltrus Blog
Practical guides for system integrators: SCADA deployment, Modbus TCP/RTU tutorials, PLC programming, protocol comparisons, and real project pricing. 80 articles.
Modbus HMI: Build an Operator Panel for a Modbus TCP PLC
How a Modbus HMI works: holding registers and coils as widgets, FC03/FC06 reads and writes, Unit ID and port 502, float byte order. Step-by-step build of the panel against a Modbus TCP PLC.
Read articleNATS JetStream Explained: Streams, Consumers, KV, and Core NATS
How JetStream streams, consumers, retention, acks and replay work, plus the KV and Object stores and a table for choosing between Core NATS, a stream and a KV bucket.
Read articleNATS Client for macOS: Publish, Subscribe and Browse JetStream
Looking for a NATS client on macOS? Compare the CLI, NATS Studio, Nui, and native GUI options. How to publish/subscribe, manage JetStream streams and consumers, and browse KV/Object stores without a terminal.
Read articleWeb-Based HMI vs SCADA: Browser Dashboards for Machines and Plants
How browser HMIs connect to PLCs, WebSocket vs polling, single-file deployment, and where an HMI ends and SCADA begins, with a decision framework for integrators.
Read articleHMI on Raspberry Pi: A Low-Cost Industrial Touchscreen Panel
How to run an HMI on a Raspberry Pi: kiosk mode, serving dashboards, connecting to PLCs over the network, and the watchdog + auto-start setup that makes a Pi a reliable industrial operator panel.
Read articleOEE Formula Explained with a Worked Example
The OEE formula broken down step by step. How to calculate Availability, Performance, and Quality, a full worked example, the ideal 100% benchmark, and the mistakes that inflate your score.
Read articleManufacturing Downtime Tracking: Measure, Classify, Reduce Stops
Capture downtime automatically, derive machine state from PLC signals you already have, keep reason codes honest, and read the Pareto that shows where the minutes actually go.
Read articleModbus Poll vs Modscan vs Modbus Slave: Which Master Tool to Use
Modbus Poll, Modscan, and Modbus Slave compared. Platform support, RTU vs TCP, master and simulator modes, pricing, and which Modbus master tool fits your workflow in 2026.
Read articleModbus TCP vs PROFINET: Choosing the Right Industrial Ethernet
Modbus TCP vs PROFINET compared. Real-time determinism, device discovery, configuration effort, vendor ecosystem, and when to use each industrial Ethernet protocol.
Read articleHow to Read Modbus Holding Registers (FC03): A Practical Walkthrough
How to read Modbus holding registers with function code 03. Slave ID, start address, quantity, the FC03 frame, 16-bit byte order, and 32-bit scaling explained.
Read articleEtherNet/IP ListIdentity: How Device Discovery Works (UDP 44818)
EtherNet/IP ListIdentity discovery explained. How a broadcast on UDP 44818 finds every CIP device, what the Identity reply contains, and how to browse devices on macOS.
Read articleCIP Explicit vs Implicit Messaging: When to Use Each
CIP explicit vs implicit messaging compared. Explicit (TCP 44818, request-response, tag reads) vs implicit (UDP 2222, cyclic I/O, RPI). Use cases, overhead, and when each wins.
Read articleEtherNet/IP Port 44818 Explained: TCP, UDP 2222, and Firewall Rules
EtherNet/IP port 44818 explained. TCP 44818 for explicit messaging, UDP 2222 for cyclic I/O, UDP 44818 for ListIdentity discovery. Firewall rules and security.
Read articleDNP3 vs IEC 60870-5-104: Power Utility Protocols Compared
DNP3 vs IEC 60870-5-104 compared. The two dominant power-utility SCADA protocols. Addressing, transport, event model, region, and which to choose for substations.
Read articleDNP3 Class 0, 1, 2, 3 Explained: Event Polling Strategy
DNP3 Class 0, 1, 2, 3 explained. Class 0 is a full snapshot; Classes 1-3 are prioritized event backlogs. How utility masters poll by class to retrieve only what changed.
Read articleDNP3 Select-Before-Operate (SBO): Safe Control Outputs
DNP3 Select-Before-Operate explained. Why SBO guards critical controls, how the select-then-operate two-step works, select timeouts, and direct operate for non-critical points.
Read articleOPC UA vs OPC Classic (DA): Why the Upgrade Matters
OPC UA vs OPC Classic (DA) compared. Platform-independent transport, built-in security, rich information model, and why migrating from COM-based OPC DA to OPC UA matters.
Read articleOPC UA Information Model Explained and How to Browse a Server
Nodes, references, the type system and companion specs, then a step-by-step walkthrough of browsing a UA server from GetEndpoints to a subscribed value, including on macOS.
Read articleOPC UA Security: Certificates, Encryption, and Auth Setup
OPC UA security explained. Security modes (None, Sign, SignAndEncrypt), security policies, X.509 certificates, mutual authentication, trust lists, and secure setup.
Read articleOPC UA Subscriptions and Monitored Items Explained
OPC UA subscriptions and monitored items explained. Publishing interval, sampling, data-change filters, and why subscribe beats poll for live monitoring.
Read articleSiemens S7-1200 vs S7-1500: Which PLC for Your Project
Siemens S7-1200 vs S7-1500 compared. Performance, memory, I/O count, motion, safety, PROFINET, price, and which Siemens PLC fits small machines vs large process lines.
Read articleS7 Protocol vs OPC UA for Siemens PLCs: Direct or Standardized
S7 protocol vs OPC UA for Siemens PLCs compared. Native direct access vs the cross-vendor standard, performance, security, setup, and when to use each.
Read articleHow to Read a Siemens S7 Data Block (DB) Over the Network
How to read a Siemens S7 data block. DB number and offset addressing, data types, the rack/slot connection, enabling PUT/GET, and reading S7-1200/1500 DBs.
Read articleBLE GATT Services and Characteristics Explained: How Every BLE Device Is Structured
The GATT data model end to end: ATT vs GATT, the Profile, Service, Characteristic, Descriptor hierarchy, UUID formats, characteristic properties, the CCCD, ATT operations, and a full byte-level walk-through of the Heart Rate Service.
Read articleBLE Pairing and Bonding: Security Explained
Pairing vs bonding, LE Legacy vs LE Secure Connections (ECDH P-256), the four association models, the STK/LTK key hierarchy, AES-CCM encryption, IRK-based privacy, Security Mode 1 levels, and how to debug auth failures on macOS.
Read articleMQTT Topic Design: Best Practices for Naming and Wildcards
MQTT topic naming rules, forward-slash hierarchy, the + and # wildcards, shared subscriptions, ACL security, and the anti-patterns that bite teams in production.
Read articleOPC UA Companion Specifications: How UA Models Real Industries
How OPC Foundation collaborations with industry bodies (VDMA, PLCopen, VDW, BACnet) add typed, domain-specific information models so multi-vendor equipment interoperates without per-vendor register maps.
Read articleOPC UA vs Modbus TCP: Which Industrial Protocol to Choose
Data model, security, discovery and scalability compared, plus what gateways between the two really cost and how to secure Modbus TCP when you cannot replace it.
Read articlePROFINET vs S7 Communication: What's the Difference
PROFINET IO and S7 communication are not competing protocols: they coexist on every Siemens controller. PN-IO is the deterministic fieldbus for cyclic I/O; S7 is the acyclic read/write protocol over TCP port 102. Ports, RFC 1006, RT/IRT timing, GSDML, and macOS tooling explained.
Read articleMQTT vs HTTP vs Direct Database Writes for IoT
Why devices that INSERT straight into a database or poll an HTTP API break at fleet scale, and why an MQTT broker feeding one ingest bridge holds up. Includes where HTTP and direct writes are still the right call.
Read articleBLE Advertising Packets Explained: AD Structures, iBeacon and Eddystone
Decode a BLE advertising packet byte by byte: the 31-byte payload, AD structures, scan response, and the iBeacon and Eddystone (UID, URL, TLM) layouts, with how to read raw advertising data on macOS.
Read articleMQTT Keep Alive Explained: Tuning It and Why Clients Disconnect
MQTT keep alive explained: the CONNECT packet field, the 1.5x timeout rule, PINGREQ/PINGRESP, how brokers detect dead clients, and how to choose the right interval for IoT devices.
Read articleEtherNet/IP RPI Explained: Requested Packet Interval and Tuning
EtherNet/IP RPI (Requested Packet Interval) explained: the timing of CIP implicit I/O, how RPI differs from the CIP connection timeout, and how to choose and tune RPI values for Allen-Bradley PLCs.
Read articleModbus 32-Bit Data Types: Register Pairs, Byte Order, Scaling
How Modbus handles 32-bit integers: two registers per value, word order (high word first vs low word first), signed vs unsigned, register pairs, and scaling examples for energy meters and drives.
Read articleVoltrus Gateway vs Kepware: Drivers, API and Licensing Compared
Kepware is a Windows OPC server licensed by driver; Voltrus Gateway is a self-hosted Rust binary with a typed gRPC API over six protocols. Platform, S7 and Allen-Bradley connectivity, licensing, and when to keep Kepware or run both.
Read articleModbus, OPC UA and EtherNet/IP in One Binary for the Edge
How one Rust binary drives six industrial protocols behind a single gRPC API, what a protocol layer should and should not own at the edge, and why a minimal stack beats a pile of services.
Read articleModbus Addressing: PLC Address vs Protocol Address (Off-By-One)
Why Modbus holding register 40001 is protocol address 0. The PLC address vs protocol address off-by-one confusion, the four address ranges, and how to convert between them.
Read articleSecure Remote Access to PLC Networks: WireGuard vs VPN
Outbound-only WireGuard access to PLC subnets with a self-hosted Headscale control plane: threat model, deployment steps, ACL design, comparison with IPsec and OpenVPN, and IEC 62443 and NIS2 alignment.
Read articleBACnet Objects and Properties: The Object Model Explained
BACnet models every data point as an object with typed properties (Present-Value, Units, Status-Flags). This self-description enables discovery (no external register map needed).
Read articleOPC-UA vs MQTT for Industrial IoT: Which Should You Choose
OPC-UA for rich plant-floor integration and SCADA; MQTT for lightweight multi-site telemetry. Data models, security, bandwidth, and when each protocol wins.
Read articleSCADA for Water and Wastewater: A System Integrator Guide
Remote pump stations, radio/cellular telemetry, DNP3 and Modbus, alarm management for unattended sites, and why lightweight self-hosted SCADA fits thin utility budgets.
Read articleSCADA Historian: Data Logging and Trend Analysis That Actually Helps
A historian stores full-resolution, time-stamped process data, the foundation for troubleshooting, predictive maintenance, and compliance. Build vs buy, and retention strategy.
Read articleModbus TCP Security Risks: Why It Is Not Safe and How to Protect It
Modbus TCP has no authentication, encryption, or integrity: anyone on the network can read and write every register. Segment, firewall, and tunnel it; never expose TCP/502.
Read articlePostgres CLI Tools vs pgAdmin: When the Terminal Wins
pgAdmin is a heavy web UI that is painful over SSH. Terminal Postgres browsers like PostgresTUI start instantly, work natively over SSH, and stay out of your way for quick queries.
Read articleBACnet Explorer vs YABE: The Native macOS YABE Alternative
YABE is the free default, and a Windows .NET app that breaks on Apple Silicon and fails BACnet/IP discovery. Here is the honest feature-by-feature comparison and why a native $14.99 YABE alternative wins for Mac commissioning.
Read articleModbus RTU Troubleshooting Guide: CRC Errors, Timeouts, and Wiring
Fix Modbus RTU communication errors. Step-by-step troubleshooting for CRC errors, timeouts, and wiring problems. How to read Modbus RTU frames and diagnose RS485 bus issues.
Read articleBest Modbus Simulator in 2026: Free and Paid Tools Compared
Need to test Modbus devices without hardware? Compare five Modbus simulators: Modbus Poll, Modbus Slave, diagslave, PyModSlave, and ModRSsim2. Covers macOS, Windows, Linux.
Read articleMQTT Sparkplug B Explained: Industrial IoT Protocol Guide (2026)
MQTT Sparkplug B explained for industrial automation. Understand topics, payloads, birth/death certificates, data types, and how Sparkplug B compares to basic MQTT.
Read articleBACnet vs Modbus for Building Automation (2026): Protocol Comparison
BACnet vs Modbus for building automation. Compare data models, discovery, scalability, and HVAC integration. When to use each protocol and how to test on macOS.
Read articlePLC Programming on a Mac: CODESYS Alternatives and Soft PLCs
How to program PLCs on a Mac without Windows: CODESYS alternatives, running a soft PLC, simulating logic without hardware, and what still needs a Windows VM.
Read articlePLC Programming Languages: The 5 IEC 61131-3 Languages Explained
The five IEC 61131-3 PLC languages compared, which to learn first, and when a PLC beats an Arduino-class microcontroller.
Read articleIEC 61131-3 Structured Text: A Practical PLC Programming Guide
Learn IEC 61131-3 Structured Text (ST), the modern way to program PLCs. Syntax, data types, function blocks, timers, counters, and real examples.
Read articleTwinCAT Alternative: PLC Development Without Beckhoff Lock-In (2026)
TwinCAT locks you into Beckhoff hardware and Windows. Compare alternatives: Voltrus PLC (macOS native, IEC 61131-3 ST, multi-vendor I/O), CODESYS, and OpenPLC.
Read articleSCADA Alarm Management: Best Practices for ISA-18.2 Compliance (2026)
SCADA alarm management guide. Reduce alarm floods, implement ISA-18.2 best practices, configure deadbands, and improve operator response. Metrics, rationalization, and shelving.
Read articleWhat Is Modbus? The Protocol That Runs Industrial Automation
Modbus explained for engineers: how it works, why it's still dominant after 50 years, and the difference between Modbus RTU, TCP, and ASCII.
Read articleModbus Register Types: Coils, Inputs and Holding Registers
The four Modbus data types and their function codes. How to read coils (FC01), write registers (FC06/FC16), and avoid common addressing mistakes.
Read articleRS-232 vs RS-485 vs RS-422: Serial Communication Protocols Compared
UART, RS-232, RS-485, and RS-422 explained. Distance limits, device count, noise immunity, and which serial standard your industrial equipment uses.
Read articleModbus RTU vs TCP, and the RTU to TCP Gateway
How Modbus RTU and TCP differ in speed, wiring and distance, and how an RTU to TCP gateway routes requests by unit ID, where its latency really comes from, and hardware vs software gateways.
Read articleS7 Communication Protocol Guide: Memory Areas, Addressing, and Data Types
How the Siemens S7 protocol accesses PLC memory. Data blocks, inputs, outputs, markers, timers, counters. Rack/slot addressing and data type mapping.
Read articleMQTT QoS Levels Explained: When to Use QoS 0, 1, or 2
MQTT QoS 0, 1, and 2 explained with practical examples. At-most-once, at-least-once, exactly-once delivery for IoT and industrial systems.
Read articleIndustrial Protocol Comparison: Modbus, OPC UA, MQTT, S7, DNP3, EtherNet/IP, PROFINET
How to choose between Modbus, OPC UA, MQTT, Siemens S7, DNP3, EtherNet/IP and PROFINET, with the S7 vs Modbus TCP, DNP3 vs Modbus and EtherNet/IP vs PROFINET decisions worked through.
Read articleSCADA vs HMI: What's the Difference and Do You Need Both?
The practical difference between SCADA and HMI for system integrators. When you need one, the other, or both, and why the distinction matters for your next project.
Read articleSCADA Architecture Explained: RTU, PLC, HMI, and How They Connect
SCADA architecture from field devices to the control room. RTUs, PLCs, HMIs, and how data flows from a sensor reading to a dashboard alert.
Read articleVoltrus vs Wonderware (AVEVA): Cost and Complexity Compared
Voltrus vs AVEVA Wonderware comparison for system integrators. Pricing, deployment complexity, protocol support, and when each makes sense.
Read articleConnecting Siemens PLCs Without TIA Portal: A Practical Guide
You don't need TIA Portal to monitor Siemens S7 PLCs. How to connect S7-1200 and S7-1500 directly from your SCADA using the S7 protocol.
Read articleLadder Logic vs Structured Text for SCADA Projects
Which PLC language to learn (ladder logic or Structured Text), and why SCADA configuration does not require either. Side-by-side comparison, examples, and a practical learning path.
Read articleIndustrial Dashboard Design: 12 Principles for SCADA Screens
Twelve design rules for SCADA and factory dashboards operators actually use, plus mobile design, secure remote access and locked-down kiosk-mode operator consoles.
Read articleSelf-Hosted Pastebin on Cloudflare Workers vs PrivateBin, Gist and Pastebin.com
Deploy a self-hosted pastebin on Cloudflare Workers, D1 and R2, and see how it compares to Pastebin.com, PrivateBin and GitHub Gist on data location, files, setup and cost.
Read articleHow to Share Files Between Remote Servers Without Cloud Storage
Remote server file sharing without cloud storage. Transfer logs, configs, and screenshots between isolated networks using a self-hosted pastebin. No Dropbox, no Google Drive.
Read articleBest Modbus Simulator for macOS (2026): PM5560, SMA Inverter, and More
Modbus simulator with real device templates. Simulate Schneider PM5560 power meter, SMA solar inverter, ABB analyzer on macOS. No Parallels, no Windows.
Read articleSchneider PM5560 Modbus Register Map and Simulator
Complete PM5560 Modbus register map with addresses for voltage, current, power, power factor, frequency, and energy. Includes a PM5560 simulator for macOS.
Read articleSerial Terminal for macOS: screen, minicom and CoolTerm Alternatives
Best serial terminal apps for macOS in 2026. Compare screen, minicom, CoolTerm, Serial by Decisive Tactics, and MacTools. Hex view, protocol analysis, USB-RS485.
Read articleMQTT Broker on macOS: Run One Without Homebrew or Terminal
How to run an MQTT broker on macOS without Homebrew, Terminal, or mosquitto. Native MQTT broker and client with GUI for macOS.
Read articleConnect to Siemens S7-1200/1500 from macOS without TIA Portal
Read and write S7-1200/1500 data blocks from a Mac without TIA Portal or a VM. Covers enabling PUT/GET in TIA Portal, the security trade-off, and connecting over port 102.
Read articleBLE Debugging on macOS: nRF Connect vs BLE Inspector and Other Tools
Compare nRF Connect, LightBlue, Bluetooth Explorer, CLI tools and BLE Inspector for debugging BLE peripherals on a Mac, and what a complete workflow needs.
Read articleOT Security Checklist: 15 Steps to Harden Your SCADA System
Actionable security checklist based on real OT breach analysis and IEC 62443 best practices. Default credentials, network segmentation, monitoring, and more.
Read articleFDA 21 CFR Part 11 Compliance for SCADA: What Integrators Need to Know
Pharma, food, and beverage integrators need audit trails, electronic signatures, and access controls. What CFR Part 11 actually requires from SCADA, and how to deliver it without $10K+ consulting.
Read articleSCADA Software Cost in 2026: From Free to $50K
What SCADA actually costs in 2026, from AVEVA and Ignition to free tools, the hidden time cost of open source, lifetime vs subscription math, and what a sub-$1,000 budget covers.
Read articleIgnition vs Node-RED vs Voltrus: SCADA Alternatives Compared
How Ignition, Node-RED, Voltrus, OpenSCADA and ScadaBR compare for system integrators on pricing, resource use, protocols and fit by project size.
Read articleOn-Premise vs Cloud SCADA: Air-Gapped, Edge and Raspberry Pi
Why connectivity, data sovereignty, latency, security and cost often favor local SCADA, and how to run it on a mini PC or Raspberry Pi.
Read article