Access to TwinCAT variant management

This article describes access to the functions of the TwinCAT variant management via the Automation Interface. Access is possible from iTcSysManager14 (TCatSysManagerLib V 3.3.0.0). The following functions are supported:

  1. Adding project variants and groups of variants
  2. Setting the active variant
  3. Activate settings for variant management

1. Adding project variants and groups of variants

Code snippet (C#):

string variantConfig = "<?xml version=\"1.0\"?><ProjectVariants><Group><Name>Group1</Name><Member>Variant1</Member><Member>Variant2</Member></Group><Group><Name>Group2</Name><Member>Variant2</Member><Member>Variant3</Member></Group><Variant><Name>Variant1</Name></Variant><Variant><Name>Variant2</Name></Variant><Variant><Name>Variant3</Name></Variant></ProjectVariants>";
sysManager.ProjectVariantConfig = variantConfig;

2. Setting the active variant

Code snippet (C#):

sysManager.CurrentProjectVariant = "Variant3";
sysManager.CurrentProjectVariant = "[Group1]";

3. Activate settings for variant management

Code snippet (C#):

ITcSmTreeItem9 el2004_1 = (ITcSmTreeItem9)sysManager.LookupTreeItem("TIID^EtherCAT Master^EK1100-1^EL2004-1");
// activate the "disable" setting for the Variant Management
el2004_1.PvDisable = true;
// choose a variant and disable it only for this variant
sysManager.CurrentProjectVariant = "Variant3";
el2004_1.Disabled = DISABLED_STATE.SMDS_DISABLED;