--- title: "system.tag.editTag" description: "Edits an existing Tag in Ignition." --- # system.tag.editTag > Edits an existing Tag in Ignition. :::note Deprecated This function was deprecated in 8.1.0. ::: This function is used in **Python Scripting**. ## Description Edits an existing Tag in Ignition. This will not work on Client Tags, because there is a Client Provider for each project. This can now be used to edit members of a nested UDT instance. ## Client Permission Restrictions [Permission Type](versioned_docs/version-8.1\ignition-modules\vision\vision-project-properties\vision-project-properties.md#vision-permissions-properties): Tag Editing Client access to this scripting function is blocked to users that do not meet the role/zone requirements for the above permission type. This function is unaffected when run in the Gateway scope. ## Syntax `system.tag.editTag(tagPath, attributes, parameters, accessRights, overrides, alarmList, alarmConfig)` - Parameters - String `tagPath` - The full path to the Tag you want to edit. For members of UDT instances, the tagPath will be the path to the UDT instance, with the overrides parameter listing out the member Tags to edit. :::note You can specify the Tag provider name in square brackets at the beginning of the parentPath string. For example, `[myTagProvider]MyTagsFolder`. If the Tag provider name is left off then the project default provider will be used. ::: - PyDictionary `attributes` - The Tag's configuration attributes. - PyDictionary `parameters` - The parameters for a UDT instance Tag. - String `accessRights` - The access rights for the Tags. Possible values are Read_Only, Read_Write, and Custom. - PyDictionary `overrides` - All of the overrides for a UDT instance Tag. The dictionary should be in the form of the names of member Tags as keys, with the values being a dictionary of properties/overrides ie. `{'memberTagName':{dictionary of overrides}}`. - String `alarmList` - List of legacy alarms for the Tag. The legacy alarm system was retired in 7.6.0. Newer systems should utilize the [system.tag.editAlarmConfig](system-tag-editAlarmConfig.md) function instead. - PyDictionary `alarmConfig` - The alarm configuration for the Tag. Note that this parameter cannot edit alarms on UDTs. Instead, the [system.tag.editAlarmConfig](system-tag-editAlarmConfig.md) function (which can also edit alarms on non-UDT Tags) should be used instead. See [editAlarmConfig](system-tag-editAlarmConfig.md) for details on how to use this parameter. - Returns - Nothing - Scope - All :::note If called in the Gateway scope, a Tag provider must be specified. ::: #### Associated Attributes Complete list of the acceptable [Tag Properties](versioned_docs/version-8.1\platform\tags\tag-properties\tag-properties.md) and [alarmConfig](versioned_docs/version-8.1\platform\tags\tag-properties\tag-properties.md#alarms-properties). ## Code Examples ```python title="Example #1 - Edit OPC Tag" # Edit OPC Tag. system.tag.editTag(tagPath="Tag1", attributes={"OPCServer":"Ignition OPC-UA Server", "OPCItemPath":"[MLX]N7:2"}) ``` ```python title="Example #2 - Edit UDT instance Parameters" # Edit UDT instance parameters. system.tag.editTag(tagPath="Tag5", parameters={"DeviceName":"CLX", "MotorNumber":2}) ``` ```python title="Example #3 - Edit UDT Instance and Override Specific Properties" # Example 3: Edit UDT instance called Tag8 and override certain properties of a member Tag called STATUS. system.tag.editTag(tagPath="Tag8", overrides={"STATUS":{"ScanClass":"Default"}}) ``` ```python title="Example #4 - Edit 2 Tags in Nested UDT Instance" # Edit 2 tags in a nested UDT instance. Assuming the following: # - A UDT instanced named 'ParentInstance' contains a nested UDT named 'ChildInstance' # - ChildInstance contains a Tag (member) named 'ChildMember' # - ChildInstance contains a Tag (member) named 'Tag2' in a folder named 'Folder1' # The following script would override multiple properties on the ChildMember tag. path = "ParentInstance/ChildInstance" myOverrides = {"ChildMember":{"ScanClass":"Default", "Enabled":"false"}, "Folder1/Tag2":{"ScanClass":"Default", "Enabled":"false"}} system.tag.editTag(tagPath=path, overrides=myOverrides) ``` ```python title="Example #5 - Edit UDT Instance and Remove Specific Properties" # Edit UDT instance called Tag8 and remove certain overrides from a member Tag called STATUS. system.tag.editTag(tagPath="Tag8", parameters={"Param":"Something"}, overrides={"STATUS":{"ScanClass":None}}) ``` ```python title="Example #6 - Enable History, Set Historical Scan Class, and Set History Provider" # Enable history on a Tag, set the historical scan class to "Default Historical", and set the History Provider to the "Data" provider. system.tag.editTag(tagPath="Folder/Tag",attributes={"HistoryEnabled":True, "HistoricalScanclass":"Default Historical", "PrimaryHistoryProvider":"Data"}) ``` ```python title="Example #7 - Edit a Tag Alarm with Legacy alarmList Parameter" # Edit a Tag with an Alarm using the Legacy alarmList parameter. alert = "myAlert;Medium_High;0.0;50.0;0;;;2.0;SEC$" system.tag.editTag(tagPath="Folder/Tag", alarmList=alert) ```