diff --git a/src/apps/smart_grid/SmartOpcServer.cpp b/src/apps/smart_grid/SmartOpcServer.cpp index 0933e392239a983630a9f103e3c0d5bd984431b9..b5d5f237eaac417ad8e123d404847a87ccd63148 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