How vinaykalariya/opc-ua- works
This repository is a collection of industrial-automation data acquisition and bridging programs, rather than a single clearly documented application. Its most evident runtime path collects PLC/SCADA values and exposes them through shared memory to an OPC UA server. It also contains separate Modbus and SCADA readers, a Qt desktop application, and smaller logging and alarm-XML utilities. No README is present, and sampled excerpts do not establish how the GUI launches or configures the collectors, so those connections are omitted.
Main entry points: scada.cpp SCADA Reader · opc_da/opc_fast_reader.cpp OPC DA Reader · modbus.cpp Modbus Collector · ofs_opc/opc_fast_reader.cpp OFS Reader
Components 15
Data Collection
- SCADA Reader
scada/scada.cpp - OPC DA Reader
opc_da/opc_fast_reader.cpp - Modbus Collector
modbus/modbus.cpp - OFS Reader
ofs_opc/opc_fast_reader.cpp - AVEVA Plant SCADA
- OPC DA Server
- Modbus Devices
- Schneider OFS
OPC UA Bridge
- Shared Memory
- OPC UA Server
opc_ua/opc_ua_server.py - OPC UA Clients
Desktop Tools
- Multilink GUI
MultilinkServer/mainwindow.cpp
Data Utilities
- Average Logger
excel_avg/avg_logger.py - Alarm XML Editor
xml_alarm_category/xml_edit.cpp
Other components
- Operator
Connections 11
- Operator → Multilink GUI: uses
- OPC DA Server → OPC DA Reader: provides values
- OPC DA Reader → Shared Memory: writes values
- Modbus Devices → Modbus Collector: provides values
- Modbus Collector → Shared Memory: writes values
- Schneider OFS → OFS Reader: provides values
- OFS Reader → Shared Memory: writes values
- SCADA Reader → AVEVA Plant SCADA: reads tags
- SCADA Reader → Shared Memory: uses control memory
- Shared Memory → OPC UA Server: supplies tag values
- OPC UA Server → OPC UA Clients: serves data