Difference between revisions of "Extensions.EventHandling.MonitorChangeEventSource"
Jump to navigation
Jump to search
Line 1: | Line 1: | ||
{{DISPLAYTITLE: '''MonitorChangeEventSource '''}}[[Category:EventHandling]] | {{DISPLAYTITLE: '''MonitorChangeEventSource '''}}[[Category:EventHandling]] | ||
== Classification == | == Classification == | ||
− | {{ClassificationActivity | MonitorChangeEventSource | Create an event source for change event | [[Term]] | [[Extensions.EventHandling|OTX EventHandling extension]] | [[Event source related terms]] | - | [[Extensions.EventHandling.EventChk002|Event_Chk002]] }} | + | {{ClassificationActivity | MonitorChangeEventSource | Create an event source for change event | [[Term]] | [[Extensions.EventHandling|OTX EventHandling extension]] | [[Extensions.EventHandling#Terms|Event source related terms]] | - | [[Extensions.EventHandling.EventChk002|Event_Chk002]] }} |
== OTL Syntax == | == OTL Syntax == | ||
Line 9: | Line 9: | ||
== Description == | == Description == | ||
− | The OTX '''MonitorChangeEventSource''' term creates an event source that | + | 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. |
− | {{Note|The case when a value to a | + | {{Note|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.}} |
+ | |||
+ | {{Note|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.}} | ||
{{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 18: | Line 20: | ||
{| {{TableHeader}} | {| {{TableHeader}} | ||
{{TableRowPropertiesHeader}} | {{TableRowPropertiesHeader}} | ||
− | {{TableRowPropertie1| Variable | - | [[Variable]] | - | [1] | | + | {{TableRowPropertie1| Variable | - | [[Variable]] | - | [1] | Represents the variable that shall be monitored.}} |
|} | |} | ||
Revision as of 08:21, 26 September 2018
Contents
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);
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 GetNewValue term). Event queueing shall start immediately once the event source is created.
![]()
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.
Return Value
The Term returns the value, see table below.
![]()
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 shall be monitored. |
OTL Examples
Boolean Bool1 = false;
EventHandling.EventSource EventSource1;
EventHandling.Event Event1;
EventSource1 = EventHandling.MonitorChangeEventSource(Bool1);
parallel
{
lane
{
Bool1 = true;
}
lane
{
EventHandling.WaitForEvent({EventSource1}, Event1);
}
}