diff --git a/src/EPMS/ATS/ATS_Eaton_ATC900_RPD_TCP/State_Running.cpp b/src/EPMS/ATS/ATS_Eaton_ATC900_RPD_TCP/State_Running.cpp index accba63..8075096 100644 --- a/src/EPMS/ATS/ATS_Eaton_ATC900_RPD_TCP/State_Running.cpp +++ b/src/EPMS/ATS/ATS_Eaton_ATC900_RPD_TCP/State_Running.cpp @@ -100,7 +100,16 @@ State* RunningState::update(Equipment* equipment) float pf = getPointValue(equipment, "Power Factor"); float a_pwr = pwr * (pf/100.0f); setPointValue(equipment, "Total Apparent Power", a_pwr*1000.0f); - + + float preferred = getPointValue(equipment, "ATS_Preferred"); + if (preferred == 1.0f){ + setPointValue(equipment, "Source 1 Preferred", 1.0f); + setPointValue(equipment, "Source 2 Preferred", 0.0f); + } + if (preferred == 2.0f){ + setPointValue(equipment, "Source 1 Preferred", 0.0f); + setPointValue(equipment, "Source 2 Preferred", 1.0f); + } _applyStrategies(equipment); return nullptr; diff --git a/src/EPMS/ATS/ATS_Eaton_ATC900_RPD_TCP/State_Standby.cpp b/src/EPMS/ATS/ATS_Eaton_ATC900_RPD_TCP/State_Standby.cpp index 39347b3..100cf86 100644 --- a/src/EPMS/ATS/ATS_Eaton_ATC900_RPD_TCP/State_Standby.cpp +++ b/src/EPMS/ATS/ATS_Eaton_ATC900_RPD_TCP/State_Standby.cpp @@ -97,7 +97,18 @@ State* StandbyState::update(Equipment* equipment) float a_pwr = pwr * (pf/100.0f); setPointValue(equipment, "Total Apparent Power", a_pwr*1000.0f); - + /*setPointValue(equipment, "S2 kW", kw); + setPointValue(equipment, "S2 MWh", mwh);*/ + + float preferred = getPointValue(equipment, "ATS_Preferred"); + if (preferred == 1.0f){ + setPointValue(equipment, "Source 1 Preferred", 1.0f); + setPointValue(equipment, "Source 2 Preferred", 0.0f); + } + if (preferred == 2.0f){ + setPointValue(equipment, "Source 1 Preferred", 0.0f); + setPointValue(equipment, "Source 2 Preferred", 1.0f); + } _applyStrategies(equipment); return nullptr; } diff --git a/src/EPMS/ATS/ATS_Eaton_ATC900_RPD_TCP/config.h b/src/EPMS/ATS/ATS_Eaton_ATC900_RPD_TCP/config.h index b781b9e..6df64d2 100644 --- a/src/EPMS/ATS/ATS_Eaton_ATC900_RPD_TCP/config.h +++ b/src/EPMS/ATS/ATS_Eaton_ATC900_RPD_TCP/config.h @@ -60,6 +60,7 @@ */ modbusMap mb_map[] = { + {HR, 8, 0, "ATS_Preferred"}, //Internal to control from Modscan {HR, 9, 0, "ATS_Source"}, //Internal to control from Modscan {HR, 10, 0, "ATS_Load"}, //Internal Fault code from Modscan {HR, 11, 0, "ATS_Rating"}, //Internal Fault code from Modscan diff --git a/src/EPMS/ATS/ATS_Woodward_DTSC200A_TCP/State_Running.cpp b/src/EPMS/ATS/ATS_Woodward_DTSC200A_TCP/State_Running.cpp index 9dafbf6..cd10304 100644 --- a/src/EPMS/ATS/ATS_Woodward_DTSC200A_TCP/State_Running.cpp +++ b/src/EPMS/ATS/ATS_Woodward_DTSC200A_TCP/State_Running.cpp @@ -105,6 +105,16 @@ State* RunningState::update(Equipment* equipment) setPointValue(equipment, "S2 kW", kw); setPointValue(equipment, "S2 MWh", mwh); + float preferred = getPointValue(equipment, "ATS_Preferred"); + if (preferred == 1.0f){ + setBitValue(equipment, "Source Preferred", 9, true); + setBitValue(equipment, "Source Preferred", 8, false); + } + if (preferred == 2.0f){ + setBitValue(equipment, "Source Preferred", 9, false); + setBitValue(equipment, "Source Preferred", 8, true); + } + // Apply any strategies defined for the standby state _applyStrategies(equipment); return nullptr; diff --git a/src/EPMS/ATS/ATS_Woodward_DTSC200A_TCP/State_Standby.cpp b/src/EPMS/ATS/ATS_Woodward_DTSC200A_TCP/State_Standby.cpp index 10fd829..cb1a547 100644 --- a/src/EPMS/ATS/ATS_Woodward_DTSC200A_TCP/State_Standby.cpp +++ b/src/EPMS/ATS/ATS_Woodward_DTSC200A_TCP/State_Standby.cpp @@ -96,6 +96,16 @@ State* StandbyState::update(Equipment* equipment) float kw = (1.732f * ((real_v_AB + real_v_BC + real_v_CA)/3.0f) * sim_load * pf)*10; float mwh = kw *600.0f; + float preferred = getPointValue(equipment, "ATS_Preferred"); + if (preferred == 1.0f){ + setBitValue(equipment, "Source Preferred", 9, true); + setBitValue(equipment, "Source Preferred", 8, false); + } + if (preferred == 2.0f){ + setBitValue(equipment, "Source Preferred", 9, false); + setBitValue(equipment, "Source Preferred", 8, true); + } + setPointValue(equipment, "S1 kW", kw); setPointValue(equipment, "S1 MWh", mwh); _applyStrategies(equipment); diff --git a/src/EPMS/ATS/ATS_Woodward_DTSC200A_TCP/config.h b/src/EPMS/ATS/ATS_Woodward_DTSC200A_TCP/config.h index 7b5d59e..3f7bcf0 100644 --- a/src/EPMS/ATS/ATS_Woodward_DTSC200A_TCP/config.h +++ b/src/EPMS/ATS/ATS_Woodward_DTSC200A_TCP/config.h @@ -60,6 +60,7 @@ */ modbusMap mb_map[] = { + {HR, 8, 0, "ATS_Preferred"}, //Internal to control from Modscan {HR, 9, 0, "ATS_Source"}, //Internal to control from Modscan {HR, 10, 0, "ATS_Load"}, {HR, 11, 0, "ATS_Rating"}, //Internal Fault code from Modscan