In DriveWorks, users can group multiple projects into one top-level project. Certain projects lend themselves to grouping small child projects into one large project. For example, if I wanted a project for a layout of conveyor belts, I could have one project for one conveyor section, and then the layout project could contain multiple conveyor section projects and verify they all had the same width so that they would be compatible.
Child Specifications in DriveWorks
Child Specifications can be added and grouped into the parent specification through the Child Specification List. The Child Specification List is a control placed in the form of the parent specification and allows the passing of information to and from each child specification.
Child Specification List allows users to:
-
- Drive constants in the child specification using variables/controls/constants from the parent specification.
-
- Pass variable values back into the parent specification.
-
- Run transitions on child specifications.
-
- Reference values in the Child Specification List are just like any DriveWorks table.
Note: Check out the DriveWorks Help File to learn more about the Child Specification List.
Embedded Child Specifications
Child specifications can be embedded into the parent specification. Embedded child specifications are contained entirely in the parent specification and are not at all registered to the group. The only record of the existence of these embedded child specifications is in the parent specification, and they are not shown in the Specification Explorer.
One of the main advantages of embedding child specifications is that they can be continuously synchronized with the parent so that any changes to the parent specification can immediately affect the child specifications.
Two main settings must be enabled for synchronized embedded child specifications.
Under Project Settings in Administrator, check the box for Embed child specifications.
In the Projects property of the Child Specification List, go to the Settings tab and check the option to Continuously synchronize with embedded specifications.
For example, if I create a parent specification and add two child specifications, it’ll look something like this:
Despite the two child specifications, only the parent specification, with specification ID 332, can be seen and manipulated in the Specification Explorer.
Non-embedded Child Specifications
Sometimes you may not want to embed the child specification into the parent specification, and only control the child specification from the parent. That way, if changes are made to the variables that control the child specifications, they don’t modify pre-existing child specifications. Also, the child specifications can be seen in the Specification Explorer if they’re not embedded.
The main difference here is that the Complete Child Specification task needs to be run to pass the values back up to the Child Specification List in the parent specification.
Running the same test, but this time with non-embedded child specifications, you’ll notice that the specifications are all numbered the same way:
However, now the child specifications can be seen and manipulated in the Specification Explorer as if they were created manually:
You can now add/make more complex specifications much easier with child specifications!