Difference between revisions of "Extensions.EventHandling.MonitorChangeEventSource"

From emotive
Jump to navigation Jump to search
 
(3 intermediate revisions 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;">
EventSourceTerm = EventHandling.MonitorChangeEventSource(Variable);
+
EventSourceTerm EventHandling.MonitorChangeEventSource(Variable 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 20: 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.}}
 
|}
 
|}
  
 
== OTL Examples ==
 
== OTL Examples ==
 
<syntaxhighlight lang="java" enclose="div" style="font-size: medium;">
 
<syntaxhighlight lang="java" enclose="div" style="font-size: medium;">
 +
/// Local Declarations
 +
 
Boolean Bool1 = false;
 
Boolean Bool1 = false;
 
EventHandling.EventSource EventSource1;
 
EventHandling.EventSource EventSource1;
 
EventHandling.Event Event1;
 
EventHandling.Event Event1;
 +
 +
/// Flow
  
 
EventSource1 = EventHandling.MonitorChangeEventSource(Bool1);
 
EventSource1 = EventHandling.MonitorChangeEventSource(Bool1);

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