6 Replies Latest reply on Mar 13, 2018 4:04 PM by Lal_Babu_Shaik

    'Calc Failed' generated by an analysis

    BEN-MESSAOUD

      Hello,

      I created an analysis (recursive) that generate the last Stop date and Start date of a power plant.

      When evaluating this analyis, it generates 'Calc Failed' :

      Pi square 1.PNG

      Pi square 2.PNG

      The figures below show the archive of the two points PI Stop_Time and Start_Time:

      Stop_Time archive before backfilling_without calc failed.PNG

      Start_Time archive before backfilling_without calc failed.PNG

      Thanks for your help..

      Best regards,

      Wajdi BEN MESSAOUD

        • Re: 'Calc Failed' generated by an analysis
          fsepehr

          Hi Wajdi,

           

          The error "Cannot convert Invalid operation: [time] >= [enumVal] to bool." indicates that the analysis is trying to compare two different attribute types, time [time] and enumeration set. Typically the [enumVal] appears when the PI tag has a digital state value such as 'PtCreated', 'Error', or 'NoData' instead of the correct values. Please check if that is the case for the PI Point reference attributes in the Demarrage analysis.

           

          Also, sometimes if the clock on the PI Server and the Analysis server are not sync then the analysis may try to evaluate the data at a future time which does not exists.

           

          Would you be able to provide more information about the attributes in the Demarage analysis and the type of the data reference PI Point attributes?

           

          1 of 1 people found this helpful
            • Re: 'Calc Failed' generated by an analysis
              BEN-MESSAOUD

              Hello Fate,

              Thank you for your response!

              You can find here more informations about the attributes of 'Demarrage' analysis:

              pi square 2.PNG

              pi square 3.PNG

              pi square 4.PNG

              The archive of the two points "Stop_Time" and "Start_Time" before backfilling does not include digital state value (the last two figures in the first message).

              The clock on the PI Server and the Analysis server are sync.

              The type of the analysis (recursive) can be the source of the 'Calc Failed' generated ?

                • Re: 'Calc Failed' generated by an analysis
                  Lal_Babu_Shaik

                  Hi Wajdi

                   

                  Current value in Start_Time is system digital state "CALC Failed". Stop_Time contains a value which is date and time. You are comparing Datetime value with a system digital state which is causing this issue. Also could notice that there is no BADVAL(START_TIME) in demarrage expression .

                  1 of 1 people found this helpful
                    • Re: 'Calc Failed' generated by an analysis
                      BEN-MESSAOUD

                      Hi Lal Babu

                      Thank you for your response,

                      I added the condition BADVAL(START_TIME) in demarrage expression , also the condition BADVAL(STOP_TIME) in arret expression.

                      Now , the evaluation of the analysis did not generate the error 'Cannot convert Invalid operation [time>=enumval] to bool' but after backfilling the value of Start_Time still the same (Calc Failed):

                      pi square 5.PNG

                      pi square 6.PNG

                        • Re: 'Calc Failed' generated by an analysis
                          Lal_Babu_Shaik

                          Could you please check the timestamp of "CALC Failed" value in Start_Time. Select backfill start time and end time based on good values in start_time and calculation should work.  If it is not a production environment, you may try inserting good data and check the same. Before backfill request you to check last trigger time and preview results.

                  • Re: 'Calc Failed' generated by an analysis
                    Lal_Babu_Shaik

                    Hi Wajdi

                     

                    Could you please create a separate variable for circuit_breaker_st and check the value prior to your expression. Looks like you are comparing different data type which is actually causing the issue.