Cookies are important for this site to function properly, to guarantee your safety, and to provide you with the best experience. By clicking OK, you accept all cookies. For more information, please access our Privacy Policy.
Table of Contents
Tutorials / 
Working with multiuser engineering using TIA Portal’s Project Server
Advanced

Working with multiuser engineering using TIA Portal’s Project Server

Siemens
TIA Portal
PLC Programming
Industrial Networking

Introduction

We explored the setup and configuration of Project Servers in the TIA Portal, which laid the foundation for collaborative and multiuser engineering. This tutorial will delve into the practical aspects of working with Project Servers and managing projects and libraries within a multiuser environment. We will observe user interaction and learn how to handle modifications, synchronization, and flagging of program blocks. We will explore the new feature introduced in TIA Portal v18, which enables the creation and management of global libraries within the Project Server.

Working with Project Servers in TIA Portal entails a smooth collaborative experience, allowing multiple users to work simultaneously on the same project. Each user can contribute to specific parts of the program they have been assigned to. They create, delete, and modify blocks as needed. Program blocks can be flagged to indicate that a user is currently working on them to ensure efficient collaboration between engineers. Users must perform a "Check-in" to push their changes to the server when making modifications. Conversely, if another user modifies a part of the program, a "Check-out" is required to refresh the local session and retrieve the latest changes made by other users.

This tutorial teaches you how to effectively work with projects and libraries in a Project Server environment. We will simulate interactions between two users connected to a local Project Server. User 1 will create new blocks, perform a check-in, and observe the changes on User 2's side. We will explore the flagging mechanism to indicate work in progress and demonstrate the synchronization process. Furthermore, we will explore the new global libraries feature introduced in TIA Portal v18, allowing users to create and manage libraries within the Project Server, facilitating collaboration and code sharing among team members.

Prerequisites

To follow this tutorial, you will need an installation of TIA Portal. We will be using v18, but you can use any other version. No additional hardware or software is required.

This tutorial assumes familiarity with the “Getting started with multiuser engineering using TIA Portal’s Project Server” tutorial.

Working with multiuser projects

To show the interactions between users in a Project Server, we will use two different instances of TIA Portal using two user sessions. Both are connected to a local Project Server containing a pre-created project. Please note that the following steps can also be applied to an external server. The project includes a CPU 1511 configuration and a default main program block.

Figure 1.1 - Advanced Siemens TIA Portal PLC Programming | Two different TIA Portal instances
Figure 1.1 - Advanced Siemens TIA Portal PLC Programming | Two different TIA Portal instances

To avoid confusion, each figure will indicate which user is being used. 

The concept of multiuser engineering is to allow different users to work simultaneously on the same project. Each user contributes to different parts of the program they have been assigned to. They can create, delete, and modify blocks. 

Each time a modification is performed on your local session, you will need to push this modification to the server. This is called a “Check-in.” If another user modifies a part of the program, you must refresh your local session. This is called a “Check-out.”

Also, the interface adds indicators or “Flags,” used to notify the other users that you are working on a specific block so none else would attempt to work on it simultaneously. They’re also used to select the blocks you want to check in or check out.

Let’s take a look at how it works. In this part, we will use User 1 to create new blocks on the project and perform a check-in to send them to the server. Then, in each step, we will check what happens on the User 2 side before performing a “Check-out” to update the session.

Go to User 1, create a new FB block, and give it the name of your choice.

Figure 1.2 - Advanced Siemens TIA Portal PLC Programming | Creating a new FB
Figure 1.2 - Advanced Siemens TIA Portal PLC Programming | Creating a new FB

After that, call the newly created FB in the main program and create its associated DB. 

Figure 1.3 - Advanced Siemens TIA Portal PLC Programming | Flagging program blocks
Figure 1.3 - Advanced Siemens TIA Portal PLC Programming | Flagging program blocks

You can notice that since all program blocks have been modified (OB1 and newly created FB1 and DB1), they all have been flagged automatically (blue flag icon at their right). 

On the User 2 side, you can notice that the main program has a yellow flag. This indicates that another user has flagged this block to work on it (So another user won’t work on it). The main program has been flagged (blue flag) on the User 1 side.

Figure 1.4 - Advanced Siemens TIA Portal PLC Programming | Yellow flag on the User 2 side
Figure 1.4 - Advanced Siemens TIA Portal PLC Programming | Yellow flag on the User 2 side

Now click on the “Check-in” button.

The check-in interface will open, where you can see all the selected objects we want to update in the server. Click on “Start check-in.”

Figure 1.5 - Advanced Siemens TIA Portal PLC Programming | Check-in modifications to the server
Figure 1.5 - Advanced Siemens TIA Portal PLC Programming | Check-in modifications to the server

Once the check-in is done, a small window will open asking you if you want to refresh your session or keep the local session. If you have other modifications on your session you want to keep, click on “Keep local session.” Otherwise, your session will be refreshed (synced with the server) by clicking “OK.”

Figure 1.6 - Advanced Siemens TIA Portal PLC Programming | Check-in successful window
Figure 1.6 - Advanced Siemens TIA Portal PLC Programming | Check-in successful window

The check-in interface should indicate that the operation has been completed successfully and the blocks are automatically unflagged.

Figure 1.7 - Advanced Siemens TIA Portal PLC Programming | The blocks have been pushed to the server successfully
Figure 1.7 - Advanced Siemens TIA Portal PLC Programming | The blocks have been pushed to the server successfully

Now let’s take a look at the User 2 side. Since User 1 uploaded modifications to the server, the server state icon should indicate a small refresh sign meaning that modifications are pending. This same sign appears in the flag icon of the concerned blocks.

Figure 1.8 - Advanced Siemens TIA Portal PLC Programming | Pending modifications indicators
Figure 1.8 - Advanced Siemens TIA Portal PLC Programming | Pending modifications indicators

To refresh your session, we have to perform a “Check-out.” Click on the “Check-out” button. After this, click on “Start refresh” in the check-out interface.

Figure 1.9 - Advanced Siemens TIA Portal PLC Programming | Checking-out on the User 2 side
Figure 1.9 - Advanced Siemens TIA Portal PLC Programming | Checking-out on the User 2 side

Once the refresh is done, it should indicate it has been performed successfully, and the new blocks should appear in the Program Blocks section.

Figure 1.10 - Advanced Siemens TIA Portal PLC Programming | The sessions have been refreshed successfully
Figure 1.10 - Advanced Siemens TIA Portal PLC Programming | The sessions have been refreshed successfully

Let’s look at what happens when two users flag the same block. On the User 2 side, click on the flag of the main program block (to indicate you are currently working on it). A yellow flag on the User 1 side will appear on the main program block. Yellow flags indicate that another user flagged this block.

Figure 1.11 - Advanced Siemens TIA Portal PLC Programming | Flagging interaction
Figure 1.11 - Advanced Siemens TIA Portal PLC Programming | Flagging interaction

Still, on the User 1 side, click on the flag of the main program block. It will become red on both users' sides. The red flags indicate a conflict between two users.

Figure 1.12 - Advanced Siemens TIA Portal PLC Programming | Conflict flag
Figure 1.12 - Advanced Siemens TIA Portal PLC Programming | Conflict flag

Now for the last part of this tutorial section, open the “Device configuration”.

You will notice a message telling you you can’t modify the hardware configuration using the Project Server. The only way to access the hardware configuration is to open the Project view to access the current project inside the server and edit there directly. This is done to avoid all confusion during development. Take note that not all users can access the Project view. You can manage the project’s users using the administration tool shown in the previous tutorial.

Figure 1.13 - Advanced Siemens TIA Portal PLC Programming | The hardware configuration cannot be modified
Figure 1.13 - Advanced Siemens TIA Portal PLC Programming | The hardware configuration cannot be modified

Then, open the small arrow near the check-out button and click the “Open project view” button.

Figure 1.14 - Advanced Siemens TIA Portal PLC Programming | Opening the Project view
Figure 1.14 - Advanced Siemens TIA Portal PLC Programming | Opening the Project view

This will open the project view interface that gives you access to the project's content inside the server. It will appear as a second project tree with a yellow background. Any modification made here will be made directly on the server itself. You can also notice that the previous message is now absent, and you can edit the hardware configuration inside the project.

Figure 1.15 - Advanced Siemens TIA Portal PLC Programming | Project view interface
Figure 1.15 - Advanced Siemens TIA Portal PLC Programming | Project view interface

Working with multiuser libraries (TIA Portal v18 new feature)

Let’s head now to the second aspect of the Project Server: The global libraries. Starting TIA Portal v18, you can create and manage global libraries inside a Project Server. It works similarly to the project; You have to create a global library within the server, create individual workspaces (local sessions), and each user contributes to the library by flagging and checking in/out data with the server. While connected to a server, open the “libraries” tab on the left side of the screen of User 1.

Figure 2.1 - Advanced Siemens TIA Portal PLC Programming | Opening the library tab
Figure 2.1 - Advanced Siemens TIA Portal PLC Programming | Opening the library tab

Your current project session has a project library, and it works the same way as a regular project. You can drag and drop program blocks inside it, and it will have a server status notifying you if the library is up to date on the server or not.

Figure 2.2 - Advanced Siemens TIA Portal PLC Programming | Local project library
Figure 2.2 - Advanced Siemens TIA Portal PLC Programming | Local project library

Any modification done to the Project library must be checked-in like any other program block in the project.

Figure 2.3 - Advanced Siemens TIA Portal PLC Programming | Checking-in the local project library
Figure 2.3 - Advanced Siemens TIA Portal PLC Programming | Checking-in the local project library

Under the project library section is the global libraries interface. Now with TIA Portal v18, you can create, manage and use global libraries in your Project Server. To demonstrate how it works, I created a test library that will be used in the server. On the global libraries toolbar, click on the “Manage global libraries” button.

Figure 2.4 - Advanced Siemens TIA Portal PLC Programming | Opening the global library manager
Figure 2.4 - Advanced Siemens TIA Portal PLC Programming | Opening the global library manager

After that, a “Manage to sever libraries” window will open. It is identical to the server project manager. You can check the Project Server introduction tutorial for more details about it. Here, you can create and manage global libraries inside your Project Server. Click on “Add global library to server”.

Figure 2.5 - Advanced Siemens TIA Portal PLC Programming | Adding a new global library
Figure 2.5 - Advanced Siemens TIA Portal PLC Programming | Adding a new global library

Another window will open where you select the source path of the library and add comments. Don’t forget to check the “Create local session” checkbox.

Figure 2.6 - Advanced Siemens TIA Portal PLC Programming | “Add global library to project server” window
Figure 2.6 - Advanced Siemens TIA Portal PLC Programming | “Add global library to project server” window

Selected the test library created previously and clicked on “Add.”

Figure 2.7 - Advanced Siemens TIA Portal PLC Programming | Adding the source path of the library
Figure 2.7 - Advanced Siemens TIA Portal PLC Programming | Adding the source path of the library

Next, we need to configure the local session we created. Select the “Contributor session” option, give a name to the session, check the “Open local session” checkbox, and click on “Create.”

Figure 2.8 - Advanced Siemens TIA Portal PLC Programming | Creating the local library session
Figure 2.8 - Advanced Siemens TIA Portal PLC Programming | Creating the local library session

We have now created a global library on the server. It will be displayed in your “Global Libraries” interface. You can identify server libraries with the small multiuser icon. They contain the different folders of a global library and a server status icon.

Figure 2.9 - Advanced Siemens TIA Portal PLC Programming | The global library is created
Figure 2.9 - Advanced Siemens TIA Portal PLC Programming | The global library is created

Let’s a program block to the library. Drag and drop the Test FB to the “Master copies” folder. It will automatically be flagged.

Figure 2.10 - Advanced Siemens TIA Portal PLC Programming | Adding a program block to the global library
Figure 2.10 - Advanced Siemens TIA Portal PLC Programming | Adding a program block to the global library

Now we need to check in the added block. In the case of a server global library, you need to use the check-in button in the Global Libraries section.Projects’ programs and libraries are located in two different workspaces and need to be checked in with their respective buttons (The same applies to the check-out). Once done, click on “Start check-in.”

Figure 2.11 - Advanced Siemens TIA Portal PLC Programming | Global library check-in
Figure 2.11 - Advanced Siemens TIA Portal PLC Programming | Global library check-in

We can now head to the User 2 side to create its session and retrieve the newly created global library. Open the server libraries manager, then the library, and click “Create new local session.” Then, follow the same steps as we did to create the User 1 local session.

Figure 2.12 - Advanced Siemens TIA Portal PLC Programming | Creating a global library local session
Figure 2.12 - Advanced Siemens TIA Portal PLC Programming | Creating a global library local session

Once the local session is created on the User 2 side, you should directly find the block we added previously.

Figure 2.13 - Advanced Siemens TIA Portal PLC Programming | Adding a program block to the global library
Figure 2.13 - Advanced Siemens TIA Portal PLC Programming | Adding a program block to the global library

If a modification is done on the User 1 side, the server status icon will indicate a pending update from the server. Requiring a check-out to refresh the library's local session.

Figure 2.14 - Advanced Siemens TIA Portal PLC Programming | Pending modification on the User 2 global library
Figure 2.14 - Advanced Siemens TIA Portal PLC Programming | Pending modification on the User 2 global library

To perform a check-out, click on the check-out button in the global library section. Then, click on “Start refresh.”

Figure 2.15 - Advanced Siemens TIA Portal PLC Programming | Global library Check-out on the User 2 side
Figure 2.15 - Advanced Siemens TIA Portal PLC Programming | Global library Check-out on the User 2 side

Once the check-out is done, the modified blocks will appear in your server's global library.

Figure 2.16 - Advanced Siemens TIA Portal PLC Programming | The modifications appear in the User 2 global library
Figure 2.16 - Advanced Siemens TIA Portal PLC Programming | The modifications appear in the User 2 global library

Conclusion

In this tutorial, you learned how to effectively work with projects and libraries in a Project Server environment. You discovered the process of flagging program blocks to indicate work in progress and successfully performed check-ins and check-outs to synchronize modifications between users. Additionally, you explored the new feature of global libraries, enabling seamless sharing and management of code within the Project Server. 

Precise interactions are paramount in a multiuser engineering environment to avoid confusion, overwriting, or errors and ensure smooth collaboration among team members. TIA Portal plays a vital role in facilitating multiuser development by providing robust tools and mechanisms. The flagging system allows users to indicate their active involvement in specific blocks, preventing conflicts and duplicate efforts. The check-in and check-out process ensures synchronization of modifications, enabling users to stay up-to-date with the latest changes made by their colleagues.