finds.dev

ben-farnham/ExcelBackedOpcServer

Implementation of an OPC Server using an Excel spreadsheet as the data source

View on GitHub

★ 3Cupdated Jul 2010

// the take

A Windows OPC DA server that reads its tag/address space straight out of an Excel spreadsheet instead of a PLC or SCADA config file, built on the OPC Foundation's C++ SDK with Excel OLE automation for the data binding. It's for industrial/automation engineers who want to fake or simulate an OPC data source for testing HMI or SCADA clients without standing up real hardware.

Using Excel as the backing store is a genuinely practical idea for test harnesses - non-technical engineers can edit tag values in a spreadsheet and see them reflected live in an OPC client, no PLC required. It's built against the real OPC Foundation DA SDK rather than reinventing the protocol, so it should interoperate with actual OPC clients. The address space construction is factored into its own class (AddressSpaceBuilder) separate from the Excel binding (ExcelIntegration) and the server shell (OpcServer), which is reasonable separation for a C++ project this size.

Last pushed in 2010, built as a Visual Studio .vcproj against an OPC SDK and COM/OLE Excel automation stack that's long since moved on (modern Office has no guarantee old Excel OLE automation still behaves the same way, and OPC DA itself has largely given way to OPC UA). Depends on having Excel actually installed on the server machine to drive it via COM, which means licensing cost and fragility just to serve data - any Excel dialog, recalculation lag, or file lock will stall or crash the whole server. Three stars, one fork, no CI, no tests, no issue history to tell you if it even still builds on current Windows/VS toolchains - you're on your own for porting it forward.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
3
Forks
1
Language
C
Last commit
6 Jul 2010

// nearby

If ExcelBackedOpcServer isn't quite it.

All repos →