After Installation

The philosophy of PLC-Lab: What are the basic functions of PLC-Lab? Please read the following section - this will make it easier for you to draw systems.

The physics engine

PLC-Lab is equipped with a 2D physics engine. The user does not have to write scripts for the movement of the objects; instead, the dynamics are calculated by the physics engine. The structure of a system in PLC-Lab works by placing a component (lamp, switch, rectangle, circle, ...) on the draw-window and then configuring it in a property window.

Switches and lamps

The most basic objects in PLC-Lab are switches and lamps. As a rule, you can only specify 1 operand or one symbol here: An input at a switch or an output for a lamp.

Symbol table

Recommendation: First create all operands in the symbol table that are to be used in the system. This has the advantage that, for example, address changes can simply be made in the symbol table. The points of use in the system are then automatically adapted. Because the symbols can be dragged and dropped into the objects, you also save paperwork.

Gravity

The "Gravity" property is typically enabled for dynamic objects. This means that the object falls down if it is not stopped by another object. In most cases, gravity is preferred for dynamic objects. When gravity is off, the object floats on the draw-window. If you want to draw a system from a bird's eye view, this might be useful.

Dynamic objects, static objects, and decoration objects

In PLC-Lab, an object is either a physics object or a decoration object. The physics engine ignores the latter. The property "Is physics object" is inactive. The physics objects differ in:

  • Static: Fixed object (e.g. wall, boundary object)
  • Dynamic (moving object that reacts to collisions)

This setting can be found in the "Properties object" window within the "Physics properties" section. In this section you can also find the properties for the surface friction, the elasticity, and the density of an object.

Transporting objects via the conveying element

If you want to transport objects from A to B, the conveying element is the best choice in most cases. This element must be imagined as an air flow that can be switched on and off, which exerts a force on objects and thus sets them in motion. The conveying element is represented by a rectangle and can be rotated at will. This allows the force to be exerted at any angle. When the conveying element touches (even partially) a dynamic object, a force is exerted.

Influencing objects by movement

If you want to move or rotate an object, then joints come into play. If you want to move an object in one direction, you can use the "prismatic joint". A cylinder with a cylinder rod does just that. If you want to rotate something (fan), you use the "revolute joint". These connections always have a switchable motor with which you can control the movement. They are also equipped with numerous sensors, which can be evaluated with operands. Influencing these movements is also possible in many ways, both with analog and binary signals.

Create objects at runtime (Creator) and remove objects (Destroyer)

Often you need objects (e.g. bottles, crates, ...) that are processed in some way in a system. With the help of the Creator you can duplicate an object set as the parent object in RUN mode. In this way you can, for example, supply a belt with crates. The counterpart is called Destroyer, which removes the created objects again. A Destroyer can be any object. All you have to do is switch on the property "Object is a destroyer" in the property window and set the ID (or 0 for all).

Liquid object

As the name suggests, this can be used, for example, to indicate the filling level of a container. The inflows and drains can be controlled with both binary and digital signals. Numerous sensors are available to evaluate the fill level.

Combining dynamic objects to form a body

Dynamic objects can be combined with the help of the "Solid joint" or the body group to form any contiguous body. The solid joint is used, for example, when you want to attach an object (or several objects) to the piston rod of a cylinder. Or you want to build a sieve with the corresponding gaps. Because there can be gaps between the individual objects of a body. This possibility of assembling arbitrary bodies is one of the reasons why PLC-Lab is so versatile.

Use of a C# script

From version 2 of PLC-Lab, a C# script can be used in addition to the virtual plant to implement the simulation. The C# script can be used, for example, to simulate the behaviour of intelligent external devices and then make the result available via inputs of the PLC or the virtual plant.

Example projects and graphic symbols (bottle, crate, motor, ...)

After the installation you will find the folder PLC-Lab-Editor in your documents. Here you will find sample projects and useful graphic symbols in the Items folder: Bottles, crates (high, flat), balls, etc.

Conclusion

With PLC-Lab, a virtual project can be set up in 2D. Be creative and use the various setting options. Take a look at the examples and instructions in the PLC-Lab manual (www.mhj-wiki.de). With the many possible settings, it makes no sense to try to set up a system using trial and error in PLC-Lab.

First steps with PLC-Lab

If you are not yet familiar with PLC-Lab, we recommend the following procedure:

  1. Editing the section Hello World: The first example with PLC-Lab.  You will edit the example with your preferred device, e.g. the scenario for PLCSim of the S7-1500.
  2. Familiarize yourself with the basic operating actions described in the section Tips for drawing a project when creating a project in PLC-Lab.
  3. Use the section The objects in PLC-Lab to get an overview of the objects available in PLC-Lab, their properties, and the possibilities for project development with PLC-Lab.
  4. In the section Videos on PLC-Lab you will find numerous videos showing the structure of project for various applications. You can also use these as practical examples by reconstructing the layouts presented there.
  5. Finally, the section Examples for PLC-Lab describes the example projects that also exist with the installation of PLC-Lab. Here you will find their special features and the objects and properties used in the projects.

Once you have completed these steps, you will have the basic knowledge for developing your own projects in PLC-Lab. The time for working on the aforementioned topics is well invested because with the acquired knowledge, you will be able to develop your own projects much faster. 

Note on PLC-Lab-Runtime: The software PLC-Lab Runtime is included in the books 'Step7-Workbook S7-1500/1200' and 'Grafcet-Workbook'. With PLC-Lab you can load and modify the example projects from these books. A file saved with PLC-Lab can however not be opened with PLC-Lab Runtime. The PLC-Lab contains new features that are not available in the Runtime version. 

We need your feedback!

  • Did we not describe something properly in the manual?
  • What do you like?
  • Is there something you don't like?
  • Did you find an error?

When the orange update icon appears, a new version is available. Please download and install the new version. You don't have to uninstall first.