UDT Multi-Instance Wizard

The multi-instance wizard provides a powerful but simple mechanism for rapidly generating many instances of a UDT at the same time by specifying patterns for UDT parameters.

Value Patterns

In order to define values for parameters (and the tag names), you can use several different types of patterns (and combinations of patterns):

Range number1-number2[/step]
A numeric range of values, such as 1-10. Optionally, a step parameter can be included, in order to only generate numbers at certain multiples. For example, 0-100/10 would generate 0,10,20, and so on.

Repeat value*count
A value (numerical or string), and the number of times to use it. For example, North Area*10 would use the parameter North Area for 10 items.

List value1, value2, value3
A comma separated list of values (or other patterns) to use.


Examples:

1-10,20-30,30-40 Results in 30 tags being created, with the specified value ranges (so, for example, there would be no parameter 15).
A,B,C Results in 3 tags, with each of the values.
0-100/5 Results in 21 tags (because range is inclusive), with values 0, 5, 10...100.

As mentioned, the size of the pattern will dictate how many tags will be created. If some patterns are smaller than others, the last value will be repeated for the other tags.

Tag Names

The names of the generated instances can be specified using a system similar to that of the parameter patterns. If you just want to use sequential names, you don't need to specify a pattern, as values will be generated automatically starting at one. You can also set the pattern to simply be the starting number to generate sequential names from there.

Base Name
A string base for the tag name. This can also be a list of names, in which case the names will be used directly, and the name pattern won't be used.

Name Pattern
A pattern that will be used to generate values that will be appended to the base name.

At any time, you can use the preview button to view the tag names and parameters that will be created. Once you are satisfied, click OK to generate the tags under the selected folder in the tag provider.

To make instances of the UDT

Now that we have the Motor UDT (see Creating User Defined Types - UDTs) we can make instances of it. Instances are running copies of a data type with concrete data for all members.

  1. In Tags Browser, right-click on Tags and select New Folder to create a new folder and call it Motors.
    You can create a single instance of the motor or use the multi-instance wizard to rapidly create all four at the same time. Here we will use the multi-instance wizard.

  2. Right-click on the Motors folder and select New Tag> Data Type Instance> Multi-Instance Wizard.

    images/download/attachments/6034200/image2015-4-24_16_15_40.png

    The Instance Creation Wizard is displayed.

  3. From the Step1 - Select Data Type to Create drop-down, select Motor.

  4. Set the following:

    Base Tag Name: Motor
    Tag Name Pattern: 1-4 this creates four tags Motor 1, Motor 2, and so on
    Parameter: MotorNumber which is what we used to reference specific tags in the PLC
    Pattern: 1-4 so that Motor 1 tag will have a parameter of 1 and Motor 2 will have a parameter of 2 and so on

    images/download/attachments/6034200/image2015-4-24_16_29_25.png

    Basically, you have the tag name and the parameter value to set.

  5. Click Preview to see what Ignition will create for the tag name and the parameter value.

    images/download/attachments/6034200/image2015-4-24_16_30_40.png

  6. Click OK to see all four tags created.
    If you expand each tag, you can see all the members of the UDT and their
    respective values.

    images/download/attachments/6034200/image2015-4-24_16_33_10.png

    Now if you make a change to the UDT, all four instances are automatically updated because they are of that type.

  7. Edit your Motor UDT by double-clicking on it in the Tags Browser.
    The Tag Editor is displayed.

  8. Click on the green + button on the top-left of window and select New Memory Tag.

    images/download/attachments/6034200/image2015-4-24_16_35_29.png

  9. Set the following:
    Name: MotorType
    Value: basic
    Data Type: String

    images/download/attachments/6034200/image2015-4-24_16_37_27.png

  10. Click OK to save.

    Now each instance automatically gets the new tag.

    images/download/attachments/6034200/image2015-4-24_16_38_14.png