Difference between revisions of "Extensions.EventHandling.MonitorChangeEventSource"

From emotive
Jump to navigation Jump to search
 
(One intermediate revision by one other user not shown)
Line 5: Line 5:
 
== OTL Syntax ==
 
== OTL Syntax ==
 
<syntaxhighlight lang="java" enclose="div" style="font-size: medium;">
 
<syntaxhighlight lang="java" enclose="div" style="font-size: medium;">
/// Local Declarations
+
EventSourceTerm EventHandling.MonitorChangeEventSource(Variable variable);
EventHandling.EventSource EventSourceVariable;
 
/// Flow
 
EventSourceVariable = EventHandling.MonitorChangeEventSource(Variable);
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
== Description ==
 
== Description ==
The OTX '''MonitorChangeEventSource''' term creates an event source that shall monitor a variable's value and fire an event when it changes. The fired event shall maintain a snapshot of the new value of the monitored variable, which may be read out later (see [[Extensions.EventHandling.GetNewValue|GetNewValue]] term). Event queueing shall start immediately once the event source is created.
+
The OTX '''MonitorChangeEventSource''' term creates an event source that will monitor a variable's value and fire an event when it changes. The fired event will maintain a snapshot of the new value of the monitored variable, which may be read out later (see [[Extensions.EventHandling.GetNewValue|GetNewValue]] term). Event queueing will start immediately once the event source is created.
  
{{Important| Change-monitoring shall be shallow. This means that changes inside of complex values shall NOT be recognized, like e.g. a change of an item in a List or Map, or the removal of items from a List or Map, etc. Regarding complex data types the only recognized change is when the variable changes its value, e.g. when another List is assigned to the variable.}}
+
{{Important|Change-monitoring will be shallow. This means that changes inside of complex values will NOT be recognized, like e.g. a change of an item in a List or Map, or the removal of items from a List or Map, etc. Regarding complex data types the only recognized change is when the variable changes its value, e.g. when another List is assigned to the variable.}}
  
{{Important| The case when a value is assigned to a formerly uninitialized variable shall also be recognized as a change event and shall NOT pose an error.}}
+
{{Important|The case when a value is assigned to a formerly uninitialized variable will also be recognized as a change event and will NOT pose an error.}}
  
 
{{TermReturnValue| [[Extensions.EventHandling.EventSource|EventSource]] | '''The EventSource''', the changes in the value of a variable monitored.}}
 
{{TermReturnValue| [[Extensions.EventHandling.EventSource|EventSource]] | '''The EventSource''', the changes in the value of a variable monitored.}}
Line 23: Line 20:
 
{| {{TableHeader}}
 
{| {{TableHeader}}
 
{{TableRowPropertiesHeader}}
 
{{TableRowPropertiesHeader}}
{{TableRowPropertie2| Variable | - | [[Variable]] | - | [1] | Represents the variable that shall be monitored.}}
+
{{TableRowPropertie2| Variable | - | [[Variable]] | - | [1] | Represents the variable that will be monitored.}}
 
|}
 
|}
  

Latest revision as of 10:36, 12 September 2019

Classification

Name MonitorChangeEventSource
Short Description Create an event source for change event
Class Term
Extension OTX EventHandling extension
Group Event source related terms
Exceptions -
Checker Rules Event_Chk002
Standard Compliant Yes

OTL Syntax

EventSourceTerm EventHandling.MonitorChangeEventSource(Variable variable);

Description

The OTX MonitorChangeEventSource term creates an event source that will monitor a variable's value and fire an event when it changes. The fired event will maintain a snapshot of the new value of the monitored variable, which may be read out later (see GetNewValue term). Event queueing will start immediately once the event source is created.

Exclamation.png Important: Change-monitoring will be shallow. This means that changes inside of complex values will NOT be recognized, like e.g. a change of an item in a List or Map, or the removal of items from a List or Map, etc. Regarding complex data types the only recognized change is when the variable changes its value, e.g. when another List is assigned to the variable.
Exclamation.png Important: The case when a value is assigned to a formerly uninitialized variable will also be recognized as a change event and will NOT pose an error.

Return Value

The Term returns the value, see table below.

Icons Note.png In OTX, Terms are categorized according to its return data type!
Data Type Description
EventSource The EventSource, the changes in the value of a variable monitored.

Properties

Name Data Type Class Default Cardinality Description
Variable - Variable - [1] Represents the variable that will be monitored.

OTL Examples

/// Local Declarations

Boolean Bool1 = false;
EventHandling.EventSource EventSource1;
EventHandling.Event Event1;

/// Flow

EventSource1 = EventHandling.MonitorChangeEventSource(Bool1);

parallel
{
   lane
   {
      Bool1 = true;
   }
   lane
   {
      EventHandling.WaitForEvent({EventSource1}, Event1);
   }
}

See also

ThresholdExceededEventSource
TimerExpiredEventSource