Child Projects

Movicon allows you to structure a project by decentralizing resources to other projects, known as Child Projects by creating dynamic Parent-child relationships to allow you to distribute your main project application.

Movicon offers a powerful and innovative feature called "Child Projects" to help you deal with the challenges of design engineering supervision systems. "Child Projects" are normal Movicon projects which are linked to a parent project in a  "Parent-Child" relationship inheriting structures and data from the parent while also allowing for specific configurations or modifications to function independently. In this "Parent-Child relationshiop, the Parent project will be able to contain all the Child project's resources as if they were its own.

 

One project can be associated with many Child projects which can also become Parent projects and have their own Child projects in a hierachical tree structure.  

 

Warning! Alarms from Child projects cannot be displayed in the Parent project because the Alarm Window in Parent projects cannot display alarms from Child projects.  In addition, "Embedded Screen" or "Tab Group" objects cannot be used in Parent project screens to display Child project Alarm windows.  In this case, Alarm Windows displayed as such in "Embedded Screen" or "Tab Group" objects will remain blank. To display alarms of a Child project you will need to open the Child project screen containing the Alarm Window.

 

Parent-Child project relationships offer many advantages when designing supervision and control applications.  The key advantages are described below:

 

 

Distributed Projects

Projects structured with Parent-Child relationships provide many advantages to companies working in teams. As a difference to the traditional technologies that only allow team members to use the one same project to work and share different tasks, Movicon offers the possibility to distribute the different tasks into sub-projects know as Child projects to allow team members to work independently on the task they have been assigned while having the ability to collaborate with the others on their team. In this type of scenario, the Team Leader will have all the resources of its members' Child Projects in their own Parent Project while being able to work independently on their own at the same time.

The Parent Project will be configured to contain all its team members' child project resources internally, without any distinction or duplication of the resources' names which will be established by the path of the individual child project.  For instance, a VAR0001 may co-exist in both the parent and child projects by being identified by the project's name and path.

 

 

 

A traditional Project team structure diagram

 

 

A distributed project structure diagram of  Parent-Child project relationships

 

 

 

Distributed Run

The Parent-Child Project relationship is very handy to use in modular systems or  machines  where, for instance, the plant is divided into zones which can also run independently from one to another. In a situation like this, you can create more projects, one for each zone, and then integrate them into one Parent project from which you can access the pages and the variables of each zone as Child projects.

 

Example:

An automation line is composed of 3 independent machines. Each machine has its own project run locally on its PC. The machines are then integrated into a production line and linked to a main Supervision PC.

One of the key advantages of using Movicon is that it not only saves you a significant reduction in time developing but it offers the possibility to create a main supervision project such as the "Parent Project" and three "Child Projects" to represent the three individual machines, which reside on local PCs.

In this way, the Parent project can automatically be provided with all the individual variables of the various child projects, to produce general summaries using screen layouts.  By using these general layout screens, which reside in the Parent project, you will only need to open the one referring to the individual machine you wish to view by simply opening the Child project, which resides locally in the machines' PC, in the Parent project. Another advantage you will gain in addition to saving time will be to have all modifications executed on the individual machines will automatically be reported to the main supervisor as well.

 

 

 

 

This figure illustrates an automation system composed of one Server project (Supervisor) being the "Parent Project" of three individual local machine projects  being the "Child Projects"

 

 

Client-Server with Child Projects

When needing to create a speedier Networking Client-Server system in which a <n> of identical Client projects are present and connected to the Server station, you can apply the same techniques used to create Parent-Child projects to create Client projects in PCs distributed on a network.  This will allow any modifications to the Server project to be made immediately available in each one of the Client projects.   

This is simply done by using an empty 'Parent' project without any local project resources to create a Client project which will become the 'Server' project.   

When creating the Child project to become the Server project, you should configure the "Child Project Options" by entering the IP Address or the Name of the Server in the "Network Server" property only.  Once doing this, the Child project will automatically become a Networking project: the Child project resources (Drivers, Alarms, Data Logger/Recipes for example) will be disabled while the Variables and the Window, Grid and Trend objects will connect in Network.

More specifically, the Child project may be a physical copy of the Server project in the Client PC (for example in cases where the LAN network is slow) or retrieved in net directly on the Server as  a Link (if the LAN network is fast enough).  In addition, to allowing the same identical Client Project on any network PC, the latter configuration also allows the software to be centralized in a way that the Client will always be updated automatically whenever any variation occures in the Server project.

 

 

 

 

Client-Server structure with Parent (Client) - Child (Server) relationship

 

This architecture does not include the automatic startup in runtime mode of Child projects in autonomous mode as project modules together with the Parent project startup in runtime mode.  Therefore,  the "Run" and "Auto Run" options must be kept disabled in the Child project's "Child Project Option Settings" properties.  In addition, the IP Address or the Server project's name (supervisor) only needs to be entered in the "Network Server" property.

 

Due to the restrictions when using the System Variables for Networking projects (see "System Variables") for which it is not possible to exchange variable values between Server and one or more Clients, it will not possible, for example, to use the "ActiveUserName" member to find out which user is logged in the Client application.

However, you can use the "SynopticCmdTarget" interface's "GetActiveUserObject" method in a screen's object to find out who is currently logged in. This method can be used on the Server side as well. For example, if you place a "Text" object on screen, you can then use its VB Script content and SymbolLoading() Event to update the Text object's "Title' with the active user's name:

 

Public Sub SymbolLoading()

 If Not GetSynopticObject.GetActiveUserObject Is Nothing Then

  Title = GetSynopticObject.GetActiveUserObject.Name

 Else

   Title = ""

 End If

End Sub

 

 

 

When a local Client project user is logged in, this user will also be used by the Movicon Windows (but not by the Variables) for Server project authentication. If the Client user does not exist on the Server, a " 'ServerName' Network Server authentication failed" message will appear in the Movicon window.  Alternatively, the "Default Log On User' property in the Server Project's 'Networking' properties can be used whereby the Movicon Windows' authentication will occur independently from the user logged in locally in Client.  Web Client sessions will be authicated using the Default User set in the Server.

 

 

       

 

See Also