У нас немного похожая задача, нужно передавать данные в mes систему с удаленного объекта. Для корректного построения отчетов нужны данные за сутки, а связь посредством opc da over ethernet периодически падает. Была идея написать некий кэш оперативных данных, но это по сути костыль, заменяющий opc hda, с которым mes работать не умеет. В итоге на операторской станции в mssql добавили пользователя с правами чтения оперативных данных
проблема в том, что у нас автоматизированные насосные станции, без присутствия персонала, около 20 штук и ставить на каждую станцию ПК с mssql для того, чтобы передавать и архивировать 10-20 параметров не имеет смысла, а вот устройство, которое собирало бы данные по Modbus, при наличии связи передавало бы данные в риалтайм на верхний уровень, а при отсутствии связи архивировало бы на себя, а затем при восстановлении связи передавало бы данные на верхний уровень по OPC HDA очень даже имеет смысл