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.
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.
#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
#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)
#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)
#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)