1 Reply Latest reply on Jun 16, 2016 2:45 PM by gregor

    "Calc failed" when data are calculated with Matlab - PI ACE

    Julio_Chinchilla

      Hi everyone!

       

      I have this trouble:

      I made a code in MatLab and I would like to invoke it toward PI-ACE.

      I debug and test code in PI-ACE and it works perfect. So, I registered PI-ACE code and it runs hourly.

      When I called data from any visualization platform, output tags appeared as "Calc Failed". There is not input tags.

       

      I added Matlab COM Reference and I selected Framework as 3.0.

       

      Matlab version is Ra2010a.

      Visual Studio version is 2013.

       

      I ask for your help to find a solution, please

       

      Thanks in advance!

       

      This is the code:

      Imports OSIsoft.PI.ACE

       

      Public Class Random_Load_Curve_Colombia

          Inherits PIACENetClassModule

          Private PI10_Cargabilidad_JCCG_LO_9_Q As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_9_P As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_8_Q As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_8_P As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_28_Q As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_28_P As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_27_Q As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_27_P As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_26_Q As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_26_P As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_24_Q As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_24_P As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_22_Q As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_22_P As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_20_Q As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_20_P As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_18_Q As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_18_P As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_17_Q As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_17_P As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_16_Q As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_16_P As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_15_Q As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_15_P As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_14_Q As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_14_P As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_13_Q As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_13_P As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_12_Q As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_12_P As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_11_Q As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_11_P As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_10_Q As PIACEPoint

          Private PI10_Cargabilidad_JCCG_LO_10_P As PIACEPoint

          Private mobjMatlab As MLApp.MLApp

          '

          '      Tag Name/VB Variable Name Correspondence Table

          ' Tag Name                                VB Variable Name

          ' ------------------------------------------------------------

        ' 10_Cargabilidad_JCCG-LO_10_P            PI10_Cargabilidad_JCCG_LO_10_P

        ' 10_Cargabilidad_JCCG-LO_10_Q            PI10_Cargabilidad_JCCG_LO_10_Q

        ' 10_Cargabilidad_JCCG-LO_11_P            PI10_Cargabilidad_JCCG_LO_11_P

        ' 10_Cargabilidad_JCCG-LO_11_Q            PI10_Cargabilidad_JCCG_LO_11_Q

        ' 10_Cargabilidad_JCCG-LO_12_P            PI10_Cargabilidad_JCCG_LO_12_P

        ' 10_Cargabilidad_JCCG-LO_12_Q            PI10_Cargabilidad_JCCG_LO_12_Q

        ' 10_Cargabilidad_JCCG-LO_13_P            PI10_Cargabilidad_JCCG_LO_13_P

        ' 10_Cargabilidad_JCCG-LO_13_Q            PI10_Cargabilidad_JCCG_LO_13_Q

        ' 10_Cargabilidad_JCCG-LO_14_P            PI10_Cargabilidad_JCCG_LO_14_P

        ' 10_Cargabilidad_JCCG-LO_14_Q            PI10_Cargabilidad_JCCG_LO_14_Q

        ' 10_Cargabilidad_JCCG-LO_15_P            PI10_Cargabilidad_JCCG_LO_15_P

        ' 10_Cargabilidad_JCCG-LO_15_Q            PI10_Cargabilidad_JCCG_LO_15_Q

        ' 10_Cargabilidad_JCCG-LO_16_P            PI10_Cargabilidad_JCCG_LO_16_P

        ' 10_Cargabilidad_JCCG-LO_16_Q            PI10_Cargabilidad_JCCG_LO_16_Q

        ' 10_Cargabilidad_JCCG-LO_17_P            PI10_Cargabilidad_JCCG_LO_17_P

        ' 10_Cargabilidad_JCCG-LO_17_Q            PI10_Cargabilidad_JCCG_LO_17_Q

        ' 10_Cargabilidad_JCCG-LO_18_P            PI10_Cargabilidad_JCCG_LO_18_P

        ' 10_Cargabilidad_JCCG-LO_18_Q            PI10_Cargabilidad_JCCG_LO_18_Q

        ' 10_Cargabilidad_JCCG-LO_20_P            PI10_Cargabilidad_JCCG_LO_20_P

        ' 10_Cargabilidad_JCCG-LO_20_Q            PI10_Cargabilidad_JCCG_LO_20_Q

        ' 10_Cargabilidad_JCCG-LO_22_P            PI10_Cargabilidad_JCCG_LO_22_P

        ' 10_Cargabilidad_JCCG-LO_22_Q            PI10_Cargabilidad_JCCG_LO_22_Q

        ' 10_Cargabilidad_JCCG-LO_24_P            PI10_Cargabilidad_JCCG_LO_24_P

        ' 10_Cargabilidad_JCCG-LO_24_Q            PI10_Cargabilidad_JCCG_LO_24_Q

        ' 10_Cargabilidad_JCCG-LO_26_P            PI10_Cargabilidad_JCCG_LO_26_P

        ' 10_Cargabilidad_JCCG-LO_26_Q            PI10_Cargabilidad_JCCG_LO_26_Q

        ' 10_Cargabilidad_JCCG-LO_27_P            PI10_Cargabilidad_JCCG_LO_27_P

        ' 10_Cargabilidad_JCCG-LO_27_Q            PI10_Cargabilidad_JCCG_LO_27_Q

        ' 10_Cargabilidad_JCCG-LO_28_P            PI10_Cargabilidad_JCCG_LO_28_P

        ' 10_Cargabilidad_JCCG-LO_28_Q            PI10_Cargabilidad_JCCG_LO_28_Q

        ' 10_Cargabilidad_JCCG-LO_8_P             PI10_Cargabilidad_JCCG_LO_8_P

        ' 10_Cargabilidad_JCCG-LO_8_Q             PI10_Cargabilidad_JCCG_LO_8_Q

        ' 10_Cargabilidad_JCCG-LO_9_P             PI10_Cargabilidad_JCCG_LO_9_P

        ' 10_Cargabilidad_JCCG-LO_9_Q             PI10_Cargabilidad_JCCG_LO_9_Q

          '

          Public Overrides Sub ACECalculations()

              Dim Pin(16, 0) As Double

              Dim Qin(16, 0) As Double

              Dim dblImag(16, 0) As Double

              Dim pufactorhabiles(23, 0) As Double

              Dim pufactorsabado(23, 0) As Double

              Dim pufactordomingo(23, 0) As Double

              Dim dblImagpu(23, 0) As Double

              Dim Pout(16, 0) As Double

              Dim Qout(16, 0) As Double

            

       

              Pin = {{100}, {50}, {60}, {10}, {11}, {38}, {16}, {10}, {83}, {20}, {127}, {50}, {80}, {50}, {75}, {8}, {46}}

              Qin = {{50}, {40}, {30}, {5}, {5}, {20}, {10}, {5}, {80}, {20}, {33}, {50}, {30}, {40}, {30}, {2}, {15}}

              pufactorhabiles = {{0.584}, {0.572}, {0.56}, {0.56}, {0.578}, {0.619}, {0.679}, {0.709}, {0.738}, {0.774}, {0.804}, {0.822}, {0.828}, {0.798}, {0.786}, {0.798}, {0.798}, {0.81}, {0.881}, {0.977}, {1.0}, {0.953}, {0.834}, {0.715}}

              pufactorsabado = {{0.633}, {0.62}, {0.608}, {0.595}, {0.608}, {0.62}, {0.646}, {0.671}, {0.747}, {0.772}, {0.797}, {0.823}, {0.835}, {0.797}, {0.772}, {0.754}, {0.734}, {0.747}, {0.848}, {0.975}, {1.0}, {0.949}, {0.861}, {0.759}}

              pufactordomingo = {{0.671}, {0.658}, {0.63}, {0.616}, {0.603}, {0.603}, {0.61}, {0.623}, {0.671}, {0.699}, {0.726}, {0.74}, {0.747}, {0.74}, {0.712}, {0.699}, {0.685}, {0.699}, {0.822}, {0.973}, {1.0}, {0.973}, {0.877}, {0.767}}

       

       

              mobjMatlab.PutFullMatrix("Pin", "base", Pin, dblImag)

              mobjMatlab.PutFullMatrix("Qin", "base", Qin, dblImag)

              mobjMatlab.PutFullMatrix("pufactorhabiles", "base", pufactorhabiles, dblImagpu)

              mobjMatlab.PutFullMatrix("pufactorsabado", "base", pufactorsabado, dblImagpu)

              mobjMatlab.PutFullMatrix("pufactordomingo", "base", pufactordomingo, dblImagpu)

       

       

              mobjMatlab.Execute("[Pout Qout] = Rand_pu_curve(Pin,Qin,pufactorhabiles,pufactorsabado,pufactordomingo);")

       

       

              mobjMatlab.GetFullMatrix("Pout", "base", Pout, dblImag)

              mobjMatlab.GetFullMatrix("Qout", "base", Qout, dblImag)

       

       

              PI10_Cargabilidad_JCCG_LO_8_P.Value = Pout(0, 0)

              PI10_Cargabilidad_JCCG_LO_9_P.Value = Pout(1, 0)

              PI10_Cargabilidad_JCCG_LO_10_P.Value = Pout(2, 0)

              PI10_Cargabilidad_JCCG_LO_11_P.Value = Pout(3, 0)

              PI10_Cargabilidad_JCCG_LO_15_P.Value = Pout(4, 0)

              PI10_Cargabilidad_JCCG_LO_14_P.Value = Pout(5, 0)

              PI10_Cargabilidad_JCCG_LO_13_P.Value = Pout(6, 0)

              PI10_Cargabilidad_JCCG_LO_16_P.Value = Pout(7, 0)

              PI10_Cargabilidad_JCCG_LO_17_P.Value = Pout(8, 0)

              PI10_Cargabilidad_JCCG_LO_20_P.Value = Pout(9, 0)

              PI10_Cargabilidad_JCCG_LO_22_P.Value = Pout(10, 0)

              PI10_Cargabilidad_JCCG_LO_24_P.Value = Pout(11, 0)

              PI10_Cargabilidad_JCCG_LO_26_P.Value = Pout(12, 0)

              PI10_Cargabilidad_JCCG_LO_28_P.Value = Pout(13, 0)

              PI10_Cargabilidad_JCCG_LO_18_P.Value = Pout(14, 0)

              PI10_Cargabilidad_JCCG_LO_12_P.Value = Pout(15, 0)

              PI10_Cargabilidad_JCCG_LO_27_P.Value = Pout(16, 0)

       

       

       

       

              PI10_Cargabilidad_JCCG_LO_8_Q.Value = Qout(0, 0)

              PI10_Cargabilidad_JCCG_LO_9_Q.Value = Qout(1, 0)

              PI10_Cargabilidad_JCCG_LO_10_Q.Value = Qout(2, 0)

              PI10_Cargabilidad_JCCG_LO_11_Q.Value = Qout(3, 0)

              PI10_Cargabilidad_JCCG_LO_15_Q.Value = Qout(4, 0)

              PI10_Cargabilidad_JCCG_LO_14_Q.Value = Qout(5, 0)

              PI10_Cargabilidad_JCCG_LO_13_Q.Value = Qout(6, 0)

              PI10_Cargabilidad_JCCG_LO_16_Q.Value = Qout(7, 0)

              PI10_Cargabilidad_JCCG_LO_17_Q.Value = Qout(8, 0)

              PI10_Cargabilidad_JCCG_LO_20_Q.Value = Qout(9, 0)

              PI10_Cargabilidad_JCCG_LO_22_Q.Value = Qout(10, 0)

              PI10_Cargabilidad_JCCG_LO_24_Q.Value = Qout(11, 0)

              PI10_Cargabilidad_JCCG_LO_26_Q.Value = Qout(12, 0)

              PI10_Cargabilidad_JCCG_LO_28_Q.Value = Qout(13, 0)

              PI10_Cargabilidad_JCCG_LO_18_Q.Value = Qout(14, 0)

              PI10_Cargabilidad_JCCG_LO_12_Q.Value = Qout(15, 0)

              PI10_Cargabilidad_JCCG_LO_27_Q.Value = Qout(16, 0)

       

          End Sub

       

       

          Protected Overrides Sub InitializePIACEPoints()

        PI10_Cargabilidad_JCCG_LO_10_P = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_10_P")

        PI10_Cargabilidad_JCCG_LO_10_Q = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_10_Q")

        PI10_Cargabilidad_JCCG_LO_11_P = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_11_P")

        PI10_Cargabilidad_JCCG_LO_11_Q = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_11_Q")

        PI10_Cargabilidad_JCCG_LO_12_P = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_12_P")

        PI10_Cargabilidad_JCCG_LO_12_Q = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_12_Q")

        PI10_Cargabilidad_JCCG_LO_13_P = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_13_P")

        PI10_Cargabilidad_JCCG_LO_13_Q = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_13_Q")

        PI10_Cargabilidad_JCCG_LO_14_P = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_14_P")

        PI10_Cargabilidad_JCCG_LO_14_Q = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_14_Q")

        PI10_Cargabilidad_JCCG_LO_15_P = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_15_P")

        PI10_Cargabilidad_JCCG_LO_15_Q = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_15_Q")

        PI10_Cargabilidad_JCCG_LO_16_P = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_16_P")

        PI10_Cargabilidad_JCCG_LO_16_Q = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_16_Q")

        PI10_Cargabilidad_JCCG_LO_17_P = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_17_P")

        PI10_Cargabilidad_JCCG_LO_17_Q = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_17_Q")

        PI10_Cargabilidad_JCCG_LO_18_P = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_18_P")

        PI10_Cargabilidad_JCCG_LO_18_Q = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_18_Q")

        PI10_Cargabilidad_JCCG_LO_20_P = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_20_P")

        PI10_Cargabilidad_JCCG_LO_20_Q = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_20_Q")

        PI10_Cargabilidad_JCCG_LO_22_P = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_22_P")

        PI10_Cargabilidad_JCCG_LO_22_Q = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_22_Q")

        PI10_Cargabilidad_JCCG_LO_24_P = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_24_P")

        PI10_Cargabilidad_JCCG_LO_24_Q = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_24_Q")

        PI10_Cargabilidad_JCCG_LO_26_P = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_26_P")

        PI10_Cargabilidad_JCCG_LO_26_Q = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_26_Q")

        PI10_Cargabilidad_JCCG_LO_27_P = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_27_P")

        PI10_Cargabilidad_JCCG_LO_27_Q = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_27_Q")

        PI10_Cargabilidad_JCCG_LO_28_P = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_28_P")

        PI10_Cargabilidad_JCCG_LO_28_Q = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_28_Q")

        PI10_Cargabilidad_JCCG_LO_8_P = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_8_P")

        PI10_Cargabilidad_JCCG_LO_8_Q = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_8_Q")

        PI10_Cargabilidad_JCCG_LO_9_P = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_9_P")

        PI10_Cargabilidad_JCCG_LO_9_Q = GetPIACEPoint("PI10_Cargabilidad_JCCG_LO_9_Q")

          End Sub

       

       

          '

          ' User-written module dependent initialization code

          '

          Protected Overrides Sub ModuleDependentInitialization()

              mobjMatLab = New MLApp.MLApp()

          End Sub

       

       

          '

          ' User-written module dependent termination code

          '

          Protected Overrides Sub ModuleDependentTermination()

              mobjMatLab = Nothing

          End Sub

      End Class