From 0ef66acd3328b75cabe3d7b922c64b7de8cb3041 Mon Sep 17 00:00:00 2001 From: Armin Co <armin.co@hs-bochum.de> Date: Wed, 7 Oct 2020 07:45:13 +0200 Subject: [PATCH] Subscribe to all data changes --- src/apps/smart_grid/SmartOpcServer.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/apps/smart_grid/SmartOpcServer.cpp b/src/apps/smart_grid/SmartOpcServer.cpp index 0933e39..b5d5f23 100644 --- a/src/apps/smart_grid/SmartOpcServer.cpp +++ b/src/apps/smart_grid/SmartOpcServer.cpp @@ -90,10 +90,20 @@ void SmartOpcServer::run_server() auto sub_production_enabled = m_server.CreateSubscription(100, subcl_production_enabled); sub_production_enabled->SubscribeDataChange(m_producing); + SubClientSimModeEnabled subcl_sim_mode_enabled{m_state_machine}; + auto sub_sim_mode_enabled = m_server.CreateSubscription(100, subcl_sim_mode_enabled); + sub_sim_mode_enabled->SubscribeDataChange(m_sim_mode_enabled); while(true) { m_state_machine.run(); + + // update opc objects + m_time.SetValue(Variant(m_state_machine.m_model.get_time())); + m_excess_power.SetValue(Variant(m_state_machine.m_model.get_excess_power())); + m_producing.SetValue(Variant(m_state_machine.m_model.get_producing_state())); + m_sim_mode_enabled.SetValue(Variant(m_state_machine.is_sim_mode_enabled())); + std::this_thread::sleep_for(std::chrono::seconds(1)); } } \ No newline at end of file -- GitLab