Expression Error Config

What is wrong with this expression>

if {[.]../Program:_02_ED1/_02FT104/AnalogueInput/ScaledValue.value} >=1 && {[~]BPED_FedRec/MSG_Read_BPED_FR/DiscreteInput/MSG_DINT_1_2}=true ,(mean({[.]../Program:_02_ED1/_02FT104/AnalogueInput/ScaledValue.value}, now(60000))

I need another set of eyes please.

If nothing else your if is missing its opening (. It looks like you've got a stray one further in the expression before mean.

  • Unreadable and hence undebuggable. Use linebreaks. Use indentation. Add spaces before and after operators.
  • Missing opening (.
  • Missing else condition.
  • Redundant = true.

Try this.

if(
  // test
  {[.]../Program:_02_ED1/_02FT104/AnalogueInput/ScaledValue.value} >= 1
  && 
  {[~]BPED_FedRec/MSG_Read_BPED_FR/DiscreteInput/MSG_DINT_1_2},
  // true
  mean(
    {[.]../Program:_02_ED1/_02FT104/AnalogueInput/ScaledValue.value}, 
    now(60000)
  ),
  // false
  -1		// Value to return if conditions not met.
)

What exactly to you expect to get from the mean() function when supplying a value and a timestamp?

@Transistor , Thank you very much!!!

I'd also suggest not simply dragging tags from the plc into ignition, as the folder structure is almost guaranteed to not be useful for efficient development in ignition