Retrieves Tags from the Gateway as Python dictionaries. These can be edited and then saved back using system.tag.configure.

The configurations returned by this function can only contain properties that are not using their default values. Thus, if a property on a tag has not been modified from its default value, then it will not be included in the returned list. 

Should you need to read the value of a tag property, regardless of whether it's using the default value or not, use system.tag.readBlocking instead:


system.tag.getConfiguration(basePath, recursive)

  • Parameters

String basePath - The starting point where the tags will be retrieved. This can be a folder containing, and if recursive is true, then the function will retrieve all of the tags in the folder.

Boolean recursive If true, the entire tag tree under the specified path will be retrieved. 

  • Returns

List - A List of tag dictionaries. Nested tags are placed in a list under the "tags" key in the dictionary.

  • Scope

Gateway, Vision Client, Perspective Session

# This example will look up the name property on a Tag. 

path = '[default]My_Folder/My_Tag'

config = system.tag.getConfiguration(path, False)

# While the call above was directed at a single Tag, the function
# still returns a list, so we access index 0 to examine the properties
# (hence the "[0]"). 
# Additionally, we can access the name property in a similar manner 
# to accessing a key in a Python Dictionary. 

print config[0]['name']
# This example will get the configuration of a single Tag

# Update the path here with the Tag path you're trying to reach
path = '[default]Sine/Sine0'

# Get the configurations
tags = system.tag.getConfiguration(path)

for tagDict in tags:
    # Iterate over the dictionary with the iteritems function
    for key, value in tagDict.iteritems():
        # Do something with the keys and values
        print key, ' : ', value
# This example will get the configurations of Tags under a folder. 

# Update the path here with the folder you want to start at
folder = '[default]Folder/Another_Folder'

# Get the configurations. We'll specify True for the second parameter to search 
# recursivly
nodes = system.tag.getConfiguration(folder, True)

# Iterate over the results
for item in nodes:
    # Through the results, search each dictionary
    for key, value in item.iteritems():
		# ...looking for a 'tags' key
		if key == 'tags':
			print '#######Found some tags!#######'
			# iterate over the Tag configurations we found
			for tagConfig in value:
				# Do something with the results.
				print tagConfig["name"]
# This example gets information from a UDT called "tagNumber" and prints it out to the console.

# Declare a variable and get the UDT path for the basePath parameter
path = "[default]_types_/tagNumber"

# Run the system function and assign the value to a variable
tagDict = system.tag.getConfiguration(path, False)

# Print the results
print tagDict

system tag getConfiguration, tag.getConfiguration