21 - 02 - 2019

Sound, Voice

Block PlaySound

License: Hobby, Industrial

The block is used to play a sound/melody from a file when an event occurs. Just set some of the parameters File1..File8 with full path to a music file. If the corresponding input of the parameter becomes to a high level, the file will be executed by the computer's sound card.





Block PulseWaterMeter

License: Industrial

The block is used for monitoring the mechanical water meter, on which is mounted a sensor. The sensor generates a digital pulse when some amount of water passing through the water meter. The block gives an information about the amount of water passed in liters and cubic meters, and calculates the current water speed. Current readings can be saved in a text file, and when AltonaLab restarts, this information will be not lost.

Block's parameters:

  • PulseWeightLiters - the weight of the pulse at the block's input Pulse in liters;
  • FilterTime - Sometimes pulses at the Pulse input of the block may be rare, this does not mean that there is no water leak at the water meter. Therefore, when passing each impulse, the outputs of the block that give us the speed of water will fall to zero by law on a low-frequence filter with a time delay T. The bigger the time constant T, the slower the deceleration of the speed at the block's outputs;
  • FullFileName - a file path and name where the accumulated liters of the block will be saved. When the diagram is restarted, the accumulated liters will be not lost. For example: c:\AltonaLab\Water.txt
  • WriteToFile - whether the accumulated liters are saved in a file FullFileName;

Block's inputs:

  • Pulse - an input which reads the pulses from a water meter pulse sensor;
  • InAccumulatedLiters and SetAccumulatedLiters - the two inputs are used to set the current value of the accumulated liters. Accumulated cubic meters are automatically calculated
  • InAccumulatedCubMeters and SetAccumulatedCubMeters - the two inputs are used to set the current value of the accumulated cubic meters water. Accumulated liters meters are automatically calculated;

Block's outputs:

  • OnReady - becomes to a high value when a new pulse is received and the block's outputs are updated;
  • AccumulatedLiters - the total amount of the accumulated liters;
  • SpeedLitersPerSec - the current speed of a water in liters per second;
  • AccumulatedCubMeters - the total amount of the accumulated cubic meters;
  • SpeedCubMetersPerHour - the current speed of a water in cubic meters per hour;




Functional Blocks


Users and Rights Conception

Users and Rights conception

License: Industrial

A concept has been developed that restricts users to some actions with the diagram, as editing, starting, stopping.

Editing/adding users, rights:
To access the interface for user and rights, you must first Log In. This happens from the LogIn icon located in the Design/Process buttons bar at the top of the AltonaLab application.

If you run this interface for the first time and users have not been added, you must Log In as an Administrator with:
UserName: admin
Password: 1234

The default password of the Administrator can be changed later with the User interface. The user interface can be opened with Users icon located in Settings buttons bar at the top of the AltonaLab application.

Settings of the user are:

  • Full name;
  • UserName;
  • Password;
  • Auto LogIn - only one of the all available users can has checked Auto LogIn. This means, then the diagram is run, the application will not ask for LogIn, it will automatically Logged In with the user with checked Auto LogIn and the diagram will be started;

For user Administrator, only a Password can be edited.

Editing user's rights:

With button Edit users's settings, we can edit the access restrictions of the selected user:

  • Can run diagram - the user can Start/Stop the diagram;
  • Can change diagram - the user can edit the diagram - add/delete blocks, move them...;

Setting up a diagram for working with users:

To use the users concept at the diagram, you need to right-click on an empty space of the diagram and check the Use Users check-box. Then save the diagram!!!

Editing a diagram which uses users:
To edit the diagram, you must Log In with a user who has the right setting: Can change diagram. Logging happens from the Log In button from the top icons bar of the application;

Starting a diagram which uses users - there are three models to start the diagram. All the models need an user with checked restriction Can run diagram:

  • when the application AltonaLab is started, press the Log In button and Log In the application. Using this model, the user is always logged in. Then just press the Start/Stop button and the diagram will Start/Stop without asking for UserName and Password;
  • when the application AltonaLab is started, press the button Start to start the diagram, the application will ask you for UserName and Password and then the diagram will be started. When you want to stop the diagram, press the button Stop and application will ask you again for UserName and Password. Using this model, the user is not always logged in;
  • if there is an User with checked Auto LogIn, when the diagram is started, it will be automatically Logged in with this user and the application will not ask you for an UserName and a Password;


Block CurrUser

License: Industrial

The block located in a Users library. If the diagram uses users and the diagram is started, the block's output will have values for the logged in user or for user who started the diagram.

Block's output:

  • UserID - ID numer of the user in the Database;
  • UserName - User name of the user;
  • FullName - the name of the user;




Block Layers Conception

Layers conception

Layers are a very good way to avoid complicated and crowded diagrams by distributing controls and blocks by different layers. To do this, we first need to describe the layers. This happens with the interface that opens by pressing the button Layers from the group Design/Process at the top bar with buttons of the application AltonaLab.

By clicking on the Add button a new layer is added to the grid, then by double-clicking the mouse button in the Name column, we can enter a layer name. Attributes (the grid columns) of every Layer are:

  • Name - Name of the layer;
  • Layer - index of the layer;
  • Curr layer - only one of the layers can be set as Current layer. Only controls and blocks from the current layer are shown on the diagram. All other controls and blocks are invisible at this moment;
  • Always visible - the controls and blocks from this layer are always visible, no matter which layer is currently selected;
  • Visible blocks in run mode - when the diagram is run, and this layer is selected, if this attribute is checked, the blocks from this layer will be visible, in other case the blocks from this layer will be invisible. Controls from this layer is it is selected, are always visible;
  • Run if layer is not active - if the attribute is checked, when the diagram is working, all the blocks from this layer will work too, in other case they will not work;


Copying graphic objects from another diagram into selected layer:
The interface has a button Load diagram to selected layer. When we press it, a new File Open dialog opens and we can choose an AltonaLab diagram. All the elements from choosen diagram - controls and blocks will be added to the existing diagram into the selected layer.


Change the current visible layer at the diagram:
From the top bar of the application with buttons, click the Layers button. In the interface grid, select the layer row which has to be current and check the checkbox from column Curr layer.


Select a layer of a graphic object (control/block):

When all the needful layers are added, we can choose the layer of every control or block. When the property editor of the control or block is open, at the parameter Layers we will see the list of existing layers of the diagram. We just have to choose one of them.

Description of functional block Layers

With this block, we can change the current layer at run time of the diagram.

Block's parameters:

  • HideAlwaysVisible - if the parameter is checked, at the DataSet output of the block Layers, the layers with checked column Always visible will be not added;

Block's inputs:

  • InCurrLayer - at this integer input we have to set the index of needful layer;
  • SetCurrentLayer - when this input becomes to a high level, the current layer of the diagram will be set to the layer with index gotten from the input InCurrLayer;

Block's output:

  • Layers - the output is with DataSet data type. It has two columns: Layer (integer), Name (String). The dataset contains the layers of the diagram, so if this output is connected to ComboBox, LisBox or Table control, we can easy change the current layer at run time of the diagram, when we change the selection of the ComboBox, LisBox or Table control;
  • CurrLayer - currently selected Layer;
  • CurrIndex - the index of a currently selected Layer;
  • OnFirstLayerChanged - when the diagram is started, after a short time this output will becomes to a high level for a while, which indicates the current layer is selected for first time;