ProfiLab 4.0

© 2014 ABACOM-Ingenieurgesellschaft. All Rights Reserved.


Overview

ProfiLab 4.0 ››

DMM-ProfiLab

Digital-ProfiLab

ProfiLab-Expert

The ProfiLab software is a powerful development tool for PC-based measurement and control applications. It combines features like front panel design and hardware control to one powerful tool, and can be used for circuit simulation, visualisation and presentation in many cases as well.

ProfiLab comes along in three different versions and can be upgraded any time. The following versions are available:

Digital-ProfiLab

This version is addressed to users mainly working with digital components or to those building simple switching apllications. Digital-ProfiLab contains a basic components like gates, registers, flip-flops, as well as control elements (switches, push-buttons, displays, etc.). Digital-ProfiLab can control some digital I/O-cards and modules, as well as relay cards and PC ports.

DMM-ProfiLab

DMM-ProfiLab was designed for use with digital multimeters (DMM). This software can display values from the multimeters in many different ways and can be used to calculate, record and process data as well. It offers plotters, tables, recorders and lots of display components like indicator lamps, instruments, etc. Using a relay card, DMM-ProfiLab can be used to build simple control applications as well.

ProfiLab-Expert

ProfiLab Expert will satisfy users that are very demanding. It combines the advantages of Digital-ProfiLab and DMM-ProfiLab and offers lots of additional functions and components. Drivers for a wide range of hardware devices are included (generators, power supplies, analogue and digital I/O cards, USB modules, handheld meters).

A useful tool for quick and reliable solutions. ProfiLab Expert is delivered with an integrated compiler, to create executable files for stand-alone applications that run on systems without having ProfiLab installed. Distribution of executable files that have been created, using the ProfiLab compiler is unlimited, so ProfiLab is a complete and professional developers system.

No matter which ProfiLab version you use, simply design your application with your PC and your project becomes alive with a single click. Incoming data is processed and controls whatever you want. There are hardly any limits in complexity of a project. The multitude of components offers unlimited possibilities. Clearly arranged controls on a perfectly styled front panel allow all necessary operations.

Enjoy controlling model railways, machines, home installations or other professional equipment or simply learn about the basics of logic control.

As an additional option a WebServer can be purchased separately.

Check out our Internet site at www.abacom-online.de/UK or latest information.

See also:

- New features of ProfiLab 4.0


New features of ProfiLab 4.0

ProfiLab 4.0 ›› Overview ››

" Rubber bands " make editing more convenient

Clean up function locates redundant wires

Component configuration at run-time

Full screen option for front panel

Improved design options for all controls ( frame, background , ...)

Alphanumeric string processing components

MIDI support (Musical Instruments Device Interface)

Ramp generator

Audio input

Sending emails

Controller components ( PID controller, PI controller , ...)

DDE ( Dynamic Data Exchange )

OPC Client (OLE for Process Control) gives access to OPC V2 data servers

TCP broadcasting via LAN/WAN (Internet)

New, additional pen plotter (bitmap based)

Hotkeys front panel controls and switching functions

Virtual Joystick and wheel as front panel control

New LED with more shapes and new functions

Analogue delay component

Improved y(t) plotter with playback option

Extended formatting options

Strongly simplified data export for MS-Excel and MS-Word

Improved grid for front panel editing

Media player allows controlled playback of media files (Video, Wave, MP3, MIDI, etc.)

I²C Master

Automatic save and recall of internal component status (Flip-Flops, S&H, etc.)

Analogue increase /decrease component

Calculation of polynomial equations and other mathematics functions

Jumps

and much more...


New features of ProfiLab 3.0

ProfiLab 4.0 ›› Overview ››

Several front panels for a project. Manually or automatically selectable.

New, even more realistic controls with improved size adjustment

User-defined bitmap switch

Logarithmic potentiometers , with optional middle position capture

New needle instruments , optional with logarithmic scale

Slideshow control component displays pictures and animated GIFs on the front panel

Text display makes ASCII data readable

Multicolour Duo-LED

HEX-Selection with 16 selectable options (Combobox)

Luminous row with adjustable size

2 channel oscilloscope for fast processes

Improved y(t)-plotter with more speed

Properties of front panel controls optional adjustable at run-time

Editable hints for front panel controls

Keyboard and mousewheel control for front panel

Front panel remembers last setting , settings can be saved and loaded

Print and clipboard function for front panel

Basic hardware settings adjustable at run-time

Clear representation of macro libraries

Component outputs can be shorted ( wired-or )

Bus driver and address decoder components

Adjust function for front panel controls

Simplified compilation process with progress display

Component-sensitive help function

Invertable inputs and outputs for all components

New status display for component pins (high/low)

Simple timer functions for daily or weekly switching events

Fast, adjustable clock components

Simple switch delay component

Analogue (de)multiplexer with up to 16 channels

Amplifier with adjustable gain and offset

Correction table with linear interpolation for adaption of non-linear sensors

Signal generator with sine, triangle, rectangle and ramp outputs

Limiter component clips analogue values

Byte read/write from/to files

Sampler component with up to 16 channels records and replays analogue values

DLL component as programming interface for user components or hardware drivers

Frequency counter component


New features of ProfiLab 2.0

ProfiLab 4.0 ›› Overview ››

32 bit version

long filenames

compatible with version 1.0

new hardware equipment supported

multistage library entries

extended logic components (counter, register, multiplexer) up to 16 bit

16 channel measuring recorder, directly to hard disk

calculation of mean values

random values

7 segment display decoder/driver

improved macro administration

adjustable grid for the front panel

comfortable editor for ROM and RAM

"exchangeable" ROM after compilation

direct port access (8 bit / 16 bit R/W)

serial communication support

joystick supported

and many more...


Software registration

ProfiLab 4.0 ›› Overview ››

Call REGISTER SOFTWARE from the menu REGISTER. You will receive update information if you register your software. Send the registration form directly to ABACOM.

Registration is not necessary if you received your software directly from ABACOM.


Editing a circuitry

ProfiLab 4.0 ››

To get started with ProfiLab we strongly recommend trying the FILE -> EXAMPLES menue.

Checking out the examples you will learn how to work with ProfiLab easily.

Also find the HARDWARE folder in the examples, offering basic information how to use ProfiLab with your compatible hardware device.

More helpful information and answers to your questions can be found at our Internet forum .


The toolbar

ProfiLab 4.0 ›› Editing a circuitry ››

The toolbar has been split into two section. The horizontal toolbar on top of the editor contains buttons for direct access to menu functions. The vertical toolbar on the left offers several edit modes and additional functions.

Shorts hints to the buttons function are displayed, when you move the mouse on the button, and stay there for a short time. Select HINTS from the OPTIONS menu the enable/disable hints.

Start with a NEW project

OPEN an existing project from file

SAVE the current project

PRINT the project

COPY selected elements to the clipboard (not for exchange with other applications)

CUT the selected elements

PASTE the clipboard contents to the circuit

DELETE all selected elements

Add LABELS to the circuit

Show/hide the GRID

Create a COMPONENT LIST

Configuration: Front panel

Configuration: Application

Configuration: Hardware

ProfiLab Expert Compiler

Select the DEFAULT EDIT MODE

Switch to ZOOM mode

CONNECT components

Enters the RUN-mode , also available from key <F9>

Returns to the EDIT-mode , also <ESC>

Displays HIGH/LOW status in RUN-mode

Brings the FRONT PANEL to front <F12>

Show component hints


Local popup menues

ProfiLab 4.0 ›› Editing a circuitry ››

Local popup menues

Several functions of the software are available from so-called local popup menus that open if you click to an element using the RIGHT mouse button.

For example there are different popup menus for the circuit and the front panel, that offer often needed functions for editing the circuit/front panel. Some function of the menu may be disabled, if you have more than one element selected. For example PROPERTIES is one of the entries that is used quite often. Simply click a single element with the right mouse button, and its properties will be available from the popup menu. By the way, properties are also available with a double click to a component.


Adding components from the library

ProfiLab 4.0 ›› Editing a circuitry ››

All you have to do, to realise an application with ProfiLab, is to enter the circuit diagram of the project, using the components from the library and connect them correctly. You find the library on the left of the main window. The library consists of several pages that can be selected, using the page selector on top of the library. Some pages may contain too many components to fit the screen. In that case use the scrollbar on the right of the library.

Text only

Use this option to disable graphic display of components and to minimize the height of the library. The boarder line between component library and the circuit can be moved with the mouse.

Simply click to one of the components to add parts to your circuitry. The mouse cursor will change to a hand and will be captured to the circuit area. The selected component sticks to the cursor and you can place it anywhere on the circuit diagram. Release the component with a single click at its destination. Done! You can cancel the process, using the right mouse button.

Every component in the circuit has a name and an unique identifier. The identifier is used for the components list and as reference to the corresponding control element on the front panel.

Quick find...

This function is available on bottom of the library. It is made for users that already have some experience with ProfiLab. The function searches components in the library, depending on their names. Enter a search text to the edit field to fill the hit list above. As soon as the wanted component appears in the hit list, you can double click an entry to add it to your project.

See also:

- Front panel operation at run-time (RUN-mode)

- The front panel

- Component basics


Component connections

ProfiLab 4.0 ›› Editing a circuitry ››

Depending on the function of a component, a component has several input pins and output pins .

To draw a connection, you have to switch to connection mode, using the button from the toolbar:

The cursor will change to a reticule, if you move the cursor to the circuit. Click to the start point of the connection and you will get a temporary line. Connection lines can only been drawn horizontal and vertical. Fix the temporary line with another click. You may now continue the line to another point or cancel the process with the right mouse button, but connection mode is still set, so you can start with another connection. To return to default edit mode, press the right mouse button again, or use the arrow button from the toolbar. To get a correct connection to a component, you have to hit the end of the component pins exactly. The editor is equipped with a grid to make it easier. The component pin will change its colour from grey to black to indicate the right connection, and the pins label will change its colour from grey to red. This makes it easy to verify a connection. If the start point or the end point of a line hits another line exactly, the editor will realise a connection and set a connection point automatically. If you simply cross another line, no connection will be realised. The editor always optimises overlapping line segments, so that line segments always cover the hole length of a horizontal or vertical line segment.

Tip

You don't have to change to connection mode, if you move the cursor exactly to a component pin. The mouse cursor will change to a small circle, so you can start drawing a connection directly.

Rubber band editing

This function make circuit editing more convenient. It is activated automatically whenever components, connection wires, or parts of the circuit are moved. While moving the function will try to keep existing connections between the part that is moved and the rest of the circuit. The function stay active as long movement is exactly along one axis (x or y direction). As soon as you leave the axis that you once have followed, the rubber bands will "tear off” immediately and you can now continue movement normally (without rubber bands). Please notice that new wires are created that can lead to new (wanted or unwanted) connections with other existing wires. A check routine is not implemented.

See also:

- Component basics


Edit functions

ProfiLab 4.0 ›› Editing a circuitry ››

Edit functions are SELECT, COPY, CUT, PASTE, DELETE and DUPLICATE, as well as TO FRONT and TO BACK. Edit functions are called from the main menu EDIT, from the editor's popup menu or from the toolbar. To perform an edit function, default edit mode has to be set:

Element selection

All further edit functions can only be performed with selected elements. There are two ways to select elements. The first is to click directly to an element. The second is to draw a frame to select all elements that cross the frame. Both ways will deselect previously selected elements. If you want to keep the previous selection, hold the SHIFT key on your keyboard down. You can toggle the selection of a single element, if you click it, while you hold down the SHIFT key.

Pin inversion

The default edit mode allows you to INVERT certain input and output pins of each component. For logical, digital pins the logical function of the pin is inverted. For analogue pins the sign of the value is inverted. To invert a pin, move the cursor to a component pin, near to the position where the pin leads to the component (casing). The mouse cursor will now be displayed as a small circle with the inscription "INV". A click to this position inverts the component pin function. Another click will undo the inversion.

Copy

Copies the selected elements to clipboard, to paste them somewhere else to the circuit, or to another circuit. Circuit elements can not be pasted to other applications, because of specific component and circuit data.

Cut

Copies elements to the clipboard and removes them from the circuit.

Paste

The contents of the clipboard will be added to the diagram. This works exactly like adding components from the library.

Delete

Deletes all selected elements from the circuit. You can also press the DEL-key to call this function.

Duplicate

Duplicate is a combination of the functions COPY and PASTE.

To front / To back

These function are for overlapping elements only. If you can not avoid overlapping components, you call this functions to determine the z-order of these elements.

Clean up

As a result of normal editing operations, redundant wires - leading to nowhere – may remain in the circuit. The clean up function locates and selects such segments, so you can easily DELETE them afterwards.


Labels

ProfiLab 4.0 ›› Editing a circuitry ››

Labels are useful to improve the readability of your diagram. To add a Label to the diagram, press the button from the toolbar.

The mouse cursor will change to a hand with a "T”. Determine the label position with a single mouse click. A dialog will open to enter the text and adjust the font. To change the text or font later, call the property dialog of the label with a double click to the label, or from the editor's popup menu.


Zoom

ProfiLab 4.0 ›› Editing a circuitry ››

The editor is equipped with a variable zoom. There are two ways to adjust to zoom factor:

Zoom mode

Press the button from the toolbar to activate the zoom mode:

The mouse cursor will change to a magnification glass. A click with the left mouse button will increase the zoom, the right mouse button will decrease it and the click position will appear in the middle of the screen. You can also draw a frame around a detail that you want to have zoomed. The toolbar offers additional zoom function, which have the advantage that you don´t have to toggle between zoom mode and other modes.

Increases the zoom factor.

Decreases the zoom factor.

Minimises the zoom factor for an overview.

Optimises the zoom factor, so that the circuit fits to the screen.

This button zooms the selected objects.


File functions

ProfiLab 4.0 ›› Editing a circuitry ››

File functions are NEW, OPEN, SAVE and SAVE AS and are called from the FILE menu or from the toolbar.

New

Call this function to start with a new and empty project. The current project will be closed.

Open

Call this function to open an existing project from file. Some examples have been installed with the software. A file dialog will open, so you can browse your disk and select the file to open. The filename is displayed in the main window headline.

Tip: The four last edited projects are linked to entries in the FILE menu, so you can call these project directly.

Save

This function saves the current project to file. If your project has no filename so far the save dialog will open, otherwise the project will be saved to the file that is displayed in the headline.

Save as...

Use this function to save your project to save it with a different name or to a different position.


Component list

ProfiLab 4.0 ›› Editing a circuitry ››

ProfiLab generates component lists from your diagrams, to give you an overview of used components . The function is called from the OPTIONS menu or from the toolbar. A window opens, containing the component list. Use the option GROUPED to build groups, using the headlines from the library. Use the option MACROS DETAILED to have the contents of macros listed.

The component list has its own toolbar, with some additional function to call:

The component list can be saved to a text file, to use it with other applications.

Saved lists can be opened again.

The current list can be printed.

The creation of the component list always starts from the current circuit that is active in the editor. If a macro is active in editor, the generation starts from the macro, but it will consider sub-macros.


Printing

ProfiLab 4.0 ›› Editing a circuitry ››

ProfiLab has a convenient preview for printouts, where scale and position are adjustable. The print function is called from the FILE menu or from the toolbar. The preview will open and offer some options on the left. The printout can be moved to the correct position on the preview itself on the right. Move the mouse to the preview, hold down the left mouse button and adjust the printout position. Print options are saved together with the project.

Press the SETUP button to enter the set-up program of your printer. The selected printer is displayed in the headline of the preview window. Press the PRINT button to start the printout. Press OK or CANCEL to return to the editor.


The Compiler

ProfiLab 4.0 ›› Editing a circuitry ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: No

ProfiLab-Expert: Yes

The compiler converts ProfiLab projects to stand-alone-applications. The compiled project is executable, without having the ProfiLab software installed on the destination system. The compiled project will only show the front panel and start the project immediately when the compiled project is executed. The project is no longer editable.

You may distribute compiled ProfiLab applications freely. With the compiler option ProfiLab has become a complete development platform for control and measurement applications.

To compile a project, load the project to the editor. Then call COMPILE... from the file menu. Select a destination directory for the compilation and enter a filename. Directories that do not exist will be created by the compiler automatically.

It is recommended selecting an empty destination directory for compilation! The compilation consists of several files, and you will not know which files belong to the compilation, if the destination directory is not empty before!

Press the COMPILE button to start the compilation. The compilation progress is displayed in the dialogue. Leave the compiler with the CLOSE button, after compilation is complete.

All files that are necessary for the stand-alone-application are copied to the destination directory. To distribute compiled ProfiLab applications copy the whole destination directory of the compilation to a distribution medium. Other users can now start the EXE-file from this directory.

Changing the icon of the EXE file:

You can load your own icon (*.ICO) for your project in the property dialogue of the front panel.

Changing hardware resources of compiled applications:

Enable the option HARDWARE CONFIGURATION in the property dialogue of the front panel, so the user can change hardware resources directly from the front panel.

Hardware resources (port addresses, COM port, LPT ports) of hardware components are listed in the file HARDWARE.INI of the compilation. You could use a text editor as well, to apply changes to the hardware configuration on the destination system, if hardware devices are connected to different resources, than on the developer system.

See also:

- Front panel properties


RUN-mode and EDIT-mode

ProfiLab 4.0 ››

If you finished the entry of your circuit you can start the project. There are two buttons in the vertical toolbar to control a project:

The green arrow starts the project and enters the RUN-mode ( also <F9> ). The circuit has to be optimised and prepared for simulation, to reach maximum simulation speed, which may take some seconds for larger projects.

When the project starts, the front panel is brought to front.

While a project is running the number of simulation cycles per second is displayed in the horizontal toolbar. The simulation frequency is important for applications, that use external hardware. It must at least be twice as high as the frequency of external signal. Otherwise external signals can not be processed correctly.

A selection box on the left of the frequency display allows you to choose a simulation mode:

FAST mode

Your circuit is calculated as fast as possible. ProfiLab will exploit all available processor power. This option is useful if you have to reach high sample rates.

SLOW mode

This mode limits simulation frequency to approx. 1000 Hz. This will reduce the processors load factor considerable in most cases. This option is sufficient for many applications, that do not have to deal with high sample rates, like relay controls, etc. This is a good choice to save valuable battery capacity of notebooks as well.

Compiled applications run with the simulation speed, that was set during compilation.

While in RUN-mode all function are disabled, except the following:

The Button HI/LO enables the display of the pins and connections logical status. This is helpful for demonstration or debugging, but will cost valuable simulation time.

Activate the button SHOW PIN STATUS to see the status of each component pin. Small triangles at the component pins will indicate the pin status. Pin status HIGH (value>= 2.5) is indicated by a light green colour. Grey colour indicates pin status LOW (value<2.5). The pointing direction of the triangle indicates whether the pin is an input or an output. For inputs the triangle points into the component, for outputs the triangle points out of the component. This kind of status indication is much smoother than the HI/LO indication and is also very useful for hardware components. You can read the pin status directly, without mounting any displays to the front panel.

See also:

- Component configuration

- Front panel properties

- Front panel operation at run-time (RUN-mode)

- Front panel elements


The front panel

ProfiLab 4.0 ››

One of the most important features of ProfiLab is the front panel. The window contains all elements to control your application in RUN-mode , so it is like the 'face' of your circuit. Control elements like switches, display, LED etc. may be arranged on the front panel. You can not add or remove elements directly from the front panel, because every control element of the front panel must refer exactly to an element in the circuit diagram. So control elements will appear automatically on the front panel, when you use them within your circuit. If you move the mouse to a control element of the front panel in edit mode a small hint will be displayed that shows the component number the control element refers to. So you can identify each element even if you placed twenty LED to the circuit. The front panel offers additional function like labels, frames and bitmaps for individual and functional design .

See also:

- Edit functions for front panel design

- Front panel properties

- Front panel operation at run-time (RUN-mode)

- Front panel elements


Edit functions for front panel design

ProfiLab 4.0 ›› The front panel ››

Every element on the front panel will be created in the top and left corner of the window. You can select an element, and move it to the position you like. Click to an element to select it or draw a frame to select several elements. Click to an unused area of the front panel to deselect all elements.

Selected elements are marked with 8 black squares, the so-called sizer. The size of some elements may be changed. If you move the mouse to a sizer the mouse cursor will change to double arrow. Adjust size holding the left mouse button down.

If you have to select more than one element, hold down the SHIFT key on your keyboard, and then click to other elements, to add them to the selection. You may also draw a frame to select elements. All elements that cross the frame will be added to the selection.

A grid may be activated to make positioning easier. The grid is adjustable from 4 to 32 pixels using the toolbar on bottom of the front panel. Click the GRID button to enable/disable the grid capture. To turn of the capture temporary, hold the CTRL-key on your keyboard down. Press the button V from the front panel's toolbar to switch the grid visible/invisible. The grid colour is adjustable. The arrow buttons (toolbar or keyboard) are helpful to move selected objects in steps of one pixel. On keyboard you will have to hold the ALT-key down additionally.

Buttons allow you to adjust selected elements in horizontal or vertical direction among each other. Click on one of these buttons to adjust the selected elements in the corresponding direction. If only one object is selected, adjustment is made relative to the grid.

Usually move and size operations are performed in steps of +/- the grid size. If you want these operations to force objects on the grid instead, hold the SHIFT-key down during operation.

Additional functions are available from the front panel's popup menu . Press the right mouse button on the front panel to reach the following options:

Properties

Use this entry to adjust properties like colour, shape, scale etc. of an object. You can also double click an element to open its property dialog.

Frame and background

ProfiLab allows individual frames and backgrounds for each front panel element.

Therefore call the corresponding menu item from the popup menu.

The frame consists of an inner and outer border, which may appear RAISED or LOWERED. FRAME WIDTH is the distance between both borders. Frame colour and background colour can either be set individually or match with the current front panel colour. If TRANSPARENT is activated, frame and background are not painted.

To front / to back

These functions may be performed on overlapping objects to determine the z-order of each object.

New objects are created on top of existing objects. If you create a new frame for instance, it will appear on top of other objects. In that case you should select the frame and call SEND TO BACK from the popup menu.

Add label

This function creates a new label on the front panel. Call the labels property dialog to enter/edit the text.

Add shape

Shapes are coloured objects like circles, rectangles etc., used for the front panel's design.

Add frame

This function adds new (sub-) panels to the front panel. They are helpful to group control elements optical.

Add bitmap

You may add bitmaps to the front panel, to improve the panel's design. Double click the bitmap object or call PROPERTIES from the popup menu, to load a bitmap from a file (*.BMP)

Add Scale

Scales are helpful to label other objects like LED-bars.

Delete

Only graphic elements like labels, shapes, and panel's etc. can be removed from the front panel. Control elements that refer to the circuit can not be deleted from the front panel. In that case delete the element from the circuit diagram.

Some additional functions concerning the front panel are available from the FRONT PANEL item of the main menu.

Duplicate

This function refers only to graphic elements as well. Use this function to create exact duplicates of existing graphic elements. You can then modify properties for the new element, but you do not have to adjust all properties again.

Move to front panel...

Building large projects you may wish to create additional front panels, to have the opportunity to arrange the controls more clearly. In that case you can select some of your controls and move them to another front panel. For the selected controls you can choose NEW FRONT PANEL. In that case a new front panel is created and the selected elements are moved to the new front panel. Each existing front panel has its own entry in the popup menu. So you can easily move selected elements from one front panel to another as well.

If more than one front panel exists in your project, a selection appears on top of the front panel, that allows you to select one front panel as active (visible) in the front panel window. Therefore click to the corresponding entry of the front panel selection.

The front panel selection has its own local popup menue (right mouse button), offering the following functions:

All functions refer only to the active (visible) front panel.

Move left/right

These functions move the the entries in the front panel selection in the selected direction.

Add new front panel...

This function adds a new empty front panel to the project and is also available from the main menu.

Delete front panel

Select this function for front panel that are no longer needed. A front panel can not be deleted, as long as there are elements on it. So you have to empty the front panel, before you delete it. To empty a front panel move all objects to another front panel or delete the elements.

Also the main menue offers functions that refer to the front panel:

Show front panel

The front panel will often be hidden from the main window. To make it easy to bring the front panel back to front, the item SHOW FRONT PANEL was added to the main menu. You may also press F12 or the button from the vertical tool with the same result.

Add new front panel...

This function adds a new empty front panel to the project.

See also:

- Front panel properties

- Front panel operation at run-time (RUN-mode)

- Front panel elements


Front panel properties

ProfiLab 4.0 ›› The front panel ››

There are several options available for the front panel setup. Open the property dialog with a click on the button FRONT PANEL PROPERTIES.

You can select the corresponding entry in the main menue as well. All options in the front panel dialog refer to all front panels that exist in your project.

Remember last setting

With this option selected all "mechanic" settings, like positions of switches and potentiometers, are saved automatically, when the project is stopped.

When the project is restarted later, all controls are in the same position, in which you left them. This option overwrites the default settings you have made in the component properties.

Small caption

With this option selected, the front panel shows up with a small caption without icon.

Colour

A click in the colour box allows you to change the background colour. All control elements were designed and optimised for light backgrounds, so we recommend using light colours for the front panel.

Icon

With a click on this button you can open and load an icon file (*.ICO) to use an other icon than the ProfiLab icon. The icon does not appear in the caption if the option Small caption is selected.

The front panel can be equipped with additional functions, that are available at run-time of a project (RUN-mode). The selected functions will appear as buttons in a toolbar in the top of the front panel window. The available options:

Load setting

This functions allows to load previously saved front panel settings (switch poitions, etc.) at run-time. Settings are save to files with the extension (*.EST). The setting file will be checked automatically before it is loaded. If the saved setting does not match with the control elements on the front panel a warning will be given, to avoid unexpected settings.

Save setting

With this function the current settings of front panel controls (switch positions, etc.) can be saved to a setting file (*.EST).

Configuration: Hardware

This function allows to alter basic hardware configuration at run-time. For example you can enter new COM-ports for multimeters, port addresses for I/O-cards or device IDs for USB devices.

Configuration: Front panel

With this option selected, the user is allowed to edit front panel properties at run-time.

Configuration: Application

With this options selected, the user is able to access the list of configurable components at run-time and to apply changes.

Hints on/off

Short hints can be assigned to each front panel control in the property dialogue of the element. The hints are displayed at run-time if the mouse is moved over a front panel control. With this option selected the hints are displayed, otherwise they are not.

Print front panel

Select this option to enable the print function for the front panel at run-time.

Copy front panel to clipboard

With this option enabled, the user can make a screenshot of the front panel at run-time. A picture of the front panel can then be pasted to other applications.

Show help document

This option makes it possible to equip the front panel with your its own help document. The user can open the document at run-time, if this option is checked. The directory and filename of the document must be entered to the edit box which is combined with this option.

Front panel sizeable

Select this option to allow changes to the front panel size at run-time.

Depending on the options that are checked, a toolbar will show more or less buttons at run-time (RUN-mode) on top of the front panel.

WebServer

The ProfiLab-WebServer is available as an option. If no WebServer function are needed set PUBLISHED to NEVER.

See also:

- Edit functions for front panel design

- Front panel operation at run-time (RUN-mode)

- Front panel elements


Front panel operation at run-time (RUN-m

ProfiLab 4.0 ›› The front panel ››

At run-time the front panel controls can be controlled with mouse clicks or mouse moves, or you can use the mousewheel and the keyboard to operate the front panel.

For example a simple click manipulates switches and push buttons, the mousewheel changes potentiometer positions and numeric values can be entered with the keyboard.

To make mousewheel control and keyboard control possible, one of the front panel controls needs to be focussed. This means that only one element can react on the mouse or on the keyboard at a certain time. The focussed element is marked with a small red arrow. A click on an element activates the focus automatically for this element, but you can also use the keyboard to switch the focus from one element to another. Use the TAB key and the SHIFT-TAB key to focus the next or the previous control.

The focussed element can then be controlled by the mouse wheel or by the keyboard:

Move the mouse wheel upwards or press the PAGE-UP key to switch an element ON or to increase its value.

Move the mouse wheel downwards or press the PAGE-DOWN key to switch an element OFF or to decrease its value.

The POS1 key sets the value of an element to maximum.

The END key sets the value of an element to minimum.

The SPACE BAR is equivalent with a mouse click.

The front panel selection for projects with more than one front panel can be focussed and can be manipulated by the keyboards as well.

Depending on the configured front panel options, additional functions are available in the toolbar of the front panel:

Load setting (F3)

Save setting (F2)

Configuration: Hardware (F6)

Configuration: Front panel (F7)

Configuration: Application

Hints on/off (F8)

Print front panel (F5)

Copy front panel to clipboard (F4)

Configuration: Application

Show help document (F1)

These functions are explained in chapter FRONT PANEL PROPERTIES .

To allow changes of the size of the front panel, enable the option FRONT PANEL SIZEABLE in the property dialogue of the front panel.

See also:

- Edit functions for front panel design

- Front panel properties

- Front panel elements

- RUN-mode and EDIT-mode


Front panel elements

ProfiLab 4.0 ›› The front panel ››

Front panel elements appear in the circuit as well as on the front panel . Front panel elements can be seen as interface between the circuit and the user. Switches and lamps belong to this category, but also more complex elements like plotters, etc. The symbols of front panel elements have a blue-gray colour in the circuit. Each circuit symbol corresponds with exacly one control element of the front panel.

Most of all front panel elements on the front panel offer a property dialog, which can be opened from the components popup menue in EDIT mode (right mouse button on the front panel), so you can influence the design, the colour and other things.

Some of these elements even allow to change properties in RUN-mode . Therefore activate the option EDITABLE AT RUN-TIME in the property dialogue of the component.

Many control element can be equipped with so called hotkeys . So it is easy to add keyboard control, or automate actions with hotkey components.

Each front panel element has a property HINT, so you can enter a short text to explain the components function. The hint is displayed when the mouse is moved over the component at run-time. Therefore the option SHOW HINTS has to enabled in the property dialogue of the front panel .

See also:

- Clocks

- Hotkeys

- Front panel elements


Component basics

ProfiLab 4.0 ››

Most of the components have adjustable properties. A double click to a component opens the property dialog, or you select PROPERTIES from the popup menus.

While the option SHOW COMPONENT HINTS is activated, basic component information is shown, when the mouse is moved over a component in standard edit mode.

Inputs and Outputs

Depending on the component function each component offers a variable number of inputs and outputs (Pins). A component that is added to the circuit has inputs on the left side of the component and the outputs are on the right side of the component.

(The only exception are macros, where the internal function determines inputs an outputs.)

INPUTS hand over values from the circuit to the component.

OUTPUTS deliver values from the component for the circuit.

It is also very important to distinguish between:

Digital inputs and outputs

Analogue inputs and outputs

Inputs and outputs for alphanumeric strings

Digital pins can only represent two states: ON or OFF.

The ON status is often also called HIGH, TRUE or "1" and is mostly represented by a voltage of 5V. The OFF status is often also called LOW, FALSE or "0" and is mostly represented by a voltage of 0V. In ProfiLab digital outputs use a numeric value of 5 to indicate ON status, while a numeric value of 0 represent the OFF status. Digital inputs with values of 2.5 or higher are interpreted as HIGH, while lower values mean LOW. A signal transition from HIGH to LOW is called a falling edge. A signal transition from LOW to HIGH is called a rising edge.

Analogue pins have any numeric value.

String pins ($) can process alphanumeric characters, like "A”, "Hello World”, "12E+13”, and so on. These pins are indicated with a leading "$” in their name. Even if string connections seem to be very different from numeric and digital pins, you can combine and connect them freely, if you make yourself clear what happens in that case.

Input A | Input B | BASIC equivalent
$A (String) | $B (String) | Let B$=A$;
$A (String) | B (Digital) | If val(A$)>2.5 then B=true else B=false If A$="True" then B=true If A$="False" then B=false
$A (String) | B (Analogue) | B=Val(A$)
A (Analogue) | $B (String) | B$=Str$(A)
A (Digital) | $B (String) | If A=0 then B$="0" If A=5 then B$="5"

This "intuitive data type conversion” is easy to understand, and delivers the expected result in most cases automatically:

Case 1: $Output leading to $Input:

- In this case the unchanged string is handed over from the output to the input.

Case 2: $Output leading to digital input:

- First of all the string is converted to a numerical value.

- In case of error (e.g. $A="ABCD") this value becomes 0.

- Values greater than 2.5 are converted to TRUE (=HIGH=5).

- Values lower than 2.5 are converted to FALSE (=LOW=0).

Two special cases are considered:

- In case output string is "True" the input as well becomes TRUE (=HIGH=5).

- In case output string is "False” the input as well becomes FALSE (=LOW=0).

Case 3: $Output leading to analogue input:

- The string is converted to a numerical value.

- In case of error (e.g. $A="ABCD") this value becomes 0.

Case 4: Analogue output leading to $Input:

- The analogue value is converted to an unformatted string (e.g. "-1.234E+12")

Case 5: Digital output leading to $Input:

- With HIGH from the logical output, the input receives the character "5"

- With LOW from the logical output, the input receives the character "0"

Connections

Usually an output has to be connected to one ore more inputs to build a circuit with the desired function.

With version 3.0 projects can even be started, if two or more outputs of components are connected. (In reality this is only allowed for special components, such with open-collector or tri-state outputs!).The software will treat these outputs as a so-called "wired-or" connection. In case that one of these connected outputs is HIGH (5V, logical "1"), all other connected outputs will be treated as HIGH, even if you would expect a LOW from the component function. The other way round we can say that all connected outputs have to be LOW to force the connection to LOW status.

This technology is usually used for bus sytems, where several outputs are connected to a so-called bus line. A control signal (CS=chip select) selects one of the outputs and connects it to the bus. ProfiLab offers a digital bus driver component with CS. We do not recommend using wired-or connections for normal logic circuits, because this could become very confusing.

Even outputs of analogue component outputs can be connected (i.e. two potentiometers, etc). In that case the values of the connected outputs are summed. Connecting digital with analogue outputs is possible, but will not lead to meaningful or reliable results. See description for each component to find out whether a component output is digital or analogue.

The comments above only refer to component outputs. Inputs can be wired in any way you like.

Flip components

Components can be flipped, which means that outputs appear on the left side and inputs appear on the right side of the component. This feature is available from the popup menu.

Pin inversion

The default edit mode allows you to INVERT certain input and output pins of each component. For logical, digital pins the logical function of the pin is inverted. For analogue pins the sign of the value is inverted. To invert a pin, move the cursor to a component pin, near to the position where the pin leads to the component (casing). The mouse cursor will now be displayed as a small circle with the inscription "INV". A click to this position inverts the component pin function. Another click will undo the inversion.

A description for each component and its pins is available from the help file and the corresponding topic can be called directly from the popup menue of the component!

See also:

- The component library


The component library

ProfiLab 4.0 ››

The library offers a huge number of components that can be combined to complex applications. The library is organised in groups. This chapter will give you information for each group and component.

Basically we can distinguish between four types of components:

Front panel elements appear in the circuit as well as on the front panel. Front panel elements can be seen as interface between the circuit and the user.

Normal components only appear in the circuit. They carry out any kind of calculation with the input values and return the result at the outputs to the circuit.

Hardware components transmit their input values to the hardware device and make received values from the hardware device available for the circuit at their outputs.

Macros are a combination of all kinds of components.

See also:

- Component basics


Adding components from the library

ProfiLab 4.0 ›› The component library ››

All you have to do, to realise an application with ProfiLab, is to enter the circuit diagram of the project, using the components from the library and connect them correctly. You find the library on the left of the main window. The library consists of several pages that can be selected, using the page selector on top of the library. Some pages may contain too many components to fit the screen. In that case use the scrollbar on the right of the library.

Text only

Use this option to disable graphic display of components and to minimize the height of the library. The boarder line between component library and the circuit can be moved with the mouse.

Simply click to one of the components to add parts to your circuitry. The mouse cursor will change to a hand and will be captured to the circuit area. The selected component sticks to the cursor and you can place it anywhere on the circuit diagram. Release the component with a single click at its destination. Done! You can cancel the process, using the right mouse button.

Every component in the circuit has a name and an unique identifier. The identifier is used for the components list and as reference to the corresponding control element on the front panel.

Quick find...

This function is available on bottom of the library. It is made for users that already have some experience with ProfiLab. The function searches components in the library, depending on their names. Enter a search text to the edit field to fill the hit list above. As soon as the wanted component appears in the hit list, you can double click an entry to add it to your project.

See also:

- Front panel operation at run-time (RUN-mode)

- The front panel

- Component basics


Component configuration

ProfiLab 4.0 ›› The component library ››

Many components have adjustable properties, like threshold, duration, etc., that can be set in the component property dialogue, available from the local popup menu .

The properties can also be set, using the APPLICATION item of the CONFIGURATION menu. This will show a object tree view with all adjustable components in it. With a double click on an entry, you can open a dialogue to modify the component parameters.

In some cases you may which to enable the user of your project to set some parameters at run-time or after compilation . For that purpose, the configuration tree view, can also be activated from the front panel . Therefore CONFIGURATION:APPLICATION needs to be selected in the front panel properties .

If the user pushes the button [image] at run-time, he will see the configuration tree view as well, but only such components will appear in the list, that have the RUN-TIME EDITABLE option selected in their property dialogue. To indicate at design time, which components are run-time editable and which are not, run-time editable components appear with green font, while others appear in black.

Example: Imagine a trigger component in your project, that supervises a water level. The threshold is set to 1 (Water level 1m) for example. The threshold needs to be modified at run-time to fit to the customers needs. In that case you activate the RUN-TIME EDITABLE flag of the trigger component. Also enter a name like "WATER LEVEL [m]” for the component to indicate the component purpose. Make sure that the CONFIGURATION: APPLICATION option is set in the front panel properties , so the user can call the configuration dialogue from the front panel. It is recommended activating REMEBER LAST SETTING as well, so that user settings are saved, when the application is terminated.


Front panel elements

ProfiLab 4.0 ›› The component library ››

Front panel elements appear in the circuit as well as on the front panel . Front panel elements can be seen as interface between the circuit and the user. Switches and lamps belong to this category, but also more complex elements like plotters, etc. The symbols of front panel elements have a blue-gray colour in the circuit. Each circuit symbol corresponds with exacly one control element of the front panel.

Most of all front panel elements on the front panel offer a property dialog, which can be opened from the components popup menue in EDIT mode (right mouse button on the front panel), so you can influence the design, the colour and other things.

Some of these elements even allow to change properties in RUN-mode . Therefore activate the option EDITABLE AT RUN-TIME in the property dialogue of the component.

Many control element can be equipped with so called hotkeys . So it is easy to add keyboard control, or automate actions with hotkey components.

Each front panel element has a property HINT, so you can enter a short text to explain the components function. The hint is displayed when the mouse is moved over the component at run-time. Therefore the option SHOW HINTS has to enabled in the property dialogue of the front panel .

See also:

- Clocks

- Hotkeys

- Front panel elements


Hotkeys

ProfiLab 4.0 ›› The component library ›› Front panel elements ››

Hotkeys allow the user to control front panel elements like potentiometers, switches, etc. using the PC keyboard. Hotkeys are defined in the components property dialogue. This means to assign a component action (e.g. switch, toggle, ...) to a certain keyboard key. The available actions depend on the front panel element and are listed in the components description.

The following keys can be defined as hotkeys:

<0>, <1>...<9>, <A>...<Z>, <SPACE> at alphanumeric keyboard.

These keys can be combined with the control keys <SHIFT>, <ALT> and <CTRL>, so that the user need to hold down this combination, before the action is triggered lets say with key <A>.

The key messages are send to ALL front panel controls, no matter whether a control is focused or not. Even invisible controls (such as on a front panels in background) will react, when a hotkey is pressed. This makes it possible to assign several actions to a single hotkey. For example you could define a hotkey <ALT+M> that bring all potentiometer to middle position.

Usually you will trigger hotkeys with the PC keyboard, but you can even use the SEND HOTKEY component for that purpose. This makes it possible to trigger front panel actions from your circuit. A RECEIVE HOTKEY component is available as well. This is used to indicate keyboard hotkey events directly to your circuit.

Caution: Improper use of these components can lead to message loops. This means triggering events recursively can crash your application.

See also:

- Component basics

- Front panel elements

- Send hotkey

- Receive hotkey


Display

ProfiLab 4.0 ›› The component library ›› Front panel elements ››


LED

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Display ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The LED is turned on, when input level is HIGH.

Colour, Shape and Size are adjustable on the front panel.

PIN | Function | Pin type
- | H=ON / L=OFF | Digital input

PIN | Function | Pin type
S | Sense mouse over LED | Digital output
L | Left mouse button pressed | Digital output
R | Right mouse button pressed | Digital output

See also:

- Component basics

- Front panel elements


DUO-LED

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Display ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The inputs L1 and L2 select one of three adjustable colours.

L1=LOW and L2=LOW turn the LED off.

PIN | Function | Pin type
L1...L2 | Select colour | Digital inputs

See also:

- Component basics

- Front panel elements


RGB LED

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Display ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

A front panel element that indicates its input state on the front panel. Changes to shape and size can be made on the front panel. The LED colour is controlled with the inputs R (Red), G (Green) and B (Blue). The colour is the additive mixed colour of these three colour portions. The input range for each input is from 0 ( = 0% colour potion) to 5 ( = 100% colour portion). This allows control with analogue and digital input signals as well.

PIN | Function | Pin type
R,G,B | Colour (0..5) | Analogue inputs

See also:

- Component basics

- Front panel elements


Plastic lamp

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Display ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Signal lamp with several colours and shapes. Brightness depends on control voltage.

Voltage: 0 = OFF

Voltage: Lamp rating (+/-) = 100% brightness.

PIN | Function | Pin type
- | Control voltage | Analogue input

See also:

- Component basics

- Front panel elements


LED-Bar

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Display ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Designed to display analogue values. Amplitude depending on the input value.

Adjustable range, colour, size etc. on the front panel.

PIN | Function | Pin type
- | Control voltage | Analogue input

See also:

- Component basics

- Front panel elements


Luminous row

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Display ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Designed to display analogue values. Amplitude depending on the input value.

Adjustable range, colour, size etc. on the front panel.

PIN | Function | Pin type
- | Control voltage | Analogue input

See also:

- Component basics

- Front panel elements


Counter

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Display ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

A falling edge on the UP-input increases the counter. A falling edge on the DN-input decreases it. A LOW status at the reset pin /RST sets the counter to its default value. The current count is available from the analogue output of the component. Size, number of figures and default value is adjustable on the front panel.

PIN | Function | Pin type
UP | Count up | Digital input
DN | Count down | Digital input
RST | Reset | Digital input

PIN | Function | Pin type
Z | Count | Analogue output

Hotkey actions

Action | Function
NUL | Reset to zero
RST | Reset to default
INC | Increase counter
DEC | Decrease counter

See also:

- Component basics

- Front panel elements

- Hotkeys


Meter

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Display ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

A meter for analogue values. Adjustable size, colours, characteristics and range on the front panel.

PIN | Function | Pin type
- | Value | Analogue input

See also:

- Component basics

- Front panel elements


Table

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Display ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

A table stores analogue values that are delivered from up to 64 channel inputs (columns). A falling edge on the ADD input adds a new row and stores the values on the inputs E1...E64. A LOW level at the reset input /RST clears the table. The capacity is up to 16000 values per channel. Colours and units are adjustable on the front panel.

At run-time the table offer a local popup menu (right mouse button). Use EXPORT to save the contents to a text file. The format uses semicolons between fields. The file is suitable for use with other applications like MS-EXCELL. COPY copies the table contents to the Windows clipboard. The CREATE item makes it most convenient to take over data to MS-Word, MS-Excel or a new text document. ProfiLab will start the selected application automatically and puts data to a new document. Template files for MS-Word and MS-Excel can be defined for this function in the property dialogue.

Table data is deleted as soon as the ProfiLab application is terminated.

PIN | Function | Pin type
E1..En | Input channels | Analogue inputs
Add | Record vale | Digital input
RST | Empty table | Digital input

Hotkey actions

Action | Function
ADD | Add measured values
RST | Clear table
CPY | Copy to clipboard
XLS | Paste to MS-Excel
DOC | Paste to MS-Excel
TXT | Paste to new text document

See also:

- Component basics

- Front panel elements

- Hotkeys


Slide projector

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Display ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This component displays pictures on the front panel. The analogue value at the input represents the index of a picture list (slide tray) and determines which picture of the list is displayed. While the input value is <1 the slide projector is off and nothing is displayed. Input value>=1 shows the first picture of the list, input value>=2 shows the second picture of the list, and so on. If the input value exceeds the number of pictures that are present in the list, the last available picture in the list will be displayed.

In EDIT mode the slide projector is displayed as a rectangle with an dashed outline on the front panel. A double click open the picture list. A dialogue allows you to add or remove picture to/from the list, or to move pictures within the list. The following picture formats can be loaded: BPM, GIF (even animated GIFs!), ICO, WMF, EMF.

PIN | Function | Pin type
- | Picture selection | Analogue input

See also:

- Component basics

- Front panel elements


Numeric display

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Display ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Displays the analogue value on its input pin. Adjustable format, size, font and colour on the front panel. If the input value exceeds the display range >>>>>> characters appear in the display.

If the AUTORANGE option is checked, the display will display the value with prefixes to the given unit:

Pico (p) | 1E-12
Nano (n) | 1E-09
Micro (µ) | 1E-06
Milli (m) | 1E-03
Kilo (k) | 1E03
Mega (M) | 1E06
Giga (G) | 1E09
Terra (T) | 1E012

For example an input value of 0,012 (V) will be converted to 12 m (V). Enter only the basic unit for the value. The prefix will be generated automatically.

PIN | Function | Pin type
- | Control voltage | Analogue input

See also:

- Component basics

- Front panel elements


Text display

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Display ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Displays up to 16 different text constants. The binary inputs E0...E3 select one of 16 ($0F) possible text constants. Size, Font and Colour are adjustable on the front panel.

PIN | Function | Pin type
E0...E3 | Text selection | Digital inputs

See also:

- Component basics

- Front panel elements


HEX display

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Display ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Displays hexadecimal values from $00 to $0F depending on the four binary inputs E0...E3. Adjustable colour on the front panel.

PIN | Function | Pin type
E0...E3 | Text selection | Digital inputs

See also:

- Component basics

- Front panel elements


$Display

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Display ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This component displays the alphanumeric string from the input $.

Size, Colours and font are adjustable.

PIN | Function | Pin type
$ | alphanumeric string | String input

See also:

- Component basics

- Front panel elements


LED display

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Display ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Displays the analogue value from its input pin. Size, Colours and font are adjustable. The colour is controlled with the inputs R (Red), G (Green) and B (Blue). The colour is the additive mixed colour of these three colour portions. The input range for each input is from 0 ( = 0% colour potion) to 5 ( = 100% colour portion). This allows control with analogue and digital input signals as well. The digital enable input EN can be use to switch the display on/off.

If the AUTORANGE option is checked, the display will display the value with prefixes to the given unit:

Pico (p) = 1E-12

Nano (n) = 1E-09

Micro (µ) = 1E-06

Milli (m) = 1E-03

Kilo (k) = 1E03

Mega (M) = 1E06

Giga (G) = 1E09

Terra (T) = 1E012

For example an input value of 0,012 (V) will be converted to 12 m (V). Enter only the basic unit for the value. The prefix will be generated automatically.

PIN | Function | Pin type
IN | Measured value | Analogue input
R,G,B | Colour (0..5) | Analogue inputs
EN | Enable (On/Off) | Digital input

See also:

- Component basics

- Front panel elements


ASCII-Display

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Display ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This component displays ASCII text on the front panel. For example you could read ASCII characters from a textfile or from a serial port. The characters are written character by character into to display, using the 8-bit input register D (D0..D7). A rising edge at input CLK reads the D register and displays the read character. A LOW level at the input CLR will empty the display. You can also write ASCII-character $12 to the display to empty it.

ASCII-character $0D creates a new line. The display can store up to 500 lines. If you add more than 500 lines, the first lines will be deleted. Use the scrollbar on the right, to scroll through the lines.

PIN | Function | Pin type
D0..D7 | ASCII character | Digital inputs
CLK | Clock | Digital input
CLR | Empty display | Digital input

See also:

- Component basics

- Front panel elements


7 segment display

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Display ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

A HIGH level at the control inputs a...g turns the corresponding segment on. Colour is adjustable on the front panel. The arrangement of the segment is shown on the circuit symbol. The 7-segment driver component simplifies the control of this component.

PIN | Function | Pin type
a...g | Segments on/off | Digital inputs

See also:

- Component basics

- Front panel elements

- 7-segment driver


Media player

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Display ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This component allows controlled playback of media files, such as sound, video, midi, etc.

The media file is defined in the component properties. A falling edge at the digital control inputs RUN, STOP and RESET triggers the corresponding action. RUN starts the playback, STOP pauses the playback. RESET sets the playback position to start position.

The analogue control input POS determines the start position in percent of the media length. POS=0 is the very first position of the file, POS=100 is the end of the media.

The actual playback position can be read from the POS output the same way.

Inputs

PIN | Function | Pin type
/RUN | Start playback | Digital input
/STP | Stop playback | Digital input
/RST | Locate start position | Digital input
POS | Start position (0..100%) | Analogue input

Outputs

PIN | Function | Pin type
POS | Actual position (0..100%) | Analogue output

See also:

- Component basics

- Front panel elements


Browser

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Display ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This component creates an Internet browser window on the front panel. The browser can be controlled with the circuit component. The main control input is the $URL input. Supply a valid Internet address (URL) to this input. The browser will show the webpage as soon as the URL input changes. As the user can surf away from this, the page can be recalled with a falling edge at /NAV (navigate) input. /RFR refreshes the current page. /BCK and /FWD step back or forward through the surf history. /HME calls the home URL configured in component properties on front panel. All digital control inputs react on falling signal edge.

Three output deliver browser information. /BSY is high while the browser is busy loading a page. $URL output deliveres the current URL the user surfed to. $NME is the location name surfed to. The browser automatically recalls the last page visited, when an application restarts.

The components is based on Windows Internet-Explorer, which needs to be installed to use this component.

Inputs

PIN | Function | Pin type
$URL | URL called with change of string | String input
/RFR | Refresh current page | Digital input
/NAV | Navigates back to $URL | Digital input
/FWD | Forward | Digital input
/BCK | Back | Digital input
/HME | Home | Digital input

Outputs

PIN | Function | Pin type
$URL | Current location URL | String output
$NME | Current location friendly name | String output
/BSY | Busy high while loading page | Digital output

See also:

- Component basics

- Front panel elements


Analogue controls

ProfiLab 4.0 ›› The component library ›› Front panel elements ››


Adjustor, analogue (Potientiometer)

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Analogue controls ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The analogue value at the component output represents the potentiometer position. To adjust the potentiometer at run-time, click to the knob and hold the mouse down. Moving the mouse right/up will increase the position, moving the mouse left/down will decrease the position, until the mouse button is released.

Adjustable properties are range, resolution, colour and characteristic of the potentiometer, as well as the default position, when the project is started. Properties are adjustable on the front panel.

PIN | Function | Pin type
. | Value | Analogue output

Hotkey actions

Action | Function
MIN | Minimum position
MAX | Maximum position
CTR | Centre position
RST | Reset
INC | Increase position
DEC | Decrease position

See also:

- Component basics

- Front panel operation at run-time (RUN-mode)

- Front panel properties

- Front panel elements

- Hotkeys


Adjustor, analogue (Slider)

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Analogue controls ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The analogue value at the component output represents the slider position. To adjust the slider at run-time, click to the knob and hold the mouse down. Moving the mouse right/up will increase the position, moving the mouse left/down will decrease the position, until the mouse button is released.

Adjustable properties are colour and orientation of the slider, as well as the default position, when project is started. Properties are adjustable on the front panel.

PIN | Function | Pin type
. | Value | Analogue output

Hotkey actions

Action | Function
MIN | Minimum position
MAX | Maximum position
CTR | Centre position
RST | Reset
INC | Increase position
DEC | Decrease position

See also:

- Component basics

- Front panel operation at run-time (RUN-mode)

- Front panel properties

- Front panel elements

- Hotkeys


Numeric input

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Analogue controls ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Use this component to enter numeric values with the keyboard directly. Colour, size and default value are adjustable properties. At run-time you can enter a numeric value to the control. Click on the component on the front panel and enter a value. The display will become black and white, until you press the enter-key (right from the display or on the keyboard). The display will show to the adjusted colours again, indicating that the value is set to the component's output.

PIN | Function | Pin type
. | Value | Analogue output

Hotkey actions

Action | Function
NUL | Input = 0
RST | Reset

See also:

- Component basics

- Front panel operation at run-time (RUN-mode)

- Front panel properties

- Front panel elements

- Hotkeys


Switch/Push button (2 inputs)

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Analogue controls ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This switch offers two analogue inputs, where one of them is connected to the analogue output, depending on the switch position. Adjustable properties of the switch are colours and different styles and you may choose a default status at the front panel. Default status is set, when the project is started.

PIN | Function | Pin type
E0 | Signal 0 | Analogue input
E1 | Signal 1 | Analogue input

PIN | Function | Pin type
. | Signal 0/1 | Analogue output

Hotkey actions (Switch)

Action | Function
TOG | Toggle
ON | ON
OFF | OFF
RST | RESET

Hotkey actions (Push button)

Action | Function
CLK | Push

See also:

- Component basics

- Front panel operation at run-time (RUN-mode)

- Front panel properties

- Front panel elements

- Switch/Push button (2 outputs)

- Hotkeys


Switch/Push button (2 outputs)

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Analogue controls ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This switch has an analogue input that is connected to one of its outputs (A0, A1), depending on the switch position. Adjustable properties of the switch are colours and different styles and you may choose a default status at the front panel. Default status is set, when the project is started.

PIN | Function | Pin type
- | Input | Analogue input

PIN | Function | Pin type
A0,A1 | Outputs | Analogue outputs

Hotkey actions (Switch)

Action | Function
TOG | Toggle
ON | ON
OFF | OFF
RST | RESET

Hotkey actions (Push button)

Action | Function
CLK | Push

See also:

- Component basics

- Front panel operation at run-time (RUN-mode)

- Front panel properties

- Front panel elements

- Switch/Push button (2 inputs)

- Hotkeys


Joystick

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Analogue controls ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

A virtual front panel control for x/y positioning. The actual position is represented at outputs X and Y (+/- 100%). Digital output MOV is high, while the Joystick is moved with the mouse. The Joystick can be configured as self-resetting. Otherwise it will remain in its last position, after the mouse is released.

PIN | Function | Pin type
X | X position (-100..+100) | Analogue output
Y | Y position (-100..+100) | Analogue output
MOV | Move indicator | Digital output

Hotkey actions

Action | Function
NUL | Zero position
RST | Default position
N | Position North
NE | Position Northeast
E | Position East
SE | Position Southeast
S | Position South
SW | Position Southwest
W | Position West
NW | Position Northwest

See also:

- Component basics

- Front panel operation at run-time (RUN-mode)

- Front panel properties

- Front panel elements

- Hotkeys


$Edit

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Analogue controls ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

A Front panel control to enter alphanumeric strings. The edit appears in black/white while editing, until RETURN is pressed. Input data is available at output $.

PIN | Function | Pin type
. | Alphanumeric string | String output

Hotkey actions

Action | Function
CLR | Clear input
RST | Reset

See also:

- Component basics

- Front panel operation at run-time (RUN-mode)

- Front panel properties

- Front panel elements

- Hotkeys


Digital controls

ProfiLab 4.0 ›› The component library ›› Front panel elements ››


Switch

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Digital controls ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The output delivers HIGH, while the switch is turned on at run-time.

Adjustable properties of the switch are colours and different styles and you may choose a default status at the front panel. Default status is set, when the project starts.

PIN | Function | Pin type
- | H=on / L=off | Digital output

Hotkey actions

Action | Function
TOG | Toggle
ON | ON
OFF | OFF
RST | RESET

See also:

- Component basics

- Front panel operation at run-time (RUN-mode)

- Front panel properties

- Front panel elements

- Hotkeys


Push button

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Digital controls ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The output delivers HIGH when the push button is pressed and will it return to LOW when the button is released. Adjustable properties of the switch are colours and different styles.

PIN | Function | Pin type
- | H=on / L=off | Digital output

Hotkey actions

Action | Function
CLK | Push

See also:

- Component basics

- Front panel operation at run-time (RUN-mode)

- Front panel properties

- Front panel elements

- Hotkeys


Potentiometer, digital

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Digital controls ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The potentiometers position is converted to a byte (0...255). The position is available from the binary outputs A0...A7 (8 bit). To adjust the potentiometer at run-time, click to the knob and hold the mouse down. Moving the mouse right/up will increase the position, moving the mouse left/down will decrease the position, until the mouse button is released.

Adjustable properties are colour and characteristic of the potentiometer, as well as the default position, when the project is started. Properties are adjustable on the front panel.

PIN | Function | Pin type
A0...A7 | Binary $00..$FF | Digital outputs

Hotkey actions

Action | Function
MIN | Minimum position
MAX | Maximum position
CTR | Center position
RST | Reset
INC | Increase position
DEC | Decrease position

See also:

- Component basics

- Front panel operation at run-time (RUN-mode)

- Front panel properties

- Front panel elements

- Hotkeys


Slider, digital

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Digital controls ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The sliders position is converted to a byte (0...255). The position is available from the binary outputs A0...A7 (8 bit). To adjust the slider at run-time, click to the knob and hold the mouse down. Moving the mouse right/up will increase the position, moving the mouse left/down will decrease the position, until the mouse button is released.

Adjustable properties are colour and orientation of the slider, as well as the default position, when the project is started. Properties are adjustable on the front panel.

Make sure that the length of the slider is long enough to reach all 256 possible positions.

Otherwise the slider can not be adjusted to all 256 positions because of too less resolution.

PIN | Function | Pin type
A0...A7 | Binary $00..$FF | Digital outputs

Hotkey actions

Action | Function
MIN | Minimum position
MAX | Maximum position
CTR | Centre position
RST | Reset
INC | Increase position
DEC | Decrease position

See also:

- Component basics

- Front panel operation at run-time (RUN-mode)

- Front panel properties

- Front panel elements

- Hotkeys


HEX selector

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Digital controls ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

A hexadecimal value ($0...F) is adjustable using the +/- buttons. The displayed value is available from the binary outputs D0...D3 or as character ($). Colour is adjustable on the front panel.

PIN | Function | Pin type
D0...D3 | Binary $0..$F | Digital outputs
$ | Hex display character | String output

Hotkey actions

Action | Function
MIN | Minimum position
MAX | Maximum position
RST | Reset
INC | Increase position
DEC | Decrease position

See also:

- Component basics

- Front panel operation at run-time (RUN-mode)

- Front panel properties

- Front panel elements

- Hotkeys


HEX selection

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Digital controls ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This control allows to select a certain text entry from a list. The selected list index is represented as binary value at the outputs D0..Dn. The selected text entry is available at the String output $.

PIN | Function | Pin type
D0...Dn | Binary list index $00..$xx | Digital outputs
$ | Display string | String output

Hotkey actions

Action | Function
MIN | Minimum position
MAX | Maximum position
RST | Reset
INC | Increase position
DEC | Decrease position

See also:

- Component basics

- Front panel operation at run-time (RUN-mode)

- Front panel properties

- Front panel elements

- Hotkeys


ASCII-Input

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Digital controls ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Characters can be entered to this input field using the keyboard. The ASCII value of the last character entered, is available at the binary outputs D0..D7. The output CLK goes high, as long as a key is pressed. The users input is displayed in the input field. The input field can be emptied with a low level at input CLR.

PIN | Function | Pin type
D0..D7 | ASCII value | Digital output
CLK | Key pressed | Digital output

PIN | Function | Pin type
/CLR | Empty input field | Digital output

Hotkey actions

Action | Function
CLR | Clear input

See also:

- Component basics

- Front panel operation at run-time (RUN-mode)

- Front panel properties

- Front panel elements

- Hotkeys


Wheel

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Digital controls ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The wheel control is similar to a mouse wheel, that can be turned step by step without stop. Every step is indicated by a falling edge at output CLK, while U/D output signals the direction (up /down).

PIN | Function | Pin type
U/D | Up / down flag | Digital output
CLK | Clock | Digital output

Hotkey actions

Action | Function
INC | Increase
DEC | Decrease

See also:

- Component basics

- Front panel operation at run-time (RUN-mode)

- Front panel properties

- Front panel elements

- Hotkeys


Set list

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Digital controls ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Front panel settings can be saved to set files (*.EST). This component offers a fast and convenient way, to recall a previously saved setting. All available settings (files) are listed, and can be recalled with a simple click to a list entry. The selected list index is available at output i, its name is represented at the output $.

PIN | Function | Pin type
I | Selected index | Analogue output
$ | Selected index name | String output

Hotkey actions

Action | Function
MIN | First list entry
MAX | Last list entry
RST | Reset
INC | Next list entry
DEC | Preceding list entry

See also:

- Component basics

- Front panel operation at run-time (RUN-mode)

- Front panel properties

- Front panel elements

- Hotkeys


Plots

ProfiLab 4.0 ›› The component library ›› Front panel elements ››


Y(t)-plotter

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Plots ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

Up to four analogue channels (E1...E4) may be recorded. A falling edge at the RUN-input starts the recording. A falling edge at the STP-input stops the recording. The capacity is up to 16000 values per channel. Range, time base and units are adjustable on the front panel. A TIME WINDOW can be configured in units od seconds. A value of 60 [s] for example will cause the time axis to display exactly an interval of 1 minute in the plotter window. With TIME WINDOW=0 this function is disabled, and the time axis is scaled to 1 sample = 1 screen pixel. Enable the option SOFT SCROLLING the get smoother display while recording. If running on older systems it may be necessary to disable this option. SOFT SCROLLING has no effect, when a time window is configured.

When recording is started the values from the inputs E1...E4 are recorded in the interval that is set as time base. Pen colour and pen width can be set individually for each curve.

With AUTOZOOM selected, the plot will be stretched automatically to fit all recorded points to the diagram. In other case the plotter scrolls its range and adds new incoming data to the right end of the plot, while older data is moved out of the visible range.

In RUN-mode the device offers a popup menu (right mouse button) with several options.

These functions are also available from a small toolbar, that can be opened and closed with the small arrow button in the left corner on bottom of the plotter.

Available functions during recording:

Stop

Stops the recording.

Range

Opens a dialog to adjust time base and range. The recording will be restarted.

Clipboard

The graphics is copied to the clipboard. You can paste the graphic to almost all graphic-applications.

The following features are only available, while recording is stopped:

Zoom

Select a rectangle to adjust the zoom to a certain part of the plot. The selected part will appear magnified. Use ZOOM ALL to return. Use ZOOM RESET to set range and time window as configured in the property dialogue.

Scrolling

To scroll the plot, you need to move the mouse cursor to the horizontal or vertical scale.

The cursor will appear as an black double arrow. Hold down the left mouse button and move scale and diagram to the desired position. When you hold down the SHIFT key on the keyboard during this operation, you can easily adjust the zoom factor for this axis as well. In addition two buttons in the toolbar allow scrolling page by page.

Marking

Point of interest may be marked with a double click. The point description can be moved.

Start

Starts the recording.

Zoom all

Adjusts the zoom. All values will fit the graphic display.

Open

Loads a curve to the graphic display (*.GRF)

Save

Save the curves to a file (*.GRF)

Print

Opens a preview that allows to adjust position and scale of the printout.

Use the B&W option to improve printout on black & white printers. Press INSCRIPTION to add a headline and some comments to the printout.

Copy

Copies a bitmap of the plot to the Windows clipboard.

Export

The plot can be recorded automatically to an export file (*.GRF). The file name is configured in the property dialogue. Select OVERWRITE FILE to record the same file anytime the plotter is started. Previous recordings will be overwritten. In other case a new file will be created for each new recording, where time and date is added to the filename. Export files are recorded in the DATA directory of the ProfiLab installation.

Import

A previously recorded file (*.GRF) can be specified in the property dialogue. This file is loaded automatically when your application is started.

Playback

The playback option can be activated in the component properties. With this option activated the potter can playback previous recordings. Therefore the plotter offers additional control inputs in outputs. Playback can be started from the plotters toolbar or with a falling edge at control input /PLY. Data is output via the channel outputs O1..O4. As long as playback is stopped, these outputs are shortend to the channel inputs E1..E4. Status outputs PLY (Play) and REC (Record) indicate the current plotter status and go high while the plotter is in the corresponding state.

Inputs

PIN | Function | Pin type
REC | Start recording | Digital input
STP | Stop | Digital input
E1...E4 | Channel inputs | Analogue inputs
PLY (see Playback) | Start playback | Digital input

Outputs

PIN | Function | Pin type
O1...O4 (see Playback) | Channel outputs | Analogue outputs
REC (see Playback) | High during recording | Digital output
PLY (see Playback) | High during playback | Digital output

Hotkey actions

Action | Function
REC | Start recording
STP | Stop
PLY | Start playback
CPY | Copy to clipboard
PRT | Print
ZM+ | Zoom Y+
ZM- | Zoom Y-
ZMA | Zoom all
ZMR | Zoom reset
SC+ | Scroll to next page
SC- | Scroll to previous page
TB+ | Time base +
TB- | Time base -

See also:

- Component basics

- Front panel elements

- Hotkeys


XY-plotter

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Plots ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

Pairs of analogue values can be recorded from the Xin and Yin inputs. A new pair of values is recorded when a falling edge appears at the ADD-input. The device is designed for function plot only, which means that y-values will be replaced, if measured twice at the same x-position. A falling edge at input /RST clears the graph. Ranges are adjustable on the front panel.

To scroll the plot, you need to move the mouse cursor to the horizontal or vertical scale.

The cursor will appear as an black double arrow. Hold down the left mouse button and move scale and diagram to the desired position. When you hold down the SHIFT key on the keyboard during this operation, you can easily adjust the zoom factor for this axis as well.

In RUN-mode the device offers a popup menu (right mouse button) with several options:

Reset

Clears the graph.

Range

Allows to enter new values for x- and y-range.

Print

Opens a preview that allows to adjust position and scale of the printout.

Use the B&W option to improve printout on black & white printers. Press INSCRIPTION to add a headline and some comments to the printout.

Clipboard

The graphics is copied to the clipboard. You can paste the graphic to almost all graphic-applications.

Draw a frame around the area that has to be zoomed to see details. Select ZOOM ALL from the popup menu to reset the zoom factor. If you move the mouse to the border of the graphic the cursor will change to arrows, indicating that a click will cause the graphic to scroll.

If the recording is stopped you can set markers to significant points. Significant point of the curves can be marked with a double click. The coordinate of the point will be added to the graph. The text of the coordinate is moveable.

PIN | Function | Pin type
Xin | X value | Analogue input
Yin | Y value | Analogue input
Add | Record point | Digital input
/RST | Clear graph | Digital input

Hotkey actions

Action | Function
ADD | Add point
RST | Clear plot
CPY | Copy to clipboard

See also:

- Component basics

- Front panel elements

- Hotkeys


2-Channel-Scope

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Plots ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This component draws an oscillogram of the two input channels (A,B). The timebase is adjustable in RUN-mode on the front panel. Voltage range is adjustable for both channels independently. The following trigger options are available:

OFF: Continuously recording, immediately restart at the end

MAN: Manual by pressing the RECORD button

A: Triggered when value at channel A exceeds trigger level

B: Triggered when value at channel B exceeds trigger level

TRG: Triggered when value at input TRG exceeds trigger level

The trigger level and the trigger polarity for trigger options A,B and TRG are adjustable.

The PRINT button opens a preview that allows you to adjust position and scale of the printout. Use the B&W option to improve printout on black & white printers. Press INSCRIPTION to add a headline and some comments to the printout.

The ARROW button opens and closes the control panel of the device.

PIN | Function | Pin type
A | Channel A | Analogue input
B | Channel B | Analogue input
TRG | Trigger | Analogue input

Hotkey actions

Action | Function
A+ | Channel A sensitivity +
A- | Channel A sensitivity -
B+ | Channel B sensitivity +
B- | Channel B sensitivity -
T+ | Time base faster
T- | Time base slower
TGS | Toggle trigger source
TGD | Toggle trigger direction
TRG | Manual trigger
PRT | Print

See also:

- Component basics

- Front panel elements

- Hotkeys


Logic analyser

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Plots ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The logic analyser displays digital signals of up to eight channels (D0...D7).

The following trigger options available:

Manual: Record start with a click on the RECORD button

Loop: Continuously recording, restarted immediately et the end

External: Record starts with a edge of the signal at input EXT

Data 0..7: Record starts with a edge of one of the signals at inputs D0...D7

The device can be triggered with a falling or with a rising edge.

The recording speed (Timebase) can be adjusted as follows:

System clock:

This option offers maximum speed of sampling. The recording clock is taken from the simulation frequency. Sample rate may be adjusted between 1/1000 and MAX. This option is useful for almost all applications.

Time

With this option selected, the sample rate may adjusted from 0.05s and 5s. 100 samples are recorded, so whole recording time will be from 5 seconds to 8,3 minutes. Use this option to display slow processes.

EXT

If this option is selected a clock signal has to be connected to the analysers EXT input. A sample is taken from the data inputs, whenever a falling edge appears at the EXT input.

Double click on the channel labels to change the text of the labels. A double click on each channel allows you to change the colour of the channel. Hold the right mouse button down on the diagram to get a vertical line that simplifies reading the diagram.

The PRINT button opens a preview that allows you to adjust position and scale of the printout. Use the B&W option to improve printout on black & white printers. Press INSCRIPTION to add a headline and some comments to the printout.

PIN | Function | Pin type
A | Channel A | Analogue input
B | Channel B | Analogue input
TRG | Trigger | Analogue input

Hotkey actions

Action | Function
T+ | Time base faster
T- | Time base slower
SYS | System clock
TME | Timebase clock
EXT | External clock
TGD | Toggle trigger direction
TGS | Toggle trigger source
TRG | Manual trigger
PRT | Print

See also:

- Component basics

- Front panel elements

- Hotkeys


Pen plotter

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Plots ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component is similar to a real pen plotter, using a bitmap instead of a sheet of paper. Basically the component offers the X and Y inputs to move the pen along two axes. The pen up/down input (U/D) decides whether a line is drawn or not.

Analogue RGB inputs (0..5V = 0..100% RGB) control the pen colour. Digital control of these inputs give the following colours:

RGB Colour

000 black

100 red

010 green

110 yellow

001 blue

101 magenta

011 cyan

111 white

Analogue control of these inputs gives the additive mixed colour.

A cursor indicates the current pen position and can be switched on/off with the CRS signal. A falling edge at RST clears the plot. Offset inputs OX and OY are optional, and can be used to position the plot.

Without further action the input range –10(V) to 10(V) equal 1(V)/div. Other ranges can be adjusted with the analogue inputs RX and RY. For example a value of 3 gives 3(V)/div or a range from –30(V) to 30(V). Changes at the RANGE or OFFSET inputs will force the plotter to clear its current plot!

At run-time the plotter offers a local popup menue with PRINT, SAVE, SAVE AS, COPY and RESET.

PIN | Function | Pin type
X | Pen position X | Analogue input
Y | Pen position Y | Analogue input
OX | Offset X | Analogue input
OY | Offset Y | Analogue input
RX | Range X | Analogue input
RY | Range Y | Analogue input
D/U | Pen up/down | Digital input
R, G, B | Pen RGB colour 0..5(V) | Analogue inputs
CRS | Cursor on/off | Digital input
RST | Clear plot | Digital input

Hotkey actions

Action | Function
RST | Clear plot
SAV | Save plot
PRT | Print plot
CPY | Copy to clipboard

See also:

- Component basics

- Front panel elements

- Hotkeys


Clocks

ProfiLab 4.0 ›› The component library ›› Front panel elements ››

Stop watch

Alarm clock

Day timer

Week timer

System time

System date


Stop watch

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Clocks ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The stopwatch allows time measurement with a resolution of 1/10 s. Time is displayed on the front panel. Colour and size are adjustable.

A falling edge at the input RUN starts the stopwatch.

A falling edge at the input RTP stops the stopwatch.

A falling edge at the input RST resets the stopwatch.

This operations are also available from a popup menu (right mouse button) on the front panel, while a project is running. Measured time is represented at output T in seconds and at output $T as string.

PIN | Function | Pin type
RUN | Start | Digital input
STP | Stop | Digital input
RST | Reset | Digital input

PIN | Function | Pin type
T | Time in seconds | Analogue output
$T | Time as text | String output

Hotkey actions

Action | Function
RUN | Start
STP | Stop
RST | Reset

See also:

- Component basics

- Front panel elements

- Clocks

- Hotkeys


Alarm clock

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Clocks ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The output Q goes high, when alert time is reached. A falling edge at input RST resets the output. At run-time the alert time can be set on the front panel (right mouse button). Colour and size are also adjustable.

PIN | Function | Pin type
RST | Reset | Digital input

PIN | Function | Pin type
Q | Alarm output | Digital output

Hotkey actions

Action | Function
RST | Reset

See also:

- Component basics

- Front panel elements

- Clocks


Week timer

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Clocks ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The week timer can be programmed with switch events that have to be repeated weekly.

The property dialog on the front panel allows you adjust time and event. All events are stored in a list in chronological order. Activate the option EDITABLE AT RUN-TIME, to allow users to change switching times at run-time with a double click on the timer.

The output Q will have the programmed status when the project is running.

PIN | Function | Pin type
Q | Output | Digital output

See also:

- Component basics

- Day timer

- Front panel elements

- Clocks


Day timer

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Clocks ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The day timer can be programmed with switch events that have to be repeated daily.

The property dialog on the front panel allows you adjust time and event. All events are stored in a list in chronological order. Activate the option EDITABLE AT RUN-TIME, to allow users to change switching times at run-time with a double click on the timer.

The output Q will have the programmed status when the project is running.

PIN | Function | Pin type
Q | Output | Digital output

See also:

- Component basics

- Week timer

- Front panel elements

- Clocks


System time

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Clocks ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This component offers the system time of your system as analogue values. The component has four analogue outputs (H,M,S,ms) for Hours, Minutes, Seconds and Milliseconds.

PIN | Function | Pin type
$ | System time as text | String output
H | Hours | Analogue output
M | Minutes | Analogue output
S | Seconds | Analogue output
ms | Milliseconds | Analogue output

See also:

- Component basics

- System date

- Clocks


System date

ProfiLab 4.0 ›› The component library ›› Front panel elements ›› Clocks ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This component offers the system date of your system as analogue values. The component has four analogue outputs (Y,M,D,DOW) for Years, Months, Day and Day OF Week. The output DOW delivers a value of 1 for Sunday, 2 for Monday,..., 7 for Saturday.

PIN | Function | Pin type
$ | System date as text | String output
Y | Year | Analogue output
M | Month | Analogue output
D | Day | Analogue output
DOW | Day of week | Analogue output

See also:

- Component basics

- System time

- Clocks


Logic Components

ProfiLab 4.0 ›› The component library ››


AD/DA converters

ProfiLab 4.0 ›› The component library ›› Logic Components ››

This library offers an analogue/digital-converter, as well as a digital/analogue-converter.

A/D - converter

D/A - converter


A/D converter

ProfiLab 4.0 ›› The component library ›› Logic Components ›› AD/DA converters ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The analogue value at input E is converted to a binary coded digital value that appears at the outputs D0...Dn. The adjustable resolution of the converter (2...16 bits) determines the number of outputs. The minimum input value is converted to a binary 0 (all bits cleared). The maximum input value is converted to full range (all bits set).

PIN | Function | Pin type
E | Analogue value | Analogue input

PIN | Function | Pin type
D0..Dn | Binary value | Digitalausgänge

See also:

- Component basics

- AD/DA-Converters


D/A converter

ProfiLab 4.0 ›› The component library ›› Logic Components ›› AD/DA converters ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Depending on the resolution the converter has the data inputs D0...Dn for a binary coded digital value. The input value is converted to an analogue value that is available from output A. A binary 0 at the inputs will produce the (adjustable) minimum value at the output. With all input bits set, the converter will produce the maximum value at the output.

PIN | Function | Pin type
D0..Dn | Binary value | Digital inputs

PIN | Function | Pin type
A | Analogue value | Analogue output

See also:

- Component basics

- AD/DA-Converters


Arithmetic

ProfiLab 4.0 ›› The component library ›› Logic Components ››

Full adders

Comparator


Full adders

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Arithmetic ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The binary full adder is equipped with two binary code inputs (A0...An, B0...Bn) and the result of the operation A+B(+C0)=S appears at the outputs S0...Sn. The C0 input (carry flag) and the Cn+1 output are used for cascading adders to process overflows. Note that C0 has to 0 if no overflow has to be considered, otherwise C0=1 will be added to the result!

Cascading full adders

Two (or more) parallel adders may be combined to one adder with twice the number of bits. Therefore connect the C0 input of adder that processes the low nibble to ground. The Cn+1 output must be connected to the C0 input of the next higher adder.

PIN | Function | Pin type
A0..An | Binary A | Digital inputs
B0..Bn | Binary B | Digital inputs
C0 | Carryover | Digital input

PIN | Function | Pin type
S0..Sn | A+B+C0 | Digital outputs
Cn | Carryover | Digital output

See also:

- Component basics

- Arithmetic components


Comparator

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Arithmetic ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The binary comparator is equipped with two binary code inputs (A0...An, B0...Bn). As result one of the outputs A<B, A=B or A>B goes high.

Two parallel (or more) comparators may be combined to one comparator with twice the number of bits. Therefore the component is equipped with the inputs A<B, A=B, A>B. Connect the each result output from the lower stage to the corresponding inputs of the next higher stage. The result is the available from the highest comparator.

PIN | Function | Pin type
A0..An | Binary A | Digital inputs
B0..Bn | Binary B | Digital inputs
A<B | Carryover A<B | Digital input
A=B | Carryover A=B | Digital input
A>B | Carryover A>B | Digital input

PIN | Function | Pin type
A<B | A<B | Digital output
A=B | A=B | Digital output
A>B | A>B | Digital output

See also:

- Component basics

- Arithmetic components


Decoders

ProfiLab 4.0 ›› The component library ›› Logic Components ››

BCD-Decoder

7-segment decoder

Bus driver

Address decoder


BCD decoder

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Decoders ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

A binary coded decimal at the inputs B0...B3 is decoded to the outputs D0...D9. For example output D4 will go high if a binary 4 (=%0100) appears at the inputs B3...B0.

PIN | Function | Pin type
B0..B3 | Binary input | Digital inputs

PIN | Function | Pin type
D0..D9 | Selection | Digital outputs

See also:

- Component basics

- Decoders


7-segment decoder

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Decoders ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The 7-segment decoder is designed to drive 7-segment displays and makes control easier. It has binary coded inputs S0...S4. The outputs a...g can be connected directly to the segments of the display.

PIN | Function | Pin type
S0..S3 | Binary input | Digital inputs

PIN | Function | Pin type
a...g | Segments | Digital outputs

See also:

- Component basics

- Decoders

- 7-segment display


Bus driver

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Decoders ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Using this components, it is quite simple to build 2,4,8 or 16 bit bus systems. Therefore the outputs of the drivers (D0..Dn) have to be connected (wired-or). The inputs EN (enable) determines weather the inputs are connected to the bus or not. With EN=HIGH all inputs are connected with the outputs. With EN=LOW all outputs are LOW. We could also say that the inputs are combined with a logical AND with EN. This component makes it possible to connect any digital components with a digital bus and to select (one of) them with EN.

(In reality this is only allowed for special components, such with open-collector or tri-state outputs!)

PIN | Function | Pin type
D0..Dn | Data | Digital inputs

PIN | Function | Pin type
D0..Dn | Data | Digital outputs
EN | Enable | Digital outputs

See also:

- Component basics

- Decoders

- Address decoder


Address decoder

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Decoders ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The address at the binary inputs (A0..An) is compared with an adjustable address range.

The output CS indicates weather the address is in the address range (CS=HIGH) or out of the address range (CS=LOW). The address range is adjustable in the property dialogue. You can select 2,4,8, or 16 bit for the address.

PIN | Function | Pin type
A0..An | Address | Digital inputs

PIN | Function | Pin type
CS | Select | Digital output

See also:

- Component basics

- Decoders

- Bus driver


Flip-flops

ProfiLab 4.0 ›› The component library ›› Logic Components ››

RS-flip-flop

RS-flip-flop with clock

RS-flip-flop with clock (master-slave)

JK-flip-flop (master-slave)

D-flip-flop (transparent; latch)

D-flip-flop (master-slave)


RS-flip-flop

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Flip-flops ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

A very simple flip-flop with a SET input (S), which causes the output Q to go HIGH. A HIGH at the RESET input (R) lets the output Q go LOW. SET and RESET must not be HIGH simultaneously! Otherwise the output status is not defined.

PIN | Function | Pin type
R | Reset Q | Digital input
S | Set Q | Digital input

PIN | Function | Pin type
Q | Output | Digital output
/Q | Inverted output | Digital output

See also:

- Component basics

- Flip-flops


RS-flip-flop with clock

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Flip-flops ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

A clock input C1 was added to the RS-flip-flop. With clock C1=high the inputs R and S are enabled. Clock C1=low disables the inputs. SET and RESET must not be high simultaneously! Otherwise the output status is not defined.

PIN | Function | Pin type
R | Reset Q | Digital input
S | Set Q | Digital input
C | Clock | Digital input

PIN | Function | Pin type
Q | Output | Digital output
/Q | Inverted output | Digital output

See also:

- Component basics

- Flip-flops


RS-flip-flop with clock (master-slave)

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Flip-flops ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

A SET (S1=high) or RESET (R1=high) command is read to the master flip-flop with a rising edge at the clock input C1. When clock C1 goes low the command is executed by the slave flip-flop and output Q1 will be set or reset, depending on the command that has been read before. The flip-flop is equipped with so-called static set/reset inputs (/S and /R), which cause the output to go high/low immediately, when a high level occurs at these inputs (independent from C1). A SET and RESET command must not be given simultaneously. Otherwise the output status is not defined.

PIN | Function | Pin type
1R | Reset Q | Digital input
1S | Set Q | Digital input
C1 | Clock | Digital input
/S | Set | Digital input
/R | Reset | Digital input

PIN | Function | Pin type
Q | Output | Digital output
/Q | Inverted output | Digital output

See also:

- Component basics

- Flip-flops


JK-flip-flop (master-slave)

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Flip-flops ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Four different commands can be executed by a JK-flip-flop. The command is read to the master flip-flop when clock input C1 goes to high. The command is executed by the slave flip-flop (output Q) when clock C1 returns to low. The following table shows the JK-commands:

J | K | Command when C1 goes high | Result Q when C1 goes low
0 | 0 | NO OPERATION | unchanged
0 | 1 | RESET | Q=0
1 | 0 | SET | Q=1
1 | 1 | Toggle | Q = /Q

The flip-flop is equipped with so-called static set/reset inputs (/S and /R), which cause the output to go high/low immediately, when a high level occurs at these inputs (independent from C1). A SET and RESET command must not be given simultaneously. Otherwise the output status is not defined.

PIN | Function | Pin type
1J | See table | Digital input
1K | See table | Digital input
C1 | Clock | Digital input
/S | Set | Digital input
/R | Reset | Digital input

PIN | Function | Pin type
Q | Output | Digital output
/Q | Inverted output | Digital output

See also:

- Component basics

- Flip-flops


D-flip-flop (transparent: latch)

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Flip-flops ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

As long as the clock input C1 is high, the output Q will follow the input D. If C1 goes low the current status of the output Q is stored (latched) as long as C1 stays low.

PIN | Function | Pin type
1D | Data | Digital input
C1 | Clock | Digital input

PIN | Function | Pin type
Q | Output | Digital output
/Q | Inverted output | Digital output

See also:

- Component basics

- Flip-flops


D-flip-flop (master-slave)

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Flip-flops ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The D input is read to the master flip-flop with C1 going high. With C1 going low the previously read status of D will appear at the output Q. The flip-flop is equipped with so-called static set/reset inputs (/S and /R), which cause the output to go high/low immediately, when a high level occurs at these inputs (independent from C1). A SET and RESET command must not be given simultaneously. Otherwise the output status is not defined.

PIN | Function | Pin type
1D | Data | Digital input
C1 | Clock | Digital input
/S | Set | Digital input
/R | Reset | Digital input

PIN | Function | Pin type
Q | Output | Digital output
/Q | Inverted output | Digital output

See also:

- Component basics

- Flip-flops


Gates

ProfiLab 4.0 ›› The component library ›› Logic Components ››


Inverter

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Gates ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Logical NOT. The Output is HIGH as log as the input is LOW and vice versa.

PIN | Function | Pin type
- | Input | Digital input

PIN | Function | Pin type
- | inverted | Digital output

See also:

- Component basics

- Inverter

- AND

- NAND

- OR

- NOR

- EXOR


AND

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Gates ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Logical AND function. The output is HIGH as long as all inputs are HIGH.

The number of inputs is adjustable from 2...16.

PIN | Function | Pin type
- | 2..16 Inputs | Digital inputs

PIN | Function | Pin type
- | AND | Digital output

See also:

- Component basics

- Inverter

- AND

- NAND

- OR

- NOR

- EXOR


NAND

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Gates ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Logical NOT-AND function. The output is HIGH if at least one of the inputs is LOW.

The number of inputs is adjustable from 2...16.

PIN | Function | Pin type
- | 2..16 Inputs | Digital inputs

PIN | Function | Pin type
- | NAND | Digital output

See also:

- Component basics

- Inverter

- AND

- NAND

- OR

- NOR

- EXOR


OR

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Gates ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Logical OR function. The output is HIGH is at least one input is HIGH.

The number of inputs is adjustable from 2...16.

PIN | Function | Pin type
- | 2..16 Inputs | Digital inputs

PIN | Function | Pin type
- | OR | Digital output

See also:

- Component basics

- Inverter

- AND

- NAND

- OR

- NOR

- EXOR


NOR

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Gates ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Logical NOR. The Output is HIGH as long as all inputs are LOW.

The number of inputs is adjustable from 2...16.

PIN | Function | Pin type
- | 2..16 Inputs | Digital inputs

PIN | Function | Pin type
- | NOR | Digital output

See also:

- Component basics

- Inverter

- AND

- NAND

- OR

- NOR

- EXOR


EXOR

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Gates ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Logical EXCUSIVE OR function. The output is HIGH if a odd number of inputs is HIGH. The number of inputs is adjustable from 2...16.

PIN | Function | Pin type
- | 2..16 Inputs | Digital inputs

PIN | Function | Pin type
- | EXOR | Digital output

See also:

- Component basics

- Inverter

- AND

- NAND

- OR

- NOR

- EXOR


Multiplexer

ProfiLab 4.0 ›› The component library ›› Logic Components ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Multiplexer

The multiplexer connects one of the data inputs D0...Dn to the output Q0. The binary input S (S0...Sx) selects the data channel. For example a binary %0100 (=4 decimal) at Sn...S0 will cause the data from input D4 to appear at the output Q.

PIN | Function | Pin type
EN | Enable | Digital input
S0..Sn | Select | Digital input
D0..Dn | Data | Digital input

PIN | Function | Pin type
Q | Output | Digital output
/Q | Inverted output | Digital output

See also:

- Component basics

- Demultiplexer

Demultiplexer

The decoders data input EN is connected to one of the data outputs D0...Dn, depending on the binary coded inputs S0...Sx. For example a binary %0100 (=4 decimal) at Sn...S0 will cause the data from EN input to appear at the output Q4.

PIN | Function | Pin type
EN | Enable | Digital input
S0..Sn | Select | Digital input

PIN | Function | Pin type
Q0..Qn | Outputs | Digital outputs

See also:

- Component basics


RAM & ROM

ProfiLab 4.0 ›› The component library ›› Logic Components ››

This library offers the following memory components:

RAM

ROM

Tip:

You may load a file to memory components automatically at start. This is useful with compiled applications and allows you to "exchange” RAM or ROM without modifying the circuit. Simply change the "extern” file.


RAM

ProfiLab 4.0 ›› The component library ›› Logic Components ›› RAM & ROM ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This component stores 64k bytes. The RAM (Random Access Memory) stores data at a certain address. The binary coded address inputs A0...An determine the address, to which data from the data inputs Di0...Di7 is written or from which data is read and delivered to the data outputs D0...D7.

When the project is started all RAM bits are reset to zero. Optional a predefined contents may be loaded from a file at start. To store a byte to the RAM select the address using the address inputs A0...An. For example a binary coded 4 (=%0000 0100) at the address inputs will select cell number 4. Enter the data bit of the byte to the data inputs D0...D7. A falling edge on the R/W input will cause the RAM to store the data. Whenever you select this address again, the stored byte will appear at the data outputs D0...D7.

The RAM will keep the data, even if the project is stopped. In EDIT-mode you can double click the RAM and view or modify the contents (properties). So data is available for the next start and will be stored together with your project, when the project is saved.

PIN | Function | Pin type
A0..An | Address | Digital inputs
Di0..Di8 | Data in | Digital inputs
R/W | Read/Write | Digital input

PIN | Function | Pin type
D0..D8 | Data out | Digital outputs

See also:

- Component basics

- Ram & Rom


ROM

ProfiLab 4.0 ›› The component library ›› Logic Components ›› RAM & ROM ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The ROM stores up to 64k bytes. The circuit can only read data from the ROM (Read Only Memory), but a write access is not available. The contents of the ROM must be predefined from the editor before the project is started, or data can be loaded from a file on start.

To read a byte from the ROM, enter the address to the binary coded address inputs A0...An. For example a binary coded 4 (=%00 0000 0100) at the address inputs will read from cell number 4. The data byte will appear at the data outputs D0...D7.

Double click the ROM to open the properties dialog and to enter data to the cells (addresses). To make data entry easier, the byte data can be entered in decimal (0...255), hexadecimal ($00...$FF) or binary format. You may also import/export ROM data from/to a file. Data is stored together with your project, when the project is saved.

PIN | Function | Pin type
A0..An | Address | Digital inputs

PIN | Function | Pin type
D0..D8 | Data out | Digital outputs

See also:

- Component basics

- Ram & Rom


Registers

ProfiLab 4.0 ›› The component library ›› Logic Components ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Registers are arrays of two, four, eight or sixteen D-flip-flops with a common clock CK and reset /RST input. They are available as transparent D-flip-flop (latch) or as D-flip-flop (master-slave) types.

PIN | Function | Pin type
CK | Clock | Digital input
/RST | Reset | Digital input
D0..Dn | Data | Digital inputs

PIN | Function | Pin type
Q0..Qn | Output register | Digital outputs

See also:

- Component basics

- D-flip-flop (transparent; latch)

- D-flip-flop (master-slave)


Shift registers

ProfiLab 4.0 ›› The component library ›› Logic Components ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

All shift registers are equipped with a L/R input to select the shift direction. With L/R set to high, the registers will shift left. Otherwise they shift right when a falling edge appears at the clock input CK. The output status is available from the binary output Q0...Qn, where Q0 is the least significant bit (LSB). Left shift means to shift bits to higher bit positions. With a left shift bit Q0 will read its new status from the input DL, with a right shift the highest bit Qn is read from the input DR. A low level at the reset pin /RST will cause all output to go low.

Shift registers with load input

Some shift registers can be loaded, using the LOAD input /LD and the binary DATA inputs D0...D3. /LD=0 will load the shift register immediately from the data inputs. While /LD stays low, the clock input is ignored.

Cascading shift registers

To cascade shift registers, connect them to the same clock signal. Connect each Qn output to the DL input of the following register to allow shift left. Connect each Q0 output to the DR input of the following register to allow shift right.

Data from the inputs DL, DR and D0...D3 is read to the shift register with the positive edge of the clock signal.

PIN | Function | Pin type
CK | Clock | Digital input
/RST | Reset | Digital input
DL | Left data input | Digital input
DR | Right data input | Digital input
/LD | Load | Digital input
D0..Dn | Data for load | Digital inputs

PIN | Function | Pin type
Q0..Qn | Output register | Digital outputs

See also:

- Component basics


Timers

ProfiLab 4.0 ›› The component library ›› Logic Components ››

Pulse generator (0,1s...1000 s)

Pulse generator (1Hz...1kHz)

Pulse generator

Monoflop

Monoflop, adjustable

Pulse, adjustable (0,1s...1000 s)

Pulse, adjustable (1Hz...1kHz)

Switch delay

Power-On-Reset


Pulse generator (0,1s...1000 s)

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Timers ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The pulse is available from the digital output. The interval is adjustable in steps of 100 ms (Clock frequency = 1 / Interval). The output is HIGH for the first half of the interval and then goes LOW for the second half of the interval, and so on. This component can be used to trigger certain actions regularly, as for example to add values to a table, etc.

PIN | Function | Pin type
- | HIGH/LOW pulse | Digital output

See also:

- Component basics

- Timers


Pulse generator (1Hz...1kHz)

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Timers ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The pulse is available at the digital output. The frequency is adjustable in the property dialogue. (Clock frequency = 1 / Interval). The output is HIGH for the first half of the interval and then goes LOW for the second half of the interval, and so on. Because of the higher clock frequency, this component is helpful as clock generator for logic circuits, etc.

PIN | Function | Pin type
- | HIGH/LOW pulse | Digital output

See also:

- Component basics

- Timers


Pulse, adjustable (0,1s...1000 s)

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Timers ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The pulse is available at the digital output. The interval time (period) is controlled by the input f (in seconds). For example a value of 0,1 at the input creates a pulse with a period of 0,1 second, which is equivalent with a frequency of 10Hz. (frequency = 1 / period)

The output is HIGH for the first half of the interval and then goes LOW for the second half of the interval. For example this can be useful to build a speed indicator with a flashing LED.

PIN | Function | Pin type
f | Period in seconds | Analogue input

PIN | Function | Pin type
- | HIGH/LOW pulse | Digital output

See also:

- Component basics

- Timers


Pulse, adjustable (1Hz...1kHz)

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Timers ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The pulse is available at the digital output. The frequency is controlled by the input f (in Hz). For example a value of 10 at the input creates a pulse with a frequency of 10 Hz. The output is HIGH for the first half of the interval and then goes LOW for the second half of the interval. For example this can be useful to build a speed indicator with a flashing LED. Because of the higher clock frequency, this component is helpful as clock generator for logic circuits with variable clock frequency, etc.

o.ä.

PIN | Function | Pin type
f | Frequency in Hz | Analogue input

PIN | Function | Pin type
- | HIGH/LOW pulse | Digital output

See also:

- Component basics

- Timers


Monoflop

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Timers ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The monoflop is triggered with a falling edge at the digital input E, which means that the output Q goes HIGH. Depending on the (adjustable) interval the output Q returns to LOW. The interval time in the property dialogue.

RETRIGGER ON: In case that a falling edge appears at input E, while the component is already in triggered state, the internal timer is reset. So you have to wait again for the whole interval before the output returns to normal state.

RETRRIGER OFF: In case that a falling edge appears at input E, while the component is already in triggered state, this second trigger will be ignored. The output need to return to normal state, before it can be triggered again.

A LOW level at input /RST forces the output to go low and resets the internal timer.

PIN | Function | Pin type
E | Trigger | Digital input
RST | Reset | Digital input

PIN | Function | Pin type
Q | Output | Digital output
/Q | Inverted output | Digital output

See also:

- Component basics

- Timers


Monoflop, adjustable

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Timers ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The monoflop is triggered with a falling edge at the digital input E, which means that the output Q goes HIGH. Depending on the (adjustable) interval the output Q returns to LOW. The interval time is set by the value at input T in seconds.

RETRIGGER ON: In case that a falling edge appears at input E, while the component is already in triggered state, the internal timer is reset. So you have to wait again for the whole interval before the output returns to normal state.

RETRRIGER OFF: In case that a falling edge appears at input E, while the component is already in triggered state, this second trigger will be ignored. The output need to return to normal state, before it can be triggered again.

A LOW level at input /RST forces the output to go low and resets the internal timer.

PIN | Function | Pin type
E | Trigger | Digital input
T | Time interval in seconds | Analogue input
RST | Reset | Digital input

PIN | Function | Pin type
Q | Output | Digital output
/Q | Inverted output | Digital output

See also:

- Component basics

- Timers


Switch delay

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Timers ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This component can delay rising and falling edges at the input for certain times.

When the input goes HIGH, the output will go HIGH after an adjustable interval, but only if the input stays HIGH for that time. If the input signal returned to LOW during that time, the output will stay LOW.

The other way round: When the input goes LOW, the output will go LOW after an adjustable interval, but only if the input stays LOW for that time. If the input signal returned to HIGH during that time, the output will stay HIGH.

The delay time is adjustable independently for rising and falling edges in steps of 50 ms.

This component is useful to eliminate unwanted, short pulses from chattering contacts, or to build controls that are similar to staircase lighting, etc.

PIN | Function | Pin type
- | Input | Digital input

PIN | Function | Pin type
- | Delayed output | Digital output

See also:

- Component basics

- Timers


Pulse generator

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Timers ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This component generates a pulse signal with variable pulse width. Input TL sets the time the output stays low, input TH sets the time the output is high. So the duration of a whole clock cycle is T= TL +TH. For example with TL=TH=0,5 the component generates a one second clock signal (1 Hz) with 50% duty cycle.

PIN | Function | Pin type
TL | Duration low (seconds) | Analogue input
TH | Duration high (seconds) | Analogue input

PIN | Funktion | Art
CLK | Clock output | Digital output

See also:

- Component basics

- Timers


Power-On-Reset

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Timers ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The output of this component will go low for a short time, when a project is started. After that the output stays high. Useful for resetting counters and flip-flops, etc.

PIN | Function | Pin type
- | PON | Digital output

See also:

- Component basics

- Miscellaneous components


Delay

ProfiLab 4.0 ›› The component library ›› Logic Components ›› Timers ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The output of this component follows the input after a very short time of delay. Delay time is adjustable in steps of simulation clocks. Some applications may need a short signal delay to run properly.

PIN | Function | Pin type
- | Input | Digital input

PIN | Function | Pin type
- | Delayed | Digital output

See also:

- Component basics

- Miscellaneous components


Counters

ProfiLab 4.0 ›› The component library ›› Logic Components ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

All counters react to a falling edge at the clock input C1. The counters count is available from the binary outputs Q0...Q3. The counter's direction is switched with the input U/D. With U/D=0 the counter counts UP, otherwise it counts down. The counters offer the inputs /ENT and /ENP for cascading counters. Leave these inputs open if not needed. The counter resets immediately when reset input /RST is set to low. After resetting a counter then count will be zero if U/D is high (up count). Count is reset to 15 (maximum count), if U/D is low (down count).

Cascading counters

The RCO output of the first counter has to be connected to all ENP inputs of the following counters. The RCO outputs of the higher counters are each connected to the ENT input of following counter. All counters receive the same clock.

Decade counter

While binary counter count up to 15 (%1111) the decade counters count up to 9 (%1001).

Counters with load inputs

Some counters can be loaded, using the LOAD input /LD and the binary DATA inputs D0...D3. /LD=0 will load the counter immediately from the data inputs. While /LD stays low, the clock input is ignored.

PIN | Function | Pin type
CK | Clock | Digital input
/RST | Reset | Digital input
U/D | Up/down | Digital input
/ENT | Enable T | Digital input
/ENP | Enable P | Digital input
/LD | Load | Digital input
D0..Dn | Count to load | Digital inputs

PIN | Function | Pin type
Q0..Qn | Count | Digital outputs
/RCO | Ripple Carry Out | Digital output

See also:

- Component basics


Analogue components

ProfiLab 4.0 ›› The component library ››


Calculation

ProfiLab 4.0 ›› The component library ›› Analogue components ››

This library offers components for analogue calculations.

Formula

Addition

Subtraction

Multiplication

Division

Integral

Differential


Formula

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Calculation ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

You can enter a formula to calculate a result from the inputs E0...En. The number of input is adjustable from 1..16 in the property dialogue. The result is available at output A. The formula can use the input variables E0...En and the following operations:

+ | Addition
- | Subtraction
* | Multiplication
/ | Division
Sin | Sine (radiant)
Cos | Cosine (radiant)
Abs | Absolute
Int | Integer
Log | Logarithm (basis 10)
Ln | Logarithm (basis e)
^ | Raise
( ) | Parenthesis

Enter the formula without equal sign!

Examples:

A simple multiplication: E0*E1

A little more complex: (E0*E1) / 1000+123

Function's argument in parenthesis: SIN(E0/100)

If an error occurs in calculation, the result is set to a value of 1E12.

PIN | Function | Pin type
E0..En | Inputs | Analogue inputs

PIN | Function | Pin type
A | Result | Analogue output

See also:

- Component basics

- Formulas


Addition

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Calculation ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

Adds all analogue values from the inputs E0...En. The number of inputs is adjustable from 2 to 16.

A=E0+E1+...+En

PIN | Function | Pin type
E0..En | Inputs | Analogue inputs

PIN | Function | Pin type
A | Sum | Analogue output

See also:

- Component basics

- Formulas


Subtraction

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Calculation ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

Subtracts the inputs E1...En from the input E0. The number of inputs is adjustable from 2 to 16.

A=E0-E1-...En

PIN | Function | Pin type
E0..En | Inputs | Analogue inputs

PIN | Function | Pin type
A | Difference | Analogue output

See also:

- Component basics

- Formulas


Multiplication

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Calculation ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

Multiplies all analogue values from the inputs E0...En. The number of inputs is adjustable from 2 to 16.

A=E0*E1*...En

PIN | Function | Pin type
E0..En | Inputs | Analogue inputs

PIN | Function | Pin type
A | Product | Analogue output

See also:

- Component basics

- Formulas


Division

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Calculation ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

Divides the input E0 by the inputs E1...En. If one of the inputs E1...En equals zero, the denominator is zero and the result output is set to 1E12 to indicate that an error occurred in calculation.

A=E0 / (E1*E2*E3*...*En)

PIN | Function | Pin type
E0..En | Inputs | Analogue inputs

PIN | Function | Pin type
A | Quotient | Analogue output

See also:

- Component basics

- Formulas


Integration

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Calculation ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

The input is sampled at adjustable intervals. The sample's value is then multiplied with the interval time and summed. The result is available from output A. The output is reset to 0 with a low level at pin /RST.

PIN | Function | Pin type
E0..En | Inputs | Analogue inputs

PIN | Function | Pin type
A | Integral | Analogue output

See also:

- Component basics

- Formulas


Derivation

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Calculation ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

The input is sampled at adjustable intervals. The last sample value is subtracted from the current output value and the result is divided by the interval's time. The result is the new output value. The output is reset to 0 with a low level at pin /RST.

PIN | Function | Pin type
E0..En | Inputs | Analogue inputs

PIN | Function | Pin type
A | Differential | Analogue output

See also:

- Component basics

- Formulas


Math

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Calculation ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component implements several mathematical functions and work faster then an interpreted formula. Angular functions work with radian arguments (0..2Pi).

SIN: Sine

COS: Cosine

TAN: Tangent

COTAN: Cotangent

Pi: Constant PI

2*Pi: Constant 2*PI

Pi/2: Constant PI/2

DEG: Conversion radiant to degree

RAD: Conversion degree to radiant

ARCSIN: Arc sine

ARCCOS: Arc cosine

ARCTAN: Arc tangent

SINH: Sine hyperbolic

COSH: Cosine hyperbolic

TANH: Tangent hyperbolic

ARCSINH: Arc sine hyperbolic

ARCCOSH: Arc cosine hyperbolic

ARCTANH: Arc tangent hyperbolic

LN: natural logarithm

LG10: Brigg´s logarithm

LG2: Dyadic logarithm

Exp: Exponential function Bass e

Exp10: Exponential function Base 10

Exp2: Exponential function Base 2

X^Y: Exponential function Base x, Exponent y

e: Constant e

1/x: Hyperbola 1/x

RT2: Square root function

RT: Root function (Root y of x)

ABS: Absolute value

INT: Integer function

FRAC: Fraction

POL: Polar coordinate (amount, angle) from cartesian coordinate (x,y)

CART: cartesian coordinate (x,y) from polar coordinate (amount, angle)

COMP: Returns higher and lower of two values

SGN: Signum

PIN | Function | Pin type
- | Function parameter | Analogue inputs

PIN | Function | Pin type
- | Function result | Analogue output

See also:

- Component basics

- Formulas


Polynomial

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Calculation ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

Calculates the result of a polynomial with coefficients C0..Cn.

Y= C0+ C1 * X + C2 * X^2 + ... + Cn *X^n

PIN | Function | Pin type
X | Function parameter | Analogue input
C0, C1, ... , Cn | Coefficients | Analogue inputs

PIN | Function | Pin type
Y | Result | Analogue output

See also:

- Component basics

- Formulas


Mean value

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Calculation ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

The input is sampled regularly and the mean value is calculated from an adjustable number of samples.

PIN | Function | Pin type
E | Input | Analogue input

PIN | Function | Pin type
A | Mean value | Analogue output

See also:

- Component basics

- Analogue functions


Correction table

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Calculation ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component co0rrects the input value with values from a user-editable list. The corrected result is available at the output. The list must contain at least two pairs of input and corrected output value. You can enter as many value pairs as necessary, to improve accuracy. The list of correction values is editable in the property dialogue. In RUN mode the component reads the input value and find the corresponding output value. Usually the input value will be between two of the values entered to the list. In that case the output value is linear interpolated, between the nearest higher and the nearest lower value. The interpolation is continued for values that exceed the entered input range.

PIN | Function | Pin type
E | Input value | Analogue input

PIN | Function | Pin type
A | Corrected value | Analogue output

See also:

- Component basics

- Analogue functions


Multiplexer (analogue)

ProfiLab 4.0 ›› The component library ›› Analogue components ››


Multiplexer, analogue

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Multiplexer (analogue) ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

The multiplexer connects one of the analogue inputs I0...In to the output A. The binary input S (S0...Sx) selects the analogue channel. For example a binary %0100 (=4 decimal) at Sn...S0 will cause the signal from input I4 to appear at the output A.

The component can have 2,4,8 or 16 input channels. The number of channels is adjustable in the property dialogue. With EN=LOW the multiplexer is disabled and the output A delivers a value of 0.

PIN | Function | Pin type
EN | Enable | Digital input
S0..Sn | Select | Digital inputs
I0..In | Inputs | Analogue inputs

PIN | Function | Pin type
A | Output | Analogue output

See also:

- Component basics

- Analogue functions

- Demultiplexer, analogue


Demultiplexer, analogue

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Multiplexer (analogue) ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

The demultiplexer has an analogue input IN, which is connected to one of the outputs A0...An, depending on the binary input S (S0...Sn). For example a binary %0100 (=4 decimal) at Sn...S0 will cause the data from IN input to appear at the output A4. The component can have 2,4,8 or 16 input channels. The number of channels is adjustable in the property dialogue. With EN=LOW all outputs deliver a value of 0.

PIN | Function | Pin type
IN | Input | Analogue input
EN | Enable | Digital input
S0..Sn | Select | Digital input

PIN | Function | Pin type
A0..An | Outputs | Analogue outputs

See also:

- Component basics

- Analogue functions

- Multiplexer, analogue


Sources

ProfiLab 4.0 ›› The component library ›› Analogue components ››


Fixed value

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Sources ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

Offers a constant analogue value at the output that is adjustable from the property dialog.

PIN | Function | Pin type
A | Fixed value | Analogue output

See also:

- Component basics

- Analogue functions


Random

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Sources ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This component generates random values at its output. The range is adjustable and the output value is optional an analogue value or a logical status.

PIN | Function | Pin type
- | Random | Digital or analogue output

See also:

- Component basics

- Miscellaneous components


Signal generator

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Sources ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component produces periodic signals with sine, triangle, rectangle and ramp shapes.

The frequency (in Hz) is controlled by the input f, and input A controls the amplitude of the produced signals. In theory the maximum frequency is half the simulation frequency, but accuracy will decrease if frequency approaches this limit. The minimum frequency is 0.001 Hz.

PIN | Function | Pin type
f | Frequency (Hz) | Analogue input
A | Amplitude | Analogue input

PIN | Function | Pin type
SIN | Sine | Analogue output
REC | Rectangle | Analogue output
TRI | Triangle | Analogue output
RUP | Ramp up | Analogue output
DWN | Ramp down | Analogue output

See also:

- Component basics

- Analogue functions


Ramp

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Sources ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

Function

This component generates linear ramp signals. Input Y1 determines the ramp start value, while Y2 determines the end value. Input T sets the time the output Y needs to raise (Y2>Y1) or fall (Y2<Y1). A ramp is triggered by a falling edge at input /RUN. At this time the gradient for the output signal Y is calculated from Y1, Y2 and T. The output now rises or falls from Y1 to Y2 within time T. Therefore inputs needs to be hold LOW. While the generator is running the output RUN indicates this with HIGH and elapsed time is available at output T. After time T elapsed the generator stops automatically. If you need to stop the generator before time T has elapsed, you can re-set the trigger input /RUN to HIGH for that purpose. As long as the generator is running (output RUN=high) the output signal Y is calculated and set by the generator. In other case (RUN=low) the output Y is equal to input Y0, while the generator is stopped. Y0 may be useful cascading ramps, to define a signal that is built link-by-link from several linear gradients.

PIN | Function | Pin type
Y1 | Ramp start value | Analogue input
Y2 | Ramp end value | Analogue input
T | Duration in sec. | Analogue input
Y0 | Y=Y0 while stopped | Analogue input
/RUN | Ramp stop/start trigger | Digital input

PIN | Function | Pin type
Y | Signal output | Analogue output
T | Time elapsed | Analogue output
RUN | RUN indicator | Digital output

See also:

- Component basics


Controllers

ProfiLab 4.0 ›› The component library ›› Analogue components ››

PT1

PT2

P-Controller

PI-Controller

PD-Controller

PID-Controller

Two-position controller


PT1

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Controllers ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component simulates the transient response of a PT1 first order lag element (low pass filter) with the following differential equation.

T1 * y' + y = P * x

where

1/T1 = wo = 2 * Pi * fo

fo = cut-off frequency; P=gain

The sample rate of input X is configurable.

PIN | Function | Pin type
X | Input | Analogue input
1/T1 | Time constant (=2Pi*fo) = wo | Analogue input
P | Gain | Analogue input

PIN | Function | Pin type
Y | Output | Analogue output

See also:

- Controllers


PT2

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Controllers ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component simulates the transient response of a PT2 second order lag element (low pass filter) with the following differential equation.

T² * y'' + 2DT * y' + y = P * x

where

1/T = wo = 2 * Pi * fo

fo = cut-off frequency; D=damping; P=gain

The sample rate of input X is configurable.

PIN | Function | Pin type
X | Input | Analogue input
1/T1 | Time constant (=2Pi*fo) = wo | Analogue input
P | Gain | Analogue input
D | Damping | Analogue input

PIN | Function | Pin type
Y | Output | Analogue output

See also:

- Controllers


DT1

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Controllers ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component simulates the transient response of a DT1 element with the following differential equation.

T1 * y' + y = KD * x'

With KD=T1:

KD=T1 = 1/wo = 1 / (2 * Pi * fo)

fo = cut-off frequency e.g. of a RC low pass filter

The sample rate of input X is configurable.

PIN | Function | Pin type
X | Input | Analogue input
T1 | Time constant | Analogue input
KD | Derivation constant | Analogue input

PIN | Function | Pin type
Y | Output | Analogue output

See also:

- Controllers


P-controller

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Controllers ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component simulates the transient response of a P-Controller. The difference between desired value (X+) and actual value (X-) is integrated in the component.

Y = KP * X

X = ( Desired value – Actual value ) = (X+) – (X-)

PIN | Function | Pin type
X+ | Desired value | Analogue input
X- | Actual value | Analogue input
KP | Gain | Analogue input

PIN | Function | Pun type
Y | Output | Analogue output

See also:

- Controllers


PI-controller

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Controllers ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component simulates the transient response of a PI-Controller. The difference between desired value (X+) and actual value (X-) is integrated in the component.

Y = (KP * X) + (KI * integral(X) dt)

Where

X = ( Desired value – Actual value ) = (X+) – (X-)

KI = KP / TN

TN = Integrator rate time constant

The initial value of the integrator is configurable and can be reset with /RST=low.

PIN | Function | Pin type
X+ | Desired value | Analogue input
X- | Actual value | Analogue input
KP | P gain | Analogue input
KI | I gain | Analogue input
/RST | Integrator reset | Digital input

PIN | Function | Pin type
Y | Output | Analogue output

See also:

- Controllers


PD-controller

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Controllers ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component simulates the transient response of a PD-Controller. The difference between desired value (X+) and actual value (X-) is integrated in the component.

Y = (KP * X) + (KD * dX/dt)

Where

X = ( Desired value – Actual value ) = (X+) – (X-)

KD = KP * TV

TV = Derivation rate time constant

An input filter with configurable cut-off frequency is available for the derivation.

PIN | Function | Pin type
X+ | Desired value | Analogue input
X- | Actual value | Analogue input
KP | P gain | Analogue input
KD | D gain | Analogue input

PIN | Function | Pin type
Y | Output | Analogue output

See also:

- Controllers


PID-controller

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Controllers ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component simulates the transient response of a PID-Controller. The difference between desired value (X+) and actual value (X-) is integrated in the component.

Y = (KP * X) + (KI * integral(X) dt) + (KD * dX/dt)

Where

X = ( Desired value – Actual value ) = (X+) – (X-)

KI = KP / TN

KD = KP * TV

TN = Integrator rate time constant

TV = Derivation rate time constant

An input filter with configurable cut-off frequency is available for the derivation. The initial value of the integrator is configurable and can be reset with /RST=low.

PIN | Function | Pin type
X+ | Desired value | Analogue input
X- | Actual value | Analogue input
KP | P gain | Analogue input
KI | I gain | Analogue input
KD | D gain | Analogue input
/RST | Integrator reset | Digital input

PIN | Function | Pin type
Y | Output | Analogue output

See also:

- Controllers


Two-position controller

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Controllers ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

If actual value (X-) exceeds desired value (X+) for more than half the hysteresis (HYS), the output ON will go low (=OFF). If actual value (X-) runs under desired value (X+) for more than half the hysteresis (HYS), the output ON will go high (=ON).

PIN | Function | Pin type
X+ | Desired value | Analogue input
X- | Actual value | Analogue input
HYS | Hysteresis | Analogue input

PIN | Function | Pin type
ON | Switching output | Digital output

See also:

- Controllers


Comparators

ProfiLab 4.0 ›› The component library ›› Analogue components ››


Trigger

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Comparators ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

The trigger compares the input value at input E with its threshold level. If the input level exceeds the threshold level the output is set to high. The threshold level is adjustable in the property dialog.

PIN | Function | Pin type
E | Input value | Analogue input

PIN | Function | Pin type
A | A>treshold | Digital output

See also:

- Component basics

- Analogue functions


Comparator (analogue)

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Comparators ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

Compares the analogue inputs A and B and sets one of the result outputs A<B, A=B, A>B to high.

PIN | Function | Pin type
Ain | Input A | Analogue input
Bin | Input B | Analogue input

PIN | Function | Pin type
A>B | A>B | Digital output
A=B | A=B | Digital output
A<B | A<B | Digital output

See also:

- Component basics

- Analogue functions


Limiter

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Comparators ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component limits the input value (IN). The minimum permissible value is controlled by the input LiL. The maximum is controled by the input LiH. If the input value is lower than the minimum, the output will deliver the minimum and the clipping indicator ClpL goes HIGH. If the input value is higher than the maximum, the output will deliver the maximum and the clipping indicator ClpH goes HIGH. With EN=LOW the limitation is disabled and the output delivers the unlimited input value.

PIN | Function | Pin type
EN | Enable limiter | Digital input
In | Input value | Analogue input
LiH | Upper limit | Analogue input
LiL | Lower limit | Analogue input

PIN | Function | Pin type
A | Limited output | Analog output
ClpH | Clip max. | Digital output
ClpL | Clip min. | Digital output

See also:

- Component basics

- Analogue functions


Range check

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Comparators ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component checks the range of input X using lower limit XL and upper limit XHand the following conditions:

OK = (X >= XL) AND (X < XH)

OH = ( X >= XH )

OL = ( X < XL )

PIN | Function | Pin type
XH | Upper limit | Analogue input
X | Input | Analogue input
XL | Lower limit | Analogue input

PIN | Function | Pin type
OH | OH = ( X >= XH ) | Digital output
OK | OK = (X >= XL) AND (X < XH) | Digital output
OL | OL = ( X < XL ) | Digital output

See also:

- Component basics

- Analogue functions


Amplifiers

ProfiLab 4.0 ›› The component library ›› Analogue components ››


Amplifier

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Amplifiers ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component amplifies (multiplies) the value at analogue input (In) with a factor that is controlled by input A, and adds an offset that is read from input OFF. The result is available at output OUT.

PIN | Function | Pin type
In | Input | Analogue input
A | Gain | Analogue input
Off | Offset | Analogue input

PIN | Function | Pin type
Out | (In*A)+Off | Analogue output

See also:

- Component basics

- Analogue functions


Gain

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Amplifiers ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component amplifies the input with a fixed, configurable gain.

PIN | Function | Pin type
- | Input | Analogue input

PIN | Funktion | Pin type
- | Output = input * gain | Analogue output

See also:

- Component basics

- Analogue functions


Offset

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Amplifiers ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component adds a fixed, configurable offset to the input value.

PIN | Function | Pin type
- | Input | Analogue input

PIN | Function | Art
- | Output = Input + Offset | Analogue output

See also:

- Component basics

- Analogue functions


Miscellanous

ProfiLab 4.0 ›› The component library ›› Analogue components ››


Sample & Hold

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Miscellanous ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component may be used as a memory for analogue values. While input /Hld (hold) is high the output A will follow the input E. When /Hld goes low the current output value is "frozen” and the input is ignored as long as /Hld stays low.

PIN | Function | Pin type
E | Input | Analogue input
/Hld | Sample/Hold | Digital input

PIN | Function | Pin type
A | Output | Analogue output

See also:

- Component basics

- Analogue functions


Play

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Miscellanous ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component simulates play, for example like the play of a gearbox. First the input value increases, without any changes in output. When input value exceeds half the hysteresis the output starts to follow the input. If input signal changes its direction, the output remains at its current level, as long as the input is within the hysteresis.

PIN | Function | Pin type
X | Input | Analogue input
HYS | Hysteresis | Analogue input

PIN | Function | Pin type
Y | Output | Analogue output

See also:

- Component basics

- Analogue functions


Dead zone

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Miscellanous ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

As long as the input X is within lower limit XL and upper limit XH the output remains at zero. Out of these limits, the output follows the input.

PIN | Function | Pin type
X | Input | Analogue input
XL | Lower limit | Analogue input
XH | Upper limit | Analogue input

PIN | Function | Pin type
Y | Output | Analogue output

See also:

- Component basics

- Analogue functions


Increment

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Miscellanous ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

Each falling edge at input CLK increases (U/D=high) or decreases (U/D=low) the output value Z by the value of input INC. With /RST=low the output is reset to the value of input RES.

PIN | Function | Pin type
INC | Step width | Analogue input
U/D | Direction up/down | Digital input
CLK | Clock | Digital input
/RST | Reset | Digital input
RES | Reset value | Analogue input

PIN | Function | Pin type
Z | Output | Analogue output

See also:

- Component basics

- Analogue functions


Analogue delay

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Miscellanous ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component is similar to a bucket brigade device. With each falling edge at input CLK the input IN is sampled, while the bucket brigade moves previously sampled values towards the output. The contents of the last bucket appears at the output OUT. The number of buckets is configurable. So it will take as many clock cycles for an input signal to reach the output, as buckets have been configured for the brigade.

PIN | Function | Pin type
IN | Input | Analogue input
CLK | Clock | Digital input

PIN | Function | Pin type
OUT | Output | Analogue output

See also:

- Component basics

- Analogue functions


Relay (2 Inputs)

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Miscellanous ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

Depending on the SEL input (select) input E0 or input E1 is connected to the output A. SEL=low selects input E0, SEL=high selects input E1.

PIN | Function | Pin type
E0 | Input 0 | Analogue input
E1 | Input 1 | Analogue input
SEL | Select | Digital input

PIN | Function | Pin type
A | Output | Analogue output

See also:

- Component basics

- Analogue functions

- Relay (2 Outputs)


Relay (2 Outputs)

ProfiLab 4.0 ›› The component library ›› Analogue components ›› Miscellanous ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

Depending on the SEL input (select), input E is connected either to the output A0 or to the output A1. SEL=low selects output A0, SEL=high selects output A1.

PIN | Function | Pin type
E | Input | Analogue input
SEL | Select | Digital input

PIN | Function | Pin type
A0 | Output 0 | Analogue output
A1 | Output 1 | Analogue output

See also:

- Component basics

- Analogue functions

- Relay (2 Inputs)


Miscellaneous components

ProfiLab 4.0 ›› The component library ››


Vcc, Ground, Test

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ››


Vcc (+5V)

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› Vcc, Ground, Test ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The component's output is constantly set to 5 (5V; HIGH)

PIN | Function | Pin type
- | 5=HIGH | -

See also:

- Component basics

- Miscellaneous components


Ground

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› Vcc, Ground, Test ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The component's output is constantly 0 (logical low level). Open digital inputs are interpreted as logical high. Use this component to set inputs to logical low level if necessary.

PIN | Function | Pin type
- | 0=LOW | -

See also:

- Component basics

- Miscellaneous components


Test

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› Vcc, Ground, Test ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This component can be added as test point to the circuit. At run-time the component displays the input state in the circuit. Therefore SHOW COMPONENT STATUS needs to be activated, otherwise to component displays "TEST”.

PIN | Function | Pin type
- | Input | Analogue input

See also:

- Component basics


Jump & Jump (Destination)

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› Vcc, Ground, Test ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

These components are useful to simplify circuits and to make them more readable. Imagine a signal CLOCK that is necessary at many different locations in your circuit. In such an case you could define a JUMP named 'CLK' which is driven directly from a timer component. After that you simply place a JUMP (DESTINATION) component wherever the signal CLK is needed, instead of drawing long and widely branched out wirerings. The signal direction is from JUMP to JUMP (Destination(s)) in any case.

The components process analogue and digital signals as well as $strings. Jump are only possible within one circuit or macro. Jumps between macros or from a macro to the main circuit are NOT possible.

First add a component JUMP to your circuit. Enter a unique name (like 'CLOCK') in the configuration dialogue. ProfiLab identifies jumps from their name. The JUMP component has an input to feed a any signal.

Add a JUMP (DESTINATION) component. The configuration dialogue allows you to 'connect' the component to an existing JUMP.

When a jump is renamed, allready existing destinations for this jump need to be 're-connected' manually. Check exact spelling!. There is no logical test implemented, so make sure that jumps have UNIQUE names, like CLOCK, SYNC, START, STOP, etc.

See also:

- Component basics


File access

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ››


Data recorder

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› File access ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component records values from up to 64 analogue channels and writes them directly to disk in readable text format. A falling edge at pin ADD writes a line to the file. Usually this signal is connected with a push button for manual recording or a clock signal for automatic recording. Each line contains the numeric values of the input channels (E1..En) and time and date can be added as well. Data fields are separated with s semicolon. This makes it easy to import the readable text file to MS-Excel or other applications. The file extension was changed to .TXT instead of .LOG to simplify the import process. The input /RST combined with the option OVERWRITE FILE lets you control the recording process.

If OVERWITE FILE is activated, data is always recorded to the same file. The filename (prefix) must be entered in the property dialogue. When the project is started, a previous recording in the file will be overwritten. A LOW level at pin /RST will have the same effect.

If OVERWITE FILE is not activated, a new file will be created each time the project is started. The filename will be numbered consecutively. A LOW level at pin /RST will trigger the creation of a new file as well. The advantage of this configuration is, that data recorded in the previous file is not lost.

The recorded files can be found in the installation directory of the ProfiLab software in any case.

Important: As long as the signal /RST is LOW nothing will be recorded. The signal ADD is only recognised while /RST is HIGH.

PIN | Function | Pin type
E1..En | Input values | Analogue inputs
Add | Record value | Digital input
/RST | Empty file | Digital input

See also:

- Component basics

- Miscellaneous components


Sampler

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› File access ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This components records signals from up to 16 input channels (E1..En), in adjustable intervals. Sampled data can then be replayed with the outputs (A1..An). Data is recorded in memory and can be written to your harddisc as well. Record and playback is controlled by the digital inputs RUN and R/P. Record or playback runs as long as RUN is HIGH. With R/P=HIGH the component is in record mode. With R/P=LOW the component is in playback mode. RUN must be LOW to switch between record and playback. A new recording will overwrite a existing recording. Playback allways starts at the beginning of the recorded data. The digital output REC is HIGH as long as data is recorded. The digital output PLY is HIGH as long as data is replayed. Playback will stop automatically at the end of the recorded data. To restart playback at the end automatically activate the option PLAYBACK LOOP in the property dialogue. Outputs are connected with the inputs directly while the sampler is stopped or recording. During playback the outputs are disconnected from the inputs, to playback recorded data. In theory recording length is limited only by the available memory and disc space. To save resources it is recommended keeping the sample intervals as long as possible.

This component is useful to record measured values, and can also be use to record user actions (for example switches or potentiometers) and to control processes with recorded data automatically.

PIN | Function | Pin type
E1..En | Input channels | Analogue inputs
RUN | Start/Stop | Digital input
R/P | Record/Play | Digital input

PIN | Function | Pin type
A1..An | Output channels | Analogue outputs
REC | Record indicator | Digital output
PLY | Playback indicator | Digital output

See also:

- Component basics

- Miscellaneous components


File - Read bytes

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› File access ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This components reads bytes sequentially from a file. A falling edge at input CLK reads a single byte, and sets the output (D0..D7) with the binary code byte data. A LOW at input /RST resets the file to read again from the beginning of the file. If the end of the file is reached, the output /EOF goes LOW. This component is useful for example to read ASCII-characters from a textfile and to display read data on the ACII-Display.

PIN | Function | Pin type
CLK | Read byte | Digital input
/RST | Reset file | Digital input

PIN | Function | Pin type
D0..D7 | Byte binary | Digital outputs
/EOF | End-Of-File indicator | Digital output

See also:

- Component basics

- Miscellaneous components

- File - Write bytes


File - Write bytes

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› File access ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This component writes data to a file byte by byte. The file is created in the installation directory of ProfiLab. Simply enter the filename in the property dialogue. With a falling edge at input (CLK) a byte is read from the binary inputs (D0..D7) and the byte is written to the file. A new byte is always appended at the end of the file. A LOW level at input /RST empties the file. This component is useful for example to log up to eight digital signals very compact in a file.

PIN | Function | Pin type
D0..D7 | Byte binary | Digital inputs
CLK | Write byte | Digital input
/RST | Empty file | Digital input

See also:

- Component basics

- Miscellaneous components

- File - Read bytes


File - ReadLine

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› File access ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This components reads a specified line from a text file. The line is specified by the line number at the i input. The input ranges from 0 to NumLines-1. Exceeding this range will force the output /EOF LOW. The specified line is available aut outputs $LN. The whole file is read into an internal buffer when entering RUN mode, to allow fast access. A falling at input /RST re-reads the file into the buffer.

PIN | Function | Pin type
i | Line index | Analogue input
/RST | Re-read file | Digital input

PIN | Function | Pin type
$LN | Read line data | String output
/EOF | End-Of-File indicator | Digital output

See also:

- Component basics

- Miscellaneous components

- File - Write bytes


DDE

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ››


DDE server

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› DDE ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This component allows DDE access from other applications. For example MS-Word or MS-Excel may access values in ProfiLab. Therefore the component offers a configurable number inputs (S0..Sn), that transfer values to DDE clients.

To access these values, three parameters nned to be specified in the client application:

The SERVERNAME, which is the EXE filename (=”PROFILAB40”, as long as you have not compiled your project with a different name)

The TOPIC which is "DDE” in any case for ProfiLab DDE servers.

The ITEM has a syntax that specifies the server component and the exact pin to access.

The ITEM name is build with three part:

The circuit in which the DDE server component has been placed. The main circuit is named MAIN, while macros have the name MCR1, MCR2, etc.

The identifier of the DDE server component, which is set by ProfiLab : DDES1, DDES2, ...

And last but not least the Pinname (S0..Sn).

At fist sight this seems to be complicated, but an example will make it clear. Imagine you need to access to a ProfiLab value in MS-Excel. All you have to do, is to enter the following line to an Excel cell:

=ProfiLab40|DDE!MAIN_DDES1_S0

(in general terms: =<SERVER>|<Topic>!<Item>)

This formula accesses the pin S0 of the DDE server component DDES1, which is located in the main circuit (MAIN) of your project, prefixed by the topic DDE and the server name PROFILAB40.

The separators | (vertical stroke) and ! (exclamation mark) are given by the Excel syntax. Other client may use a different syntax, but you will find three parameters SERVER, TOPIC and ITEM in any case. For example MS-Word uses the following syntax for so-called DDE fields:

{DDEAUTO PROFILAB40 DDE MAIN_DDES1_S0}

Again you see the three DDE parameters, separated by spaces in this case and enclosed in brackets with the MS-Word function DDEAUTO.

At least the ITEM name decides which value is accessed:

MAIN_DDES1_S0 accesses input S0 at component DDES1 in the MAIN circuit.

MAIN_DDES2_S3 accesses input S3 at component DDES2 in the MAIN circuit.

If another DDE server (DDES1) can be found in macro MCR1, the following line gains access to pin S2:

MAIN_MCR1_DDES1_S2

Finally a more unlikely case:

MAIN_MCR5_MCR2_MCR3_DDES2_S15

Here the main circuit has a macro MCR5 in which MCR2 can be found. MCR2 again contains a macro MCR3 with a DDE server DDES2 in it. Pin S15 of the server is accessed.

Now you should be able to configure a DDE client. The server servers his values in unformatted text format. Usually the client software formats values itself.

With DDE you can create comfortable protocols and charts with Excel, using measured values from ProfiLab. Many programming languages support DDE as well.

While editing a DDE server project, it is recommended not to have client software running. (Who knows what happens if the client access a server you are about to delete!?)

Important: After compiling a project with the ProfiLab Expert compiler, your project will become a new EXE filename, so you must not forget to adapt your client software to the compiled EXE file, which is no longer PROFILAB40.

PIN | Function | Pin type
S0..Sn | DDE variable contents | String output

See also:

- Component basics

- DDE client


DDE client

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› DDE ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This component gives access to DDE server applications, like MS-Excel or other ProfiLab-Applications. For DDE access three parameter need to be defined:

The SERVERNAME is the name of the server application EXE-file (e.g. EXCEL)

The TOPIC is a logical group, like [Map1.XLS]Table1 in Excel. The syntax for the topic is different for every DDE server. ProfiLab only uses one topic: DDE.

The ITEM specifies the variable you want to access with DDE.

SERVERNAME, TOPIC and OBJECT can be imagined as a path to a certain value.

To access the value you need to configure these three parameters in exact writing in the configuration dialogue.

Access to ProfiLab projects:

see DDE server

Access to MS-EXCEL:

Server: EXCEL

Topic: [Map1.xls]Table1

Item: R1C1

The topic is build from the name of the Excel file in [square brackets] and the name of the table. The name of the item depends on the language of the installed Excel version:

German: Z1S1 ( =Zeile1; Spalte1 )

English: R1C1 ( =Row1; Column1 )

Dutch: R1K1

French: L1C1

Polish: W1K1

Spanish: F1C1

...

Other servers:

Other servers should describe their DDE syntax in the documentation.

The data exchanges is based on alphanumeric strings. It is recommended starting the server application first, before accessing the server.

PIN | Function | Pin type
$ | DDE variable contents | String output

See also:

- Component basics

- DDE server


Hotkeys

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ››

Hotkeys allow the user to control front panel elements like potentiometers, switches, etc. using the PC keyboard. Hotkeys are defined in the components property dialogue. This means to assign a component action (e.g. switch, toggle, ...) to a certain keyboard key. The available actions depend on the front panel element and are listed in the components description.

The following keys can be defined as hotkeys:

<0>, <1>...<9>, <A>...<Z>, <SPACE> at alphanumeric keyboard.

These keys can be combined with the control keys <SHIFT>, <ALT> and <CTRL>, so that the user need to hold down this combination, before the action is triggered lets say with key <A>.

The key messages are send to ALL front panel controls, no matter whether a control is focused or not. Even invisible controls (such as on a front panels in background) will react, when a hotkey is pressed. This makes it possible to assign several actions to a single hotkey. For example you could define a hotkey <ALT+M> that bring all potentiometer to middle position.

Usually you will trigger hotkeys with the PC keyboard, but you can even use the SEND HOTKEY component for that purpose. This makes it possible to trigger front panel actions from your circuit. A RECEIVE HOTKEY component is available as well. This is used to indicate keyboard hotkey events directly to your circuit.

Caution: Improper use of these components can lead to message loops. This means triggering events recursively can crash your application.

See also:

- Component basics

- Front panel elements

- Send hotkey

- Receive hotkey


Receive hotkey

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› Hotkeys ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The component output indicates the press an release of a hotkey on the PC keyboard.

The output stays high, as long a the hotkey is pressed. Otherwise it will remain low.

Outputs | Function | Pin type
- | H=Hotkey pressed | Digital output

See also:

- Component basics

- Front panel elements

- Hotkeys


Send hotkey

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› Hotkeys ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Usually you will trigger hotkeys with the PC keyboard, but you can even use the SEND HOTKEY component for that purpose. This component simulates a certain key press, which is defined in the property dialogue.

A falling edge at the input simulates the key press, a rising edge simulates the key release. Front panel controls can be configured to react on these events.

Inputs | Function | Pin type
CLK | L=Press / H=Release | Digital input

See also:

- Component basics

- Front panel elements

- Hotkeys


String functions

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ››

The following components process alphanumeric strings:

$Add

Chains strings from the inputs $1..$n to one resulting string ($1+$2+$3+...+$n). Like "ABC"+"DEF"= "ABCDEF".

$ASCII

Returns the ASCII value of the first character in the incoming string at output ASC.

$Buffer

Buffers incoming strings. With every falling edge at pin /W (write) the string at input $ is added to the buffer. A falling edge at pin /R (read) reads from the buffer. The numeric input N defines the number of characters to read. Read characters appear at output $Data. Character are read in the same order, in which they have been written to the buffer (FIFO). A LOW level at /CLR clears the buffer.

$Bytes

The input string $IN is spit into byte values, which are available at outputs B0...Bx on the right. For example "ABACOM" result values are 65,66,65,67,79,77. Vice versa: Input bytes B0...Bx on the left form the output string ($OUT). For example values 65,66,66,65 are converted to "ABBA". Missing characters or values are interpreted as chr(0).

$Character

Converts a numeric ASCII value at ASC to a character $CHR.

$Const

Use this component to define a string constant for your project.

$Compare

Compares A$ with B$ on base of ASCII. Three digital outputs (A>B, A=B, A<B) indicate the result.

$Copy

Copies a part of the incoming string to the output. Numeric input P defines the position to start with. Numeric input N determines the number of characters to copy.

$Delete

Deletes a part of the incoming string. Numeric input P defines the position of the first character to delete. Numeric input N determines the number of characters to delete.

Example $Input="ABACOM", P=4, N=2; $Output="ABAM"

$Format

Formats the numeric value v and returns it as string.

$Hold

While control input /HLD=HIGH the incoming string is put straight through to the output.

With /HLD=LOW the actual string is hold, until /HLD goes high again.

$Index

Returns the character at position [i] in incoming string.

$Info

Returns the contents of several system variables. Output $I delivers the information, Output $N offers the name of the requested information.

$Insert

Insert the string $INS into the incoming string. The position is defined by the bumeric input POS.

$Length

Returns the number of characters in the incoming string.

$Multiplexer

This function is equivalent with the analogue multiplexer. Instead of numeric values it multiplexes strings.

$Part / $CSV

$Part splits the incoming string into parts and returns the parts at outputs $1..$n. The separator character is configurable. The opposite function $CSV builds a string from several parts and inserts separator characters inbetween.

$Position

Returns the position of S$ in M$.

$Replace

Replaces $Old with $New in incoming string. ALL and CS (case sensitive) are digital control inputs. With ALL=LOW only the first appearance of $Old is replaced. With CS the replacement is case sensitive.

$TRIM

Removes SPACE and control characters on left and/or right end of the incoming string.

L and R are digital control inputs, that on which end of the string the function is performed.

$Upper

Converts characters in incoming string to upper characters (U/L=High) or lower characters (U/L=low).

$VAL

Converts the incoming string to a numeric value V.

See also:

- Component basics


CRC

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component calculates the CRC checksum (Cyclic redundancy check) for input string $D.

The value at input C determines the number of bits (CRC-1 ... CRC-32).

Input value P describes the polynome used for calculation.

The initial value is determined by the value at input I.

Digital inputs /R1../R3 work as reverse flags:

/R1 = LOW reverses the data bytes.

/R2 = LOW reverses the polynoms.

/R3 = LOW reverses result.

The numeric output value (CRC) delivers the calculated CRC checksum.

Refer to:

http://zorc.breitbandkatze.de/crc.html

http://en.wikipedia.org/wiki/Cyclic_redundancy_check

PIN | Function | Type
$D | Data string | $String input
C | Number of bits CRC-(1...32) | Numeric input
P | CRC polynome | Numeric input
I | Initial value | Numeric input
/R1 | Reverse data bytes flag | Digital input
/R2 | Reverse polynom flag | Digital input
/R3 | Reverse result flag | Digital input

PIN | Function | Type
CRC | CRC checksum | Numeric output

See also:

- Component basics


Miscellaneous

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ››


Frequency counter

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› Miscellaneous ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component measures the frequency at the digital input CLK (in Hz). The result is available as analogue value at output f. The measure frequencies of analogue signals a trigger component could be helpful. In theory the maximum input frequency is half the simulation frequency.

PIN | Function | Pin type
CLK | Frequency input | Digital input

PIN | Function | Pin type
A | Frequency in Hz | Analogue output

See also:

- Component basics

- Trigger

- Miscellaneous components


DLL import

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› Miscellaneous ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component offers a programming interface, which makes it possible to create your own ProfiLab components, for example to control self-made hardware devices, etc.

For that purpose you need a programming language, that allows you to compile DLL-files

(Dynamic Link Libraries), and you need some programming experience, as well.

Programming your own component, you have to meet some requirements of ProfiLab.

For example your DLL must export certain functions, that define the numbers of component inputs and outputs, the pin names and the internal function of the component.

The following function are necessary for a component. The modified C++ versions use DOUBLE instead of EXTENDED and PCHAR instead of STRING.

Delphi: function NumInputs: Byte;

C++: unsigned char _stdcall NumInputs()

alternative:

Delphi: function NumInputsEx(PUser: PDLLParams): Byte;

C++: unsigned char _stdcall CNumInputsEx(double *PUser)

The result of this function must return a byte value that defines the number of inputs of your component. The extended function type NumInputsEx is useful, if the number of inputs depends on configuration data stored in PUser.

Delphi: function NumOutputs: Byte;

C++: unsigned char _stdcall NumOutputs()

alternative:

Delphi: function NumOutputsEx(PUser: PDLLParams): Byte;

C++: unsigned char _stdcall CNumOutputsEx(double *PUser)

The result of this function must return a byte value that defines the number of outputs of your component. The extended function type NumOutputsEx is useful, if the number of outputs depends on configuration data stored in PUser.

Delphi: function InputName(Channel: Byte): ShortString;

void _stdcall GetInputName(unsigned char Channel, unsigned char *Name)

The result of this function must deliver a short text for the pin description for each input pin (channel) of your component. ProfiLab calls this function for each input pin, to request the corresponding description. The parameter CHANNELS identifies the pin and runs from 0 to NumInputs-1.

Delphi: function OutputName(Channel: Byte): ShortString;

C++: void _stdcall GetOutputName(unsigned char Channel, unsigned char *Name)

The result of this function must deliver a short text for the pin description for each output pin (channel) of your component. ProfiLab calls this function for each output pin, to request the corresponding description. The parameter CHANNELS identifies the pin and runs from 0 to NumOutputs-1.

Delphi: Procedure Calculate(PInput,POutput,PUser: PDLLParams);

C++: void _stdcall CCalculate(double *PInput, double *POutput, double *PUser)

This is the main calculation procedure of your component, which defines how your component works. The procedure parameters PINPUT, POUTPUT and PUSER offer three pointer variables with the following function:

● The pointer PINPUT points to a memory area, in which input values are stored, so that the DLL can access the input values of the component.

● The pointer POUTPUT points to a memory area, in which output values are stored, so that the DLL can set the output values of the component.

● The pointer PUSER points to a memory area, where the DLL can store its own (local) values. Background: Variables defined in the DLL are global variables. Values stored to global variables will overwrite each other, if a DLL component is used more than once in a ProfiLab project. To have local variables available, ProfiLab hands out the pointer PUSER to the DLL, so that the DLL can store local data in the memory area that PUSER points to.

If you don´t want to use PUSER, but you need to declare variables in the DLL that are meant to be local (for components that are used more than once in a ProfiLab project), you can rename the DLL file and import it in ProfiLab with different filenames, as well.

Each of the three pointers PINPUT, POUTPUT and PUSER points to an array of 100 EXTENDED variables. All three pointer are declared as type PDLLParams. The declaration in Delphis is as follows:

type TDLLParams = array[0..100] of extended;

PDLLParams = ^TDLLParams;

C++ function types hand out this kind of memory pointer as (double *PInput) parameter for example.

The array of PINPUT offers the input values of the component. The input values can be accessed as follows:

PInput^[0] contains the numeric value of the first input,

PInput^[1] contains the numeric value of the second input, and so on...

The array of POUTPUT offers the output values of the component. The output values can be set as follows:

POutput^[0] must be set with the numeric value for the first output,

POutput^[1] must be set with the numeric value for the second output, and so on...

PUser^[0] to PUser^[99] can be used to store numeric user values. The values of these variables are saved in the ProfiLab project file, so that values are available agein, when the project is loaded next time. The variable PUser^[100] is set by ProfiLab and contains the number of the DLL component: 1 fo DLL1, 2 for DLL2, and so on.

The procedure CALCULATE is called repeatedly while ProfiLab is in RUN mode, to hand out new input values to the DLL and to request new output values from the DLL. This means that this procedure must be programmed as short as possible, and must not contain any pauses (WAIT loops or SLEEP commands) that waste time. After reading input values and setting new output vaues this routine should be terminated as soon as possible. The time spent in this procedure will directly influence the simulation frequency of ProfiLab.

Delphi: Procedure CalculateEx(PInput,POutput,PUser: PDLLParams; PStrings: PStringParams);

C++: void _stdcall CCalculateEx(double *PInput, double *POutput, double *PUser; StringParam PStrings)

This method was introduced to allow string processing with DLL´s. It may be used as alternative for CALCULATE. Parameter PSTRINGS were added for interfacing string data. Its Delphi delclaration is as follows:

type TStringParams = array[0..100] of PChar;

PStringParams = ^TStringParams;

Each input/output (max. 100) has a null-terminated character pointer (PChar) assigned, which points to a memory space that is provided by ProfiLab. Right before ProfiLab enters the method, data is fetched from the $inputs. After leaving the method data is handed out through the $outputs. It is not distinguished between inputs and outputs. This means that Input 0 and Output 0 for example share the same PChar. To make a pin become a string input or string output its pin name must be declared with a leading '$' character. Examples for string processing with DLL´s and ProfiLab are available.

Delphi: Procedure SimStart(PInput,POutput,PUser: PDLLParams);

C++: void _stdcall CSimStart(double *PInput, double *POutput, double *PUser)

This procedure is called once, when the ProfiLab project enters the RUN mode, and can be used to initialize DLL variables, etc. The parameters have been explained before.

Delphi: Procedure SimStop(PInput,POutput,PUser: PDLLParams);

C++: void _stdcall CSimStop(double *PInput, double *POutput, double *PUser)

This procedure is called once, when RUN mode is terminated, and can be used to close open files, etc. The parameters have been explained before.

Delphi: Procedure Configure(UserValues: PDLLParam);

C++: void _stdcall CConfigure(double *PUser)

As soon as your DLL exports this procedure, the button CONFIGURE... in the property dialogue of the component is enabled. With a click on this button, ProfiLab will jump to your CONFIGURE procedure, where you can add your own setup dialogue for your DLL.

These very few routines make it possible to program any ProfiLab component you have in mind. For example you could program hardware components that control special hardware devices, or create components that execute complex calculations.

If you want to program a component with digital outputs, simply set the numeric output vaules to 5 for HIGH levels, or to 0 for LOW levels. Numeric inputs higher than 2.5 should be interpreted as HIGH levels, numeric inputs lower then 2,5 as LOW leves.

Your compiled DLL file can be loaded in the property dialogue of the component. All imported functions and procedures are listed in the dialogue. The component will then appear in the circuit as it is defined in the DLL. To be conform with C-Compiler conventions, names of functions and procedure may begin with an underline character _ as well. For example _SimStart instead of SimStart.

Compiling your own DLL project make sure that the linker option "Dynamic RTL" is disabled. Otherwise the DLL can not be loaded on systems without installed C++ environment.

PIN | Function | Pin type
User-defined | User-defined | Analogue inputs

PIN | Function | Pin type
User-defined | User-defined | Analogue outputs

See also:

- Example DLL source (Delphi)

- Example DLL source (C++)

- Component basics

- Miscellaneous components


Example DLL source (Delphi)

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› Miscellaneous ›› DLL import ››

The compiled DLL file can be found in the EXAMPLES directory (COUNTER.DLL).

library Counter;

// Delphi 5 DLL-source (COUNTER.DLL)

// Defines a simple 8-Bit counter component for ProfiLab

uses

SysUtils,Windows,Classes;

{$R *.RES}

Const Inputs = 2; // number of inputs

Outputs = 8; // number of outputs

{INPUTS}

CLK = 0; // index of input variable CLK

RST = 1; // index of input variable RST

{OUTPUTS}

{USER}

CLK_old = 0; // index user variable CLK_old

RST_old = 1; // index user variable RST_old

Count = 2; // index user variable COUNT

Type TDLLParams = array[0..100] of extended; //Type of ProfiLab DLL parameters

PDLLParams = ^TDLLParams; // Pointer to ProfiLab DLL parameters

function NumInputs: Byte;

begin

result:=Inputs; //Define number of component input pins

end;

function NumOutputs: Byte;

begin

result:=Outputs; //Define number of component output pins

end;

Function InputName(Channel: Byte): ShortString; // Return name for each component input pin

begin

case Channel of

CLK: result:='CLK'; // "CLK" (Clock)

RST: result:='/RST'; // "/RST" (NOT RESET)

end;

end;

Function OutputName(Channel: Byte): ShortString; // Return name for each component output pin

begin

result:='Q'+intToStr(Channel); //"Q0".."Q7" (Binary count)

end;

Procedure SimStart(PInput,POutput,PUser: PDLLParams); //called when ProfiLab enters RUN mode

var i: Integer;

begin

PUser^[Count]:=0; //RESET COUNTER

For i:=0 to Outputs do

begin

POutput[i]:=0; //Set binary outputs with COUNT=0

end;

end;

Procedure SimStop(PInput,POutput,PUser: PDLLParams); //called when ProfiLab RUN mode is terminated

begin

// nothing to be done

end;

Procedure Calculate(PInput,POutput,PUser: PDLLParams); //called regularly from ProfiLab

var i: Integer;

begin

if PInput^[RST]<2.5 then //check RST input HIGH or LOW

begin

if (not (PInput^[RST]>=2.5)) and (PUser^[RST_old]>2.5) then //check out falling edge at RST input

begin

PUser^[Count]:=0; //RESET COUNT

For i:=0 to Outputs do

begin

POutput[i]:=0; //Set binary outputs with COUNT=0

end;

end;

exit;

end;

PUser^[RST_old]:=PInput^[RST]; //Remember RST status for next call

if PInput^[CLK]>2.5 then //check CLK input HIGH or LOW

begin

if (PInput^[CLK]>2.5) and not(PUser^[CLK_old]>2.5) then //check out rising edge at CLK input

begin

PUser^[Count]:=PUser^[Count]+1; // increase COUNT

if PUser^[Count]>255 then PUser^[Count]:=0; //check overflow

For i:=0 to Outputs do

begin

if (round(PUser^[Count]) and (1 shl i))>0 then POutput^[i]:=5 else POutput[i]:=0; //Set binary outputs with current COUNT

end;

end;

end;

PUser^[CLK_old]:=PInput^[CLK]; //Remember CLK status for next call

end;

//export methods for ProfiLab

exports SimStart,

SimStop,

NumInputs,

NumOutputs,

Calculate,

InputName,

OutputName;

begin

end.

See also:

- DLL-Import


Example DLL source (C++)

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› Miscellaneous ›› DLL import ››

The compiled DLL file can be found in the EXAMPLES directory (C_COUNTER.DLL).

// Defines a simple 8 bit binary counter component for ProfiLab

#include <windows.h>

//---------------------------------------------------------------------------

#pragma argsused

int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)

{

return 1;

}

//---------------------------------------------------------------------------

#include <string.h>

#include <stdio.h>

#include <stddef.h>

//Index for input variables

const CLK = 0;

const RST = 1;

//Index for user variables

const CLK_OLD = 0;

const RST_OLD = 1;

const COUNT = 2;

unsigned char inputs = 2; //two inputs

unsigned char outputs = 8; //eight outputs

//Exported functions...

extern "C" __declspec(dllexport) unsigned char _stdcall NumOutputs();

extern "C" __declspec(dllexport) unsigned char _stdcall NumInputs();

extern "C" __declspec(dllexport) void _stdcall GetInputName(unsigned char Channel, unsigned char *Name);

extern "C" __declspec(dllexport) void _stdcall GetOutputName(unsigned char Channel, unsigned char *Name);

extern "C" __declspec(dllexport) void _stdcall CCalculate(double *PInput, double *POutput, double *PUser);

extern "C" __declspec(dllexport) void _stdcall CSimStart(double *PInput, double *POutput, double *PUser);

extern "C" __declspec(dllexport) void _stdcall CSimStop(double *PInput, double *POutput, double *PUser);

extern "C" __declspec(dllexport) void _stdcall CConfigure(double *PUser);

//return number of input channels...

unsigned char _stdcall NumInputs()

{

return inputs;

}

//return number of output channels...

unsigned char _stdcall NumOutputs()

{

return outputs;

}

//return name for each input...

void _stdcall GetInputName(unsigned char Channel, unsigned char *Name)

{

if (Channel == 0)

strcpy(Name, "CLK"); //Name input 0

else

strcpy(Name, "RST"); //Name input 1

}

//return name for each output...

void _stdcall GetOutputName(unsigned char Channel, unsigned char *Name)

{

sprintf(Name, "Q%i", Channel); // Name outputs Q0..Q7

}

//reset counter on start...

void _stdcall CSimStart(double *PInput, double *POutput, double *PUser)

{

int i;

PUser[COUNT] = 0; //RESET counter

for (i = 0; i < outputs; i++) //All outputs low

POutput[i] = 0;

}

//check inputs and set outputs while running...

void _stdcall CCalculate(double *PInput, double *POutput, double *PUser)

{

int i, iCount;

if (PInput[RST] < 2.5) // RST input LOW?

{

if (PUser[RST_OLD] > 2.5) //Falling edge of RST?

{

PUser[COUNT] = 0; //RESET counter

for (i = 0; i < outputs; i++) //all outputs low

POutput[i] = 0;

}

}

PUser[RST_OLD] = PInput[RST]; //remember RST for next call

if (PInput[CLK] > 2.5) //clock input high?

{

if (PUser[CLK_OLD] < 2.5) //rising edge of CLK?

{

PUser[COUNT] += 1; //increase counter

if (PUser[COUNT] > 255) PUser[COUNT] = 0; //check overflow, byte limit!

iCount = PUser[COUNT]; //convert double to integer (byte)

//Set corresponding outputs with bits set in byte iCOUNT...

if ((iCount & 1)) POutput[0] = 5; else POutput[0] = 0;

if ((iCount & 2)) POutput[1] = 5; else POutput[1] = 0;

if ((iCount & 4)) POutput[2] = 5; else POutput[2] = 0;

if ((iCount & 8)) POutput[3] = 5; else POutput[3] = 0;

if ((iCount & 16)) POutput[4] = 5; else POutput[4] = 0;

if ((iCount & 32)) POutput[5] = 5; else POutput[5] = 0;

if ((iCount & 64)) POutput[6] = 5; else POutput[6] = 0;

if ((iCount & 128)) POutput[7] = 5; else POutput[7] = 0;

}

}

PUser[CLK_OLD] = PInput[CLK]; // remember CLK for next call

}

// called when project is stopped...

void _stdcall CSimStop(double *PInput, double *POutput, double *PUser)

{

//nothing to do...

}

//called when button CONFIGURE is pressed in dialogue...

void _stdcall CConfigure(double *PUser)

{

MessageBox(0,"Nothing to configure", "Configure", 0);

}

//DONE!!!


Macro pin

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› Miscellaneous ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Use this component for macro definition. The macro pin is the visible connection to the macro. Enter a name to the pins to make identification easier.

PIN | Function | Pin type
User-defined | User-defined | User-defined

PIN | Function | Pin type
User-defined | User-defined | User-defined

See also:

- Component basics

- Miscellaneous components

- Macros


Execute

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› Miscellaneous ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: No

ProfiLab-Expert: Yes

Execute

Use the "Execute" component to start an external (EXE-) file or document. The start is triggered by a falling edge at input E. Enter the command line and an optional parameter to the property dialog. Specify weather the called program opens minimised, normal or maximised, if the called program offers these options.

PIN | Function | Pin type
E | Execute on falling edge | Digital input

ShellExecute

This is an alternative function, where parameters from the input pins are directly passed to the Windows-API function "ShellExecute". (http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx)

PIN | Function | Pin type
$PRG | lpFile | $String input
$PAR | lpParameters | $String input
$DIR | lpDirectory | $String input
$ACT | lpOperation | $String input
WS | nShowCmd | Numeric input
E | Execute on falling edge | Digital input

See also:

- Component basics

- Miscellaneous components


STOP

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› Miscellaneous ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

A falling edge at input STP terminates the RUN mode.

PIN | Function | Pin type
Stp | Terminate RUN | Digital input

See also:

- Component basics

- Miscellaneous components


Front panel activate

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› Miscellaneous ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

In projects with more than one front panel, you can use this component to activate a certain front panel automatically. With a falling edge at input CLK the front-panel will be activated. The front panel number is adjustable in the property dialogue.

PIN | Function | Pin type
CLK | Activate front panel | Digital input

See also:

- Component basics

- Miscellaneous components


Sound module

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› Miscellaneous ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This component plays a wave-file (*.wav). Playing is triggered by a falling edge at input E. Select a sound-file from the properties dialog.

PIN | Function | Pin type
- | Play sound | Digital input

See also:

- Component basics

- Miscellaneous components


AudioWave 2.0 - message

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› Miscellaneous ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This component controls the "AudioWave 2.0 – LF signal generator” software (Version 2.0 or higher), using control messages. The function code (LParam) can be set in the configuration dialogue. The function parameter (LParam) is controlled by the input of the component. The control message is sent whenever the value at the input (LParam) changes. Further information and a complete list of all AudioWave functions can be found in the manual of the AudioWave software.

PIN | Function | Pin type
E | AudioWave-LParam | Analogue input

See also:

- Component basics

- Miscellaneous components


Audio input

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› Miscellaneous ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: No

ProfiLab-Expert: Yes

Function

This component samples signals from the soundcard (line, mic). The sample rate is 44,1kHz, 16 bit, stereo. The sampled signal is available at the component outputs L and R. The signal appears delayed with a latency of ca. 250 ms. The 16 bit samples are re-scaled to +/- 100%. This means that a full level at the soundcard will deliver values between +100 and –100 (%) at the component outputs. The component is quite useful for measuring AC signal. Unfortunately DC signals can usually not be sampled, because of the soundcards architecture.

PIN | Function | Pin type
L | Audio signal L +/- 100(%) | Analogue output
R | Audio signal R +/- 100(%) | Analogue output

See also:

- Component basics


Send email

ProfiLab 4.0 ›› The component library ›› Miscellaneous components ›› Miscellaneous ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: No

ProfiLab-Expert: Yes

Function

This component sends emails automatically to one or more receivers. Files can be attached to the email and the message text may contain variable parameters ($P1...$Pn), which are replaced with run-time values before the message is send.

Sending is triggered by a falling edge at input SND. The components needs to contact the SMTP-Server of your mail service provider. This server needs to support the most commonly used "SMTP with authentification”. Other login procedures like "SMTP after POP3” are not supported. The login parameters must be configured the property dialogue:

SERVER: The SMTP-Server of your mail service provider (e.g. mail.gmx.net)

PORT : Port number of the SMTP-Server (usually 25)

LOGIN NAME: The name you usually use for login. (often identical with your email address)

PASSWORD: The password you usually use for login

EMAIL ADDRESS: Your own email address.

How to configure SMTP parameters exactly, should be explained on the homepage of your provider.

An overview: http://www.patshaping.de/hilfen_ta/pop3_smtp.htm

After SMTP is configured correctly, you can start to collect data for the email message you want to send:

RECEIVERS

The destination email addresses can be entered – line by line – to the list in the property dialogue. An additional destination address can be determined at run-time with the $input ($TO). The message will be send to all these adresses.

SUBJECT

The email subject should be assigned with the component input ($SUB) at run-time.

TEXT

This is your message text. Variables can be used as follows:

Temperature = $P1°

Currently $P2 Sensors are active.

Before the message is send $P1 and $P2 are replaced with the run-time values from the corresponding String inputs. So the resulting message may look like this:

Temperature = 20°

Currently 5 Sensors are active.

ATTACHMENTS

You can enter attachments (files) - line by line – to this list, that will be send together with your email, like

C:\Data\Run5\Values.txt

C:\Data\LivePicts\Now.jpg

...

PIN | Function | Pin type
SND | Send on falling edge | Digital input
$TO | Email destination address | $String input
$SUB | Email subject | $String input
$P1...$Pn | Variables for message text | $String inputs


Hardware

ProfiLab 4.0 ››

ProfiLab offers a large number of hardware components, that can be used to control internal and external hardware devices.

- Analogue interfaces with AD/DA converters. Handheld meters with several ranges for voltage, current, etc., power supplies and specialized devices like weather sensors or scales are members of that family.-

- Digital I/O interfaces for digital controls like indicators, switches, etc. Relay cards also belong to this group.

- Many devices offer combinations of analogue and digital functions.

Hardware components are used to interface your project with a supported hardware device. The inputs and outputs of these components depend directly on the functions of the used hardware device. Numeric values at the component inputs control the outputs of the hardware device. Values that are read from the hardware inputs are supplied via the outputs of the software component. Some components offer additional pins that control specialised internal functions of the hardware device.

Contacts to manufacturers and distributors are listed in the hardware overview .

- Make sure to have latest Internet update installed, as we regularly expand the list of supported hardware devices.

- Most devices require a driver software, that must be installed before the interface can be used. Refer to the manual of your device!

- Remember the FILE - > EXAMPLES menue, offering basic examples for most hardware devices in the HARDWARE folder.

- More helpful information and answers to your questions can be found at our Internet forum .

See also:

- Component basics

- Overview: Supported hardware devices

- Multimeters

- Relay cards

- Serial interface


Overview: Supported hardware devices

ProfiLab 4.0 ›› Hardware ››

Select the item "supported hardware..." from the main menue "?".

Our hardware database offers several filter options, so you can easily find a device that fits your needs.

ProfiLab offers a large number of hardware components, that can be used to control internal and external hardware devices.

- Analogue interfaces with AD/DA converters. Handheld meters with several ranges for voltage, current, etc., power supplies and specialized devices like weather sensors or scales are members of that family.-

- Digital I/O interfaces for digital controls like indicators, switches, etc. Relay cards also belong to this group.

- Many devices offer combinations of analogue and digital functions.

Hardware components are used to interface your project with a supported hardware device. The inputs and outputs of these components depend directly on the functions of the used hardware device. Numeric values at the component inputs control the outputs of the hardware device. Values that are read from the hardware inputs are supplied via the outputs of the software component. Some components offer additional pins that control specialised internal functions of the hardware device.

Contacts to manufacturers and distributors are listed in the hardware overview .

- Make sure to have latest Internet update installed, as we regularly expand the list of supported hardware devices.

- Most devices require a driver software, that must be installed before the interface can be used. Refer to the manual of your device!

- Remember the FILE - > EXAMPLES menue, offering basic examples for most hardware devices in the HARDWARE folder.

- More helpful information and answers to your questions can be found at our Internet forum .


MIDI

ProfiLab 4.0 ›› Hardware ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: No

ProfiLab-Expert: Yes

ProfiLab can send and receive MIDI messages The Musical Instruments Digital Interface is most successful and has the advantage the hardware and software (protocol) are exactly specified. Specification are distributes via the Internet.

Beside from its purpose to control instruments an studio equipment, it is also very interesting for data exchange between software programs as it offer a relative high data rate as well as a easy to understand and well defined software protocol. To connect two applications via MIDI, you not even need to have any MIDI hardware device. Simply install a virtual MIDI loop-back driver (e.g. MDI-YOKE freeware from Internet!)

MIDI devices (virtual or real) ARE Windows drivers. MIDI works with fixed interface parameter, so there is no need to worry about that. As soon as a MIDI driver is installed messages can be send and received. MIDI messages are mainly short, predefined byte sequences:

Note ON

Channel 0..15

Note 0..127

Velocity 0..127

Note OFF

Channel 0..15

Note 0..127

Velocity 0..127

Polyphonic Aftertouch

Channel 0..15

Note 0..127

PolyAftertouch 0..127

Control Change

Channel 0..15

Control 0..127

Value 0..127

ProgramChange

Channel 0..15

Program 0..127

ChannelAftertouch

Channel 0..15

Channel Aftertouch 0..127

PitchWheel

Channel 0..15

Pitchwheel 0..127

Tune Request

Timingclock

Start

Continue

Stop

ActiveSensing

SystemReset

SongSelect

Song 0...127

SongPosition

ProfiLab offers two components to send and receive above MIDI messages:

● Send MIDI message

● Receive MIDI message

The configuration dialogue allows you to select a MIDI device (driver) that is used for communication and lets you select the message type. Depending on the selected message type, the component will be equipped with more ore less inputs and outputs to set and request the data for the message.


Send MIDI message

ProfiLab 4.0 ›› Hardware ›› MIDI ››

Add a component ‚Send MIDI message' to your project and select a MIDI device from the list in the property dialogue. Set the message type for example to NOTE ON/OFF.

The component will then appear with the following pins:

ON/OFF

A falling edge at pin ON/OFF will send a NOTE OFF message, a rising edge will send a NOTE ON message immediately.

CHN (Channel)

The numeric value at pin CHN determines the MIDI channel (0..15) for the message.

Some messages like MIDI START do not have a channel parameter, so you will not find this pin for all messages.

NOTE

The numeric value at this pin defines the NOTE (0..127), that is send with the message.

VEL (Velocitiy)

The numeric value at this pin defines the VELOCITY (0..127), that is send with the message.

CLK (Clock)

A falling edge at this control input, will cause the component to send a message immediately. This pin is available for all message types.

Other message types may have other pins, corresponding to the message parameters:

PAT (Polyponic Aftertouch)

Changes of the numeric input (0..127) will send the MIDI message immediately.

CAT (Channel Aftertouch)

Changes of the numeric input (0..127) will send the MIDI message immediately.

CTL (Control Change)

The value at this numeric input determines the so-called controller (0..127) of a MIDI control change message.The message is triggered with changes at pin VAL.

VAL (Value)

The value at this numeric input determines the value (0..127) of a MIDI control change message. Changes of the numeric input (0..127) will send the MIDI message immediately.

PTCH (Pitch)

Determines the pitch (0..127) for a MIDI pitchwheel message.

Changes of the numeric input will send the MIDI message immediately.

PGM (Program Change)

Determines the program number (0..127) for a MIDI program change message.

Changes of the numeric input will send the MIDI message immediately.

SNG (Song Select)

Determines the song number (0..127) for a MIDI song select message.

Changes of the numeric input will send the MIDI message immediately.

POS (Song Position)

Determines the song position in multiples of a MIDI clock.

Changes of the numeric input will send the MIDI message immediately.

See also:

- Component basics

- MIDI


Receive MIDI message

ProfiLab 4.0 ›› Hardware ›› MIDI ››

Add a component ‚Receive MIDI message' to your project and select a MIDI device from the list in the property dialogue. Set the message type for example to NOTE ON/OFF.

The component will then appear with the following pins:

ON/OFF

Receiving a NOTE ON message, this digital pin goes HIGH.

Receiving a NOTE OFF message, this digital pin goes LOW.

A NOTE ON message with VELOCITY (VEL) = 0 will cause the pin to go LOW as well.

CLK (Clock)

A falling edge at this pin indicates that a desired message was received. This pin is available for all message types.

The following pins can individually configured as filter inputs in the property dialogue.

If the filter option is selected, the component does only receive messages with parameters that are equal to the value at the filter input. For example a value of 10 at pin CHN (CHANNEL) will cause the component to receive messages on MIDI channel 10 only.

In other case (filter option off) the component receives messages on all MIDI channels.

Now the CHANNEL pin works as output and represent the channel number that was received with the message.

Filters are available for the following pins/parameters:

CHN (Channel)

MIDI channel number

NOTE

MIDI note number

CTL (Control Change)

MIDI controller number

PGM (Program Change)

MIDI program change number

SNG (Song Select)

MIDI song number

Pin/parameter without filter option:

VEL (Velocitiy)

Velocity for MIDI NOTE ON/OFF message

PAT (Polyponic Aftertouch)

MIDI PolyAftertouch value

CAT (Channel Aftertouch)

MIDI ChannelAftertouch value

VAL (Value)

MIDI controller value for MIDI control change message

PTCH (Pitch)

Pitch value for MIDI pitchwheel message

POS (Song Position)

Song position in multiples of MIDI clock.

The components SEND MIDI MESSAGE and RECEIVE MIDI MESSAGE can be used as often as needed in a project. Incoming messages will be distributed to all components in your project. Several SEND components can work on the same MIDI device as well. With increasing numbers of components it is recommended giving clear names to the components, like "Volume Keyboard1”.

See also:

- Component basics

- MIDI


MIDI THRU

ProfiLab 4.0 ›› Hardware ›› MIDI ››

This component puts through all MIDI messages from one device to another. For example this could make sense if ProfiLab visualises incoming data from a sequencer, while the connection to the sound generator (keyboard) is still necessary.

Take that MIDI THRU does not lead to message loops!

See also:

- Component basics

- MIDI


Multimeters

ProfiLab 4.0 ›› Hardware ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: No

ProfiLab-Expert: Yes

DMM with COM interface

This component is the interface to serial multimeters (mainly VOLTCRAFT or METEX). Select the multimeter type and the COM port from the component's property dialog. The measured value is available from the component's output. (Some multimeters offer more than one channel (multi-display); outputs K1...Kn). The value is delivered in basic units. This means that the output will show 0.001 if the multimeter reads 1 mV! The unit itself is not recognised, but the units prefix (m=milli, k=kilo etc.). With this technique you will always get the correct value, even if a autorange-multimeter switches its range from 932 mV to 0.932 V. The output will always deliver 0.932. Use the formula components to recalculate the value to another unit.

The components outputs deliver the status, if available from the multimeter:

K1: Main channel of the DMM (Measured value in basic unit)

K2..Kn: Some multimeters deliver the data of sub-displays on additional channels. (Depending on the multimeter type)

OL: This output goes high if the measured value exceeds the range of the multimeter.

ERR: This output goes high if the communication with the multimeter is faulty.

DMM with USB interface

While you select the COM-Port for serial multimeters, you have to select the suitable driver for multimeters connected to the USB. First connect the DMM to the USB. The PnP driver will be installed automatically. Select the driver and the type of your multimeter from the list of the components configuration dialog. Apart from that the components functions are the same as for serial multimeters.

PIN | Function | Pin type
K1..Kn | Mutimeter channels | Analogue outputs
OL | Overload indicator | Digital output
ERR | Error indicator | Digital output

See also:

- Component basics

- Hardware


Modbus

ProfiLab 4.0 ›› Hardware ››

Included in Version:

DMM-ProfiLab: No

Digital-ProfiLab: No

ProfiLab-Expert: Yes

These components were replace by a new Modbus Client component.

http://forum.abacom-online.de/phpBB3/viewforum.php?f=54

These components provide the most commonly used Modbus/TCP client functions, which allow to access to the growing market of automation devices that are equipped with Modbus/TCP servers. Connection is configured by the IP address and communication uses TCP port 502, which is Modbus default.

After connection has established the client software (ProfiLab) can send requests to the server (digital IO, relays, AD converters, etc.), which should execute the requested function and send a response.

Available functions and the communication protocol are defined by the Modbus standard. Most function are designed to allow simplified exchange of data contents between data registers of client and server. Modbus registers have an integer register address. Modbus functions are available for single register read/write access. Accessing consecutive register addresses in one go is possible as well.

Modbus defines different types of registers:

'Coils' are single bit values, that allow read and write access

'Discrete Inputs' single bit values that allow only read access.

'Holding Registers' are 16 bit wide (word) and can be read and written.

'Input Registers' are read only 16 bit registers.

The Modbus protocol specifications are published on the Internet. For practical work there is no need to know them. On the other hand a documentation of a individual Modbus enabled device is essential. Only the device manual gives information about the relationship of abstract Modus functions/registers and the concrete device specific functions.

Description of ProfiLab components

The START ADDRESS is common to all functions, and needs to be configured in the component properties. It defines the register address write/read access starts with. The read or write operation is triggered by a falling edge at control input /CLK. This will cause the control input BUSY (BSY) to go HIGH. As soon as a request response is received, BSY returns to LOW. This also happens after a adjustable timeout interval. Once the process was successful ERROR output (ERR) will remain at zero (LOW). Otherwise an error number larger than 5 (high) will appear at ERR:

10xhex + ModErr: Modbus error code + 256

200hex: Timeout

300hex: No TCP connection (at request time)

Output CN indicates a valid TCP connection with HIGH.

01 Read Coils

Reads single bits from the server. The number of bits to read (channels) is defined in the configuration dialogue. For example with START ADRESS=200 and CHANNELS=4 the coils 200,201,202 and 203 are read. The result of the read operation is available at the digital outputs CL1…CL4. For our example this means that output CL1 represents COIL 200, CL2=COIL 201, CL3 = COIL 202 and CL4 = COIL 203.

02 Read Discrete Inputs

Same as function 01, but read only bits are accessed.

03 Read Holding Registers

Same as function 03, but 16 bit registers (word) are accessed instead. Digital outputs CL1…CLx are replaced with 'analogue' register outputs RG1…RGx. Each of these outputs delivers a value between $0000 hex and $FFFF hex (0…65535), that correspondents with the register contents that was read.

04 Read Input Registers

Same as function 03, but read only registers are accessed.

05 Write Single Coil

Transmits a single bit value from digital input CL to the server.

06 Write Single Register

Transmits a single 16 bit register value from input RG to the server.

15 Write Multiple Coils

Transmits several bits from digital inputs CL1…CLx into consecutive server registers beginning with start address.

16 Write Multiple Registers

Transmits several 16 bit values from inputs RG1…RGx into consecutive server registers beginning with start address.

The functions names do not represent any concrete device function, but only indicate the kind of data transfer that is used. As mentioned before, the concrete device function is only available from the device documentation. Depending on your specific device registers and request may be assigned to digital IO, AD/DA, counters, frequencies, temperatures, PWM, and so on. For example some devices like counters may combine two Modbus 16 bit registers to one 32 bit counter register.

See also:

- Component basics

- Hardware

- TCP


OPC

ProfiLab 4.0 ›› Hardware ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component gives access to OPC servers with Data Access V2 interface. Information about OPC can be found on several websites, one of them is www.opceurope.org .

Also OPC demo servers can be download that can be used for test purposes.

ProfiLab offers client components for READ and WRITE access from/to numeric items. To establish a connection to an OPC server, first of all you need to specify the PC on which the Server is running in the property dialogue. This can be the local system as well as a PC that is part of your network. A listbox will then list all OPC server that were found on the specified computer. When you select one of these servers, a list will show all available items the server offers. Now you need to make a selection of items, that you want to read/write.

Buttons ADD, DELETE and MOVE allow to edit your selection list. Each entry in the list represents a certain server item. When you have finished the item selection, the ProfiLab components will have as many pins as you have items in your selection list.

These pins are named W0,W1, ... , Wn (component inputs) for write access and $R0,$R1,..,$Rm (component outputs) for read access. The write component has an additional control input EN, that can be used to enable/disable write operations.

Read and write operations are performed with the time interval that is configured in the property dialogue.

Notice that only numeric items can be written. The OPC interface defines other items like strings, etc. Such items can be read with ProfiLab, but these can not be written. Some items may be write protected on the server, so that write operation will fail in that case.

Up to know ProfiLab only supports the OPC Data Access V2 Interface, which is used by many OPC applications. OPC uses the Windows DCOM service, so make sure that you have this service installed and running,

See also:

- Component basics

- Hardware


ProfiLab TCP

ProfiLab 4.0 ›› Hardware ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

With this component you can setup a connection between two or more ProfiLab applications via a local network (LAN) or Internet (WAN). The communication is based on TCP. In a simple case you create two applications, both equipped with a TCP component. One of them should be configured as SERVER, the other as CLIENT.

Client/Server

The client/server settings determine how a connection is established. The server component is waiting for clients that want to connect, but can not make a connection itself. After a connection has been established you can exchange data in both directions.

TCP-Port

A so-called TCP port is necessary for TCP communication. As several server and client can use TCP simultaneously, a TCP port needs to be specified for both sides, which is an integer number between 0..65232. This parameter can be found in the property dialogue as well. Usually the TCP port is set to the same number on both sides, but there are some exception that are explained later.

IP addresses

One last missing parameter is the IP address of the server PC, that needs to be set in the clients configuration dialogue (HOST). The IP address is comparable with a phone number that tells the client where to call the server in the network. Every PC that is part of a network has a unique IP in each network. This means that computers that are connected to two networks, for example LAN and Internet, do have two IP addresses.

A private one for the LAN and a public one for the WAN.

To find out the local IP address (LAN) for a PC, you can type the command IPCONFIG in the command line windows (START->EXECUTE "COMMAND”).

The public IP for the Internet (WAN) can be found out with the Internet itself. Several Internet pages offer the servive to investigate and display your Internet IP.

Depending on the desired connection (LAN or WAN) you need to enter the corresponding IP of the server PC to the clients HOST field in the property dialogue, like 127.198.1.4 or similar.

With CLIENT/SERVER, TCP-PORT and HOST have basically all you need for a TCP connection. But unfortunately you may have to consider some other constellations, that are quite often:

Firewall

A Firewall prevents connections via TCP or other protocols for safety reasons locking ports. The firewall opens ports only for programs that are "registered” in the firewall software. So you will have to let the firewall know, that your application uses a TCP port and which one. How to do this depends on the firewall software you have installed.

For test purposes it could be useful to disable the firewall temporary and make the firewall settings later, when everything else works correctly.

Routers

Routers are often used to distribute an Internet connection to several PC systems.

This leads to the fact that these computers do not have an individual Internet IP, as they share the INTERNET IP of the router that has the Internet connection. (Within the LAN these system still have an individual LOCAL IP, but this is not known in the Internet.)

Make yourself clear that INTERNET IP and LOCAL IP are not the same.

Imagine you have setup a server application in such an constellation. Now a client tries to connect from some on the Internet. Which IP can we configure as HOST? The only IP that is available is the INTERNET IP of the router, but this is shared by several systems behind the router.

To solve this problem routers offer a specialised technology called NAT (Net address translation) or VIRTUAL SERVER. The router need to simulate a TCP server, that routes incoming TCP request for a certain TCP port to a certain PC in the local network, where you server application is installed.

Usually you need to make the following NAT settings with the routers configuration program:

Type of protocol. TCP in our case.

The TCP port for incoming requests (public port). This is the TCP port you have configured in the client application.

The TCP port of the "real” server (local port). This is the TCP port configured in the server application.

The LOCAL IP address of the PC system on which your server application is running.

Now the client can access the virtual TCP server using the INTERNET IP of the router and the public port of the virtual server. The virtual server will now hand-over the client request to the real server in the local network using the NAT list. As the public port and the local port of the virtual server need not to be the same in this constellation, client component and server component may have different ports as well.

Fixed / dynamic Internet IP

Another problem with connections via Internet are dynamic IP addresses. In that case the Internet provider hands out a new (dynamic) Internet IP each time a connection with the Internet is established. Even worse that some providers force a disconnect and re-logon. This fact prevents to set up a server via a DSL connection, as the server would have a new, unknown IP regularly. Some providers offer a fixed Internet IP, for some extra costs. Also some Internet services offer a fixed IP that is mapped to a dynamic IP.

If you want to set up TCP server via Internet you will have to make sure that you have a fixed Internet IP first!

How to connect?

As soon as you have finished your client and server applications, with correctly configured TCP parameters, you can try to connect them. First start the server application, that will wait for a client to connect. This will happen as soon as the client application is started. When both sides connect correctly, the output CN will indicate this going HIGH. In case connecting failed, the client will try to connect again once a minute.

Data transfer

After the connection has established, signals can be transferred from client to server an vice versa. Each client/server pair can transmit an analogue signal or alternatively 16 digital signals in both directions, as configured in the property dialogue.

ANALOGUE configuration

Connect the analogue signal to input TX for transmission. The signal will be transmitted from the TX input one component to the RX output of the other. A second signal can be transmitted in the opposite direction. This means that both sides work as sender and receiver simultaneously.

DIGITAL configuration

While only one analogue signal is transmitted in analogue mode, the digital configuration can transmit 16 digital signals simultaneously. The signal at inputs TX0..TX15 of one component are transmitted to corresponding outputs RX0..RX15 of the other. In digital mode both sides work as sender and receiver simultaneously as well.

In case the connection is interrupted, all RX outputs will keep the latest status, as long as the application is running or a new status is received. Both modes offer a control input EN that can be used to enable/disable transmission.

Channels

The CHANNEL option in the property dialogue makes it possible to set up more than one client/server pair in your application, without the need to open another TCP port for them. With different channel settings up to 255 server pairs can work with the same TCP port number, which makes firewall and router configuration easier. CHANNEL must be set identical for one client/server pair.

Local host

Developing client/server applications usually you will have to work on both applications simultaneously, to check them out. At first it will be much easier to do this work on a single PC without network involved. In that case you can use the so-called local host with the IP 127.0.0.1, which is available on every PC. This makes it possible to connect a client and sever application that both run on the same computer. When work is finished applications can be transferred to the destination computers adapting only the IP addresses.

Multiple client applications

Basically it is possible to connect more than one client to a server. For example a sever in Hamburg could measure temperature, while clients in Frankfurt, Munich and Berlin request the value. But confusion may appear if several client transmit different values on the same channel. In that case the last received value wins. This is unavoidable and should be must considered in circuit design. The enable input may be helpful in such cases.

See also:

- Component basics

- Hardware


Relay cards

ProfiLab 4.0 ›› Hardware ››

Depending on the number of available relay, the component offers corresponding inputs that switch the relay on and off. Some cards offer additional analogue or digital functions that are explained in the manual of your device.

PIN | Function | Pin type
R1..Rx | Relays | Digital inputs

See also:

- Component basics

- Hardware


RS-232

ProfiLab 4.0 ›› Hardware ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This library contains five components for use with serial communication via the COM port. The components offer simple and universal communication with programmable/self-made devices (like Conrad C-Control or others).

All serial components allow the set-up of the basic communication parameters in the property dialog:

Port (COM1...COMxx)

Baud rate (110...256000)

Data bits (4...8)

Parity ( None, Odd, Even, Mark, Space )

Stop bits (1, 1.5 , 2)

Enter the parameters that are required with your hardware.

COM – send byte

A simple component that allows to send single bytes via the COM port. The data byte is entered via the binary coded inputs D0...D7. With a falling edge at the input /SND the byte is send via COM port.

Frame parameters

The output of the data byte may be framed by additional bytes, which means that an user editable byte sequence may be send before and after the data byte. Click "Frame parameters” in the component's property dialog to enter a prefix and a suffix for the data byte. The prefix is send before the data byte, followed by the suffix.

Prefix and suffix may be build from...

String constants in quotation marks

Bytes as integer values 0...255

Bytes as hexadecimal values (marked with a leading $ character)

Separate entries of more than one byte with <SPACE>

Example: Entering "HALLO" 13 10 will create the hexadecimal byte sequence:

48 41 4C 4C 4F 0D 0A

A preview of the hexadecimal byte sequence is displayed and the data byte's position is marked as <data>.

Note: A single falling edge at input /SND will send the whole byte sequence.

COM – send sequence

This component allows to send 255 different byte sequences. The binary coded inputs DS0 ... DS7 (data select) select one of the byte sequences. With a falling edge at input /SND, the selected sequence will be send to the COM port.

Click to "Define sequences...” to define the byte sequences. A list with 255 rows ($00...$FF) opens, to which the bytes sequences must be entered. The syntax of an entry is the same as the syntax for pre- and suffix of the "COM-send byte” component. This section also explained the frame parameters.

COM – send value

This component transmits numbers in readable (ASCII-) format via the serial port. You may know the BASIC command "PRINT” which is very similar to the component.

The number that is send is taken from the analogue input Z of the component. A falling edge at the input /SND sends the number immediately. Tree options are available for formatting the number:

Fixed decimal point, with an adjustable number of digits

Floating point, with an adjustable length

Scientific format

Click to "Format value” to select an output format. Frame parameters are already known from the component "COM-send byte”

COM – send string

This component send out a string over the serial port. Note: A single falling edge at input /SND will send the whole string.

COM – receive byte

This component receives single bytes from the serial port. Received data is available at the binary coded pins DI0...DI7. The component must be prepared to receive data with a falling edge at the input pin /CK of the component. The output BSY will go high, indicating that the component is waiting for data. BSY will return to low when a data byte has been received and data is available at DI0...DI7.

COM – receive value

This component receives numbers from the serial port that are transmitted in readable (ASCII-) format. You may know the BASIC command INPUT that is very similar to this component. The component will receive and buffer data until a synchronising bytes sequence is recognised, which will cause the component to interpret the received data.

The component must be prepared to receive data with a falling edge at the input /CK. The output BSY will go high, indicating that the component is waiting for data. BSY will return to low when the synchronising bytes have been recognised and the received number is available at the analogue output Z of the component.

Click to "Define sync. bytes...” in the component's property dialog, to enter a byte (sequence) that is used for synchronising.

COM – receive string

This component reads strings from the serial port. Characters are read until a configurable sync byte sequence is received. After that previously received characters are put out as one string. The component must be prepared to receive data with a falling edge at the input /CK. The output BSY will go high, indicating that the component is waiting for data. BSY will return to low when the synchronising bytes have been recognised and the received string is available at the analogue output $ of the component.

COM – RTS / DTR

Some devices may require certain levels of the signals RTS and DTR to establish communication. In that case you can use this component to set these signals, for example to realize the internal power supply of the devices´ interface.

COM - Request / Response

This component allows to send a request and read the response afterwards with a single unit. A falling clock (/CK) sends out the request string ($REQ). While the component waits for the response BSY (busy) becomes HIGH. The incoming answer (response data) is made available at $RES output and BSY returns to LOW. In case of a missing answer a falling clock at BRK (break) can be used to chancel the wait. Final SYNC characters are used to recognize a completed answer. Instead of using SYNC characters, a fixed number of characters can be read as well. For that purpose feed the number of bytes to be read to the RLEN (read length) input, which must be valid with falling clock (/CK) trigger. Take care that the given length fits to the real response length, otherwise characters will remain in the serial input buffer. A falling edge at /FLSH (flush) can be used to empty serial input and output buffers.

All COM components may be used several times in any order and combination. You have to make sure that the inputs /SND and /CK are controlled in a way that is compatible with the protocol of your serial device. Only prepare a component for receive, when no other component is waiting for data (check BSY!).

See also:

- Component basics

- Hardware


Device specific Information

ProfiLab 4.0 ›› Hardware ››


Sartorius-Scales

ProfiLab 4.0 ›› Hardware ›› Device specific Information ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: No

ProfiLab-Expert: Yes

Scales delivered by SARTORIUS are connected to a COM port and all of them offer the so-called 'BASIC' protocol. The component requires the default set-up for the scale's device. (1200 baud, odd parity, 1 stop bit)

Required device modes: Mode 612 (print after standstill) or Mode 611 (print without standstill).

The weight is available at the output Z of the component. When the scales have come to a standstill the status output RDY is high. Refer also to the manufacturer's description.

See also:

- Component basics

- Hardware


LabJack U12

ProfiLab 4.0 ›› Hardware ›› Device specific Information ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: No

ProfiLab-Expert: Yes

The LabJack U12 is an external USB interface, equipped with eight analogue inputs, two analogue outputs, 20 digital IOs and a counter. A so-called local ID can be assigned to each device, using the manufacturers software to identify the device on the USB. Enter that ID to the configuration dialogue as hexadecimal value. Make sure that the high-level device drivers (DLL and ActiveX) for the LabJack are installed on your system.

The Pins AI0..AI7 offer the measured voltages on the analogue inputs. Output voltages are controlled by the pins AO0 and AO1. The LabJack has 20 digital IOs. Four of them (IO0..IO3) are connected to a terminal connector block. The remaining 16 IOs (D0..D15) are connected to a Sub-D connector. Each of these digital channels can be used either as input or as output. Therefore the software component has a corresponding direction pin for each channel. The direction pins for IO0..IO3 are designated as DIO0..DIO3. The direction pins for D0..D15 are designated as DD0..DD3.

While a direction pin is high (logical "1") the corresponding channel works as input, otherwise it becomes an output. (Caution!)

As long as the direction pins are not connected (=high) all digital channels are inputs and the logical state of the inputs is available at the pins IO0..IO3 or DI0..DI15 respectively.

After connecting a direction pin to a low signal, the corresponding digital channels becomes an output, which can be set by signals connected to IO0..IO3 or DO0..DO15 respectively. Otherwise these output control signals are meaningless. Beside this the output states are read back to the pins IO0..3 and DI0..DI15. So these pins always represent the channel status, independent from using the channel as input or as output.

The pin LED controls the LabJack status LED. CNT represents the counters count, which can be reset with the /RES pin. Make sure that you understood the device functions, before you connect anything to the LabJack.

More information is available from www.labjack.com.

See also:

- Component basics

- Hardware


Meilhaus PMD 1008 ( miniLab 1008 (TM)

ProfiLab 4.0 ›› Hardware ›› Device specific Information ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This device operates on the USB. The manufacturers software "Universal Library” must be installed on your system. Use the tool INSTACAL to configure the device. This will give you the DEVICE-NO. necessary for the property dialogue.

The device offers eight analogue inputs (CH0..CH7; +/- 10V). You can use the inputs for differential measurements, which will reduce the number of analogue channels to four.

Three digital I/O-ports (A,B,C), each with eight bits, can be configured portwise as INPUT or OUTPUT in the property dialogue. A fourth port offers four additional digital I/O-lines. These line can be set as INPUT or OUTPUT individually. The control inputs (DR0..DR3) set data direction of the coresponding I/O-line. A HIGH at a DR-input sets the corresponding line as INPUT (DI0..DI3), a LOW programs the line as OUTPUT (DO0..DO3) (Caution!).

Two D/A converters (DA0 and DA1) control analogue voltages from 0V to 5V. CNT represents the devices counter. The counter is reset to zero with a LOW at /RES. The sample rate with ProfiLab is about 4..5 samples/sec.

See also:

- Component basics

- Hardware


DEDITEC DELIB

ProfiLab 4.0 ›› Hardware ›› Device specific Information ››

Included in Version:

DMM-ProfiLab: No

Digital-ProfiLab: Digital functions only

ProfiLab-Expert: Yes

The DEDITEC Library (DELIB) supplies functions that access Quancom devices (mostly hardware independent). The Proflab components call these functions directly and hand out the necessary parameters.

ProfiLab supports the following DELIB functions:

Reading digital device inputs.

Setting digital device outputs.

Reading analogue device inputs.

Setting analogue device outputs.

Timeout (watchdog) configuration

This allows basic access to DEDITEC devices that support these functions. Other device functions are not supported.

Parameters in configuration dialog correspond to the function call parameters define by the DELIB.

Please read the DELIB documentation as well as your DEDITEC device manual carefully.

DEDITEC programming examples are also helpful information about parameters of DELIB function calls.

These parameters can not be explained too detailed here:

Interface

Is a identification of the interface type (USB, SERIAL, LAN).

DevNo

The dice number addresses a certain device as configured with the DEDITEC configuration tool.

Channel

Identifies an input channel on analogue devices. Digital inputs are usually grouped as ports, so the CHANNEL parameter corresponds to the port number for digital functions instead.

Mode

Is an additional parameter that, use to adjust ranges of analogue devices.

http://www.deditec.de/en


Quancom QLIB

ProfiLab 4.0 ›› Hardware ›› Device specific Information ››

Included in Version:

DMM-ProfiLab: No

Digital-ProfiLab: Digital functions only

ProfiLab-Expert: Yes

The Quancom Library (QLIB) supplies functions that access Quancom devices (mostly hardware independent). The Proflab components call these functions directly and hand out the necessary parameters.

ProfiLab supports the following QLIB functions:

ReadDI reads digital device inputs.

WriteDO sets digital device outputs.

ReadAD read analogue device inputs.

WriteDA sets analogue device outputs.

This allows basic access to Quancom device that support these functions. Other device functions are not supported.

Parameters in configuration dialog correspond to the function call parameters define by the QLIB.

Please read the QLIB documentation as well as your Quancom device manual carefully.

Quancom programming examples are also helpful information about parameters of QLIB function calls.

These parameters can not be explained too detailed here:

CardID

Is a identification defined by Quancom for a certain device type.

DevNo

is used to distinguish between Quancom devices of same device type. This kind of address may be configurable on the device itself.

CardID and DevNo device connected to the PC can be found out using the „Quancom Configuration Utility“.

Channel

Identifies an input channel on analogue devices. Digital inputs are usually grouped as ports, so the CHANNEL parameter corresponds to the port number for digital functions instead.

Mode

Is an additional parameter that often has no function, or it is used for device specific information.

See Quancom device manual and programming examples for details.

Pleas note that analogue functions do NOT convert values into physical units, but work with ADC/DAC raw data.


Meilhaus IDS

ProfiLab 4.0 ›› Hardware ›› Device specific Information ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: No

ProfiLab-Expert: Yes

The Meilhaus IDS (Intelligent Driver System) is a new driver generation for Meilhaus (PCI) cards. The Meilhaus IDS driver software and the hardware device need to be installed before using it with ProfiLab.

With the Meilhaus Intelligent Driver System (ME-iDS) programming of all supported Meilhaus devices becomes unified

and simple. It was developed with the aim of offering a common programming interface to cover all devices and all operating systems.

To say it in simplified terms the concept is based on a question and answer game between software and hardware. The

software can ask the supported devices for their components resp. their capabilities. In the next step this information can be

used to access the appropriate functional groups of the hardware (in the following named as „sub-devices“). The ME-iDS knows

the following sub-devices:

Analog input

Analog output

Digital input/output (bi-directional)

Digital input

Digital output

Counter

External interrupt ( not supported by ProfiLab )

Detailed information about the Meilhaus IDS and its hardware support can be found at www.meilhaus.com. The former device implementation (with older device drivers) is still available in ProfiLab. Essentially the following cards can be used in ProfiLab with the Meilhaus IDS:

ME-94/95/96

cPCI/PCI

ME-630

cPCI/PCI/PCIe

ME-1000 Serie

cPCI/PCI

ME-1400 Serie

cPCI/PCI

ME-1600 Serie

cPCI/PCI

ME-4600 Serie

cPCI/PCI/PCIe

ME-6000 Serie

cPCI/PCI

ME-8100 Serie

cPCI/PCI

ME-8200 Serie

cPCI/PCI/PCIe

* Some cards allow channel configuration "differential inputs" with certain ranges. Use "single ended" configuration in all other cases (see device manual for further information). Meilhaus devices are calibrated for a precise conversion in physical units. Due to this factory process, the full range can differ slightly from its nominal value. (e.g. 9.99937V instead of 10V or 0.00012 V instead of 0V). This is not a malfunction of hardware or software.


Outdated

ProfiLab 4.0 ›› Hardware ››

Below members of this 'outdated' topic are not recommended for new developments. These items remain in software for compatibility reasons,

they refer to outdated technologies or they rely on devices that are no longer available.


Hygrosens temperature system

ProfiLab 4.0 ›› Hardware ›› Outdated ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: No

ProfiLab-Expert: Yes

The Hygrosens temperature system allows to collect data from Dallas 1820 temperature sensors, that are connected to the interface device with a 3-wire bus line cable. The interface module is available in some variations. All of them (especially USB and RS-232 variations) are used with the same ProfiLab component. Temperature sensors must be assigned to the hardware interface with a certain recognition process (see manual/data sheet from manufacturer).

The temperature channels (T1, T2, … , Tn) read the sensor temperatures in Celsius degrees.

Each and every Dallas 1820 temperature sensor is manufactured with an unique chip ID. ProfiLab uses the chip ID to identify sensors and assigns them to the temperature channels of the ProfiLab component automatically. Therefore the chip ID is stored in the pin name fields of each temperature channel. In case of less temperature channels configured, but more sensors connected, the surplus of sensors is ignored. The sensor assignment once stored in the component will never change. This means that a temperature channel will only read data from a temperature sensor, if its chip ID is equal to the ID stored in the pin name of the corresponding temperature channel.

In case a sensor needs to be replaced because of damage, the sensor recognition process of the hardware interface must be carried out again (see manual/data sheet from manufacturer). After that the chip ID of the defective sensor must be deleted from the pin name field of the ProfiLab component. ProfiLab fills this gap with the chip ID of the new sensor as soon as the new sensor transmits valid data again. So the channel assignment will not be changed replacing a defective sensor.

See also:

- Component basics

- Hardware


Port access

ProfiLab 4.0 ›› Hardware ›› Outdated ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: No

ProfiLab-Expert: Yes

Port access components may be useful for direct access to extension cards.

Port-write

This component performs write commands to any port address of your system. Enter the port address to the component's property dialog. With a falling edge at the input CK the data (byte) from the binary coded inputs D0...D7 is written to the port address.

Port-read

This component performs read commands from any port address of your system. Enter the port address to the component's property dialog. With a falling edge at the input CK the data (byte) is read from the port address and is available from the data outputs of the component.

The port components are also available for word (16-bit) port access.

See also:

- Component basics

- Hardware


LPT-Port

ProfiLab 4.0 ›› Hardware ›› Outdated ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

A parallel LPT port is available in almost every system and may be used for control of external hardware. The LPT port offers:

5 digital inputs

11 digital outputs

Select the LPT port from the component's property dialog. The outputs are controlled by the pins D0...D7, AF, IT and SLI. The status of the LPT inputs is available at the component pins ERR, SLT, PE, ACK and BSY.

LPT connector:

Inputs

ERR | Pin 15
SLT | Pin 13
PE | Pin 12
ACK | Pin 10
BSY | Pin 11

Outputs

D0 | Pin 2
D1 | Pin 3
D2 | Pin 4
D3 | Pin 5
D4 | Pin 6
D5 | Pin 7
D6 | Pin 8
D7 | Pin 9
AF | Pin 14
IT | Pin 16
SLI | Pin 17

See also:

- Component basics

- Hardware


COM port

ProfiLab 4.0 ›› Hardware ›› Outdated ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

The COM port may be used to control external hardware as well. The following pins are useable at the COM port:

4 digital inputs (CTS, DSR, RI, DCD)

3 digital outputs (DTR, RTS, TxD)

Enter COM port to the property dialog. The inputs DTR, CTS and TxD of the component control the outputs. The state of the inputs CTS, DSR, RI and DCD is available at the components outputs.

The pins assignment of the COM port depends on the connector (9 pins or 25 pins):

Connector with 25 pins:

CTS | Pin 5
DSR | Pin 6
RI | Pin 22
DCD | Pin 8

DTR | Pin 20
RTS | Pin 4
TxD | Pin 2

Connector with 9 pins:

CTS | Pin 8
DSR | Pin 6
RI | Pin 9
DCD | Pin 1

DTR | Pin 4
RTS | Pin 7
TxD | Pin 3

Please pay attention to the voltage levels of the COM port: LOW level is indicated by negative voltage between –3V and –15V, while voltages from +3V to +15V represent HIGH level.

See also:

- Component basics

- Hardware


I²C Master

ProfiLab 4.0 ›› Hardware ›› Outdated ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: No

ProfiLab-Expert: Yes

This component is useful creating and processing I²C (two-wire) bus signals. Some knowledge of I²C technique is necessary for understanding. Tutorials and information about I²C can be found on the Internet.

The I²C bus was designed to simplify connections between integrated circuits (IC). Meanwhile lots of chips with various different functions are available. For example typical chips are:

PCF8574 (8-Bit-Port-IO)

PCF8591 (8-Bit-ADC/DAC).

...

Their datasheets offer general I²C information, as well as product specific information. These links are only meant as simple examples. Any other I²C chip can be used with this component.

I²C is based on two bus lines (SDA = serial data and SCL = serial clock). These lines need to be switched in a sequence, to establish a (serial) communication. This sequence is defined by the I²C protocol (introduced by Philips) and it is also determined by the functional description of the chip being used (datasheet). One thing to remember is to distinguish bus members between MASTER (usually a micro-controller or the in this case the PC) and SLAVES (the chips being controlled). As the name points out, this component is a MASTER to control SLAVES.

The main task for the component is to create and process SDA and SCL signals, which are connected to an interface hardware, which must offer transfer rates for acceptable speed, like LPT, COM or I/O cards with direct port access. As the PC has no built-in I²C interface, usually an auxiliary circuit is necessary to adapt signal levels, or to interface the bi-directional bus lines to uni-directional I/O pins.

Hardware

Four digital I/O channels are necessary to interface the I²C bus lines. Two outputs are used to set the SDA and SCL line. Two input are necessary to read back the status of these lines.

The following circuit is an example how to interface I²C with the LPT port. It uses an 7405 inverter with open-collector-outputs. I²C bus lines are set by the LPT pins D0 and D1, while PE an BUSY read back the bus status. This circuit is used by the ProfiLab examples, supplied under FILE->EXAMPLES ...\EXAMPLES\HARDWARE\I2C\...

A different interface using the COM port can be found here .

Software

The I2C MASTER component offers two outputs /SCL and /SDA, as well as two inputs SCL and SDA.

● The inputs are used to inform the component about the current status of the bus lines. These inputs need to be connected to the hardware interface pins that read the bus status.

● The outputs are used to control the bus lines. They need to be connected to the hardware pins that set the bus lines.

The outputs /SDA and /SCL are inverted. This makes it possible to connect several components. ProfiLab bus logic is inverted compared to the real I²C bus lines.

There is no need to worry about programming SDA and SCL signals with this component, as the component offers simple commands like SEND DATA BYTE or SEND READ ADDRESS. The component generates the necessary SDA and SCL sequences automatically from these commands. These basic commands are defined in the I²C protocol and they are equal for all I²C slaves. The only thing to do is to put them into the right order, which is documented in the datasheet for the chip. Such an program sequence can be defined in the components configuration dialogue. The commands are as follows:

START | Initialises a message
STOP | Finalises a message
SEND WRITE ADDRESS | Sends a chip address with write request to a chip
SEND DATA BYTE | Sends a data byte to the chip
WAIT ACKNOWLEDE | Waits for acknowledge after sending data or address
SEND READ ADRESS | Sends a chip address with read request to a chip
RECEIVE DATA BYTE | Receives a data byte from a chip
ACKNOWLEDGE | Sends acknowledgement after receiving a byte
NO ACKNOWLEDGE | Sends 'no' acknowledgement after receiving a byte

For a PCF8574 (8-Bit-Port-I/O) a program could look like this:

// Set outputs:

START

SEND WRITE ADDRESS

WAIT ACKNOWLEDGE

SEND DATA BYTE

WAIT ACKNOWLEDE

STOP

// Read inputs:

START

SEND READ ADDRESS

WAIT ACKNOWLEDGE

READ DATA BYTE

ACKNOWLEDE

STOP

Each message is initialised with START and is finalised STOP. After SEND of an address or data byte we need to WAIT ACKNOWLEDGE from the chip. After each READ we must ACKNOWLEDGE or NO ACKNOWLEDGE. This little program is executed once, triggered by a falling edge at input NOW. During execution output BUSY goes HIGH and return to LOW after that.

Chip address

Each I²C chip has a certain address . Usually this is made of 7 bits (0..127). Some of these bits are fixed, implemented by the manufacturer. Other bits are user-definable binding address pins to Vcc or GND. A PCF8474 offers three address pins (A0..A2) to define a user address, while address bits A6..A3 are set internally to ”0100”. So a PCF8474 has a address space of 0100xxx. Which is 32 to 32+7=39. This allows to connect up to eight of these chips to one I²C line.

First thing to after START is to SEND WRITE ADRESS or SEND READ ADDRESS to select a certain chip and determine data flow direction. The chip address (0..127) must be supplied as a numeric value at component pin ADR. The address input is latched with the falling edge at trigger input NOW at sequence start.

Data transfer

After addressing a chip data can be transferred with SEND DATA BYTE or RECEIVE DATA BYTE. The data bytes are handed out in strings with the pins $RD and $WR.

Sending data to a chip

Data to send must be supplied in a string at input $WR. First SEND DATA BYTE sends the first character of the string, the next the second character, an so on. The input $WR is latched with a falling edge at input NOW when sequence is started. After sending an address or data byte, we need to WAIT ACKNOWLEDE from the chip. This stops the sequence until a HIGH appears at SDA.

Receiving data from a chip

Received data is output as a string through the pin $RD, which contains all data bytes that were read with

RECEIVE DATA BYTE commands. $RD is updated with new data after the program sequence is completely finished, which is indicated by pin BSY returning to LOW. After receiving each data byte we must ACKNOWLEDGE or NO ACKNOWLEDGE.

The exact program sequence for a chip must be taken from its datasheet.

Loop

To make interfacing of some chips even more convenient ONE loop can be defined for a sequence. Commands that need to be repeated can be framed with LOOP START and LOOP END. These commands are executed as often as configured in the LOOPS property of the configuration dialogue. For example this could be helpful filling RAM chips with data.

Clock

The clock determines when SDA and SCL lines are switched. In the configuration dialogue you can select INTERNAL CLOCK. With this option selected, the clock is is equal to the ProfiLab simulation frequency, which is the highest clock that is available. With INTENAL CLOCK deactivated, you need to feed a clock signal via CLK input. This can be necessary for hardware devices that only allow lower transfer rates.

PIN | Function | Type
SDA | Read busline SDA (from Hardware) | Digital input
SCL | Read busline SCL (from Hardware) | Digital input
/SDA | Set bus line SDA (to Hardware) | Digital output
/SCL | Set bus line SCL (to Hardware) | Digital output
ADR | 7 bit chip address (0..127) | Analog input
$WR | Data for Chip | String input
$RD | Data from chip | String output
CLK | External clock input | Digital input
NOW | Trigger input starts sequence | Digital input
BSY | Busy (high while sequence running) | Digital output
ERR | Error (ACK timeout = 1 Sec.) | Digital output

See also:

- Component basics

- Hardware


8255-Port

ProfiLab 4.0 ›› Hardware ›› Outdated ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

There are many manufacturers that deliver extension cards with one or more 8255 interface chips for direct access. This component makes it easy to use them.

The 8255-chip offers the following features:

24 digital inputs (max.)

24 digital outputs (max.)

The 8255-chip has 24 I/O pins available as port A, port B and port C, each with eight I/O pins. Each port may be configured as input or output. ( H-nibble and L-nibble separately for port C). The configuration is done in the component's property dialog. Enter the port address for the 8255-chip and select ports for input or output. To find out the correct port address see also the description for your extension card.

Depending on the configuration the component has different pins. Inscriptions for pins that control hardware outputs start with the character "A” followed by a character that identifies the port (A, B or C) and the bit number of the port bit (0...7). For example AB3 identifies the pin that refers to bit 3 of port B which has been configured as output. Component pins that make the status of hardware inputs available start with the letter "E”. For example EA2 is the pin that refers to bit 2 of port A which has been configured as input.

I/O extension cards with 8255 chip are available from CONRAD-Electronic, Klaus-Conrad-Str. 1, D-92240 Hirschau or others.

See also:

- Component basics

- Hardware


Joystick

ProfiLab 4.0 ›› Hardware ›› Outdated ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This component delivers the position of joysticks with up to three axes and the status of the fire buttons. Joysticks must be configured in the GAME CONTROLER section of the Windows System Control. The outputs X, Y and Z deliver the joysticks position for each axis, with a range from –100 to 100. The status of up to 4 fire button is available at the component's outputs B0, B1, B2 and B3. Output is high when the button is pressed.

See also:

- Component basics

- Hardware


LCD display

ProfiLab 4.0 ›› Hardware ›› Outdated ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

This component drives LCD text displays with HD44780 controller chip on LPT port. The HD44780 is build into most of all LCD text displays. You can find several pages on the Internet, where the functions of the chips are described. The ProfiLab component makes it very convenient to display text, values or status information and there is no need to do any controller programming. The component offers 256 so-called SCREENS, that are defined by the user. The status of the binary input register SC0..SC7, selects the screen that is displayed (0..255; $00..$FF). Eight additional input channels ($IN0..$IN7) can be used to carry values you want to show to the display.

You can format input values and place it anywhere on a screen. Each screen is defined by a sequence of simple commands that format and place text, values or status information on the display, just like a simple kind of program, that is executed step by step. The position (row,column) for each command must be specified. Depending on the command type additional adjustments or parameters can be specified. This is all done in the configuration dialogue of the component.

The following commands are available:

TEXT

places a text constant on the display.

INT

displays the value of an input channel as integer. The input channel can be selected.

FIXED

displays the value of an input channel with a fixed number of digits and a fixed decimal point position. The input channel can be selected.

FLOAT

displays the value of an input channel in a floating point representation. The input channel can be selected.

EXP

displays the value of an input channel in an exponential representation. The input channel can be selected.

HEX

displays the value of an input channel in hexadecimal style. The input channel can be selected.

BOOL

shows a logical state (high/low) on the screen. A user-defined text can be assigned to both states, which is displayed, depending on the logical state of the input channel. The input channel can be selected.

BIN

Displays a binary representation of the input value. Instead of "0” and "1” other characters can be specified, for example HHLLHLHH or XX__X_XX instead of 11001011. The input channel can be selected.

%BAR

displays a percentage bar-graph on the screen. The input value must be within a range of 0..100. The input channel can be selected.

TIME

Displays the system time.

DATE

Displays the system date.

STRING

displays the value of an input channel as string. The input channel can be selected.

The range of the input channels depends on the format you have selected to display a value. If the value exceeds the range of the data format you have selected, >>>> characters will be displayed, instead of the value.

The number of columns and rows depends on the display type you have connected. The following display types can be used with the component: 1x8, 1x16, 8+8, 1x20, 1x40, 2x8, 2x12, 2x16, 2x20, 2x24, 2x40, 4x16, 4x20. On a 8+8 display two rows of the display, each with eight characters, are arranged side by side, so that it looks like a display with 16 characters in one row.

Connecting a LCD to the LPT port is quite simple, and the following circuit is used by several other programs (LCD hype, JaLCD, etc.) as well as ProfiLab. On the Internet (eBay) even ready-made displays are offered, that use the same circuitry.

If you use this circuit to connect your display to the LPT port, you can simply specify the LPT port in the configuration dialogue. The backlight option can be used with illuminated displays, but is not necessary. Unfortunately an external 5 Volt power supply is necessary in any case.

If you use an alternative pin-out or even plan to use an other i/o-device (which is quite unusual), the ProfiLab component offers the necessary control signals at additional output pins. You can connect these outputs to the i/o device that controls your display.

In that case you have to consider, that the data rate of the device must be high enough, to follow the control signals. Usually only internal i/o cards with direct port access (like 8255 cards) are fast enough, to meet this requirements. With such a setup, you should disable the LPT output in the configuration dialogue.

Before connecting a LCD, it is recommended verifying the pin-out with the manufacturers data sheet. Most displays offer the following connections:

Pin 1 | GND | Ground
Pin 2 | V+ | 5 Volt
Pin 3 | V contrast | Contrast
Pin 4 | RS | Register select
Pin 5 | R/W | Read/Write
Pin 6 | E | Enable/Clock
Pin 7 | D0 | Data 0
Pin 8 | D1 | Data 1
Pin 9 | D2 | Data 2
Pin 10 | D3 | Data 3
Pin 11 | D4 | Data 4
Pin 12 | D5 | Data 5
Pin 13 | D6 | Data 6
Pin 14 | D7 | Data 7

Optional:

Pin | 15 | Illumination +
Pin | 16 | Illumination -

The ProfiLab component was tested with several displays from different manufacturers and it was programmed with large tolerance. All tested displays worked very well at first go.

ProfiLab component pins overview:

PIN | Function | Type
SC0..SC7 | Screen select register | Digital inputs
$IN 0..7 | Input channels | String
BL | Back light control | Digital input

Outputs to other I/O devices:

PIN | Function | Art
D0..D7 | LCD data register | Digital outputs
RS | LCD register select | Digital output
R/W | LCD read/write | Digital output
E | LCD enable/clock | Digital output

See also:

- Component basics

- Hardware

- LPT port


GamePad

ProfiLab 4.0 ›› Hardware ›› Outdated ››

Included in version:

DMM-ProfiLab: Yes

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

Returns the status of 6 axes (X, Y, Z, U, V, R) , point of view (POV) and buttons (BTN) of a game controller pad. The value of BTN is bitwise encoded. (Btn1= 1, Btn2 =2, Btn3=4, Btn4=8, ...)

PIN | Function | Type
X, Y, Z, U, V, R | -100%...+100% | Analogue outputs
POV | POV, (Direction in degrees) | Analogue output
PU | POV, HIGH with POV=0° | Digital output
PR | POV, HIGH with POV=90° | Digital output
PD | POV, HIGH with POV=180° | Digital output
PL | POV, HIGH with POV=270° | Digital output
BTN | Buttons | Analogue output

See also:

- Component basics

- Hardware


Macros

ProfiLab 4.0 ››

Included in version:

DMM-ProfiLab: No

Digital-ProfiLab: Yes

ProfiLab-Expert: Yes

If you select this item the library shows the integrated macro management. All macro files from the directory "macros” are listed. If you double click a macro file, the macro is imported to the current circuit. You may change the current directory or drive, to list macros from other directories. To remove macros from the library, move the mouse on the macro, press the right mouse button, and select the DELETE MACRO entry from the local popup menue. You may also use the Windows-Explorer to copy, delete or move macro files.

See also:

- Working with macros

- Macro import

- Editing macros

- How to create macros

- Component basics


Working with macros

ProfiLab 4.0 ›› Macros ››

Macros are only available in ProfiLab Expert and Digital-ProfiLab. Users of DMM-ProfiLab can skip this chapter.

Macros are circuits that are used in other circuits, where they appear as a single component. Macros often contain sub-circuits that are used more than once in the main circuit, or functions that are useful for different project. Even macros may contain sub-macros (multistage), so that complex macros can be build from small sub-macros. Macros that are included in a circuit can still be modified.

Macros may contain control elements that appear on the front panel , but these control elements are not editable, while the main circuit is being edited. If front panel elements of a macro have to be modified, the macro has to be edited .

Macros appear like IC-components, so that even TTL-IC functions could be integrated to macros.

See also:

- Macros

- Macro import

- Editing macros

- How to create macros

- Component basics


Macro import

ProfiLab 4.0 ›› Macros ››

Macros are only available in ProfiLab Expert and Digital-ProfiLab. Users of DMM-ProfiLab can skip this chapter.

There are two ways to import a macro:

Call IMPORT MACRO from the FILE menu. A file dialog opens and lets you select a macro file (*.PRJ).

The last entry of the library is called MACROS. If you select this entry the macros of the directory "macro” will be listed. You may change the directory, when a macro from another position has to be loaded. All macro files that are found in the selected directory, are listed in the library and a appear as any other component.

You can now place the macro to your circuit as any other component. The pins count direction is like for ICs: Anticlockwise from the notch.

Whenever you import a macro to a circuit, a copy of the macro components is being created (not a link!). This means, that changes that are made to macros that are in built-in-status will not take any effect on the file, from which the macro has was imported.

See also:

- Macros

- Working with macros

- Editing macros

- How to create macros

- Component basics


Editing macros

ProfiLab 4.0 ›› Macros ››

Macros are only available in ProfiLab Expert and Digital-ProfiLab. Users of DMM-ProfiLab can skip this chapter.

Macros that are in built-in-status are still editable. Click to a macro component with the RIGHT mouse button. The popup menu offers several functions, where the last two ones PROPERTIES and MODIFY are now of special interest.

Select PROPERTIES to enter a new name for the macro. The name will appear on the macro and in the component list. If you choose MODIFY the contents of the macro will be opened. The macro's circuit will appear in the circuit register on bottom of the editor. The entry MAIN CIRCUIT is reserved for the project and all other entries are macros. Circuits are selected with a single click to the register's entries. You can also press CTRL-TAB to switch between circuits. Use CTRL-F4 to close a certain macro circuit. These functions are also available from the WINDOW menu.

If a macro is imported more than once, we recommend renaming the macros (properties), for better identification.

See also:

- Macros

- Macro import

- Editing macros

- How to create macros

- Component basics


How to create macros

ProfiLab 4.0 ›› Macros ››

Macros are only available in ProfiLab Expert and Digital-ProfiLab. Users of DMM-ProfiLab can skip this chapter.

Editing macros is exactly like editing the main circuit. The only difference is that macros must contain at least one or more so-called macro pins, which will be visible from outside of the macro, when the macro is imported. Macro pins are found on page MISCELLANEOUS in the library .

Add as many pins as needed for the macro. The pins will be numbered automatically. Pins location will be anticlockwise from the macro's notch, beginning with pin 1. This is exactly the way IC-components are numbered. Now enter the macro's circuit and connect the macro pins to the circuit. We recommend to enter a short name for the macros pins, explaining the pins function (like CLK=clock). This will make the usage of your macro much easier. Call the property dialog of the macro from the popup menu or double click the pin to enter a name.

If you finished the macro, call SAVE MACRO from the FILE menu.

See also:

- Macros

- Working with macros

- Macro import

- Editing macros

- Component basics


WebServer (optional)

ProfiLab 4.0 ››

The ProfiLab WebServer is an add-on product to our current ProfiLab product series 4.0. With the WebServer it is most simple to publish ProfiLab projects on local networks (LAN/WLAN) or on the Internet. The front panels of a ProfiLab project are transformed to a live html web content, accessible with any web browser.

With you ProfiLab software a demo of the WebServer has been installed, so you can try it out immediately.

Check out our Internet site at www.abacom-online.de/UK or latest information.

See also:

- Designing a web application


Designing a web application

ProfiLab 4.0 ›› WebServer (optional) ››

To publish a ProfiLab application on the WebServer open the front panel properties and set the PUBLISH MODE to ANYTIME.

While the WebServer is running you can now access the project and its front panels using the local address http://127.0.0.1 with you web browser.

ProfiLab does convert the front panel to a html format that lists front panel elements as a table. To have some influence on the displayed format each front panel element has some web properties that can be configured. The dialog is called from the local popup menu (right mouse button->Web…)

Option PUBLISHED

If checked the element will be visible in the web browser, otherwise is is hidden.

Option TITLE

By default each front panel element is listed with a caption. This option can be disabled, which is useful to arrange elements beside each other. As far as the browser is wide enough, the front panel element will be place beside its predecessor, otherwise beneath.

ASSORTMENT

Enter the list position at which the element is listed in the browser.

Lower number will move the element up in the list. Higher numbers will move it down.

HTML (head) / HTML (foot)

Additional (html) text could be added to these fields. The header is processed immediately before the front panel element, the footer is added immediately after.

For example the HTML-tag <center> in the header and the HTML-tag </Center> in the footer, would adjust the front panel element to the middle of the browser window. Headers and footers offers lots of opportunities to customise the webpage, but some skills in html programming is necessary for that.


New topic

© 2014 ABACOM-Ingenieurgesellschaft. All Rights Reserved.