From 224d633832d748cf40565d90b8c2da6cb0cd225a Mon Sep 17 00:00:00 2001
From: "Zarb, Glenn" <STC\GZ1>
Date: Wed, 5 Aug 2015 12:07:28 +0000
Subject: [PATCH] Fixing internal engine power in M6

git-tfs-id: [http://tfs00.element.root.com:8080/tfs/TFSCollection]$/VECTO;C2057
---
 AdvancedAuxiliaryInterfaces/ISignals.vb        |  8 ++++++++
 AdvancedAuxiliaryInterfaces/Signals.vb         |  2 ++
 VECTO/MODcalc/cPower.vb                        | 18 ++++++++++++------
 VECTO/mAAUX_Global.vb                          |  2 +-
 .../VectoAuxiliaries/DownstreamModules/M6.vb   |  4 ++--
 5 files changed, 25 insertions(+), 9 deletions(-)

diff --git a/AdvancedAuxiliaryInterfaces/ISignals.vb b/AdvancedAuxiliaryInterfaces/ISignals.vb
index 258df85404..1d14ac7bca 100644
--- a/AdvancedAuxiliaryInterfaces/ISignals.vb
+++ b/AdvancedAuxiliaryInterfaces/ISignals.vb
@@ -151,4 +151,12 @@ Public Interface ISignals
     ''' <returns></returns>
     ''' <remarks></remarks>
     Property RunningCalc As Boolean
+    ''' <summary>
+    ''' Running Calc
+    ''' </summary>
+    ''' <value></value>
+    ''' <returns></returns>
+    ''' <remarks></remarks>
+    Property Internal_Engine_Power As Single
+
 End Interface
diff --git a/AdvancedAuxiliaryInterfaces/Signals.vb b/AdvancedAuxiliaryInterfaces/Signals.vb
index 4045539b2a..2633c4e22e 100644
--- a/AdvancedAuxiliaryInterfaces/Signals.vb
+++ b/AdvancedAuxiliaryInterfaces/Signals.vb
@@ -52,7 +52,9 @@ Implements ISignals
     Public Property PneumaticOverrunUtilisation As Single Implements ISignals.PneumaticOverrunUtilisation
     Public Property StoredEnergyEfficiency As Single Implements ISignals.StoredEnergyEfficiency
     Public Property RunningCalc As Boolean Implements ISignals.RunningCalc
+    Public Property Internal_Engine_Power As Single Implements ISignals.Internal_Engine_Power
 End Class
 
 
 
+
diff --git a/VECTO/MODcalc/cPower.vb b/VECTO/MODcalc/cPower.vb
index bf7ce4ad54..1f77c3a07c 100644
--- a/VECTO/MODcalc/cPower.vb
+++ b/VECTO/MODcalc/cPower.vb
@@ -1047,7 +1047,7 @@ lb_nOK:
             'Motoring power (< 0 !!!)
             '[kW]
             '** NOTE THIS IS MULTIPLIED BY - to get a positive value.
-            mAAUX_Global.EngineMotoringPower =  - FLD(Gear).Pdrag(EngineSpeed)
+            mAAUX_Global.EngineMotoringPower = -FLD(Gear).Pdrag(EngineSpeed)
 
             'Additional aux power from driving cycle (optional user input)
             '[kW]
@@ -1189,7 +1189,12 @@ lb_nOK:
 
                 If P < Pmin Then P = Pmin
 
+                mAAUX_Global.Internal_Engine_Power = P
+
             Else
+
+                mAAUX_Global.Internal_Engine_Power = P
+
                 If EngState0 = tEngState.Load Then
                     Pbrake = 0
                     If GBX.TCon And GBX.IsTCgear(Gear) Then Pbrake = GBX.TC_PeBrake
@@ -2572,6 +2577,7 @@ lb10:
              mAAUX_Global.advancedAuxModel.Signals.Idle = mAAUX_Global.Idle
              mAAUX_Global.advancedAuxModel.Signals.InNeutral = mAAUX_Global.InNeutral
                 mAAUX_Global.advancedAuxModel.Signals.RunningCalc = mAAUX_Global.RunningCalc
+                mAAUX_Global.advancedAuxModel.Signals.Internal_Engine_Power = mAAUX_Global.Internal_Engine_Power
 
                 'Power coming out of Advanced Model is in Watts.
                 power = (advancedAuxModel.AuxiliaryPowerAtCrankWatts / 1000)
@@ -2579,13 +2585,13 @@ lb10:
                 'Glenn: Comment the previous line and uncomment the next line to include the classic auxilaries power togeher with the advanced auxiliary power.
                 'power = VEC.PauxSum(t, nU) + (advancedAuxModel.AuxiliaryPowerAtCrankWatts / 1000)
 
-        Catch ex As Exception
+            Catch ex As Exception
 
-               'EXIT THIS IS A FAILURE
-                WorkerMsg(tMsgID.Err,"Error in Advanced Power Calc :" & ex.Message,"paux")
-                Return false
+                'EXIT THIS IS A FAILURE
+                WorkerMsg(tMsgID.Err, "Error in Advanced Power Calc :" & ex.Message, "paux")
+                Return False
 
-        end try
+            End Try
 
           Return power
     
diff --git a/VECTO/mAAUX_Global.vb b/VECTO/mAAUX_Global.vb
index c54f4693f5..b390f82f7a 100644
--- a/VECTO/mAAUX_Global.vb
+++ b/VECTO/mAAUX_Global.vb
@@ -16,7 +16,7 @@ Module mAAUX_Global
     Public WithEvents advancedAuxModel As IAdvancedAuxiliaries
 
     Public RunningCalc As Boolean = False
-
+    Public Internal_Engine_Power As Single
     'This must be set in the main loop and will be used to determin
     'the name of the file which would be offered to the model which is used
     'by it internally. In Bus Auxiliaries, it is used for Actuations of the
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/M6.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/M6.vb
index 80b19a614b..28fcb4eea7 100644
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/M6.vb
+++ b/VECTOAux/VectoAuxiliaries/DownstreamModules/M6.vb
@@ -147,7 +147,7 @@ Namespace DownstreamModules
         Public ReadOnly Property Sum2 As Single
             Get
 
-                Dim returnValue As Single = (_signals.PreExistingAuxPower * 1000) + _m1.AveragePowerDemandAtCrankFromHVACMechanicalsWatts + SW1 + _m3.GetAveragePowerDemandAtCrankFromPneumatics
+                Dim returnValue As Single = _m1.AveragePowerDemandAtCrankFromHVACMechanicalsWatts + SW1 + _m3.GetAveragePowerDemandAtCrankFromPneumatics
 
                 Return returnValue
 
@@ -157,7 +157,7 @@ Namespace DownstreamModules
             Get
 
                 Return (_signals.EngineMotoringPower * 1000) + _
-                       (_signals.EngineDrivelinePower * 1000) + _
+                       (_signals.Internal_Engine_Power * 1000) + _
                        Sum2
 
             End Get
-- 
GitLab