Contents
Strategic Partner Links
Sepasoft - MES Modules
Cirrus Link - MQTT Modules
Resources
Knowledge Base Articles
Inductive University
Forum
IA Support
SDK Documentation
SDK Examples
Each tag has the option to have tag event scripts on it. When you edit a tag, you can navigate to the Tag Events section to see a list of all of the tag scripts. You can then select which event you would like to write a script for. You can even write a script for multiple events if you would like.
The Value Changed event is fired whenever the value of this particular tag changes. This event has a variety of arguments available for use in the script:
String tagPath - The full path to the tag.
Object previousValue - The previous value. This is a qualified value, so it has value, quality, and timestamp properties.
Object currentValue - The current value. This is a qualified value, so it has value, quality, and timestamp properties.
Boolean initialChange - A boolean flag indicating whether this event is due to the first execution of the initial subscription.
Boolean missedEvents - A flag indicating that some events have been skipped due to an event overflow.
Tip |
---|
The currentValue and previousValue arguments are qualified values. This means that to get to the actual current value, it would look like currentValue.value. |
The Quality Changed event is fired whenever the quality of this particular tag changes. Since tags use a 'qualified value', which include a value, quality, and timestamp, this script will fire whenever any of those change. This event has a variety of arguments available for use in the script:
String tagPath - The full path to the tag.
Object previousValue - The previous value. This is a qualified value, so it has value, quality, and timestamp properties.
Object currentValue - The current value. This is a qualified value, so it has value, quality, and timestamp properties.
Boolean initialChange - A boolean flag indicating whether this event is due to the first execution of the initial subscription.
Boolean missedEvents - A flag indicating that some events have been skipped due to an event overflow.
The Alarm Active event fires whenever an alarm becomes active on the tag.This event has a variety of arguments available for use in the script:
String tagPath - The full path to the tag.
String alarmName - The name of the alarm. This does not include the full alarm path.
Object alarmEvent - The full alarm event object. The properties available to this object are:
String alarmPath - The full alarm path.
Boolean missedEvents - A flag indicating that some events have been skipped due to an event overflow.
The Alarm Cleared event fires whenever an alarm becomes cleared on the tag.This event has a variety of arguments available for use in the script:
String tagPath - The full path to the tag.
String alarmName - The name of the alarm. This does not include the full alarm path.
Object alarmEvent - The full alarm event object. See the Alarm Active alarmEvent object for the full list of available properties.
String alarmPath - The full alarm path.
Boolean missedEvents - A flag indicating that some events have been skipped due to an event overflow.
The Alarm Acknowledged event fires whenever an alarm event becomes acknowledged on the tag.This event has a variety of arguments available for use in the script:
String tagPath - The full path to the tag.
String alarmName - The name of the alarm. This does not include the full alarm path.
Object alarmEvent - The full alarm event object. See the Alarm Active alarmEvent object for the full list of available properties.
String alarmPath - The full alarm path.
String ackedBy - The full path to the user that acknowledged the alarm.
Boolean missedEvents - A flag indicating that some events have been skipped due to an event overflow.
Code Block | ||||
---|---|---|---|---|
| ||||
#This script will fetch all of the possible parameters in the tag changed script. #Note that this will not print out to the console, but it will print to the wrapper logs located on the gateway. path = tagPath prev = previousValue cur = currentValue init = initialChange missed = missedEvents print path, prev.value, cur.quality, init, missed |
Code Block | ||||
---|---|---|---|---|
| ||||
#This code can be used on a Value Changed script, and will automatically reset the value of the tag to 0 after it goes above 3000 #This can be useful for counter tags. if currentValue.value > 3000: system.tag.write("IntegerCounterTag", 0) |
Code Block | ||||
---|---|---|---|---|
| ||||
#This code can be used on a Value Changed script, and will record the highest value of the current tag onto another memory tag. #This can be useful for recording the highest temperature. highestRecordedTemp = system.tag.read("HighestTempTag").value if currentValue.value > highestRecordedTemp: system.tag.write("HighestTempTag", currentValue.value) |
Code Block | ||||
---|---|---|---|---|
| ||||
#This code can be used on an Alarm Active script, and can be used to automatically react to an alarm to prevent a disaster from occurring, if personnel were not able to react in time. if alarmName == "Tank Pressure Critical": system.tag.write("PressureReleaseValveTag", 1) if alarmName == "Tank Pressure Too Low": system.tag.write("TankFillTag", 1) |