530
CONTENTS The LASAL SCREEN Editor Concept 1 Information about this Manual ................................................. 8 1.1 Composition and Scope of this manual .................................................. 8 1.2 Tips for working with the LASAL SCREEN Editor .................................. 8 1.2.1 Notes on example programs .................................................................... 9 1.3 What is the LASAL SCREEN Editor? ..................................................... 10 1.3.1 Why LASAL SCREEN Editor?................................................................ 10 2 The Design Environment ........................................................ 12 2.1 Hard and Software Requirements .......................................................... 12 2.2 The LASAL SCREEN Editor Design Environment ................................ 13 2.2.1 Starting a New Project ........................................................................... 13 2.2.2 Menu Bar ............................................................................................... 19 2.2.3 Tool/Symbol Bar (Overview) .................................................................. 23 2.2.4 Project Tree ........................................................................................... 30 2.2.5 File Types in the LASAL SCREEN Editor .............................................. 39 3 Introduction to Visualization .................................................. 41 3.1 Fundamentals of Visualization ............................................................... 41 3.1.1 Requirements of Visualization................................................................ 41 3.2 Construction of the Visualization ........................................................... 41 3.2.1 Layout .................................................................................................... 41 3.2.2 Clarity ..................................................................................................... 41 3.2.3 User Friendliness ................................................................................... 42 3.3 Basic concepts ......................................................................................... 42 3.3.1 Resolution .............................................................................................. 42 3.4 Visualization with LASAL SCREEN Editor ............................................ 43 3.4.1 How the LASAL SCREEN Editor Works ................................................ 43 3.4.2 Variable import from LASAL Class 2 to LASAL SCREEN Editor ........... 43 3.4.3 Running LASAL CLASS 2 and LSE on the Destination System ............ 43 3.4.4 The IPC.INI File in the Destination system............................................. 44 3.4.5 LASAL CLASS 2 Visualization Requirements ........................................ 45 3.4.6 Kernel Configuration .............................................................................. 48 Version 7.0 Page 1

Training Manual LSE

Embed Size (px)

Citation preview

Page 1: Training Manual LSE

CONTENTS

The LASAL SCREEN Editor Concept 1 Information about this Manual ................................................. 8

1.1 Composition and Scope of this manual .................................................. 8

1.2 Tips for working with the LASAL SCREEN Editor.................................. 8 1.2.1 Notes on example programs .................................................................... 9

1.3 What is the LASAL SCREEN Editor? ..................................................... 10

1.3.1 Why LASAL SCREEN Editor?................................................................ 10 2 The Design Environment ........................................................ 12

2.1 Hard and Software Requirements .......................................................... 12

2.2 The LASAL SCREEN Editor Design Environment ................................ 13 2.2.1 Starting a New Project ........................................................................... 13 2.2.2 Menu Bar ............................................................................................... 19 2.2.3 Tool/Symbol Bar (Overview) .................................................................. 23 2.2.4 Project Tree ........................................................................................... 30 2.2.5 File Types in the LASAL SCREEN Editor .............................................. 39

3 Introduction to Visualization .................................................. 41

3.1 Fundamentals of Visualization ............................................................... 41 3.1.1 Requirements of Visualization................................................................ 41

3.2 Construction of the Visualization........................................................... 41

3.2.1 Layout .................................................................................................... 41 3.2.2 Clarity..................................................................................................... 41 3.2.3 User Friendliness ................................................................................... 42

3.3 Basic concepts......................................................................................... 42

3.3.1 Resolution .............................................................................................. 42

3.4 Visualization with LASAL SCREEN Editor ............................................ 43 3.4.1 How the LASAL SCREEN Editor Works ................................................ 43 3.4.2 Variable import from LASAL Class 2 to LASAL SCREEN Editor ........... 43 3.4.3 Running LASAL CLASS 2 and LSE on the Destination System ............ 43 3.4.4 The IPC.INI File in the Destination system............................................. 44 3.4.5 LASAL CLASS 2 Visualization Requirements........................................ 45 3.4.6 Kernel Configuration .............................................................................. 48

Version 7.0 Page 1

Page 2: Training Manual LSE

CONTENTS 4 Fundamentals of Visualization with LSE............................... 51

4.1 Project Creation ....................................................................................... 51 4.1.1 Template Projects .................................................................................. 51 4.1.2 User-defined Projects............................................................................. 58

4.2 Notes on Project Properties.................................................................... 64

4.2.1 Project Properties................................................................................... 64 4.2.2 Properties in the Project Tree ................................................................ 82

4.3 Screens ..................................................................................................... 84

4.3.1 The Global Screen ................................................................................. 84 4.3.2 Create New Screens .............................................................................. 86 4.3.3 Context Menu for a Screen .................................................................... 92 4.3.4 Drawing with the Drawing Tools Symbol Bar ......................................... 94

4.4 Function blocks......................................................................................113

4.4.1 Creating Function Blocks ..................................................................... 117 4.4.2 Changing Screens with Softkeys.......................................................... 119

4.5 Text Management...................................................................................122

4.5.1 Principle Text Lists ............................................................................... 122 4.5.2 Using Text from a Text List .................................................................. 123 4.5.3 Applying Title Text................................................................................ 127

4.6 Displaying Values on the Screen .........................................................133

4.6.1 Importing server in LSE (Reference to Variable).................................. 135 4.6.2 Using a Server as a Numeric Display................................................... 140 4.6.3 Displaying a server as a bar................................................................. 151 4.6.4 Displaying a server a IP address.......................................................... 153 4.6.5 Date and Time...................................................................................... 155 4.6.6 Layout .................................................................................................. 162

4.7 Incrementing and Decrementing Servers Using Buttons..................164

4.8 Objects in LSE........................................................................................170

4.8.1 Advantages of Objects ......................................................................... 170 4.8.2 Creating Objects in LSE....................................................................... 170 4.8.3 Overloading Objects............................................................................. 178

4.9 Editing Inputs through the Touch Screen ...........................................183

4.9.1 Creating a Numeric Keypad ................................................................. 183 4.9.2 Creating a Window............................................................................... 189 4.9.3 Alphanumeric Keyboard....................................................................... 194

Page 2 Version 7.0

Page 3: Training Manual LSE

CONTENTS

4.10 CheckBox & Radio-Button ....................................................................208 4.10.1 Using the _Bit32 and _Bit32Ram Classes ........................................... 208 4.10.2 Using the _Radio32 and _Radio32Ram Classes ................................. 214

4.11 Schemes .................................................................................................219

4.11.1 Color Scheme ...................................................................................... 222 4.11.2 Object Scheme..................................................................................... 226 4.11.3 Image Scheme..................................................................................... 231 4.11.4 Font Scheme........................................................................................ 236 4.11.5 Text Scheme........................................................................................ 239 4.11.6 State Scheme....................................................................................... 242 4.11.7 Screen Scheme.................................................................................... 246 4.11.8 Unit Scheme ........................................................................................ 249 4.11.9 Data Server Schema............................................................................ 256 4.11.10 Training example.................................................................................. 263

4.12 Creating Menus ......................................................................................264

4.13 _XAccess Class......................................................................................274

4.14 Language Management .........................................................................289

4.14.1 General Information on Managing Languages ..................................... 289 4.14.2 Exporting Text Lists.............................................................................. 294

4.15 Check Bits...............................................................................................302

4.15.1 Using Check Bits.................................................................................. 302 4.15.2 Check Bit Applications ......................................................................... 302

4.16 Special functions ...................................................................................307

4.16.1 Show references .................................................................................. 307 4.16.2 Special functions in Text Lists .............................................................. 310

5 Visualization Continued........................................................ 321

5.1 Fundamentals for Working with Kernel Classes ................................321

5.2 Important Data Types ............................................................................321

5.3 Global Interface ......................................................................................321

5.4 Applications with the _Global Class....................................................322

Version 7.0 Page 3

Page 4: Training Manual LSE

CONTENTS

5.5 _Global Class interfaces .......................................................................322 5.5.1 The If_UserCall Interface ..................................................................... 323 5.5.2 Interpreter Functions ............................................................................ 328 5.5.3 The If_WindowRun Interface................................................................ 332 5.5.4 The If_Recalculate Interface ................................................................ 335 5.5.5 Changing Screens with the Keyboard .................................................. 343

5.6 Screen Interface (_Screen Class) .........................................................344

5.6.1 _Screen Class Applications ................................................................. 344 5.6.2 _Screen Class Interfaces ..................................................................... 344

5.7 The Graphic Class..................................................................................356

5.7.1 Where is the Graphic Class Found? .................................................... 356 5.7.2 Graphic Class Functions ...................................................................... 357

5.8 Programmable Outputs (_MyIO class).................................................361

5.8.1 _MyIO class Applications ..................................................................... 361 5.8.2 _MyIO Class Interfaces........................................................................ 361 5.8.3 Attribute................................................................................................ 362 5.8.4 Drawing Lines using the _MyIO Class ................................................. 364 5.8.5 Displaying Text through the _MyIO Class ........................................... 374 5.8.6 Numeric Display Over _MyIO............................................................... 377 5.8.7 Using Off Screens ................................................................................ 382 5.8.8 Indicator Instruments with User Defined Pointers ................................ 383 5.8.9 Input with Touch over _MyIO ............................................................... 390 5.8.10 Moveable Circle ................................................................................... 398 5.8.11 Indicator instrument.............................................................................. 400 5.8.12 Movable Circle ..................................................................................... 401 5.8.13 Data Recorder...................................................................................... 403 5.8.14 Data Recorder with Memory Function.................................................. 404

5.9 Lists (_Scrollarea) ..................................................................................405

5.9.1 _Scrollarea Class Applications............................................................. 405 5.9.2 _Scrollarea Class Interfaces ................................................................ 405 5.9.3 Scroll List ............................................................................................. 425

6 Strings .................................................................................... 426

6.1 General information over ASCII und Unicode.....................................426

6.2 String Functions.....................................................................................426

Page 4 Version 7.0

Page 5: Training Manual LSE

CONTENTS 7 Formula Management/Tool Catalog..................................... 429

7.1 Formula Management Application .......................................................429

7.2 The Toolcatalog-Bit in the LASAL SCREEN Editor ............................429 8 Alarm Management ............................................................... 437

8.1 Required Alarm Classes........................................................................437

8.2 Visualizing Alarms .................................................................................440 8.2.1 Using the Hot Alarm ............................................................................. 440 8.2.2 Alarm History........................................................................................ 444 8.2.3 Alarm Temporary ................................................................................. 452 8.2.4 Creating Additional Alarms................................................................... 458 8.2.5 Visualizing Alarms from External Controls ........................................... 462

9 Merging Projects ................................................................... 468

9.1 Import Function......................................................................................468 10 User defined Components.................................................... 475

10.1 What are User Defined Components....................................................475

10.2 Advantages.............................................................................................475

10.3 Applying Available UDCs ......................................................................476 10.3.1 Clock .................................................................................................... 476 10.3.2 Indicator ............................................................................................... 480 10.3.3 LanguageSelect ................................................................................... 485 10.3.4 Oszi...................................................................................................... 492 10.3.5 Scale .................................................................................................... 496 10.3.6 User Created UDC............................................................................... 500

11 COM Interface _Batch Interface ........................................... 508

11.1 LSE-Automation .....................................................................................508 11.1.1 Description with Examples ................................................................... 508

Version 7.0 Page 5

Page 6: Training Manual LSE

CONTENTS 12 Trouble Shooting................................................................... 516

12.1 Error Messages in LSE..........................................................................516 12.1.1 Could not find Text… ........................................................................... 516 12.1.2 Could not find Textlist… ....................................................................... 517 12.1.3 Could not find variable…...................................................................... 518 12.1.4 Could not find specified Function Block…............................................ 519

12.2 Error Messages in the Destination System.........................................520

12.2.1 Wrong LSE-Compiler-Version.............................................................. 520 12.2.2 Can't find Startpicture........................................................................... 521

13 FAQs....................................................................................... 522

13.1 Overview .................................................................................................522 What is a Template Project?................................................................................ 522 What is the difference between Unicode and ASCII-Code? ................................ 522 What is a global screen and what are they for?................................................... 522 What is the reference language?......................................................................... 522 What are Checkbits? ........................................................................................... 522 What is the difference between the files T_ipc.h and T_USER.h? ...................... 522 What is the Maeexp.txt file and/or the Reference to variables function for? ........ 522 What are Schemes for? ....................................................................................... 522 What is the LASAL Kernel? ................................................................................. 522

14 Appendix ................................................................................ 526

14.1 Available functions for function blocks...............................................526 ADD.....................................................................................................................526 Alarme.................................................................................................................526 Beep....................................................................................................................526 Diagnostic............................................................................................................526 DEC.....................................................................................................................526 Edit ......................................................................................................................526 Edit Kill ................................................................................................................526 Edit Save .............................................................................................................526 ELSE ...................................................................................................................526 END.....................................................................................................................527 Exit ......................................................................................................................527 IF< .......................................................................................................................527 IF> .......................................................................................................................527 IF= .......................................................................................................................527 INC ......................................................................................................................527

Page 6 Version 7.0

Page 7: Training Manual LSE

CONTENTS

Keycode ..............................................................................................................527 Language ............................................................................................................527 LED .....................................................................................................................527 Menu ...................................................................................................................527 NOP ....................................................................................................................527 Overload..............................................................................................................528 Overload Obj .......................................................................................................528 Overload Selection Group ...................................................................................528 Refresh Text........................................................................................................528 Return..................................................................................................................528 Screen.................................................................................................................528 Screen by scheme...............................................................................................528 Set.......................................................................................................................528 Softkey level ........................................................................................................528 SUB.....................................................................................................................528 Toggle .................................................................................................................529 User Call..............................................................................................................529 Window................................................................................................................529

Version 7.0 Page 7

Page 8: Training Manual LSE

INFORMATION ABOUT THIS MANUAL

1 Information about this Manual 1.1 Composition and Scope of this manual This training manual was created to introduce the surface, functions and features of the LASAL SCREEN Editor project tool from SIGMATEK. The composition and structure of this manual was designed to enable successful self-study. Numerous examples were used to make learning as quick as possible and acquire a variety of skills. 1.2 Tips for working with the LASAL SCREEN Editor To make working with the LASAL SCREEN Editor training manual simpler and more comfortable, different symbols were included. These symbols should simplify navigation through the manual as well as supply additional information, emphasize important sections and introduce examples. The meanings of the four symbols are as follows:

Caution When you see this symbol, the lines following are Very Important and should be given your complete attention. It is recommended that the paragraph next to this symbol be thoroughly read.

Tip The pencil is the symbol for a helpful tip for how something can be done faster or better.

Example This symbol indicates the beginning of an example

FAQ This symbol shows the answer to a frequently asked question.

Page 8 Version 7.0

Page 9: Training Manual LSE

INFORMATION ABOUT THIS MANUAL 1.2.1 Notes on example programs The examples in the LASAL SCREEN Editor training manual are categorized into 2 groups: Examples whose solutions (from creation of the project to loading it to the target system) are fully explained and illustrated. In the first chapters, simple examples are worked through to enable the user to easily apply the concepts. The first examples also build on one another to improve the interaction and knowledge of LASAL 2 gradually. Reoccurring basic procedures are also intentionally re-explained.

Exercise examples on CD are referenced in this manual. At the end of each chapter, exercise examples are listed that are available on CD and worked through completely. These can be used for practice purposes in order to increase learning success.

The symbol indicates that an exercise example is available on CD.

Version 7.0 Page 9

Page 10: Training Manual LSE

INFORMATION ABOUT THIS MANUAL 1.3 What is the LASAL SCREEN Editor? LASAL SCREEN is an HMI tool (Human Machine Interface) for all graphic terminals and industrial PCs manufactured by SIGMATEK. 1.3.1 Why LASAL SCREEN Editor? Central variable pool Thanks to central data management, all the necessary variables are available. Through the connection to the common data bank, the LASAL SCREEN Editor can recognize all data points (servers) in the system. Flexible screen generation The screen size and position can be defined individually. In finished layouts for operating terminals with function buttons, an allocation for the buttons is available. The choice be-tween touch screen operation or function buttons can already be made when creating the screen. With the definition of the global screen and the individual screens derived there from, the project time can be significantly decreased. LASAL also offers the user such functions as alarm and event (logbook) management, trend display, bar diagrams and recipe manage-ment. Standard graphic functions Numerous standard functions such as drawing, rotating, mirrors and alignment are available for creating screens. In addition, existing graphics can be linked in standard format (BMP). This results in significant time and costs saving. Screen Configuration With the setting of check bits and/or the availability of a server, elements on the screen can be made visible or invisible. This has clear advantages with a serial application since the screens are fit automatically depending on the machine type.

Page 10 Version 7.0

Page 11: Training Manual LSE

INFORMATION ABOUT THIS MANUAL Online language and unit conversion In LASAL SCREEN, text information can be entered in Unicode to support all languages. The various text lists can be converted in the destination system online. Predefined settings are available to ensure the clarity of the displayed text for which a system, alarm and mes-sage text list can be employed. From these, user defined lists can be created as required. With the online conversion, units of measurements such as temperature, length or weight can be converted automatically. The formula is provided to the variable directly. Bubble help The runtime is shown in a variable on the screen. If the mouse pointer is set over the vari-able, text is displayed. Better operator function and clarity can be achieved since help or function text can be placed behind a variable. Input elements with pull down menu Values can be entered in an input element directly with upper and lower limit settings or through a pull down menu. In a pull down menu, parameters are defined in the form of a menu selection. This gives the user a selection of several possible settings for an input element and increases the user safety through a precisely defined status selection.

Version 7.0 Page 11

Page 12: Training Manual LSE

THE DESIGN ENVIRONMENT

2 The Design Environment 2.1 Hard and Software Requirements To ensure error-free operation of the LASAL SCREEN Editor, your PC should meet the minimum hard and software requirements: Pentium CPU 128 MB RAM A minimum of 30 MB of free hard drive space Connections for online communication:

• Serial interface • Parallel interface • Network interface

LASAL CLASS 2 is supported by the following operating systems: Win98, Win98SE WinME WinNT 4.0 with Service Pack 6 Win2000 WinXP Windows Vista

Page 12 Version 7.0

Page 13: Training Manual LSE

THE DESIGN ENVIRONMENT 2.2 The LASAL SCREEN Editor Design Environment 2.2.1 Starting a New Project Open the LASAL SCREEN.exe file and select File, New Project form the menu bar to create a new project.

In the Create New Project window, select the path and project name (here: LearningLSE).

Version 7.0 Page 13

Page 14: Training Manual LSE

THE DESIGN ENVIRONMENT

The button opens the Templates window. The purpose of a template project and how it is created is explained in chapter 4.16 Special functions.

Press the Create button to create the new project and open the General window.

Under Resolution: select the desired resolution of the destination system (select 800 x 600 when using SIGMATEK demo board).

This resolution should be set to match that of the destination system and cannot be changed.

Page 14 Version 7.0

Page 15: Training Manual LSE

THE DESIGN ENVIRONMENT Under Softkey, the position, size and number of the function buttons (Softkeys) can be set. Next click on Finish.

With Continue, further settings can be made as commentary on the de-sign environment but are of no significance. The additional settings are explained later under chapter 4.1.1 Template Projects.

he window now displayed on the screen should appear as follows: T

Version 7.0 Page 15

Page 16: Training Manual LSE

THE DESIGN ENVIRONMENT Open the context menu with a right click on Screens in the project tree (right window) and select New Screen to create a new workspace.

In the Screen Properties window, assign a name (here: Screen1) and confirm the entry with OK.

Page 16 Version 7.0

Page 17: Training Manual LSE

THE DESIGN ENVIRONMENT

Menu bar Tool/Sy bol bar

Project tree Output window with various Registers

Status bar

Tab for changing be-tween opened windows

m

The Design environment is comprised of the following sections:

Workspace

Version 7.0 Page 17

Page 18: Training Manual LSE

THE DESIGN ENVIRONMENT The black surface of the screen serves only as the workspace, which can be used as the drawing surface. The dots on the workspace form the grid on which drawn objects can be positioned. Select View, Grid Properties… from the menu bar to open the Grid Properties window.

Under Grid Spacing, the distance between the dots can be changed. With the Grid Visible checkbox, the grid can be activated or deactivated. Snap to Grid connects objects to the grid.

Under Grid Spacing, the minimum settable distance is 6 Pixels so that the grid remains visible!

Page 18 Version 7.0

Page 19: Training Manual LSE

THE DESIGN ENVIRONMENT 2.2.2 Menu Bar The LASAL SCREEN Editor menu bar consists of 13 menus with various LASAL SCREEN Editor instructions and applications. On the following pages all 13 menus are shown. For several instructions, “shortcuts” to the right of the instruction in their respective menu win-dow are provided. The shortcuts are in the form of keystroke combinations that can be used to call instructions without having to open the menu. File

Edit

View

Project

Version 7.0 Page 19

Page 20: Training Manual LSE

THE DESIGN ENVIRONMENT Project, Clean

Build

Debug

Picture, Place

Drawing, Shapes

Page 20 Version 7.0

Page 21: Training Manual LSE

THE DESIGN ENVIRONMENT Text, Align Horizontal

Text, Align Vertical

Layout

Layout, Size

Layout, Align

Layout, Space Evenly

Version 7.0 Page 21

Page 22: Training Manual LSE

THE DESIGN ENVIRONMENT Layout, Order

Layout, Nudge

Extras

Window

Help

Page 22 Version 7.0

Page 23: Training Manual LSE

THE DESIGN ENVIRONMENT 2.2.3 Tool/Symbol Bar (Overview) This overview shows all the toolbars available in the LASAL SCREEN Editor. The toolbars help the user navigate through the LASAL SCREEN Editor. Each of the 11 toolbars con-tains symbols with which various instructions can be called. Shortcuts are also available for several of the instructions called with these symbols. The shortcuts are shown on the following pages to the right of their respective symbol. File Toolbar

Create a new project Ctrl + V Paste

Ctrl + O Open project Del Delete

Ctrl + S Save Search

Save project Ctrl + P Print

Ctrl + X Cut Over LASAL SCREEN Editor

Ctrl + C Copy

Version 7.0 Page 23

Page 24: Training Manual LSE

THE DESIGN ENVIRONMENT Drawing Toolbar

Select Draw square

Select mode Draw ellipse

Edit corner points Draw open ellipse

Properties Insert text

Draw line Add button

Draw Poly-line

User defined Component (UDC) selection

Draw polygon

lign-Toolbar A

Ctrl + Align top Ctrl + Align left

Ctrl + Alt + Align middle Ctrl + Alt + Align center

Ctrl + Align bottom Ctrl + Align right

Page 24 Version 7.0

Page 25: Training Manual LSE

THE DESIGN ENVIRONMENT Nudge Toolbar

Shift up Shift left

Shift down Shift right

Group Toolbar

Show groups Add to group

Group Remove from group

Clear group

Structure Toolbar

Ctrl + F Place in front Ctrl + Alt + F One step forward

Ctrl + B Place in rear Ctrl + Alt + B One step backward

Version 7.0 Page 25

Page 26: Training Manual LSE

THE DESIGN ENVIRONMENT Layout Toolbar

Ctrl + A Horizontal distance Match height

Ctrl + D Vertical distance Match size

Match width

nvas Toolbar

Ca

Ctrl + Z Undo Activate/deactivate grid

Ctrl + Y Redo Snap object to grid

rientation Toolbar O

Left text alignment Align text from top

Horizontal center text alignment Vertical center alignment

Right text alignment Align text from bottom

Page 26 Version 7.0

Page 27: Training Manual LSE

THE DESIGN ENVIRONMENT Bar Toolbar

Fill bar vertically from bot-tom Fill bar horizontally from left

Fill bar vertically from center Fill bar horizontally from center

Fill bar vertically from top Fill bar horizontally from right

Debug Toolbar

Ctrl + F9 Compile all Pause

F5 Download project F8 Reset

F7 Start / continue

Zoom Toolbar

Zoom Pan

Zoom to Fit Window size in %

Zoom to Selection

Version 7.0 Page 27

Page 28: Training Manual LSE

THE DESIGN ENVIRONMENT To edit the various tool bars, open the Toolbars window by selecting View, Toolbars... from the menu list.

Show Tooltips Tool tips appear if the mouse pointer is placed on a button of a toolbar. With this checkbox, the tool tips can be activated or deactivated. Large Buttons By activating this checkbox, the toolbar buttons are enlarged. Cool Look With this setting, the appearance of the toolbar buttons can be changed individually.

Page 28 Version 7.0

Page 29: Training Manual LSE

THE DESIGN ENVIRONMENT Click on the New... button to create a user-defined toolbar:

Next, assign a name for the toolbar (here: MyToolbar) in the New Toolbar window and confirm with OK. The newly created toolbar is then listed in the Customize window.

Under the Commands tab in the Customize window, buttons can be added to the toolbar as desired through the Drag & Drop method.

Version 7.0 Page 29

Page 30: Training Manual LSE

THE DESIGN ENVIRONMENT 2.2.4 Project Tree The project tree is located on the right side of the LASAL SCREEN Editor surface and con-tains all the most important LASAL SCREEN Editor functions and menus. A detailed description can be found in the LASAL Screen online help.

The following pages provide an overview of the items available in the pro-ject tree. In the course of this manual, the function and application of the individual items will be explained through the use of examples.

Page 30 Version 7.0

Page 31: Training Manual LSE

THE DESIGN ENVIRONMENT Global Screen

The global screen is created with a double click on Global. This is always shown by default. Each active screen is then drawn, so that the uncovered parts (i.e. objects, texts, buttons, bitmaps, lines, etc.) of the Global screen remain visible (2-layer principle). The global screen can be deactivated in the screen properties of each screen. Objects

Elements drawn in objects can be placed in screens as well as windows. A thorough de-scription of objects is given in chapter 4.8 Objects in LSE. Windows

A window does not fill the entire screen of the destination system. A keyboard, for example, can be created in a window and will appear in the in the screen according to where it was placed in the window.

Version 7.0 Page 31

Page 32: Training Manual LSE

THE DESIGN ENVIRONMENT Screens

he workspace of a terminal is referred to as a screen. On a screen, various windows, bjects, text, pictures and softkeys can be placed. A description of screens and/or how they

d in chapter 4.3 Screens.

Toare created is foun

A double click on the following project tree items opens their respective editing window!

Text Lists

Here, text can be added to the standard text lists (Variable Text and System Text) or user defined text lists can be created (here: MyTextList). Assigning text lists and/or text is found in chapter 4.5 Text .

Page 32 Version 7.0

Page 33: Training Manual LSE

THE DESIGN ENVIRONMENT Data Servers

In this window, servers created in LASAL CLASS 2 whose Visualized property is set to True are displayed. These can be selected and set. With the button, user defined vari-bles can be set and edited. a

T

ypes

In the Types window, various data types can be created.

Version 7.0 Page 33

Page 34: Training Manual LSE

THE DESIGN ENVIRONMENT Function Blocks

Here, function blocks can be created to carry out various operations. Units

In the Units window, various units (here: mm und inch) can be managed.

Page 34 Version 7.0

Page 35: Training Manual LSE

THE DESIGN ENVIRONMENT Menus

In the Menulist window, create dropdown menus with any number of menu items. Alarms

Define an alarm in the Alarm window and select the condition for which it should be trig-gered under Variable:.

Version 7.0 Page 35

Page 36: Training Manual LSE

THE DESIGN ENVIRONMENT Checkbits

In the window above, formulas can be defined to activate or deactivate individual pictures and objects. Fonts

Here, the font is selected and the properties are defined.

Page 36 Version 7.0

Page 37: Training Manual LSE

THE DESIGN ENVIRONMENT Images

In this window, pictures can be loaded and edited. Schemes

Using a scheme, it is possible to change colors, screens, text, etc. With a color scheme, for example, the color of a square can be changed from red to blue based on a specific server value.

Version 7.0 Page 37

Page 38: Training Manual LSE

THE DESIGN ENVIRONMENT Settings

In the window above, standard settings can be made for all components contained in the list. Afterwards all new components are displayed with these new settings. All previously placed components keep their "old" look.

Page 38 Version 7.0

Page 39: Training Manual LSE

THE DESIGN ENVIRONMENT 2.2.5 File Types in the LASAL SCREEN Editor *.lse The *.lse files are project files created by the LASAL SCREEN Editor. *.lpr The *.lpr file is a project file created by LASAL SCREEN Editor (projectname.Ipr). *.lsn *.lsn files are screen files and contain information on all screens. A *.lsn file is created for each screen. *.lwn These files contain information on the individual windows in the project. A *.lwn file is cre-ated for each window. Notice.txt This file contains the commentary entered in the LASAL SCREEN Editor under Notice. *.xml In this file, the online configuration of the project is entered.

The following files are generated in LSE during compilation. These files are always located in the Runtime folder:

*.ini This configuration file is generated during the creation of the LSE project and contains in-formation about the project path, name and online settings. The *.ini file is located in the runtime folder of the project directory and is stored in the destination system when the pro-ject is loaded.

Version 7.0 Page 39

Page 40: Training Manual LSE

THE DESIGN ENVIRONMENT *.fnt A *.fnt file is created for each font in the project *.mpc The *.mpc file is created by the LASAL SCREEN Editor and contains the server lists, win-dows and screens for the project. *.chk The checksum file is required for project comparisons. Language.txt This file occurs only once in the project and contains the country codes and names.

Page 40 Version 7.0

Page 41: Training Manual LSE

INTRODUCTION TO VISUALIZATION

3 Introduction to Visualization 3.1 Fundamentals of Visualization 3.1.1 Requirements of Visualization One of the most important parts of installation is the visualization, which serves as the inter-face between the operator and the system. The operator is informed of the actual operating status of the system through the visualization. In addition, production parameters are en-tered and/or changed as well as production data monitored through this interface. 3.2 Construction of the Visualization 3.2.1 Layout A visualization project can be created in numerous ways. The Layout of the visualization is usually constructed so that a screen is created, which can be used as a basis for all screens in the project. The screen is constructed so that a continuous identical frame is created from which individual screens can be formed. Normally the frame for the visualiza-tion layout is created in the global screen. Contrary to the other screens, elements placed in the global screen are visible throughout the project. 3.2.2 Clarity The clarity of a visualization project depends on many factors; a person can absorb and process a great deal of optical information at one time. The number of screens over which the project is distributed should be taken into consideration as well as the amount of infor-mation contained in each screen. The colors are an additional factor to be considered in the visualization. The color selection in a visualization project is at the discretion of the user, however, caution should be taken to ensure that there aren’t so many different colors that the project is negatively affected.

Version 7.0 Page 41

Page 42: Training Manual LSE

INTRODUCTION TO VISUALIZATION 3.2.3 User Friendliness User friendliness depends mostly on the visualization. The creation of a simple to operate visualization project can already be achieved in large part through the composition of the layout. For example, buttons or softkeys to change or return to specific screens should always be assigned to the same button and not a different position on other screens. 3.3 Basic concepts 3.3.1 Resolution The Screens in a visualization project are pixel oriented, whereas 800*600 means that the width is 800 pixels and the height is 600 pixels. The upper left corner is always addressed with the pixel coordinates 0/0. The address range for the X direction is from 0 to 799; in the Y direction the address range goes from 0 to 599. The resolution used should always match that of the destination system.

Page 42 Version 7.0

Page 43: Training Manual LSE

INTRODUCTION TO VISUALIZATION 3.4 Visualization with LASAL SCREEN Editor 3.4.1 How the LASAL SCREEN Editor Works When creating a project, a file is created through the compilation with the LSE (LASAL SCREEN Editor) for each window. In addition a text list is assigned for each language. These tables are transferred as files and stored in the destination system (Flash, Disc, etc.). When the system is started, the tables are interpreted by the LASAL kernel. 3.4.2 Variable import from LASAL Class 2 to LASAL SCREEN Editor When compiling the LASAL CLASS 2 project, the Maeexport file is created (MaeExp.txt). This file contains all class, object and server names, which are required in the visualization for the various display types (numeric displays, menus, strings, bar displays, etc.). Only server can be visualized. 3.4.3 Running LASAL CLASS 2 and LSE on the Destination System What is the Kernel? The Kernel (Firmware) is the terminal software, which interprets the lists from the LASAL SCREEN Editor. The kernel and LSE therefore form an inseparable design package for visualization projects. Included with the kernel is the _Lse class in the LASAL CLASS 2 project.

Version 7.0 Page 43

Page 44: Training Manual LSE

INTRODUCTION TO VISUALIZATION 3.4.4 The IPC.INI File in the Destination system. The ipc.ini file is created automatically with the construction of an LSE project and stored in the Runtime folder. The file is transferred and stored when the LSE project is downloaded to the destination system (Flash, Disc, ...).

This file contains such project information as the project name and path as well as online settings. These are loaded at the start of the software and then processed by the kernel.

Page 44 Version 7.0

Page 45: Training Manual LSE

INTRODUCTION TO VISUALIZATION 3.4.5 LASAL CLASS 2 Visualization Requirements To create a Visualization project, both a LASAL SCREEN Editor and LASAL CLASS 2 project are required. Create a new LASAL CLASS 2 project (here: Rtk). To create the LASAL CLASS 2 project with the required kernel classes, click on the Lib tab in the project tree and select Tools.lcp from the context menu.

Version 7.0 Page 45

Page 46: Training Manual LSE

INTRODUCTION TO VISUALIZATION Next, copy or link the _Lse class to the LASAL CLASS 2 project

The _Lse class can be added to a project at any time to create visualize this project.

Page 46 Version 7.0

Page 47: Training Manual LSE

INTRODUCTION TO VISUALIZATION After importing the _Lse class, place an object of the class in an object network.

An object of the _Lse class is a basic requirement for any project for which visualization is to be created. Important: Only one object of this class can be used in a project!

Set the BackgroundTime of the object to always. This means the objects will always be called if the operating system has enough time available.

Version 7.0 Page 47

Page 48: Training Manual LSE

INTRODUCTION TO VISUALIZATION 3.4.6 Kernel Configuration Before the Kernel can be used, it must first be configured. In the configuration, the target system is determined as well as whether a Touch screen is used and a mouse connected. The pre-settings are stored in the T_ipc.h file, which contains all configuration settings for the kernel. The LSE header file T_ipc.h The T_ipc.h file is used for the configuration of the kernel and is located in the File tab of the LASAL CLASS 2 project. With a double click on the file name, Enter or by selecting Open in the context menu, the file can be opened.

Page 48 Version 7.0

Page 49: Training Manual LSE

INTRODUCTION TO VISUALIZATION

#define: only the text in the area between user configuration and sig-matek configuration (user keep off!) are allowed to be changed by the user!

Changes should only be made in the T_USER.H file, as it was created for the user.

LSE header file T_USER.H

The reason why changes are made in the T_USER.H file is because when the _Lse class is updated, both files (T_ipc.h und T_USER.H) are overwritten. Therefore, changes should only be made in the T_USER.H file. Copy and save the file after the changes have been made and re-place it after updating _Lse class.

Version 7.0 Page 49

Page 50: Training Manual LSE

INTRODUCTION TO VISUALIZATION To change the configuration, open the T_USER.H file in the File tab of the LASAL CLASS 2 project.

ere UC_UNICODE, which is deactivated in the T_ipc.h, file is defined. Therefore all text generated in by LSE is processed as Unicode. For UC_BUBBLE_HELP, the setting to display a defined tooltip with an input was removed.

H

A further explanation for the configuration settings for the kernel can be found in the LSE kernel documentation.

Page 50 Version 7.0

Page 51: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE

4 Fundamentals of Visualization with LSE 4.1 Project Creation 4.1.1 Template Projects A Template Project is a pre-constructed project. These templates can be used as basis for new own projects. There are different template projects to choose from, which are available as a standard feature. However, a user defined template project can be created as well.

Users that are using the LASAL SCREEN Editor for the first time should create a user-defined project under 4.1.2 User-defined Projects with all project-creating steps, before using a Template project.

To create a new project (here: Template), select File, New Project... from the menu bar.

Next, select the project directory and click on the button.

Version 7.0 Page 51

Page 52: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE The predefined projects can be found in the Choose template... window

With the and buttons in the upper left corner of the window, the appearance of the items can be changed.

Select a project (here: Sigma800x600.lpr) or add a user defined project with the button and then press OK. To delete a project, click on it and select Delete template from the context menu.

Page 52 Version 7.0

Page 53: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Under Class 2 project: the path of the LASAL CLASS 2 project, which matches with the

visualization, can be selected via the button. In this LASAL CLASS 2 project, 2 object networks including the required LASAL objects are automatically integrated (networks seRtkMain and LseRtkAlarm). L

Next define the file name of the LASAL CLASS 2 project in the Choose Class 2 project file... window and confirm with Open. Afterwards click on the Create button to create the

emplate project. T

Version 7.0 Page 53

Page 54: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE The Class 2 scripting summary window only contains information and therefore can be confirmed with Yes.

In the project tree of the Template project, the predefined components such as NumPad and Keyboard or the screens Main and Alarm can be seen.

Page 54 Version 7.0

Page 55: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the global screen, for example, the Title Text, Date and Time as well as a HotAlarm are already placed.

Version 7.0 Page 55

Page 56: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE The Main screen is constructed as follows:

A numeric (Window: NumPad) and/or alphanumeric (Window: Keyboard) keyboard are also available.

Page 56 Version 7.0

Page 57: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE

If a LSE project using a template is created, it is unnecessary to open the LASAL CLASS 2 project and to create the objects, required for the tem-plate. The LASAL CLASS 2 project is automatically complemented with these objects and started afterwards.

In LASAL CLASS 2 all necessary classes and networks are already created:

Version 7.0 Page 57

Page 58: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.1.2 User-defined Projects To create a new project, select File, New Project... from the menu bar. Assign a project name (here: FirstProject) and press the Create button to create the project.

A folder is created automatically with the assigned project name and stored in the selected directory.

Create a folder and place both the LASAL CLASS 2 project Rtk and the LASAL SCREEN Editor project FirstProject within. The LASAL SCREEN Editor and the LASAL CLASS2 project should always be kept in the same folder. Under CLASS 2 project: the LASAL CLASS 2 project can be se-lected (here: Rtk).

Page 58 Version 7.0

Page 59: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Setting the Resolution The General window should now appear on the screen.

Resolution: Select the desired resolution for the LASAL SCREEN editor using the arrow. The setting for the size then corresponds to every destination system. Softkey Under Height: define the height and the width under Width: for the softkeys. The number of adjacent softkeys on the screen can be defined under Count:. Select horizontal (and/or vertical) to position the softkeys horizontally or vertically. The softkeys can be aligned with Horizontal align and/or Vertical align.

The settings made here are basic settings for the softkeys, which are later placed in a screen. The softkey settings can later be changed indi-vidually.

Version 7.0 Page 59

Page 60: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Keyboard definition Here, an existing keyboard template can be selected. Compile to LSE-light format Activate this checkbox to compile the project to the LSE-Light format. Next, click on continue to open the View window.

Background color: With this setting, defined the background color of the workspace (Standard = Color0 (black)). Grid color: Specify the color of the grid dots.

Page 60 Version 7.0

Page 61: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE With Continue, the Languages window is opened.

Select the desired reference language using the arrow. The reference language is the language in which the project is created. Click Continue.

In the Miscellaneous window under Text Frames Distance, the distance of the text within the frame of a text field can be specified in pixels.

Version 7.0 Page 61

Page 62: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Press Continue to open the Target window.

Target Display: Here, the resolution of the destination system can be set. Target Color: Select the number of the color to be used in the destination system.

Page 62 Version 7.0

Page 63: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Next, click on Finish to confirm the settings and close the Target window.

Version 7.0 Page 63

Page 64: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.2 Notes on Project Properties 4.2.1 Project Properties The project properties made during the creation of the project can be changed at any time. In the LASAL SCREEN Editor start screen, simply select Settings… or Project, Settings... form the menu bar to open the Project Settings window.

Page 64 Version 7.0

Page 65: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the Project Settings window, the standard project settings can be made: General

Resolution: Set the desired resolution to be used in the LASAL SCREEN Editor. Init Picture: At boot up of the control the picture selected here is displayed. Softkeys For the softkeys, define the height under Height: and the width under Width:. The number of adjacent softkeys on the screen can be defined under Count:. Select horizontal (and/or vertical) to position the softkeys horizontally or vertically. The softkeys can be aligned with Horizontal align and/or Vertical align. Keyboard definition Here, a predefined keyboard can be selected.

Version 7.0 Page 65

Page 66: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Online Next, select the Online tab.

Press the change button to enter the online connection settings.

Define the online connection with the destination system in this window.

Page 66 Version 7.0

Page 67: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Target Select the Target tab to define the destination system settings.

Compiler version: Select the actual compiler version. The correct compiler version can be found in the Kernel properties of the _Lse class. Target Display: Here, the resolution for the target system is set. Target Color: Set the number for the color used in the target system. Target Path: Enter the path of the target system.

Version 7.0 Page 67

Page 68: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Compile single Imagefiles Activate this checkbox, to store each bitmap in its own file. Compile to LSE-light format The project is compiled for LSE light. LSE light is the simplified version for black/white dis-plays from SIGMATEK and requires the LSE light kernel. Details can be found in the LSE light documentation. Compile to ASCII format It is recommended to activate this checkbox in order to save memory space. To compile in Unicode format, uncheck this box. Use Touch Editor Activate this checkbox to use a Touch editor. Turn hebrew This function under certain conditions is required for Arabic text. The sequence of the letters for individual texts is inverted (i.e.: ABCD->DCBA). The default setting is INACTIVE, which is normally correct.

Page 68 Version 7.0

Page 69: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Language compilation...

In the window above, select the Language included in the Languages window. This selec-tion determines which languages are sent to the target system. Adding a new language on the target system is possible without compiling the project again. View In the View tab, the appearance of the workspace can be defined.

Version 7.0 Page 69

Page 70: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Background: Defines the background color of the workspace. Grid: Specify the color of the grid dots. Group: Defines the color of grouped objects. Delete Background Activate this checkbox to turn off the background of the target system. Delete eventbuffer Check this box to clear the Event buffer when changing screens in the destination system. Open editor automatic Check this box so that the editor of an input field is automatically activated in the destination system. Auto modus Use the arrow to determine the cursor direction when Enter is pushed on the target system. If “none” is selected the cursor doesn’t move. Show borders: Activate this checkbox to display the defined boarders of the workspace. Borders (Pixel): Defines the borders of the frame in pixels.

Page 70 Version 7.0

Page 71: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Bubble Help

If the cursor is moved over the input field, the Bubble Help text defined in the properties of the input field is shown. Here, the delay and/or remain time for the Bubble Help can be set. Delay time Enter the desired delay time for the Bubble Help text to appear in ms. Remain time Define the time in ms that the Bubble Help text remains visible.

Version 7.0 Page 71

Page 72: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Appearance... Press this button to open the Default Bubble Help Properties window:

In the Line tab, the type and thickness of the Bubble Help text frame can be defined.

The Color tab is used to determine the color of the Bubble Help text window.

Page 72 Version 7.0

Page 73: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Select the Fill tab to set the desired pattern for the Bubble Help text window.

In the Font register, select an available Font Scheme to specify the Bubble Help text font.

Assigning a Font scheme is discussed in chapter 4.11.4 Font Scheme.

Version 7.0 Page 73

Page 74: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the Frame Tab, the type of frame can be selected.

Inverse imagining The display of the placed object is inverted (e.g. changes the shadow of an object from bottom right to top left).

Page 74 Version 7.0

Page 75: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Compiler warnings In this register, various warnings given by the compiler can be turned on or off.

different no.%s in text If a server value is to be displayed with a text, this must be done for each language. Other-wise, an error is triggered. undef – text defined If new text is added to a text list and in the project properties under Miscellaneous, the Use - - undef - - in textlists checkbox is enabled, a warning is triggered when the text is not translated into the other languages. local text defined Warning given when a local text field placed that contains no text. text doesn’t fit into container Warning given when the text placed does not fit in the defined text field.

Version 7.0 Page 75

Page 76: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE component outside Warning given when the placed components are located off-screen This can happen when, for example, the resolution is changed to a lower value and a placed component is sud-denly located off-screen. function block directive Warning given when, in a function block for example, an IF-loop is defined and the corre-sponding END instruction is missing. alarms, missing variable Warning given if placing an alarm in LSE, the corresponding alarm class variable is forgot-ten. Check just actual languag Checks which language is compiled and loaded in the PLC. The text in the project however, is retained. If languages are manually deleted in LASAL Screen, the text lists are also de-leted! Duplicate Hostnames Warning, if at two or more servers one and the same host name has been assigned.

Page 76 Version 7.0

Page 77: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Miscellaneous Change to the Project Settings window and select the tab Miscellaneous.

Under Text Frames Distance, the distance of the text from the frame of a text field can be specified in pixels. Login delay Here, the length time that the login process is repeated before an error message is gener-ated can be entered in ms. When logging in, the connection to an external target system is established. Under certain circumstances, an installation with several systems exists and when powered up, they may not all be operational at the same time.

It is recommended that the Show Prefix, Show Virtual Objectname, Zoom Image List and Keep Object Offset settings not be changed.

Use defined Keyboard in PopUp Activate this function to enable the keyboard settings used for a screen in a pop up window.

Version 7.0 Page 77

Page 78: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Use comments in textlists In addition to a text entry, commentary can be defined in a text list using two slashes // (i.e.: Return// change to previous screen). Activate this function to include commentary. Use word-wrap Activates the word-wrap when a line of text is longer than the width of its text field. Make sure the text can be separated above and below to ensure readability. Visible Passwordcharacter When this function is activated, the number of characters of the current password is shown in the password editor as stars ( * ). AutoSave Editor Inc/Dec This function can be activated, so that the enter button does not have to be pushed each time to save an input in an editor. If, for example, the value of a terminal is incremented using a rotary switch on a terminal to move an axle, the incremented value is stored auto-matically so it does not have to be manually entered. Therefore, the movement of the axle can be followed. Use Shuttle to edit Activate this function, so that a rotary switch can be used to input values to the destination system. Use server hostname In the Data Servers window, the Hostname entry is found in the properties of a server. Here, the respective server can be given a second name. Activate this function to display a second server name in the destination system.

Page 78 Version 7.0

Page 79: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Use -- undef -- in textlists Activating this function when a language is not available generates an "--undef--" in the selected text field. If this function is not active, the text appears in the reference language defined for the project. Disable ALT-ESC Deactivates the keyboard combination ALT-ESC, which accesses the diagnostic menu of the target system. The DIAGNOSTIC instruction however, continues to function. Cursor In the Cursor tab, the input fields can be assigned colors that indicate the operating status.

Selected colors Defines the color of an input field when it is selected. Edit colors Defines the color of an input field when it is being edited.

Version 7.0 Page 79

Page 80: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Group colors The color of an input field when it is grouped (i.e. with a text field). Cursor colors The color of the cursor when an input field is selected and/or edited. Screensaver In this register, the screensaver settings are made.

Action time Enter the time in ms that the screen saver should run. The action time is also the interval in which the selected picture is moved to a different position. Image Here, select the image to be used as a screensaver. Click on the button to select an

image from the list or use the button to search images in the Images window.

Page 80 Version 7.0

Page 81: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Single With this setting, the selected image will be displayed on the screen of the target system only once. Multiplex With this setting the selected image is displayed multiple times on the screen of the target system.

Version 7.0 Page 81

Page 82: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.2.2 Properties in the Project Tree There are two different context menus that can be called in the project tree: The context menu of the individual components in the project tree.

This context menu is opened with a right click on an item in the project tree and varies from item to item.

The context menu for the project tree window.

Right click anywhere on the gray surface of the project tree window to open the following context menu.

Page 82 Version 7.0

Page 83: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Allow Docking Enables the project tree window to dock to the main window in LSE. Hide Hides the project tree window. Float in Main Window With this instruction, the project tree window is inserted in the main window.

Version 7.0 Page 83

Page 84: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.3 Screens Screens in LSE serve as workspaces, which can be drawn on using the Drawing toolbar. Various components such as objects, text images and softkeys can also be placed. 4.3.1 The Global Screen Basically, every LSE project has a global screen. That means everything placed in the global screen is displayed in all other project screens. In the Screen Properties window of each project screen, the global screen can be deactivated (default setting = active). How a global screen is created and whether the background color is set with the creation of the project or whether the background image is the same size as the screen is left to the discretion of the user.

The graphic display for a visualization project depends greatly on how the global screen is designed. It is therefore recommended to first consider the appearance of the global screen.

A global screen can be used, for example,

to display the project or com-pany name on every screen of the project.

The global screen is opened with a double click on Global in the project tree.

Page 84 Version 7.0

Page 85: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE

The global screen is identified by the globe in the tab.

Version 7.0 Page 85

Page 86: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.3.2 Create New Screens To create a new screen, right click on Screens in the project tree to open the context menu and select New Screen.

The Screen Properties window is now opened.

Page 86 Version 7.0

Page 87: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Screen name Assign a screen name (here: MyScreen). Screen Nr. Assign a screen number to identify a screen. With a screen number, the screen can be easily recalled later. The screen number is shown in front of the screen name in the project tree:

Screen numbers can be assigned in increments of 10 so that new screens can be assigned between them as required. To insert a screen between the start picture [10] and Screen20 [20], the number 15 can be given. With Sort by Nr., the screens can be displayed in sequential order

the context menu. in

The screens can also be divided into subgroups. For example, service screens begin at 100 and display screens at 200. The available number assignments for multiple service screens range from 100 to 199.

Accessnumber Access to several screens can be limited through the use of passwords. The level of access can be specified with this number.

Version 7.0 Page 87

Page 88: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Next Screennumber Enter the number of the screen to be called if the selected screen doesn’t exist. Global Screen Activate (True) or deactivate (False) the global screen. Enable Numeric Toucheditor With true, the numeric touch editor is enabled. Enable ASCII Toucheditor With true, the ASCII touch editor is enabled. Image

Select an existing image from the list with the arrow. Use the arrow to open the Images window. This deals with internal program information stored in the project list. The image serves, for example, as the graphic display of a directory tree. Displaying/Placing the image is pro-grammed via the _MyIO class in LASAL Class. Start Function This function is called when the screen is started. End Function When the screen is closed, the end function is executed. Smart Refresh This function is for later expansion and is not used at this time.

Page 88 Version 7.0

Page 89: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Use Global keyboard Here, the settings for the global keyboard can be defined for a screen as valid (True) or invalid (False) Title

List Text With the arrow, existing text lists can be selected in which the specified text is stored.

Text

Here, assign the screen a title. Select an existing title using the arrow. With the arrow, open the Textlists window.

CheckBit Ref.

Inverse The result of a check bit is inverted (True). CheckBit Using the arrow, an existing check bit formula can be selected. The arrow opens the Checkbit Editor window.

Grid Visible Here the grid can be activated (True) or deactivated (False) respectively. Snap to Grid Snap to Grid connects objects to the grid. Under Grid Spacing Horizontal or Vertical the distance between the dots can be changed.

Version 7.0 Page 89

Page 90: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Apply This button implements changes made by the user.

A new folder can be created using the button.

Page 90 Version 7.0

Page 91: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Create a new folder (here: MyScreenFolder) then Drag & Drop the screen, MyScreen, in the new folder.

Press OK after all settings have been made.

Version 7.0 Page 91

Page 92: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.3.3 Context Menu for a Screen In the project tree, the screen in now located in the folder, MyScreenFolder. Right click on MyScreen to open the context menu.

With New Folder, create a new folder. To create a new screen, select New Screen. Open Screen opens an existing screen, Save Screen stores a screen and Delete Screen is used to delete a screen. Select the context menu item, Download, to download a single screen to the destination system. Set as Start Picture is used to specify the screen called first by the Runtime system.

If no screen is defined as the start picture, the Runtime system calls the screen with the number 0.

Page 92 Version 7.0

Page 93: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE A start screen is identified by the red letters "SP" before the screen name:

Open the printer menu and select Print Properties.... Select Properties... to open the Screen Properties window. Show references... Lists all occurrences of the selected screen (here: MyScreen) in the Cross-reference win-dow. Find in Tree Opens the Find in Tree window used to search for components like screens, windows and objects in the project tree.

Export... Exports the selected screen as new project. It can be re-imported to another project again later on.

Version 7.0 Page 93

Page 94: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.3.4 Drawing with the Drawing Tools Symbol Bar Move the mouse on the screen and observe the status bar before drawing. In the status bar, the position of the mouse pointer is show with X and Y coordinates.

Use the Drawing symbol tool bar to draw on the screen workspace.

To begin, select the Line button to draw a simple line. To form a line on the screen press nd hold the left mouse button then move the mouse across the screen in the desired direc-

tion:

a

Release the mouse button to place the line with its current length.

Page 94 Version 7.0

Page 95: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Select the line and observe the status bar again. Here, the coordinates and size of the object (line) are shown.

To change the size of the line, hold the left mouse button on either end of the line and move the mouse until the desired size has been reached.

Version 7.0 Page 95

Page 96: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE To move the mouse to another location on the screen, place the mouse pointer on the line so that a cross section appears. Press and hold the left mouse button and shift the line to the desired location on the screen.

Page 96 Version 7.0

Page 97: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE With a double click on the line, the Properties window is opened.

Dat Typ Sho Name Name of the line. CheckBit Ref.

Inverse The check bit result is (true) inverted. CheckBit

With the

a

e

ws the type of object (here: Line).

button, an existing Check bit formula can be selected. The arrow opens the check bit Editor window.

Version 7.0 Page 97

Page 98: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Position and Size

Position Top Left Define the position of the line on the screen (difference from upper left corner of the screen). Size Enter the size of the line.

Page 98 Version 7.0

Page 99: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Color

Click on the Color tab and select the line color under Static. Under Color Scheme, a color scheme can be defined and made dependent on a variable (Data).

Creating a color scheme is discussed in chapter 4.11.1 Color Scheme.

Version 7.0 Page 99

Page 100: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Line

In the Line tab, the line thickness can be chosen under Width. Select a width of 0 pixels and under Style, a specific line type. Oval shaped pen A width of 2 pixels can be activated with this check box. With this function the ends of the line are oval. General

Here, the Line name can also be assigned.

Page 100 Version 7.0

Page 101: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Polyline With the Polyline tool, connected lines can be drawn.

Select the Polyline symbol in the symbol tool bar and click on the screen with the left mouse button to start the line. With each additional left click, a corner point is set and an additional

e can be drawn in any direction or length. Double click the left mouse button to end the line.

lin

Version 7.0 Page 101

Page 102: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE

Page 102 Version 7.0

To delete a line section to the previous corner point, place the mouse pointer on the desired line and press the Ctrl button until an X appears. A subsequent left click deletes the line to the previous point. The properties are opened with a double click on the polyline and are identical to those for the single line.

Page 103: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Polygon Select the Polygon tool in the symbol tool bar to draw a polygon.

As with the polyline, draw a line and move the mouse in the desired direction to form the polygon. With each left click, a corner point is inserted. With a double click, the polygon is complete.

Version 7.0 Page 103

Page 104: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Once the polygon is finished, it is automatically filled according to the default settings.

To specify the color of the interior, open the properties window with a double click on the polygon and select the Color tab. Choose the desired color under Category, Background.

Page 104 Version 7.0

Page 105: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Next, select the Fill tab to choose the type of filling.

The remaining settings are the same as for the line.

Version 7.0 Page 105

Page 106: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Rectangle Select the Rectangle symbol in the symbol tool bar to draw a square.

Before drawing the Rectangle, change to the global screen. Press and hold the left mouse button and expand the Rectangle to the desired size then release the mous

e button.

When the shift button is pushed, a square is displayed.

Page 106 Version 7.0

Page 107: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the properties window for the rectangle, under the Color tab, there are two additional items: With Top left the color of the upper left section of frame can be selected; with Bottom right, the lower right frame section color is chosen.

Next, select the Frame tab to select the type of frame (here: 3D).

Version 7.0 Page 107

Page 108: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE With the 3D selection and the color of the frame, the rectangle has a three dimensional effect.

Page 108 Version 7.0

Page 109: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Ellipse Change back to MyScreen. As can be seen, the rectangle drawn in the global screen is now displayed in MyScreen.

Select the ellipse symbol from the symbol tool bar to draw an ellipse. Press and hold the left mouse button and expand the ellipse to the desired size then re-lease the mouse

button.

When the shift button is pressed, a circle is displayed.

The properties window for the ellipse is the same as for the rectangle.

Version 7.0 Page 109

Page 110: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the menu bar, select Project, Settings to open the project properties window. Click on the Online tab and press the Change button. Next, set the online connection (here: TCP/IP) in the LASAL Online configurations win-dow and press OK.

Page 110 Version 7.0

Page 111: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Use the Debug toolbar to compile the project, download it to the target system and start.

Compile the project using the button.

In the compile register of the output window, the compilation process is shown. At the end f the compilation, the following line should appear:

one! – 0 errors, 0 warnings

o D

With the button, download the project to the target system and use the button to n the program.

ru

The LASAL CLASS 2 project must also be downloaded to the target sys-tem.

Version 7.0 Page 111

Page 112: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the target system, MyScreen is now displayed.

Page 112 Version 7.0

Page 113: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.4 Function blocks

To explain the application of function blocks, a new project is created with two screens. With help from a function block, the user can then change between both screens in the target system.

Create a new project (here: Visu) with a resolution adapted to the target and assign a blue background color (here: Color103). Also open the global screen. Afterwards create two ew project screens (here: n

tuStartpicture and Screen20) and define the screen, Startpic-

re, as the start screen.

Create a folder in which the LSE project Visu is stored then copy the Rtk

project created previously in LASAL CLASS and add it to the new folder.

Designing the Global Screen: The Global Screen has the following components:

file name of the Sigmatek Logo is "board

ate and place these components according to the following illustration:

3 Rectangles (white, middle blue, olive green) 3 white Lines 2 Images (Bitmaps can be found on the CD, the top left" and the 2nd picture is called "s-ipc1")

Cre

In addition, change the color of the background picture to gray.

Version 7.0 Page 113

Page 114: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE

Now change the Default Settings of the following components in order to get an optically attractive visualization.

Make the same settings for the Softkeys.

Page 114 Version 7.0

Page 115: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Also change the Default Settings for the NumEdit field in the Settings/Input folder:

The project thus far serves as preparation for the output project, which will be used later to explain various topics. Save this project separately so that it can be reloaded later.

pen the screen, Startpicture, and place a circle with a Width of 240 and Height of 240. O

Position Top Left: 160 x 150

osition Bottom Right: 399 x 389 P

Version 7.0 Page 115

Page 116: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In Screen20, draw the letter T and place it on the screen.

Page 116 Version 7.0

Page 117: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.4.1 Creating Function Blocks Using function blocks, various operations such as changing screens, increment-ing/decrementing variables or calling windows or UserCalls (user defined programs) can be defined. To change between the two screens (Startpicture and Screen20), two function blocks are required. Open the Define Function Blocks... window with a double click on Function Blocks in the project tree. Create a new function block with the button and assign a name (here: SwitchToPic20).

Press the second button to assign an operation to the function block. With the arrow select the function Screen.

Version 7.0 Page 117

Page 118: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE The screen is now called depending on the screen number. In this case, under Direct Choice, select Screen20. Screen20 will then be opened when the function block Switch-ToPic20 is called.

To change from Screen20 back to Startpicture, an additional function block is required. Create a new function block (here: ReturnToStartpicture) and assign the return function.

All softkey function descriptions can be found in the attachment!

Page 118 Version 7.0

Page 119: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.4.2 Changing Screens with Softkeys It is also possible to call functions from function blocks using softkeys, which are placed in the screen.

Each screen in which softkeys are to be placed (here: Startpicture) must be active.

Before placing the softkeys, different default settings such as color and text can be made. In the project tree under Settings, double click on Softkeys and define the properties in the Default Softkey Properties window.

To place the softkeys, select Picture, Softkey... from the menu bar.

Using the button, create a softkey bar. Because of the 1024 x 768 resolution, the bar onsists of only 10 softkeys. c

The number of softkeys can be changed at any time in the project proper-ties.

Version 7.0 Page 119

Page 120: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Click on Softkey0 and under Positive edge, select the function block SwitchToPic20 to assign the function to the first softkey. Press OK to save the setting.

Next, change to Screen20 and create another softkey bar. Click on Softkey9 and under Positive edge, select the ReturnToStartpicture function. The function will then change back to Startpicture when Softkey9 is pushed.

Page 120 Version 7.0

Page 121: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE

The return function should always be assigned to the same softkey to maintain an easy to read menu.

Compile the project using the button.

the Project Settings window select the Online tab to define the online settings.

In

Click on the button to download the project to the destination system. Use the button to run the program.

tination system, change between the two screens a few times using the assigned oftkeys.

In the dess

If the screen change using the softkey does not function, the following e

se.

The Touch terminal is not calibrated correctly.

rrors could have occurred: The setting in the autoexec.lsl file is fal The setting in the T_ipc.h file is false.

Version 7.0 Page 121

Page 122: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.5 Text Management 4.5.1 Principle Text Lists Text can be stored in a central location. The text from the text lists can be translated into a different language and simply reinserted into the project. Because any amount of text lists can be applied in the LASAL SCREEN editor, the project can be designed significantly clearer. Each text list can be exported, edited and re-imported individually. The advantages of using text list are: reusability, exchangeability and ease of translation.

Page 122 Version 7.0

Page 123: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.5.2 Using Text from a Text List

To place text on the softkeys, create a new text list (here: SoftkeyTexts) using the left

button. Define two text items (here: Screen20 and Return) in the list using the right utton, which should then be placed on the softkeys. Press OK to save the changes. b

Next, open the Softkeys window in the Startpicture and select the text for Softkey0 from the newly created SoftkeyText text list under List Text.

Version 7.0 Page 123

Page 124: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Under Text, select the text that should appear on Softkey0 (here: Screen20).

Confirm the selection with OK and the text will then be displayed on the Softkey.

Page 124 Version 7.0

Page 125: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE To change the text color of individual softkeys, select the desired softkey in the softkey

indow and click on the w button. The desired text color can then be selected in the Color tab of the Frame- and Textstyle

indow (here: white). w

s can be seen, the text is now displayed on Softkey0 in white. A

Version 7.0 Page 125

Page 126: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Change to Screen20 and assign the text, Return, to Softkey9.

Page 126 Version 7.0

Page 127: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.5.3 Applying Title Text The Title Text is placed in the global screen and is used provide all additional screens in the project with a clear description. The advantage of using title text is that the text is al-ways displayed in the same position in each project screen. Open the context menu in the global Screen and select Place, Title Text.

Next, place the text field in the rectangle with the desired size.

Version 7.0 Page 127

Page 128: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE To make the white filling transparent, open the properties window with a double click. In Color, select Transparent under Background.

Next, change the text color to white. Align the Title Text to the left by selecting Data and under Align, select Left.

Page 128 Version 7.0

Page 129: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Open the Textlists window and create a new text list (here: TitleTexts) with two entries (here: Startpicture and Screen20).

To assign the correct title text to the Startpicture, open the Screen Properties window.

Version 7.0 Page 129

Page 130: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Under List Text, select TitleTexts.

Under Text, select the correct title text (here: Startpicture).

Page 130 Version 7.0

Page 131: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Next, select the corresponding title text for Screen20.

Press OK to save the settings.

Version 7.0 Page 131

Page 132: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the title text of each screen, the corresponding text in now displayed.

Page 132 Version 7.0

Page 133: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.6 Displaying Values on the Screen In the following section, displaying values on the screen through servers is explained.

Only servers can be displayed in the visualization, not clients.

Open the LASAL CLASS 2 Project, Rtk, stored in the folder with the LASAL SCREEN Visu project. In the LASAL CLASS 2 project, create a new class (here: DiffValues) containing four serv-ers.

n the CyWork MI ethod of this class, create a program to increment the value of the server

t should be reset to 0 and

Remove write

Value1 from 1 to 100. Once the server value has reached 100, iecount to 100. r

the protection from the servers Value2 to Value4.

Set the Visualized property to True for all the servers of the created class so that they can be placed in the LASAL SCREEN Editor.

Version 7.0 Page 133

Page 134: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Place an object of the class DiffValues and set Visualized to True.

Place another object of the _SysDateTime class in the One network. This object will be needed later for the time and date. The Visualized setting can therefore be left to false.

Next, compile the project, go online and download the project to the destination system then change to the LASAL SCREEN editor.

Page 134 Version 7.0

Page 135: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.6.1 Importing server in LSE (Reference to Variable)

Through the process of compilation, all objects and/or servers in the LA-SAL CLASS 2 project for which Visualized is set to True, are loaded to the MaeExp.txt LASAL export file. Using this file, the LASAL SCREEN Editor accesses all the information required for visualization from LASAL CLASS 2.

The Write Server List function in the LASAL Class 2 Build menu creates the MaeExp.txt file without compiling the projekt and therefore saves time.

To call this information in the LASAL SCREEN editor, select Project, Reference to vari-ables... from the menu bar.

Make the following settings in the Reference to Variables window:

Version 7.0 Page 135

Page 136: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE St.No. Each connected CPU is assigned a unique station number. Valid station numbers, which can be assigned by the user, range from 0 to 255. Here, additional connections can be made with other CPUs by clicking on the symbol in the upper left corner. Normally an addi-tional station number is also assigned so that the source of the respective server can be immediately recognized in the data servers window. If a project uses 2 CPUs whereby for example, one CPU runs the program and the other CPU manages the alarms, all servers that run the main program can be assigned the sta-tion number 0 and the servers for the alarm CPU, the station number 255. This appears as follows:

Page 136 Version 7.0

Page 137: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE The allocation can be immediately seen in the data servers window:

Version 7.0 Page 137

Page 138: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Path Enter the path of the MaeExp.txt file or select it from the Open window by clicking on the arrow to the right of the path.

Next, select the file from the Open window and press Open.

The MaeExp.txt file is located in the project folder of the LASAL CLASS 2- Rtk project!

Connection Settings Connection type for each CPU. If the INTERN connection is selected, the YourClass project and the visualization are located in a single CPU (i.e. training assembly).

Page 138 Version 7.0

Page 139: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Observe Monitors the online connection with an external station. If the setting is TRUE and the con-nection to the CPU is interrupted, an error message is output in the target system.

Once the correct MaeExp.txt file is selected and all settings are made, click on the button to transfer the file information to the LASAL SCREEN Editor, not OK. With OK, the settings are only confirmed; the required information is not read.

Simply confirm the Import Variables / Types window with OK, to get all current informa-tion of LASAL CLASS 2 for the visualization.

Version 7.0 Page 139

Page 140: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.6.2 Using a Server as a Numeric Display Open the Startpicture screen and delete the object drawn within. Next, open the context menu with a right click on the screen and select Place, Data....

In the Data window, the objDiffValues created in LASAL CLASS 2 is shown with the cre-ated servers. Select the Value1 server and press the button to place this server as a numeric field.

Page 140 Version 7.0

Page 141: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Expand the object placed in the screen and right click on it to open the object context menu. Select Variable Text, Text1, to add a text field containing the object name.

Click on the inserted text field and select the object while pressing the Ctrl button. Using the

button (located in the Layout Toolbar), match the height of the text field with that of the umeric field. n

Version 7.0 Page 141

Page 142: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Use the button to align both fields at the same height on the screen. The fields are ligned according to the position of the gray object. a

Arrange both fields as shown in the following window and assign them a three dimensional effect:

Page 142 Version 7.0

Page 143: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Place the Value2 server on the screen as a numeric field using the same process.

Next, save and compile the project then download it to the destination system. In online operation, enter a value in the Value2 server in LASAL CLASS 2 (here: 1800).

Version 7.0 Page 143

Page 144: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE This value is then shown in the numeric field of the Value2 server on the destination sys-tem. The value in the Value1 server increments continually until 100 is reached.

So that a numeric field does not have to be placee for every server, a copy function can also be used. Simply click on the numeric field and the corresponding text field then select Copy (or Ctrl + C) from the context menu. With Paste (or Ctrl + V), the fields can be added to the screen.

Page 144 Version 7.0

Page 145: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Open the properties window of the copied numeric field and assign the correct data source in the Data Source setting (here: objDiffValues.Value3).

Set Write protected to False so that values can be written to the field.

Version 7.0 Page 145

Page 146: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Assign the correct data source to the copied text field as well.

Download the project to the destination system. Using the keyboard connected to the target system, enter a value in the Value3 server (here: 125). With ENTER, the value is stored in the selected field. Use the Cursor buttons to move between the editable fields. Press the ESC button to exit a field.

Page 146 Version 7.0

Page 147: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In LASAL CLASS 2, the value is written to the Value3 server of the objDiffValues object in the UserNetwork.

Place numeric and text fields for the Value4 server on the screen of the destination system and assign the same properties as in the Value3 server.

Version 7.0 Page 147

Page 148: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE To display different text in the text fields containing the object and sever names, create a new text list (here: ServerTexts) and insert the desired text (here: Value1 to Value4).

Next, open the Data Servers window with the button in the LSE start screen or with a double click on Data Server in the project tree.

Page 148 Version 7.0

Page 149: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Click on the Value1 server in the Data Servers window and select the corresponding text list under List Text1 (here: ServerTexts).

Under Text1, select the text for each server (here: Value1).

Assign the corresponding text to the servers Value2 to Value4.

Version 7.0 Page 149

Page 150: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE The text is then displayed in their respective server on the Startpicture screen.

Page 150 Version 7.0

Page 151: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.6.3 Displaying a server as a bar In the next step, place a bar on the screen and assign the server Value1 as the data source. Click on Value1, and select Bar from the Component list.

With a bar display, a minimum and/or maximum value must be assigned. Assign the min (here: 0) and max (here: 100) values under Min. Value and Max. Value respectively.

Version 7.0 Page 151

Page 152: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Change the size of the bar as shown in the illustration below and define the start position

sing the u symbol in the Bar Toolbar.

s can now be seen in the destination system, the bar fills as the value rises. A

Page 152 Version 7.0

Page 153: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.6.4 Displaying a server a IP address In LASAL CLASS 2 create a new class (here: IP_Class) including a server (here: IP) and visualize it. Instance an object of this class and visualize it too. Now compile and download the LASAL project.

In LASAL SCREEN import the new server (Reference to Variables...) and place the IP server as IP address on the screen:

The IP server is now displayed as follows:

Version 7.0 Page 153

Page 154: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In LASAL CLASS 2 insert the following value at the IP server in hexadecimal style (here: 16#01960A0A). The IP has to be insert from back to the front, so the last octet (here: 01) at first, then the last but one octet, aso. That comes up to the IP 10.10.150.1.

On the screen the server value is displayed as IP address now:

Page 154 Version 7.0

Page 155: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.6.5 Date and Time To place and display the date and clock time in the LASAL SCREEN Editor, the _SysDateTime class is required. To use this class, set Visualized to True in obj_SysDateTime, which was placed earlier.

Next, Update the Maeexp.txt file in the Reference to variables in the LASAL SCREEN Editor. To use the servers SysDate and SysTime to display the date and time properly, the correct type must first be assigned. Open the Types window with a double click in the pro-ject tree on Types.

Version 7.0 Page 155

Page 156: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Next, select the type, DATE, for the SysDate server.

Under Choice in the right section of the Types window, the display variant can be selected.

Page 156 Version 7.0

Page 157: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE

To display the weekday with the date, they must first be written in the SystemText list!

pen the Textlists window and insert the weekday abbreviOin

ations under SystemTexts start-g with a hyphen as shown in the screen shot below.

n the Data Servers wI

window, select WD (Week Day) under Choice to include the weekday

ith the date display.

Version 7.0 Page 157

Page 158: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE The SysTime server requires the type, TIME.

In the right section of the Types window under Size, select whether seconds should also be included in the time display then press OK.

Page 158 Version 7.0

Page 159: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Switch to the global screen and open the Data window. Click on the Sysdate server and select Date from the component list. Next, place a date field in the global screen.

To place the time field, use the SysTime server and under Component, select Time.

Version 7.0 Page 159

Page 160: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Arrange both fields on the global screen as shown below:

Download the changes to the destination system.

Page 160 Version 7.0

Page 161: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE As can be seen, the date and time are displayed in every screen:

Version 7.0 Page 161

Page 162: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.6.6 Layout

(Project Layout) Requirements For the following project, the layout should appear similar to the screen shown below. The title text, date and time should be placed so that they appear in every project screen. In the LASAL CLASS 2 project, a class with the several servers in required. The write protection for each server should also be removed. In the LASAL SCREEN project, the server values as well as the server names should be displayed. The server values should be changed using the buttons on the right side of the screen. The softkeys (Value 1 to Value 4) on the left define the server to be changed. The Check Values softkey checks the 4 inserted values for their maximum size of 255. If a values is higher than 255, it is reset to 255. Only when the Check Values softkey is

ressed, is it possible to switch to the IP screen with the p softkey. Here, some information from the the next point in this manual ("Incrementing and Decre-

enting Servers Using Buttons") is expected. m

ayout L

ain Screen: M

Page 162 Version 7.0

Page 163: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE IP screen:

Tips for completing this task

Be sure to set the Visualized property of the object and the servers to True in the LASAL CLASS 2 project.

So that a button or softkey remains optically pressed, a (server) value has to be set in the Data Source property. A set server value is toggled (switched between 0 and 1).

The complete project can be found on the attached CD!

Version 7.0 Page 163

Page 164: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.7 Incrementing and Decrementing Servers Using Buttons In LASAL CLASS 2, add another server to the DiffValues class (here: Value5). Don’t forget to set the Visualized property to True and remove the write protection. Download the changes to the destination system and run the Reference to variables... function.

Next, place a numeric field for Value5 in the Startpicture.

Page 164 Version 7.0

Page 165: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Value5 is incremented (count up) and decremented (count down) using 2 buttons, each of which require a function. To increment, select the INC function an assign it to Value5 under Parameter1.

The DEC function is required to decrement. The Value5 server is also assigned in Parame-ter1 of this function.

Version 7.0 Page 165

Page 166: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE To label the buttons according to their function, create a text list containing the entries In-crement and Decrement.

Page 166 Version 7.0

Page 167: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE

Using the button, place the increment/decrement buttons in the screen. Assign the respective function and/or label for both buttons in the Properties window.

Version 7.0 Page 167

Page 168: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE There are 4 selections available from which how a button should react can be chosen. Under Trigger type in the properties window, each button can be selected as auto repeat, continuous, single shot and auto rep. Immediately.

Auto repeat

After 0.6 seconds, the function repeats every 0.1 sec automatically. Continuous

The button executes the function as long as it’s pushed. Single Shot

The function is executed only once when the button is pushed (no automatic repetition, positive flank).

Auto rep. immediately

The function is repeated every second without a pause after the initial push of the button.

Page 168 Version 7.0

Page 169: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Select a trigger type for each button and test the function in the online mode using the touch screen.

Version 7.0 Page 169

Page 170: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.8 Objects in LSE 4.8.1 Advantages of Objects Objects in a visualization project have the advantage of making relationships between sev-eral components simpler to apply. That means that, for example, all the buttons for creating a keyboard are placed in one object. If the object is then used in a window or screen, it can be enlarged or reduce in size linearly. If the keyboard components were placed in a screen or window directly, each component would have to be changed individually. An additional advantage is that servers in a LASAL CLASS 2 project represent a relation-ship. If an additional object from the LASAL CLASS 2 project should be represented in the visualization, it can be assigned to the same LSE object. Therefore it is possible to have two or more objects in visualization that appear identical but display different values. 4.8.2 Creating Objects in LSE First, create a new class in LASAL CLASS 2 as shown in the following screen shot (here: TempRegulator):

A method is not required here since the server is used as a display only. Place an object of the class in the UserNetwork and remember to set Visualized to True for the server as well as for the object. Compile the project and download it to the destination system.

Page 170 Version 7.0

Page 171: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the Reference to Variables window, click on Update to update the information in the Meaexp.txt file.

In the next step, open the context menu in the project tree with a right click on Objects and select New Object to create a new object.

Version 7.0 Page 171

Page 172: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Next, assign a name to the object in the Object Properties window (here: TempRegula-tor). Press OK.

Page 172 Version 7.0

Page 173: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Draw a rectangle in the opened window and place it in the upper left corner and assign it a three dimensional effect.

Open the context menu and select Place, Data… then place a numeric field in the rectan-gle.

Version 7.0 Page 173

Page 174: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE The objects created in LASAL CLASS 2 with their respective servers are found in the Data window. To begin, click on the first server MaxTemp and place it in the screen as a numeric field.

Place numeric and text fields with a 3D effect for the remaining servers. For the Actual server, place a bar field.

Page 174 Version 7.0

Page 175: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE

Define the minimum (Min. Value) and maximum (Max. Value) values for the bar (here: 0 to 150).

Remove the write protection from the MaxTemp, MinTemp and Required servers. Create a new text list with the sever names and assign a name to the respective text fields.

Version 7.0 Page 175

Page 176: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE An object is now created and can be placed in a screen or window. Open screen20 and delete the T from the screen. To place the new object, select Place, Object... from the context menu.

Click on the object in the Objects window (here: TempRegulator) and insert it using the Place button.

Page 176 Version 7.0

Page 177: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Screen20 should appear as follows:

Download the changes to the destination system using the button then enter a value in the MaxTemp, MinTemp and Required servers with the keyboard. The actual temperature of the Actual server must be entered in LASAL CLASS 2. The bar displays this temperature graphically.

Version 7.0 Page 177

Page 178: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.8.3 Overloading Objects To overload the TempRegulator object, an additional object of the TempRegulator class must be placed in the UserNetwork in the LASAL CLASS 2 project.

Remember to set Visualized for this object (here: objTempRegulator1) to True.

Compile the project and download it to the destination system in online mode. In the Reference to Variables window, click on Update to call the current information of the Meaexp.txt file.

Page 178 Version 7.0

Page 179: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Next, open the Objects window in Screen20 to place an additional TempRegulator Object.

Click on Place to place the object in the screen.

Version 7.0 Page 179

Page 180: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE The same object is now placed twice in Screen20:

Open the properties window of the second object with a double click to define the data source. Under Data reference select the object objTempRegulator1.

Page 180 Version 7.0

Page 181: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the next step, open the Data Servers window and assign the corresponding text list (here: TempTexts) and/or text to the servers of the objTempRegulator1 object.

Once the text is selected press OK. Download the changes to the destination system and start the program.

Version 7.0 Page 181

Page 182: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the destination system, values can be entered in both objects independently of one an-other.

Page 182 Version 7.0

Page 183: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.9 Editing Inputs through the Touch Screen 4.9.1 Creating a Numeric Keypad In this section, a numeric keypad is created with which values can be entered over the Touchscreen. First create a new object (here: NumKey).

Version 7.0 Page 183

Page 184: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Using the symbol, place 12 buttons and arrange them as follows:

Page 184 Version 7.0

Page 185: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE To assign a function to these buttons, a function must be created for each. Use the digits 0 – 9 for the Keycode function and for Parameter1 of each digit, enter the corresponding ASCII code (ASCII 48 = 0, ASCII 49 = 1, ASCII 50 = 2,...).

With Clear the input in the input field is not stored and it is exited. Under Functions, select the Return function.

Version 7.0 Page 185

Page 186: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE With Enter, the input is stored and applied. For the Enter key, the functions Edit Save and Return are required. Press OK to confirm the selections.

Create a text list to label the individual buttons.

Page 186 Version 7.0

Page 187: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Once the text list is complete, assign the text and/or character to the respective button in the Properties window.

Select the appropriate function block under Funct. pos. Edge.

Version 7.0 Page 187

Page 188: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE The numeric keypad should now appear as follows:

Page 188 Version 7.0

Page 189: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.9.2 Creating a Window

A Screen covers the entire display, whereas a window is shown in a sec-tion of the screen. When changing screens, the entire contents are cleared. When calling a window, the screen contents are not cleared; the window is inserted into the screen.

To create a window, click on Windows in the project tree and select New Window from the context menu.

Version 7.0 Page 189

Page 190: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Enter a name in the Window Properties window (here: Keypad).

Leave the Window Nr. at 0 so that it is opened in destination system! This setting can be changed in the T_IPC.h file.

If a numerical value (server placed as numedit) is selected for editing, the operating system calls the window number 0 by default. Here, a NumPad should be programmed (using a pre-programmed Sigmatek template). When editing an alphanumeric field, the window number 1 is called automatically. Here, an alphanumeric keyboard should be programmed (a Sigmatek template is available). These settings are defined in the T_IPC.h file and can be changed. Window numbers for additional windows are assigned as needed.

Page 190 Version 7.0

Page 191: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Change to the Keypad window and create a rectangle with a window style and place it on the keypad as an object.

A display is required for values entered with the keypad. First create a variable (here: Dummy) in the Data Servers window and enter 0 for the station number.

Version 7.0 Page 191

Page 192: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Open the context menu with a right click on the surface of the Keypad window and select Place, Data... to open the Data window. In the Data window, select the Dummy variable and set Write protected to False.

Place the Dummy variable in the rectangle as shown below:

The completed keypad can be placed anywhere in the window. The posi-tion of the keypad in the window determines where it will appear in the screen when called.

Page 192 Version 7.0

Page 193: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Download the changes to the destination system and start the program. Click on the input field next to MaxTemp with the left mouse button so that the keypad appears and enter a value. Store the input value with Enter or press Clear to exit an input without changing the value.

The second object, objTempRegulator1, was removed from Screen20 to better display the numeric keypad.

Next, enter values in the MaxTemp, MinTemp and Required fields using the keypad.

Version 7.0 Page 193

Page 194: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.9.3 Alphanumeric Keyboard Before the alphanumeric keyboard can be created, the following must be added to the LA-SAL CLASS 2 project: import the Tools.lcp library and copy the StringRAM class (can be found in the Memory folder) to your project.

Page 194 Version 7.0

Page 195: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Next, place an object of the class in the UserNetwork and set Visualized to True.

Download the LASAL CLASS 2 and update the Maeexp.txt file in the LASAL SCREEN Editor. The alphanumeric keyboard is created in a new object (here: AlphaKeyPad).

Version 7.0 Page 195

Page 196: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Place the buttons for the keyboard in the object as shown below:

Page 196 Version 7.0

Page 197: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE As with the numeric keypad, a function block must be created for each character of the keyboard. Using the Keycode function, enter the corresponding ASCII code for each letter. For the space bar, the ASCII code 32 (BLANK) is required in Parameter1. The ASCII code 8 must be entered under Parameter1 for the BkSp button.

To ensure clarity, the function blocks should be maintained in a single folder. Create a new

folder with the button (here: AlphaKeys) and move the function blocks for the alpha-numeric keyboard via Drag & Drop to the new folder.

Version 7.0 Page 197

Page 198: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Create a text list (here: AlphaKeyPad) for the required letters and characters.

Next, assign each button the correct function block and/or text.

Page 198 Version 7.0

Page 199: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the next step, create a new window (here: AlphaKeyPad) in which to place the key-board. Assign this window the number 1.

Next, place the keyboard in the new window.

Version 7.0 Page 199

Page 200: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE As with the numeric keypad, a field is required to display the letters as they are entered. Create a new variable in the Data Servers window (here: StringDummy) of type STRING-DAT to accommodate the keyboard characters.

Under Size, define the number of characters that can be displayed (here: 30).

Page 200 Version 7.0

Page 201: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Draw a rectangle (with a three dimensional effect, windows style) and place it over the keyboard. In the context menu of the rectangle select Order, Send Backward so that the rectangle is placed behind the keyboard.

Click on both objects and then press the button to center the keyboard in the rectangle.

Version 7.0 Page 201

Page 202: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE

Open the Data window to place a data element from the StringDummy variable.

Page 202 Version 7.0

Page 203: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE

Click on the StringDummy variable and under Component select String.

Place the data element and position the field in the upper middle of the rectangle. Remem-ber to remove the right protection from the data element.

Version 7.0 Page 203

Page 204: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE The AlphaKeyPad window should now appear as follows:

The objStringRAM object in the Data Servers window, created earlier in LASAL CLASS 2, can now be applied. Mark the Data server of this object and select the number of charac-ters (here: 30) under Size.

Click OK to close the window.

Page 204 Version 7.0

Page 205: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Change to Screen20 and select Place, Data... from the context menu to open the Data window.

In the Data window, click on the Data server and select the Component string. Set Write protected to False and click on Place.

Version 7.0 Page 205

Page 206: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE This field serves as the display for text entered with the alphanumeric keyboard.

Download the changes to the destination system and open Screen20.

Page 206 Version 7.0

Page 207: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Open the alphanumeric keyboard by touching the input field on the screen.

Type in the desired text using the keyboard. With BkSp, the last letter is deleted and with Space, an empty space is entered. Press Enter to confirm the input and display the text in the input field.

Version 7.0 Page 207

Page 208: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.10 CheckBox & Radio-Button With the _Bit32 and _Bit32Ram and/or _Radio32 and _Radio32Ram classes, selection criteria can be defined in the visualization using the CheckBox or Radio-Button. If a selec-tion is made, individual bits in the Data server are set to 1. The fundamental difference between these two classes is the bits that can be set. The _Bit32 and _Bit32Ram classes contain several bits that can set individually, while for the _Radio32 and _Radio32Ram classes only one bit can be set. For the _Radio32 and _Radio32Ram classes, if one bit is set then the others are automatically set to 0. The last selection made in the _Bit32Ram and _Radio32Ram classes (most recent data) is stored in the null voltage protected memory of the destination system. 4.10.1 Using the _Bit32 and _Bit32Ram Classes

In the following example, selecting diverse Peripheral components is ex-plained.

Project: CheckBox-RadioButton To begin, create a complex class using the class _Bit32 or _Bit32Ram as a base (can be found in the lse_rtk library). In this example, _Bit32Ram is used. Create a new class (here: Periphery) and in the network of this class place an object of the class _Bit32Ram to form the complex object. Rename the RAM object as described:

Page 208 Version 7.0

Page 209: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Next, create a new type (here: FUNCTIONS) as BDINT in the Type View window.

Then, in the Properties window of the Periphery class, change the Data Type to that of the newly created type FUNCTIONS.

Version 7.0 Page 209

Page 210: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Program the Write method of the server as follows:

When a value is written to this server, the write method of the imbedded class is called and the Input is transferred. Place an object of the Periphery class in the UserNetwork, compile the project and download it to the control.

Be sure that Visualized is set to True in the properties window for both the Periphery class and the Periphery object, so that the objects and servers can be added to the Data Server list in the LASAL SCREEN Edi-tor.

Page 210 Version 7.0

Page 211: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Go to the LASAL SCREEN Editor and update the Reference to Variables.... Select Place, Data... from the context menu of the Startpicture to open the Data window. Use the individual entries in the Periphery class to placed CheckBox fields. To place the check boxes, select Check Box from the Component menu. Remember to set Write protected to False so that the server can be written to. Next to each checkbox field, place the corresponding server name.

Version 7.0 Page 211

Page 212: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Create a rectangle and position the individual components in the Startpicture as follows:

The periphery selection can also be created in an object.

Page 212 Version 7.0

Page 213: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE After downloading the project to the target system, the screen should appear similar to the one below:

By activating the checkbox fields, the system configuration selection can be made. In the LASAL CLASS 2 project, the bits selected through the visualization can be monitored individually.

Version 7.0 Page 213

Page 214: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.10.2 Using the _Radio32 and _Radio32Ram Classes

In this example, the function of the _Radio32Ram class is shown. Here, the following operation modes can be selected for a machine: manual, semi automatic, automatic, service and an additional mode for setting adjustments on the machine.

Create a new complex class (here: Machine) and in the network of the Machine class, lace an object of the _Radio32Ram class. p

Page 214 Version 7.0

Page 215: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Create a new BDINT type for the server of the Machine class.

he write method is programmed in the same way like in the example before. T

Next, place an object of the Machine class in the UserNetwork, compile and down load the project to the control.

Version 7.0 Page 215

Page 216: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE

Be sure to set Visualized to True for both the Machine server and ob-ject.

Go to the LASAL SCREEN Editor and update the Reference to Variables....

Page 216 Version 7.0

Page 217: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the context menu of the Startpicture, select Place, Data... to open the data window. Use the Machine class server to place a Radio button field by selecting Radio Button from the Component menu. Set Write protected to False so that the server can be written to and place the corresponding server name next to the Radio button.

The Startpicture should now appear as below:

Version 7.0 Page 217

Page 218: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Download the project to the control. When a radio button is pushed, the operation mode for the machine can be selected.

In the server of the Machine object, the status of the set bit can be seen.

Page 218 Version 7.0

Page 219: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.11 Schemes

The project will be changed as follows and later used as the output pro-ject. The changes are made to maintain clarity.

First delete all objects placed in the Startpicture, including Screen20, as they are no

nger nlob

ecessary. To delete an object, simply click on it and press the Del key on the key-oard.

Version 7.0 Page 219

Page 220: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Modify the project tree and/or delete the unnecessary components as shown in the follow-ing illustration: select Delete in the context menu of the corresponding object, window or screen to delete it from the project. Text lists can only be deleted in the Textlists window.

In LASAL CLASS 2, only objects of the obj_Lse and obj_SysDateTime are required in the One network. Delete all the other objects created up to this point.

Save the LASAL SCREEN project with the current components and set-tings for later use as the output project. The LASAL CLASS 2 project will also be used with obj_Lse and obj_SysDateTime only and should also be saved for the output project. Create a new folder (here: OutputProject) and copy the LSE Visu and LASAL CLASS 2 Rtk projects in this folder.

Page 220 Version 7.0

Page 221: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Copy the Output project folder and rename it as Schemes. Load the LASAL CLASS 2 project from the Schemes folder and create two new classes (here: Schemes und Switch). The Schemes class has a server for each scheme (see below). At first, only the Color server will be required. The server names can be assigned as desired. Here, a name is assigned for each scheme and Visualized is set to True.

Place an object of the Schemes and Switch classes in the UserNetwork and set Visual-ized to True for both.

Version 7.0 Page 221

Page 222: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.11.1 Color Scheme Download the LASAL SCREEN project from the Schemes folder and update the Maexp.txt file in Reference to variables.... Next in the Startpicture screen, place the Color server as a numeric field and set Write protected to False.

Add a numeric field from the Value1 server of the objSwitch object.

Page 222 Version 7.0

Page 223: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the project tree, open the Color Schemes window with a double click on Color Schemes to define a color scheme (here: ColorSwitch). Assign three colors for this scheme (here: green, red, blue). For each color use the = operator with different values. The color is selected according to the value assigned here.

Select the Value1 server of the objSwitch object (objSwitch.Value1) as a variable.

Version 7.0 Page 223

Page 224: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Next, click on the button to place a text field containing the name of the scheme (here: Color Schema). Double click on the numeric field used to change the color.

In the properties window, open the Color tab and under, Color Scheme, select the Color-Switch scheme created earlier.

Press OK and download the changes to the destination system.

Page 224 Version 7.0

Page 225: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE The background color displayed in the Value1 server depends on the value entered in the Color server using the numeric keypad (0 = green, 1 = red, 2 = blue). Here, the Color sever contains the value 0 and therefore the background color for the Value1 server is green. Enter a 1 to change the background color to red and 2 for blue.

This field changes color. Enter the value here.

Version 7.0 Page 225

Page 226: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.11.2 Object Scheme For the next example, Objektscheme, 4 objects are required. Create these 4 objects (here: ArrowLeft, ArrowDown, ArrowRight and ArrowUp) and draw the following graphic in the first object (ArrowLeft).

Place the same graphic in the other objects and assign the object name to the respective arrow.

Object ArrowDown

Object ArrowRight Object ArrowUp

Page 226 Version 7.0

Page 227: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Next, open the Object schemes window with a double click in the project tree on Object Schemes and create a new scheme (here: Arrows) with 4 entries (an arrow for each direc-tion).

Go to the Startpicture and open the Data window.

Under Component, select Object Scheme and click on the Object server.

Version 7.0 Page 227

Page 228: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Select the desired object scheme under Objectscheme (here: Arrows). Because only one object scheme was created, it is selected automatically. Click on Place to place the object. To change between the different arrow directions, a numeric field is required. Click on the Object server for the objSchemes object in the Data window and set Write protected to False then place a numeric field.

Page 228 Version 7.0

Page 229: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE The Startpicture should now appear as follows:

From LSE version V01.01.82 it is possible to test the object scheme OFF-LINE! In the context menu of the object scheme you can find the entries View next scheme item and View previous scheme item. Alternatively you can use the key combination CTRL-ALT-F5, respectively, CTRL-ALT-F6, if the object scheme is already highlighted.

Version 7.0 Page 229

Page 230: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE So that a value does not have to be entered to change arrows each time, the Object server in LASAL CLASS 2 can be incremented from 0 to 3 using the CyWork method. Download the changes to the destination system and update the Maeexp.txt file in the LASAL SCREEN Editor. In the destination system, the arrow directions are changed in a constant sequence as the Object server in LASAL CLASS 2 counts to 3 (cyclic variant). If the directions are changed through the numeric field, they depend on the value entered (non-cyclic variant).

If you do not see the complete picture of the object scheme, a setting in the T_ipc.h header file has possibly be done: For this purpose open this file and activate the #define UC_ZOOM_OBJSCHEME definition. Furthermore set the CompileCFiles attribute to TRUE in the project set-tings/Compiler and compile the project via Rebuild Project (CTRL + F9).

Page 230 Version 7.0

Page 231: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.11.3 Image Scheme The Image scheme is created the same as the object scheme, the difference being that pictures are used instead of objects. The pictures used for the image scheme must first be stored in the Images window of the LASAL SCREEN Editor. Open this window with a double click on Images in the project tree.

Click on the button select the desired image from the Open window and insert it

Version 7.0 Page 231

Page 232: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE To set the background color of a screen to transparent, the Transparency function is avail-

able. The pipette appears when the button is pushed and can be used to make he background color to transparet

nt.

n the following illustration, the pink frame of the globe is made transparent. I

With the button, the background color is reset.

Page 232 Version 7.0

Page 233: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE

The button opens the image-editing program with which the image can be

ct Options window. .

nter the path of the image-editing program under Editor filename.

edited.

hich image editing program to open can be specified in the ProjeWOpen this window by selecting Extras, Options... from the menu bar E

ext, open the Image Schemes window with a double click NSchemes

in the project tree on Image and create a scheme with four image entries (0-3).

Version 7.0 Page 233

Page 234: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the context menu of the Startpicture, select Place, Data... to open the Data window. Click on the Image server and select Image Scheme from the Component menu. Under Image Scheme, select the C-IPC image scheme created previously and place the Image Scheme in the Startpicture.

Add a text field using the text Image Scheme.

Download the changes to the destination system.

Page 234 Version 7.0

Page 235: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE

From LSE version V01.01.82 it is possible to test the image scheme OFF-LINE! In the context menu of the image scheme you can find the entries View next scheme item and View previous scheme item. Alternatively you can use the key combination CTRL-ALT-F5, respectively, CTRL-ALT-F6, if the object scheme is already highlighted.

To switch between the individual pictures in the destination system, use the CyWork method in LASAL CLASS 2. As with the Objectscheme, increment the Image server from 0 to 3.

In the destination system, the images are then shown in a constant sequence.

Version 7.0 Page 235

Page 236: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.11.4 Font Scheme First open the Fonts window with a double click on Fonts in the project tree. With the button, add a new font, which can be select from the ASCII font list. Use the additional setting options such as Size, Italic, Bold, etc. to change the appearance of the elected font. s

I n the following screenshot, three different fonts are created in different sizes:

With a double click in the project tree on Font Schemes the window is opened and a scheme can be created for every font. Create three Font-Schemes (Standard = Arial10, Large = Comic16, XLarge = LcdD36) and assign each scheme a previously selected font.

ach language can be assigned a different font scheme! E

Page 236 Version 7.0

Page 237: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Open Screen20 and place a text field using the button. Double click on this field to open the properties window then click on the Font tab and select the Standard scheme. The font defined under the Standard scheme, Arial10, is then used for the text field.

Place two additional text fields and assign a different scheme to each (Large, XLarge).

Version 7.0 Page 237

Page 238: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE

Page 238 Version 7.0

Page 239: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.11.5 Text Scheme To create a text scheme, a new text list containing the desired text must be specified. Here, in the text list OperationText, 5 text entries are given that can be used to describe the process status of an industrial system.

Open the Text Schemes window with a double click on Text Schemes in the project tree. Insert the 5 text entries in the scheme as shown below:

Version 7.0 Page 239

Page 240: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE To place the text scheme in Screen20, click on the Text server in the Data window and select Text Scheme from the Component list then press Place.

Below an illustration is inserted, which shows an industrial assembly. The text scheme showing the process sequence will be placed in the drawing.

Page 240 Version 7.0

Page 241: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In online operation, the different processes are displayed in sequence.

From LSE version V01.01.82 it is possible to test the text scheme OFF-LINE! In the context menu of the text scheme you can find the entries View next scheme item and View previous scheme item. Alternatively you can use the key combination CTRL-ALT-F5, respectively, CTRL-ALT-F6, if the ob-ject scheme is already highlighted.

Version 7.0 Page 241

Page 242: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.11.6 State Scheme With a State scheme, objects in a visualization project can be made active, inactive or in-visible. Active means that the object can be edited. With Inactive, the object cannot be selected or changed. Invisible means that the object is hidden. First, open the State Schemes window with a double click in the project tree then define a state scheme with all three conditions (Active, Inactive, Invisible) as shown below. Select the State server of the objSchemes object under Variable.

Page 242 Version 7.0

Page 243: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Next, place a numeric field using the Value3 server (objSwitch) and the State server of the obj.Schemes object.

Version 7.0 Page 243

Page 244: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Open the properties window of the Value3 server with a double click. In the Data tab under State Scheme select the SelectState scheme created previously and set Write protected to False.

Remove the write protection from the State server.

Next, download the changes to the destination system.

Page 244 Version 7.0

Page 245: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE When the State server contains the value 0, the numeric field of Value3 is active and a value can be entered using the numeric keypad (here: 50). When the value of the State server is changed to 1, Value3 can no longer be edited (inactive).

A value of 2 entered in the State server makes the numeric field, Value3, invisible.

With softkeys, the behaviour of state is slightly modified: State 0 = active and visible State 1 = State 2: key visible but not operable, softkey text banked out

Version 7.0 Page 245

Page 246: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.11.7 Screen Scheme The screen scheme can be used to switch to a different screen depending on a server value. In the scheme, which value the server should have and/or what condition must be met in order to jump to the selected screen is defined. To begin, open the Screen Scheme window to create a new scheme. The scheme has 2 entries, which determine the value that the Value1 server must have in order to change screens. If the server contains a value of 2 or less, it is possible to switch to Screen20; with values of 4 or more, the start picture is opened. Under Variable: select the Value1 server of the objSwitch object.

Changing screens is done over a button for which a function block is required (here: SwitchScreen). Select Screen by Scheme under Functions and under Direct Choice, ScreenScheme.

Page 246 Version 7.0

Page 247: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE After the function block has been created, place a button in the Startpicture. In the proper-ties window of the button, select the function block SwitchScreen under Funct. pos. edge. Create a text list with the entry Screen by Scheme and assign it to the button in the proper-ties window. Place a numeric field using the Value1 server in order to enter values, which will activate or deactivate the button function.

Next, copy the button and the numeric field and insert them into Screen20.

Version 7.0 Page 247

Page 248: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In online mode, enter a value less than or equal to 2 to activate the button. For every other value, no function is triggered when the button is pressed. Click on the button to change to Screen20.

In Screen20, a value greater than or equal to 4 must be entered in the numeric field to activate the button and return to the Screen20.

Page 248 Version 7.0

Page 249: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.11.8 Unit Scheme In the following example, a unit scheme is created to convert the measurement unit of spe-cified values from “mm” to “inches”. However, an object of the Ram class must first be placed in the LASAL CLASS 2 project. To begin place a numeric field using a server (here: Value2) in the Startpicture and re-move the write protection in the properties window. In the context menu of the numeric field, select Variable Text, Server Name to include the server name.

To change between units, a button is required for which a function block was created. Se-lect the entry Toggle and under Parameter select the Ram class object (objRam.Data).

Version 7.0 Page 249

Page 250: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Create a text list (here: UnitTexts) with the items mm, inch and Toggle. Next, open the Define Units... window with a double click in the project tree on units. Cre-ate the mm unit first as shown below:

The second unit, inch, contains the following settings:

Press OK.

Page 250 Version 7.0

Page 251: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE

With the Formula property, programmed unit conversions can be selected (e.g. Multiplication, Division, Stroke to mm, Stroke to inch, Time to hour,...) or your own conversions can be programmed (Formula 15 to Formula 99). An example can be found in this manual under IF_Recalculate interface.

In the Unit Schemes window, a scheme is created for the units mm and inch (here: SwitchUnit). First open the window with a double click in the project tree on Unit Schemes. Under Variable:, select the Data server of the objRam object. Through this server, a value (0 or 1) will determine whether mm or inches are displayed.

Version 7.0 Page 251

Page 252: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the Data Servers window, assign the newly created SwitchUnit scheme to the Value2 server.

Page 252 Version 7.0

Page 253: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Next, click on the numeric field in the Startpicture and select Variable Text, Unit Text from the context menu to show the currently selected units.

Place a button in the screen, which will be used to switch units. In the properties window of the button, select the function block Unit under Funct. pos. Edge and assign the text Tog-gle.

Version 7.0 Page 253

Page 254: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Match the size of the objects to the size of the objects placed in the screen earlier and download the changes to the destination system.

Enter values online and convert the units using the Toggle button.

Page 254 Version 7.0

Page 255: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In LASAL Class the value of the Value2 server is displayed in so called "LASAL basic units". The result is 73000.

The particular factors for conversion are stored in the units.h header file and also can be changed there. This file can be found in the LASAL folder (...SIGMATEK\LASAL2\Class2\Runtime\Include).

Version 7.0 Page 255

Page 256: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.11.9 Data Server Schema The Data Server Schema makes it possible to overload a placed graphical object via a scheme. A Data Server Schema can only be defined in a placed object. Beispiel: LASAL CLASS 2: Extend the existing project with the Tank class and instance 4 objects of this new class (Tank1, Tank2, Tank3 and Tank4). Visualize the objects and the server, and also initialize the 4 servers of the single objects with individual values:

Now compile the project.

Page 256 Version 7.0

Page 257: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE LASAL SCREEN: Import the servers with Reference To Variables.

Create a text list (here: TankTexts) with the following entries:

Version 7.0 Page 257

Page 258: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Define a List Text 1 at the servers of the 4 objects in the Data Servers window:

Create an object (here: Tank) now. On it, place an image (here: Tank23 from the SIG-MATEK Image Library).

Page 258 Version 7.0

Page 259: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Now place the ClassSvr server of the Tank1 LASAL object. Furthermore also place the List Text1 of this server (here: Tank1). This text serves as description of the selected object.

Place the text as shown in the following picture.

Version 7.0 Page 259

Page 260: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Next, create the following Data Server Scheme:

Depending on the objSwitch.Value1 server, the LSE object Tank is overloaded once with Tank1, Tank2, Tank3 or Tank4. For the value input of Value1 of objSwitch, two buttons are placed. Afterwards an increment (INC functionality), respectively, a decrement (DEC functionality) is executed via these buttons.

Page 260 Version 7.0

Page 261: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE

So assign the Increment function block to the button on the top and the Decrement func-tion block to the button at the bottom Place the object now on the screen (here: TankScreen) and compile it. Afterwards download the project to the PLC.

Version 7.0 Page 261

Page 262: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE

With the buttons and the respective object can be selected. According to this selection, the object placed in the visu is then overloaded with the respective server values.

Page 262 Version 7.0

Page 263: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.11.10 Training example (Project UseSchemes) Task Requirements The following schemes should be used in this exercise: Image Schema, Color Schema, State Schema und Text Schema.

• Using the image scheme, various pictures will be shown depending on a server

value. • With the color scheme, the Switch color button will change the background color

of a text field from green to red. • The State scheme should make a server active, inactive and invisible. When active

the server can be edited, when inactive the server may not be edited or selected and when invisible, the server should not be shown on screen.

• For the text scheme, the text Start production, Run production, Ready produc-tion und Finish production should alternate automatically.

Layout

Tips for completing this task

To complete this task, a class with four servers is required in the LASAL CLASS 2 project. Create a program to change the images and text auto-matically depending on the server value. The pictures for the image scheme are in the project folder!

Version 7.0 Page 263

Page 264: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.12 Creating Menus In the LASAL SCREEN Editor, menus with any number of text list entries can be created. After a specific number of entries, depending on the number of visible lines in the menu, the menu appears as a scroll bar. To start, copy the output project folder and assign a new name (here: Menu). Place the LASAL SCREEN editor (Visu) and the LASAL CLASS 2 (Rtk) projects. Next, create a text list in the Textlists window with the entries for the menu (here: Months from January to December).

Page 264 Version 7.0

Page 265: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE To display the months entered in the text list in a menu, the Menulist window is required. In the project tree, double click on Menus and create a new menu by pressing the left button (here: Months). With the right button, enter the menu items (here: 12 items, one for each month). In the Item properties: window, under List Text and/or Text, assign the

enu item to its respective month. m

Width

menu in Pixels.

ines per Page

nes in the menu window. If the menu contains more items than as defined under is property, the items must be selected through a scroll list.

ine height

ne height in Pixels.

-Position

efines the X position of the menu starting from the upper left corner of the screen.

Width of the L Visible lith L Li X D

Version 7.0 Page 265

Page 266: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Y-Position

efines the Y position of the menu starting from the upper left corner of the screen.

ext fg

olor of the text in the fore ground

ext bg

olor of the text in the background

el. text fg

olor of the selected text in the fore ground

el. text bg

ed text in the background

fg

Foreground frame color. Frame bg Background frame color. Font scheme Font scheme selected for the menu. Theme Frame selection. Align Horizontal and vertical text alignment.

D T C T C S C S Color of the select Frame

Page 266 Version 7.0

Page 267: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE

In LASAL CLASS 2, place an object of the MenueClass (here: objMenu) in the network, UserNetwork and set visualized to True. In the LASAL SCREEN Editor, run the Reference to variables... function.

Next, select Place, Data... from the context menu of the Startpicture to open the Data window. Click on the Data sever of the MonthMenu object and select Menu from the Com-ponent list and set Write protected to False.

Version 7.0 Page 267

Page 268: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Place the menu in the Startpicture.

Page 268 Version 7.0

Page 269: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Download the changes to the destination system. In online mode, click on the menu to open the scroll list and select a month.

Version 7.0 Page 269

Page 270: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE The menu can also be called over a softkey. To begin, create a text list (here: SelectScreenbyMenu) containing the screens that should be called through a menu. The Screen Menu item serves as the label for the softkey through which the menu will be called.

The Pipe character | between two words means that the second word is written on the next line. In this case, the pipe character is written between Screen and Menu.

Page 270 Version 7.0

Page 271: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Open the Menulist window with a double click in the project tree on Menus. Next, define the position of the menu on the screen with X-position (here: 400) and Y-position. Create a new menu (here: Screens) with 8 menu items (Screen20 to Screen90) and as-sign a label to each item under List Text and/or Text.

Screens 30 – 90 don’t actually exist in the project and are used in the menu list for display only. Screen20 is available and can be opened through the menu. Under Function block, select SwitchToPic20 to en-able this function.

Version 7.0 Page 271

Page 272: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE A function block is also required for the softkey (here: SelectScreens) in order to call the menu. To enable the softkey, select Menu under Functions and under Direct Choice, select the Screens menu.

Double click on the softkey (here: Softkey1), which should open the menu and under Posi-tive edge select the SelectScreens menu. Under List Text and/or Text, select the label for the softkey (here: Screen Menu).

Page 272 Version 7.0

Page 273: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the Startpicture, the second softkey should appear with the Screen Menu label.

Download the changes to the destination system and in online mode, click on the Screen Menu softkey. The menu window opens and seven of the eight lines are visible. The eighth line (Screen90) can be reached using the scroll function. As only Screen20 exists, only this screen can be opened through selection. The other menu entries have no functional.

Version 7.0 Page 273

Page 274: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.13 _XAccess Class Using the _Xaccess class, different levels of authorization for editing servers, accessing screens and/or windows, buttons and softkeys can be created. Access can be distributed over 4 levels. The authorization levels are assigned as numbers whereas the level 0 doesn’t require a code. For levels 1, 2 and 3, a code can be assigned to access them. An additional function of the _Xaccess class is that access to levels 1 – 3 can be time lim-ited. If the defined time is exceeded without an action being triggered through the touch terminal or mouse, the access level is automatically reset to 0. Levels 1 – 3 must be reacti-vated with the input of the number code.

Page 274 Version 7.0

Page 275: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE

On the following pages, different access levels are created for the objects Zone1 to Zone3 using this example. To implement this project, only a few servers are required whose write protection is removed so that they can be edited through the visualization project. The servers are already initial-ized with values.

Project: Access To begin, copy the output project folder and assign it a new name (here: Access) and load he LASAL SCREEN Editor- (Visu) and LASAL CLASS 2-Project (Rtk) from the new folder. t To recreate this example, place an object of the _XAccess class in the UserNetwork and connect the Lse client to the Lse server of the _Lse class. Create and place the objects

one1 to Zone3 in the network and set Visualized to True for each. Z

Version 7.0 Page 275

Page 276: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the next step, the access levels are defined. The level, name and code for each access level can be taken from the table below. The level name and user code can be assigned as desired.

Level Level name User code 0 Min User - 1 Controller 1379 2 Reviser 4482 3 Supervisor 3540

In the LASAL SCREEN Editor, create the following text list with the level names:

Page 276 Version 7.0

Page 277: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Next, place the servers of the objects Zone1 to Zone3 in a screen similar to that below.

Zone1 was first created (with all servers) in an object and then placed in the screen. The other two zones were copied from zone1 and referenced to their respective objects (Zone2 und Zone3) in the LASAL CLASS 2 project.

Version 7.0 Page 277

Page 278: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Rename the Screen20 to Service (in the project tree under Screens and in the TextLists window under SoftkeyTexts and TitleTexts), insert the server of the obj_XAccess object in this screen and remove the write protection so that the access code and time can be set.

Page 278 Version 7.0

Page 279: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Next, create a text scheme as shown below to the display the name of the logged in user.

Place the Level server of the obj_XAccess object in the global screen as a text scheme so the currently logged in user can be seen in every screen.

Version 7.0 Page 279

Page 280: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Create a new window (here: Password) and assign a window number (here: 100).

Page 280 Version 7.0

Page 281: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the Password window, place the object NumKey (the numeric keypad). Place a numeric field from Server0 of the obj_XAccess above the keypad to serve as the input for the ac-cess code.

To display stars instead of digits when the code is entered, set the Password Character to True in the properties window.

Version 7.0 Page 281

Page 282: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Next, select Picture, Place, and First Input from the menu bar. The mouse pointer is then replaced by a small flag, which is then placed in the input field with a press of the left mouse button.

Later in the project, the Password window, with the number 100 will be called using a softkey instead of an input (server). The flag is only re-quired so that the editor mode is located at the input automatically. This input field could not be edited without the placement of the flag.

This flag is not required for other input buttons that are selected through a numeric and/or alphanumeric keyboard display since the editor is opened automatically.

Page 282 Version 7.0

Page 283: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Create a function block (here: Password) to call the Password window with the number 100 and assign it to a softkey (here: Softkey 3).

Adapt the first softkey to the screen names by renaming the first function block from SwitchToPic20 to SwitchToService. In the Data Server list, assign an access number for the all servers of objects Zone1 to Zone3. These numbers represent the levels as listed in the table at the beginning of this project. Here, the access number for parameter1 is set to 0, parameter2 is set to 1, pa-rameter3 to 2, and parameter4 and 5 are set to 3.

Version 7.0 Page 283

Page 284: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the Screen Properties window, also assign the access number 3 to the Service screen. With this setting, only the Supervisor has the authorization to input access codes and time.

Page 284 Version 7.0

Page 285: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE After the project is downloaded to the control, the start screen should appear as below:

Version 7.0 Page 285

Page 286: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE To enter the authorization codes, change to the Service screen in the visualization project. Enter the user codes and access time for each level in the Service screen (see table).

A value greater than 10 seconds (here: 12000) must be entered for the access time!

Le l L User ode ve evel name c0 M in User - 1 Controller 1379 2 Reviser 4482 3 Supervisor 3540

Page 286 Version 7.0

Page 287: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE If the start screen is reopened after the user codes have been entered, the text (Service) should no longer be visible in the first softkey. The Level name with the yellow background now shows Min User, meaning that only parameter1 of the individual zones (Zone1 to Zone3) can be changed.

Next, click on the softkey with the text, Password, to open the window (Window 100) where the user codes can be entered. In this window, enter the user code 3540 (Supervi-sor).

Version 7.0 Page 287

Page 288: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the Startpicture observe the text in the field with the yellow background. The text Super-visor (access level 3) now allows the input to all parameters for each zone. With the codes 1379 or 4482 (see table) the authorization for the Controller or Reviser is approved:

If the 12 sec (12000) access time has elapsed without an action from the touch screen, mouse or keyboard being triggered, the user level returns to the Min User (level 0) level automatically.

Page 288 Version 7.0

Page 289: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.14 Language Management 4.14.1 General Information on Managing Languages Text lists can be exported from a project and translated into another language and imported back into the project.

It is recommended that a project be completed in a single language be-fore translating.

Project: SwitchLanguage

Tte

he following project is created in German. The German text is then en-red in a text list and translated to English using different methods. In

can be alternated using softkeys. the target system, both languages

To begin, copy the output project folder and assign it a new name (here: SwitchLanguage)

Open the Textlists window and create a new text list (here: MachineTexts) with the follow-ing items:

and place the LASAL SCREEN Editor (Visu) and LASAL CLASS 2 (Rtk) projects in this new folder.

Version 7.0 Page 289

Page 290: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Add the following text for the softkey bar:

Also change the TitleTexts entries as illustrated on the following picture:

Page 290 Version 7.0

Page 291: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the Startpicture picture, open the context menu and select Place, Text... to place the text items as follows: Assign the corresponding text to Softkeys 3 and 4.

Version 7.0 Page 291

Page 292: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Next, open the LSE start screen.

Click on the Languages button, to open the Languages window. Select English from the

left window and press the button to add it to the actual language list to the right. In the ght window select English and press ok. The reference language remains German. ri

Page 292 Version 7.0

Page 293: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Alternatively, the Languages window can be opened from the Textlists window by click-ing on the Languages menu.

Version 7.0 Page 293

Page 294: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.14.2 Exporting Text Lists The following options are now available to create an English translation for German text:

1. Change the text in the text list window to directly

2. Export the individual text list (here: MachineTexts) and translate the text from German to English in the text file then import it back to the project.

3. Export all text lists available in the Textlists window and translate the text in the

text file then import it back to the project.

Don't forget to translate the other text lists (TitleTexts and Soft-keyTexts)!

Option 1: Open the Textlists window and change the text items in the MachineTexts list from Ger-man to English. Each text item is shown in the reference language (German) in the lower area.

Page 294 Version 7.0

Page 295: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Option 2:

To import the text list to a txt file and change the language, press the button.

Select the context menu entry Export the whole textlist. to export the complete selected text list (here: MachineTexts) to a txt file.

With the Export selected item(s) option, only the selected text list entries are exported!

Version 7.0 Page 295

Page 296: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the Save as window, enter the directory and file name then click Save.

the text file, the individual text items are stored and can be edited. In

To import the edited text file back to the LASAL SCREEN Editor, press the button in the Textlists window.

Page 296 Version 7.0

Page 297: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Option 3: To export all text lists in the Textlists window to a text file, select Text, Export... from the menu bar:

In the text file, all text lists are displayed. Change the text in the Machinetexts list to English and save the changes.

Select Text, Import... from the menu list to import the edited text file.

Version 7.0 Page 297

Page 298: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE To display the flag with the corresponding language in the destination system, an Image Scheme (here: Flags) with two items must be created. Under Image, select the images deutsche fahne und englische fahne (found in the project folder) and press OK. The flags are then called using the values 0 and 1 respectively.

Next, open the Define Function Blocks... window and define a function block for each language. Select Language for both blocks under Functions and under Direct Choice the corresponding language. For the function block English, enter the value 1 for Parameter1 and 0 for Parameter1 of the German function block .

Page 298 Version 7.0

Page 299: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Assign a softkey for both function blocks (here: Softkey3 and Softkey4). Remember to select the corresponding text from the SoftkeyTexts text list and label the softkeys accordingly.

Version 7.0 Page 299

Page 300: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the Data window under Component, select the item Image Scheme and click on the Language server of the object obj_Lse. Under Imagescheme, select Flags and press Place.

Position the flag in the Startpicture as follows:

Page 300 Version 7.0

Page 301: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Download the project to the destination system and start the program. Using the softkeys, change language from German back to English.

As can be seen, not only the language of the text changes but also the corresponding flag is shown.

Version 7.0 Page 301

Page 302: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.15 Check Bits 4.15.1 Using Check Bits Through the use of check bits, Components in the visualization such as objects, windows, screens and variables can be changed to various display types as well as made visible and/or invisible. That means one visualization project is needed for two or more machines that represent a varied number of development stages. This enables a visualization project to be implemented for large or small machines. 4.15.2 Check Bit Applications Check bits are created in the LASAL SCREEN Editor using a script editor as a Macro. In the Macro, the decision criteria for the check bit are defined.

Construct the LASAL SCREEN Editor project in which an object contain-ing an image with the related text is created (here: Mixing, Heating and Cleaning). The object is then placed in a screen.

Project: Checkbit To begin, copy the output project folder and assign it a new name (here: Checkbit) load the LASAL SCREEN Editor (Visu) and LASAL CLASS 2 (Rtk) projects.

Page 302 Version 7.0

Page 303: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the LASAL CLASS 2 project, a class is needed (here: Ram) that decides which compo-nents are displayed in the visualization project. Depending on the Data server of the Ma-chineConfig object, show and hide criteria for the individual components are decided later.

Update the Reference to variables… in the LASAL SCREEN editor and select Checkbits in the project tree to create a Macro as shown below:

In a macro no mathematical basic rules are effective (such as point before line, and before or, etc.). Only brackets are effective.

Version 7.0 Page 303

Page 304: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE MachineMedium: MachineConfig.Data >= 1; MachineSmall: MachineConfig.Data >= 0;

The Macro instruction MachineConfig.Data >= 1; means the same as the If instruction if MachineConfig.Data >= 1 then.

Open parentheses Less than

Closed parentheses Less than or equal

Assignment (as in LASAL := ) Equal

Logic OR Greater than

Logic AND Great than or equal

NOT Bit number is needed for compatibility with

MAE; not normally required.

Addition Bit wise AND gate

Subtraction Bit wise OR gate

Multiplication Bit wise XOR gate

Division 1's compliment

Unequal Semicolon, end of a program sequence;

generated by the system if necessary.

Modulo division

Page 304 Version 7.0

Page 305: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Enter the corresponding check bit for each object through the Component Properties window. Mixing: MachineSmall Heating: MachineMedium Cleaning: MachineLarge

After the project is downloaded to the control, the screen should appear similar to the one shown below.

Version 7.0 Page 305

Page 306: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE If the Data server for the MachineConfig object is set to 1 in the LASAL CLASS 2 project and the control is stopped and/or restarted, the second object appears (Heating).

If the server is set to 2 (stop/start), the third object appears (Cleaning).

After changing a check bit, the control must be restarted or the screen changed to show the new screen. Using a Check bit or State Scheme: Check bit → static State Schema → dynamic

Page 306 Version 7.0

Page 307: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.16 Special functions 4.16.1 Show references The Show references function is used to detect and display servers and text used in the visualization project. Open the Textlists window and select a text list. With a right click on an item in a text list (here: 9), the context menu containing the item Show references... is opened.

Select Show references... to open the window with the number of search results.

Version 7.0 Page 307

Page 308: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE At the same time, the Objects window appears in which every position where the text oc-curs is listed. Here, the number 9 occurs once, on Button9.

With a double click on , the program jumps to the position where the text is lo-cated.

Button 9

Page 308 Version 7.0

Page 309: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE The Show references function can also be used with the Data Servers window. Simply select the server of an object or the object itself (here: obj_SysDateTime) and open the context menu with a right click. There are two options for this application: ...all occurrences down from here All servers occurring after the selected object are searched. ...exactly this one Only the selected server or object is searched.

The search result is again shown in the Objects window.

Version 7.0 Page 309

Page 310: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE 4.16.2 Special functions in Text Lists In the LASAL SCREEN Editor, it is possible to expand items in text lists with parameters. There are 4 options: Text %s

With this Extension, the value of a defined server is shown next to the text. Text %u

Here, a defined unit is displayed next to the text.

Text %[Ts.Schemenname(%s)] This extension shows the name of a text scheme and the value of the corresponding server.

Text %p Next to the text, an alarm is given (covered lager in chapter 8, Alarm management).

In the following example, the expansions listed above are applied.

To begin, copy the output project folder and assign it a new name (here: SpecialTexlist) and load the LASAL SCREEN Editor (Visu) and LASAL CLASS 2 (Rtk) projects.

Page 310 Version 7.0

Page 311: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Text %s Open the Textlists window in the LASAL SCREEN Editor and create a new text list (here: SpecialTexts) with the following items.

Version 7.0 Page 311

Page 312: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE A new class (here: Textlists) with three servers (Value1, Value2 und Value3) is also re-quired in the LASAL CLASS 2 project. In the context menu of the Startpicture, select Place, Text... to open the Textlists window. Select the first item in the SpecialTexts List and click on Place.

Double click on the text field place in the screen to open the properties window.

Page 312 Version 7.0

Page 313: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the Data tab, select Text. Because of the %s extension in the text list the button also appears. Press the button to open the Parameter window and select the server (here: Value1) whose value should be displayed next to the DisplayServerValue text. Save this selection in the parameter and properties windows with OK.

Download the project to the destination system and start the program. In the Startpicture, the value 0 from the Value1 server is displayed next to the DisplayServerValue text.

Version 7.0 Page 313

Page 314: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In the LASAL CLASS 2 project, enter a value in the Value1 server of the obj_Textlists object (here: 7). This value is then displayed next to the text:

Page 314 Version 7.0

Page 315: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Text %u An additional text list function is the %u extension. Using this extension, the units can be displayed next to the text item. In the Units window, define a new unit (here: SpecialUnit) as shown in the window below.

Next, assign the SpecialUnit to the Value2 server of the objTextlists object and press OK.

Version 7.0 Page 315

Page 316: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Next place a text field with the text Length in %u.

In the Properties window of the text field, open the Parameter window with the button and select the Value2 server.

Page 316 Version 7.0

Page 317: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE In online mode, the unit mm is shown next to Length in.

Text %p An alarm is given next to the text (explained in chapter 8 Alarm management).

Version 7.0 Page 317

Page 318: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE Text %[Ts.Schemenname(%s)] With this extension, the text in a text scheme and the value of a defined server are dis-played next to the text item. To begin, create a new text list (here: StepTexts) with the following items:

Use the text list items to create the text scheme, StepScheme, as shown below:

Page 318 Version 7.0

Page 319: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE

The name of the text scheme (here: StepScheme) must be the same as that used with the text list extension => Process %[Ts.StepScheme(%s)]

Next, place a text field and open its properties window.

In the Parameter window, select the Value3 server for this text item.

Version 7.0 Page 319

Page 320: Training Manual LSE

FUNDAMENTALS OF VISUALIZATION WITH LSE

In LASAL CLASS 2, the CyWork method was used to increment Value3.

In the online mode, the entries from the text scheme are alternated in three text fields.

Page 320 Version 7.0

Page 321: Training Manual LSE

VISUALIZATION CONTINUED

5 Visualization Continued 5.1 Fundamentals for Working with Kernel Classes The kernel class interfaces ( _Global, _Screen, _MyIO,...) are called by the _LSE class. These interfaces can be used to implement user specific applications in the visualization project.

To use these interfaces to create special visualization tasks, the classes must be created as complex objects. The changes and/or user-specific expansion occurs in the overwritten methods of the derived classes.

If in the following chapters, interfaces are addressed then this refers to methods. They are described as interfaces because user specific pro-gram extensions can be created over these methods.

5.2 Important Data Types

The most important data types needed for programming kernel classes are listed and discussed in the LSE kernel documentation. These data types contain information over the languages in the target system, spe-cific events and coordinates such as positions, etc.

5.3 Global Interface The _Global class offers the user program interfaces from the kernel. The user does not have to take any action to call these interfaces; they are called automatically through the kernel.

Version 7.0 Page 321

Page 322: Training Manual LSE

VISUALIZATION CONTINUED 5.4 Applications with the _Global Class The interfaces between the visualization and the running program can be used for the fol-lowing applications:

Information on a recently pushed button. Calling user created program code through the visualization. Access levels Password queries Testing inputs ...

5.5 _Global Class interfaces In the following section, the most important interfaces are explained using examples. Sev-eral classes with overwritten methods can be derived from the global classes from which they are the called. The objects of these classes must however, be connected to the „Lse“ object.

Detailed information on the individual interfaces and data types are found in the Kernel documentation.

Page 322 Version 7.0

Page 323: Training Manual LSE

VISUALIZATION CONTINUED 5.5.1 The If_UserCall Interface In the LASAL SCREEN Editor, function blocks can be configured with UserCalls. The num-ber of the UserCall can be evaluated in a CASE instruction; for example, to call user cre-ated program sections. An additional parameter can also be used for evaluation.

Important: The UserCall numbers from 100 – 110 are reserved by the system and cannot used to call user programs.

If in a project, several objects of the _Global class are used, the If_UserCall functions are called in sequence. The sequence is not defined but each method is called only once.

Version 7.0 Page 323

Page 324: Training Manual LSE

VISUALIZATION CONTINUED

In the following example, a user specific program is called through a but-ton. The program code in the If_UserCall function should increment the value of a server when the button is pushed.

Project: UserCall To begin, copy the output project folder and assign it a new name (here: UserCall) and load the LASAL SCREEN Editor- (Visu) and LASAL CLASS 2-Project (Rtk) from the new folder. In LASAL CLASS 2, create a complex object from the _Global class. A server (here: In-crement) is assigned in this new class (here: UserCall) and the If_UserCall method is overwritten.

Page 324 Version 7.0

Page 325: Training Manual LSE

VISUALIZATION CONTINUED Place an object of this class in the UserNetwork and connect the Lse client to the Lse server of the _Lse class.

The program code in the If_UserCall method is programmed to raise the value of the In-crement server in the UserCall class with each press of the button as follows:

The parameter values 140 and 4 were selected arbitrarily. Any value can be used except 100 to 110!

Version 7.0 Page 325

Page 326: Training Manual LSE

VISUALIZATION CONTINUED Next, create a function block in the LASAL SCREEN Editor with both parameters, whose values will later be transferred to the If_UserCall method.

Place a button in the visualization project and assign a function block (4UserCall). The server and server name should also be placed next to the button.

Page 326 Version 7.0

Page 327: Training Manual LSE

VISUALIZATION CONTINUED Download the project to the control. The screen in the target system should now appear similar to that shown below:

When the UserCall call button is pushed, the value of the server is raised by 1.

Version 7.0 Page 327

Page 328: Training Manual LSE

VISUALIZATION CONTINUED 5.5.2 Interpreter Functions With interpreter functions, commands can be sent to the interpreter. A large part of the interpreter functions trigger actions that can also be implemented through the visualization directly. Through these functions, actions such as changing screens, opening or closing windows, incrementing servers, etc. can be executed through programming.

The interpreter commands can also be sent from other classes.

An interpreter command to change screens should be sent only once and not each time the function is run.

n the following table, a few or the interpreter commands aIc

re listed. Further interpreter ommands can be found in the LSE Kernel documentation.

CMD_NEWPICTURE Opens a new screen.

CMD_NEWWINDOW Opens a new window.

CMD_NEWLANGUAGE Switches to a new language.

CMD_RETURN ous window. Closes a window or returns to the previ

CMD_CALL Calls a UserCall function.

o send a command to an interpreter, the InsertCmd() is required. The nuTte

mber of parame-rs, which must be transferre

d to the function, depends on the command.

The number of parameters in a function (i.e. CMD_NEWPICTURE = Screen by Nr) corresponds to the number of parameters that must be transferred for the function at the creation of a function block (in the De-fine Function Blocks… window).

ametPar ers:

x0: _PIC_ M Command (enum _PIC_COMMAND). 1: DINT Parameter 1 (gives the screen number)

CO MAND

Parameter 2 (optional; gives the softkey level)

tcode: BOOL TRUE = Command was sent.

xx2: DINT

eturn value: Rre

Page 328 Version 7.0

Page 329: Training Manual LSE

VISUALIZATION CONTINUED

CMD_NEWPICTURE

cture. If no level is specified, then softkey level 0 (if it exists) displayed.

); (open picture 100 with softkey level 0)

A new picture is opened. Via the first parameter the picture number is transferred. The second parameter defines the softkey level that can be seen in the piis Example: InsertCMD(CMD_NEWPICTURE, 100, 0

The following example demonstrates how new screen is opened using e interpreter command CMD_NEWPICTURE. th

Project: Interpreter This example builds on the UserCall project from the previous example but is located on he accompanying CD in tht e Interpreter project folder. However, every project can be used

lass as shown below with the server, Picture and assign the write ethod to this server.

with at least two screens.

xpand the UserCall cEm

Version 7.0 Page 329

Page 330: Training Manual LSE

VISUALIZATION CONTINUED Insert the following program code:

Page 330 Version 7.0

Page 331: Training Manual LSE

VISUALIZATION CONTINUED After downloading the project to the control, the screen should change automatically when a value is written to the Picture server.

When writing to the Picture server, observe the screen numbers used in the LASAL SCREEN Editor project. ONLY these can be switched! If a screen number is entered that doesn’t exist, no function is executed.

Version 7.0 Page 331

Page 332: Training Manual LSE

VISUALIZATION CONTINUED 5.5.3 The If_WindowRun Interface

In the following example, the keyboard code is read from a keyboard connected to the destination system. The value of an activated key is then written to a server and displayed in the visualization project.

Project: WindowRun To begin, copy the UserCall project folder and assign it a new name (here: WindowRun) then load the LASAL SCREEN Editor- (Visu) and LASAL CLASS 2 (Rtk) projects from the new folder. To implement the following task, create a new class (here: WindowRun) derived from the Global class and overwrite the If_WindowRun function.

Insert the following program code for the If_WindowRun function in the project.

Page 332 Version 7.0

Page 333: Training Manual LSE

VISUALIZATION CONTINUED Download the project to the control and press a key on the connected keyboard. If the K key is pressed, the number 107 appears in the screen. The ASCII value for the letter K is 107.

Version 7.0 Page 333

Page 334: Training Manual LSE

VISUALIZATION CONTINUED To view the following structure, set a breakpoint at the corresponding line and press a key (here: K). In the variable whoami^.ima, the screen opened at the time of the key press is shown. The variable whoami^.no, shows that screen 10 was opened. The event^.ftype variable shows that the event (_EVENT_KEYPRESS) was a key press. In the event^.scancode variable, the key code of the recently pushed key is stored.

Page 334 Version 7.0

Page 335: Training Manual LSE

VISUALIZATION CONTINUED 5.5.4 The If_Recalculate Interface

Using the If_Recalculate interface, a new class will be created in the next example. This class and a unit will be used in the LASAL SCREEN editor to convert values from degrees to radians.

Project: Recalculate To begin, create a complex class in LASAL CLASS 2 (here: Recalculate) derived from the _Global class and overwrite the IF_Recalculate method. Next, create an object network (here: Recalculate). Insert the local methods Rad2Grad and rRad2Grad.

Type definition: SRad2Grad: value as DINT pv as ^_VARIABLE dir as BOOL Retcode as DINT rRad2Grad: value as REAL pv as ^_VARIABLE dir as BOOL retcode as REAL

Version 7.0 Page 335

Page 336: Training Manual LSE

VISUALIZATION CONTINUED Open the Recalculate method and make the following connections:

Next, place an object of the Recalculate class in the UserNetwork.

Page 336 Version 7.0

Page 337: Training Manual LSE

VISUALIZATION CONTINUED In the program editor, program the previously created methods as follows: FUNCTION VIRTUAL GLOBAL Recalculate::IF_Recalculate VAR_INPUT pres : ^_RESULT; pv : ^_VARIABLE; direction : BOOL; END_VAR VAR_OUTPUT retcode : BOOL; END_VAR retcode := TRUE; case pv^.info.formula of // The pointer, pres^.ftype, indicates whether // it is a Real or whole number. 50: if pres^.ftype = RES_REAL then

pres^.value$REAL := rRad2Grad(pres^.value$REAL, pv, direction);

// Method call for a Real number calculation. else pres^.value := sRad2Grad(pres^.value, pv, direction); // Method call for a whole number calculation end_if; retcode := FALSE; end_case; END_FUNCTION

Version 7.0 Page 337

Page 338: Training Manual LSE

VISUALIZATION CONTINUED FUNCTION Recalculate::sRad2Grad VAR_INPUT value : DINT; pv : ^_VARIABLE; dir : BOOL; END_VAR VAR_OUTPUT retcode : DINT; END_VAR VAR muldiv : DINT; END_VAR muldiv := 3; // Using the Pointer pv^.info.posdezpt, the decimal places // set for the units in LSE are acquired. case pv^.info.posdezpt of // Multiplier to create 1 Decimal place 1: muldiv := 31; 2: muldiv := 314; 3: muldiv := 3141; 4: muldiv := 31415; // Multiplier for 5 Decimal places 5: muldiv := 314159; end_case; if dir = TRUE then retcode := ((value * muldiv) + 90) / 180; // In the calculation 90 is added then // divided by 180 in order to round to 0.5 else retcode := ((value * 180) + (muldiv/2)) / muldiv; // Addition of (muldiv/2) to round to 0.5 end_if; END_FUNCTION

Page 338 Version 7.0

Page 339: Training Manual LSE

VISUALIZATION CONTINUED

The boolean transfer parameter dir serves to execute the conversion from the control to the visualization (dir = false) and reverse (dir = true).

Example: Conversion to the control: Input of the value 2 into a NumEdit field in the display (dherefore muldiv = 314) -> value = 200 ->

efined 2 decimal places in LSE,

utput to the server: (200 * 180) + (314/2) / 314 = 115

tion:

tput to the NumEdit field: (115 * 314) + 90) / 180 = 201 ≙ 2,01 in the display.

tO Conversion to the visualiza Server has the value 115 -> Ou FUNCTION Recalculate::rRad2Grad

OL;

: REAL;

:= (value * 180) / _PI;

ND_FUNCTION

Save the project and download it to the destination system.

VAR_INPUT value : REAL;

^_VARIABLE; pv : dir : BO END_VAR VAR_OUTPUT

retcode END_VAR

r = TRUE then if di retcode := (value * _PI) / 180; else retcode end_if; E

Version 7.0 Page 339

Page 340: Training Manual LSE

VISUALIZATION CONTINUED Next, update the Reference to variables... function in the LASAL SCREEN Editor. In the text list, UnitTexts, create the entry Radian. Open the Units window and create a unit as shown below:

The entry in Formula is important! Select Formula50, as this entry forms the link in the Lasal Class query! (the pointer pv^.info.formula points to Formel50)

Open the Data-Servers window and assign Server0 to the created Unit:

Page 340 Version 7.0

Page 341: Training Manual LSE

VISUALIZATION CONTINUED Open the Data window and place a numeric field in the Startpicture using Server0. Re-member to remove the write protection from the server.

Place the server name and a text field containing the text Insert value in radians in the Startpicture as shown in the following illustration.

Version 7.0 Page 341

Page 342: Training Manual LSE

VISUALIZATION CONTINUED Enter a radian value in the number field (here: 2 Rad).

In LASAL CLASS 2, the radian value shown in Server0 in degrees (here: 115°).

Page 342 Version 7.0

Page 343: Training Manual LSE

VISUALIZATION CONTINUED 5.5.5 Changing Screens with the Keyboard (Project SwitchPicture) Task Requirements In this exercise, a screen is changed using the _Global class. The screen change should be triggered with the F2 key, for example, from screen 10 to screen 20. The screens should switch back from 20 to 10 with the F7 key.

The screen change is not implemented through a function block in the LASAL SCREEN Editor, rather with the If_WindowRun interface in the _Global class.

ayout L

ips for completing this task T

The event^.scancode for the F2 key is 15360 and 16640 for the F7 key. A list of the scan codes is found in the T_IPC.h file of LASAL CLASS 2.

Version 7.0 Page 343

Page 344: Training Manual LSE

VISUALIZATION CONTINUED 5.6 Screen Interface (_Screen Class) 5.6.1 _Screen Class Applications Using the _Screen class specific program sections can be made into a screen, window or menu list.

Programmed button query of a special screen, window, or menu. Testing of various actions in a screen, window or menu. Initialization for opening or closing screens, windows or menus

5.6.2 _Screen Class Interfaces The _Screen class has four interfaces, which can be expanded by the user: _Start, S_Ready, S_Run and S_End. Using the parameters from these interfaces, information is obtained as to whether a screen, window or menu is called. In addition information is given as to whether a screen, window or menu is opened and whether an action (S_Run) has taken place during this time. S_Start The S_Start interface is called each time a screen, window or menu is opened.

Parameters Return para. pic: Pointer to screen, window or Menu None Firsttime: Set to TRUE for the first time.

S_Ready The S_Ready interface is called by the kernel when the contents of the screen, window or menu are included

Parameters Return para. pic: Pointer to screen, window or Menu None Firsttime: Set to TRUE for the first time. If a window is closed after being opened for an extensive

time, this parameter is set to FALSE.

Page 344 Version 7.0

Page 345: Training Manual LSE

VISUALIZATION CONTINUED S_Run This interface is called cyclically by the kernel for each screen, window and menu.

Parameters Return para. pic: Pointer to screen, Window or Menu None Event: Pointer to the possible events such as keyboard or touch

screen events.

S_End This interface is called when a screen, window or menu is closed.

Parameters Return para. pic: Pointer to the screen, window or menu None

Version 7.0 Page 345

Page 346: Training Manual LSE

VISUALIZATION CONTINUED

In the following example, a project is created in which a window can be moved in the destination system through the _Screen class using the mouse or cursor. To accomplish this, a new class derived from the _Screen class and 3 of the _screen class methods must be overwritten.

Project: MovingWindow To begin, copy the output project folder and assign it a new name (here: MovingWindow) and load the LASAL SCREEN Editor- (Visu) and LASAL CLASS 2 (Rtk) Projects from the ew folder. Next, create a new window with the number 10. n

Next open the Images window and add 4 yellow arrows (image files are on the CD) and

ress OK. p

Page 346 Version 7.0

Page 347: Training Manual LSE

VISUALIZATION CONTINUED In the Textlists window, add the item Window to move to the SystemTexts list.

Version 7.0 Page 347

Page 348: Training Manual LSE

VISUALIZATION CONTINUED Expand the SoftkeyTexts text list with the item Open Window and add a line break after open using the | character as shown below. After the compilation, the Textlists window appears as follows:

Page 348 Version 7.0

Page 349: Training Manual LSE

VISUALIZATION CONTINUED In the Win4Move window, place a rectangle with a 3D effect and position it over the yellow arrows. Next, add the text (Window to move) from the SystemTexts as shown below.

In the next step, create a function block (here: MoveWindow) to open the window in the destination system. Under Functions, select the Window function and under Direct Choice, the item Win4Move.

Version 7.0 Page 349

Page 350: Training Manual LSE

VISUALIZATION CONTINUED Open the Startpicture and select Picture, Softkey... from the menu bar to open the Soft-keys window. Click on the button to create a new softkey bar and select a softkey. Un-der Positive edge, select the MoveWindow function block created earlier.

Label the softkey using the Open Window text from the SoftkeyTexts list.

Press OK.

Page 350 Version 7.0

Page 351: Training Manual LSE

VISUALIZATION CONTINUED In the next step, go to the LASAL CLASS 2 project and create a new class (here: Moving-Window). Use the _Screen class as a base for the new complex class then overwrite the Init, S_Start and S_Run methods. The method RedrawWindow and a client (here: Graphic) are also required. Define the Graphic client as an object channel of the Graphic class.

Assign the Offset variable the type _DOT, the RedrawDo variable the type BOOL, the RedrawTime variable the type UDINT, the DoMovement variable the type BOOL and the HidOff variable the type _DOT.

Version 7.0 Page 351

Page 352: Training Manual LSE

VISUALIZATION CONTINUED Next, open the MovingWindow network and make the following connections:

In the UserNetwork, enter the value 10 in the No client since in the LASAL SCREEN Edi-tor, the window number for Win4Move is 10. Type the text IMA_WINDOW in the input field of the ImA client since in this case, a window should be called in the destination system the Graphic client contains the value 0.

Page 352 Version 7.0

Page 353: Training Manual LSE

VISUALIZATION CONTINUED In the next step, open the program code editor and program the methods. FUNCTION VIRTUAL GLOBAL MovingWindow::S_Start VAR_INPUT pic : ^void; firsttime : BOOL; END_VAR if((Offset.x <> -1)&(Offset.y <> -1)) then

if (firsttime) then

// attributes at each call.

end_if;

// This function shifts the window to the // assigned positions with the defined

move_MY_PICTURE(pic$^_MY_PICTURE, Offset.x, Offset.y, T_LEFTBOUND or T_UPBOUND); end_if;

END_FUNCTION

The move_MY_Picture function is a kernel function; see kernel docu-mentation.

FUNCTION VIRTUAL GLOBAL MovingWindow::S_Run VAR_INPUT pic : ^void; event : ^_EVENT; END_VAR VAR newoffset : _DOT; screensize : _ROOM; actroom : _ROOM; pr : ^_ROOM; xx, yy : int; END_VAR; No := No.Read(); if (whoami.no = No) then // Request, if the window is moved within the window coordinates. if (event^.ftype <> _EVENT_NONE) then newoffset := Offset;

Version 7.0 Page 353

Page 354: Training Manual LSE

VISUALIZATION CONTINUED if (event^.ftype = _EVENT_HIDPRESS) then actroom := pic$^_MY_PICTURE^.Room; if((event^.dot.x > actroom.xy1.x) & (event^.dot.x < actroom.xy2.x) &

// Only move window when the hidepress event

end_if;

false;

case event^.scancode of

if (newoffset <> offset) then // Check, if the new position is within the screen.

newoffset.x := screensize.xy1.x;

(event^.dot.y > actroom.xy1.y) & (event^.dot.y < actroom.xy2.y)) then

// is positioned within the window. DoMovement := true; pr := #pic$^_MY_PICTURE^.Room; HidOff.x := event^.dot.x - pr^.xy1.x; HidOff.y := event^.dot.y - pr^.xy1.y; init_event(event); // Delete event end_if; elsif(event^.ftype = _EVENT_HIDMOVE) then if (DoMovement = true) then // Do not move window until shifting has started. newoffset.x := event^.dot.x - HidOff.x; newoffset.y := event^.dot.y - HidOff.y; init_event(event); // Delete event elsif (event^.ftype = _EVENT_HIDRELEASE) then // Stop shifting of the window. DoMovement := init_event(event); // Delete event elsif (event^.ftype = _EVENT_KEYPRESS) then // Shifting of the window with the cursor keys of the keyboard.

_LEFT : newoffset.x -= 30; init_event(event); // Delete event _RIGHT : newoffset.x += 30; init_event(event); // Delete event _UP : newoffset.y -= 30; init_event(event); // Delete event _DOWN : newoffset.y += 30; init_event(event); // Delete event end_case; end_if;

Graphic.GetScreenSize(#screensize); pr := #pic$^_MY_PICTURE^.Room; xx := pr^.xy2.x - pr^.xy1.x; yy := pr^.xy2.y - pr^.xy1.y; if (newoffset.x < screensize.xy1.x) then // left x-position

end_if; if (newoffset.y < screensize.xy1.y) then // upper y-position newoffset.y := screensize.xy1.y; end_if; if ((newoffset.x + xx) > screensize.xy2.x) then // right x-position newoffset.x := screensize.xy2.x - xx; end_if; if ((newoffset.y + yy) > screensize.xy2.y) then // lower y-position newoffset.y := screensize.xy2.y - yy; end_if;

Page 354 Version 7.0

Page 355: Training Manual LSE

VISUALIZATION CONTINUED if (newoffset <> offset) then Offset := newoffset;

// Change of coordinates

end_if;

RedrawDo := true; end_if; end_if; end_if; // When the coordinates are changed, the RedrawWindow method is called. if (RedrawDo = true) then if ((ops.tabsolute - RedrawTime) > 60) then // Draw window each 60ms. RedrawTime := ops.tabsolute; RedrawWindow(); RedrawDo := false; end_if; end_if; END_FUNCTION FUNCTION GLOBAL MovingWindow::RedrawWindow VAR op1 : _VARLABEL; END_VAR // This function closes the window and reopens it at the // new position. AddCmd(CMD_RETURN, NIL, NIL); // Close window init_VARLABEL(#op1); op1.no := 1; op1.info[0].state := CONST_VAL; op1.info[0].value := No$dint; AddCmd(CMD_NEWWINDOW , #Op1, NIL); // Open window END_FUNCTION FUNCTION VIRTUAL GLOBAL MovingWindow::Init // If the Init method of the basis class is overwritten, the Init has to // be called first.

_Screen::Init(); Offset.x := -1; Offset.y := -1; RedrawTime := 0; RedrawDo := false; DoMovement := false; END_FUNCTION

Version 7.0 Page 355

Page 356: Training Manual LSE

VISUALIZATION CONTINUED 5.7 The Graphic Class

5.7.1 Where is the Graphic Class Found?

In order to use the Graphic class functions, the class must be imported into the project. The Graphic class is found in the Tools.Icp Library under the category OSInterface. In addition, an object channel to the Graphic class must be available in order to use the methods of this class.

If the _Lse class is already imported in the project, the Graphic is in-cluded in the project automatically. It can then be found in the Class View window in the SIGMATEK folder under OSInterface.

Page 356 Version 7.0

Page 357: Training Manual LSE

VISUALIZATION CONTINUED 5.7.2 Graphic Class Functions

In the following sections, the current Graphic class functions are used to completed graphic tasks in the visualization project. In this section, the most important functions are explained. Information on Attribute can be found in chapter 5.8.3 A . ttribute

The Graphic class functions are now located in the Class View window under the global methods.

The functions for graphic tasks appear as the list is scrolled downward.

Version 7.0 Page 357

Page 358: Training Manual LSE

VISUALIZATION CONTINUED

Line(x1:=, y1:=, x2:=, y2:=, attrib:=, color:=);

Input Parameters

Line Using this function, a line can be drawn.

Return parameter

x1 = First X-Coordinate None y1 = First Y-Coordinate x2 = Second X-Coordinate y2 = Second Y-Coordinate attrib = Attribute color = Color

Rectangle

This function draws a rectangle in a specified color. To draw a filled rectangle, use the Beam function. Rectangle(x1:=, y1:=, x2:=, y2:=, attrib:=, color:=);

Input Parameters Return parameter x1 = First X-Coordinate None y1 = First Y-Coordinate x2 = Second X-Coordinate y2 = Second Y-Coordinate attrib = Attributes color = Color

Beam

The Beam function draws a filled rectangle

The Input and return parameters for this function are the same as in the rectangle function.

Beam(x1:=, y1:=, x2:=, y2:=, attrib:=, color:=);

Page 358 Version 7.0

Page 359: Training Manual LSE

VISUALIZATION CONTINUED OutTextXY This function outputs the x and y coordinates of a null string with the assigned color. OutTextXY(x1:=, y1:=, pTXT:=, attrib:=, color:=, chr_size:=);

Input Parameters Return parameter x1 = X-Coordinate None Y1 = Y-Coordinate pTXT = Pointer to an ASCII or Unicode string. The String must be terminated with 0.

Attrib = Attribute color = color chr_size = 1 = ASCII character, 2 = Unicode character

Oval This function can be used to draw circles and/or ellipses. In addition to the object size, the start and bend angles can also be defined as well as the color of the interior.

Oval(x1:=, y1:=, x2:=, y2:=, start:=, bend:=, attrib:=, color:=);

Input Parameters Return parameter x1 = First X-Coordinate None y1 = First Y-Coordinate x2 = Second X-Coordinate y2 = Second Y-Coordinate start = Start angle bend = Bend attrib = Attribute (filling) color = Color

Version 7.0 Page 359

Page 360: Training Manual LSE

VISUALIZATION CONTINUED

M lor This function defines the fore and backgrou bject for text. For a line, the background color has no effect. However, if as dots or stripes is specified, the defined background color is visible in the spaces between. MakeColor(fgcol:=, bgcol:=);

Input Parameters Return parameter

akeCo

nd color of an oa pattern such

fgcol = Background color retcode = Both colors bgcol = Foreground color

The following color definitions can assigned as fore and background color parameters for the MakeColor function. BLACK WHITE BLUE LIGHTBLUE GREEN LIGHTGREEN CYAN LIGHTCYAN RED LIGHTRED MAGENTA LIGHTMAGENTA DARKGRAY LIGHTGRAY BROWN YELLOW

Page 360 Version 7.0

Page 361: Training Manual LSE

VISUALIZATION CONTINUED 5.8 Programmable Outputs (_MyIO class) 5.8.1 _MyIO class Applications

The _MyIO class is generally used to reserve a section of a screen. It is the discretion of the user as to which area of the screen is reserved to display programmed I/Os. Through this class, display types from one or more servers defined by the user can be placed in the LASAL SCREEN Editor. This means that special visualization tasks that cannot be linked from the SIGMATEK library (i.e. user defined component) can be implemented by the user through this class.

Graphic display of analog clock Implementing a data writer Line intersection drawn via the touch screen. Etc.

Creation of various diagrams (i.e. bars and/or lines) Graphic display of analog instruments

5.8.2 _MyIO Class Interfaces

In this section, the most important methods needed for the following ex-amples are briefly explained. Further information over the methods of the _MyIO class can be found in the LSE kernel documentation.

The most important and most used method of the _MyIO class is the Draw method. Using the Draw method, a user created image is output to the screen. The user does not have to take any action to call this method since it is called by the kernel (Object of the class _Lse) as required. When a value unlike 0 is written to the Refresh server, the Draw method is called as desired. The kernel then resets value of the server to 0.

GetFocus This method is called by the kernel automatically when an object on the screen is selected through the cursor, touch screen or mouse. This method can only be called if Write pro-tected in the server is set to False.

Draw

Version 7.0 Page 361

Page 362: Training Manual LSE

VISUALIZATION CONTINUED GetData This method can be used to manipulate the data source. Normally sever0 is used as the data source. This server is already transferred as a parameter of the GetData method. For some applications however, one data source server is not enough. In this case, the re-quired values are written to all servers connected to the class. GetEvent

This method is called when an object editor is selected. Only _IDLE is allowed for the return parameter since it causes no action.

5.8.3 Attribute

After an object is selected, the kernel calls the GetEvent method. In this method, specific events can be evaluated or tested (i.e. keypress, Touch screen, etc.).

KillFocus

Most of the available graphic functions must have an attribute assigned. The attribute de-fines how an object is displayed on the screen. Through this parameter, surfaces can be filled with various patterns.

A thorough list of attributes can be found in the LSE kernel documenta-tion under Attribute. There the various attributes for text, graphics, lines, etc. are listed.

In the following example, two identical functions are shown, which are used to draw a rectangle with the same dimensions. Here, the parame-ters attrib and color are significant.

Graphic.Beam(x1 := pio^.space.xy1.x, y1 := pio^.space.xy1.y, x2 := pio^.space.xy2.x, y2 := pio^.space.xy2.y, attrib := T_PAT17, color := LIGHTRED);

Function call 1

Page 362 Version 7.0

Page 363: Training Manual LSE

VISUALIZATION CONTINUED Through the parameters for attrib := T_PAT17 and color := LIGHTRED, the rec-tangle appears as shown:

Function call 2

x, .y,

x2 := pio^.space.xy2.x, y2 := pio^.space.xy2.y, attrib := pio^.attrib,

s are transferred by the LASAL SCREEN Editor through the pointer pio.

In the LASAL SCREEN Editor open the Component Properties window and click on the Fill tab to select the pattern and then the Color tab to select the text color (color of the lines).

Graphic.Beam(x1 := pio^.space.xy1. y1 := pio^.space.xy1

color := pio^.coltxt); With the attrib := pio^.attrib and color := pio^.coltxt parameters, the ettings

In the destination system, the rectangle is drawn as shown below:

Version 7.0 Page 363

Page 364: Training Manual LSE

VISUALIZATION CONTINUED 5.8.4 Drawing Lines using the _MyIO Class

In the following example, how to draw lines in LASAL CLASS 2 using the MyIO Class without first having to create an object in LSE is explained. Project: MyIO (First only the MyIOArea class in LASAL CLASS 2 and

Startpicture in LASAL SCREEN Editor)

To begin, copy the output project folder and assign it a new name (here: MyIO) then load the LASAL SCREEN Editor (Visu) and LASAL CLASS 2 (Rtk) projects from the new folder. Next, create a class in LASAL CLASS 2 (here: MyIOArea) derived from the _MyIO class and overwrite the Draw method.

Also activate the CyWork method for this class.

Page 364 Version 7.0

Page 365: Training Manual LSE

VISUALIZATION CONTINUED Open the MyIOArea network and connect the Lse client to the left margin of the object. Place an object of the MyIOArea in the UserNetwork and connect the Lse client to the Lse server in the object obj_Lse of the One network.

Compile the project and download it to the destination system.

Version 7.0 Page 365

Page 366: Training Manual LSE

VISUALIZATION CONTINUED Go to the LASAL SCREEN Editor and update the Reference to variables..... Next, open the context menu in the Startpicture and select Place, Data.... In the Data window click on Server0 of the MyIOArea class and under Virtual Objectname, enter the object name (here: objMyIOArea).

Server0 of the objMyIOArea object is used to place the server on the screen only.

The input of the virtual object name means that all methods of the My-IOArea class are called by the kernel in LASAL CLASS 2 as required.

Click on Place.

Page 366 Version 7.0

Page 367: Training Manual LSE

VISUALIZATION CONTINUED Expand the object placed in the Startpicture to the desired size. The size of the object determines the surface than can be created in the Startpicture through programming.

Save the project and go to LASAL CLASS 2.

Version 7.0 Page 367

Page 368: Training Manual LSE

VISUALIZATION CONTINUED In LASAL CLASS 2, open the program code editor with a double click on the Draw method and insert the following code:

These program lines are required for every Draw method for a flicker-free screen in the destination system: VAR act : _NEWSCREEN; END_VAR The local variable, act is needed for an invisible screen. push_screen(#act); This line changes to an invisible screen.

Page 368 Version 7.0

Page 369: Training Manual LSE

VISUALIZATION CONTINUED Graphic.Putimage(#pio^.image, DEFKOORD, DEFKOORD);

The program line above defines the background of the MyIOs (#pio^.image) with the stan-dard coordinates (dimensions of the MyIO).

Between both instructions (Graphic.Putimage... and pop_screen...), the user can insert the program code to create graph-ics.

retcode := _IDIDIT;

pop_screen(#act);

Here, the program returns to the visible screen.

copy_screen(#act, #pio^.space);

This line copies the graphic to the visible screen.

With this return value, the user tells the kernel that no further action is required and the data is available.

The program lines mentioned above are normally found in the Draw method and are always the same.

Version 7.0 Page 369

Page 370: Training Manual LSE

VISUALIZATION CONTINUED In order to draw lines in a defined area of the Startpicture via programming, the following program blocks are required. Copy the code below to the program code editor as shown:

Page 370 Version 7.0

Page 371: Training Manual LSE

VISUALIZATION CONTINUED With help from the Line method, a line can be drawn on the screen of the target system. This method called over an object channel of the MyIO class from the SIGMATEK class, Graphic (=> Graphic.Line();).

The first program block draws a horizontal line along the top of the frame:

pio^.space.xy1.y,

pio^.coltxt);

Each of the 4 program blocks draws a line on a different position in the destination system. These 4 lines represent a frame for the reserved section of the screen.

Graphic.Line(pio^.space.xy1.x,

pio^.space.xy2.x, pio^.space.xy1.y, pio^.attrib,

Over the first 4 parameters (pio^.space...), the coordinates of the MyIO object placed in the Startpicture are given. The following graphic shows how the coordinate points are indicated using xy1.x, xy1.y, xy2.x and xy2.y.

With pio^.attrib, settings made in the Properties window of the object are obtained. The text color set in the LASAL SCREEN editor is also used for the line color and sent over the parameter pio^.coltxt.

Version 7.0 Page 371

Page 372: Training Manual LSE

VISUALIZATION CONTINUED

pio^.space.xy2.y,

pio^.space.xy2.y,

pio^.space.xy2.y,

The second program block draws vertical line on the left of the frame: Graphic.Line(pio^.space.xy1.x, pio^.space.xy1.y, pio^.space.xy1.x,

pio^.attrib, pio^.coltxt);

The third program block draws a horizontal line on the bottom of the frame: Graphic.Line(pio^.space.xy1.x,

pio^.space.xy2.x, pio^.space.xy2.y, pio^.attrib, pio^.coltxt);

The fourth program block draws vertical line on the right side of the frame: Graphic.Line(pio^.space.xy2.x,

pio^.space.xy2.x, pio^.space.xy1.y, pio^.attrib, pio^.coltxt);

Download the changes to the destination system and start the program.

Page 372 Version 7.0

Page 373: Training Manual LSE

VISUALIZATION CONTINUED In the destination system, the lines are drawn to form a rectangle in the defined area.

Version 7.0 Page 373

Page 374: Training Manual LSE

VISUALIZATION CONTINUED 5.8.5 Displaying Text through the _MyIO Class

In this example, the previous project is expanded to display text in the destination system using the MyIO class in LASAL CLASS 2 withoucreating an object in the LASAL SCREEN edito

t r.

o begin, open the program code editor with the Draw method of the MyIOArea class. To

ng program block is required:

T_CO Graphic.MakeColor(INVISIBLE,LIGHTRED),

1);

ver an object channel of the MyIOArea, the OutTextXY method is called from the SIG-EK Graphic class.

The first two parameters (pio^.space.xy1.x and pio^.space.xy1.y) specify the osition of the text in the reserved area. With ... + 100 and/or ... + 50, the text is

100 pixels along the x-axis and/or 50 pixels along the y-axis. The text located in the quotation marks "Area to draw with graphic functions" should be

, the text is copied to the output and the existing graphics or texts are over-written.

he MakeColor method is used to specify the color of the text as well the background color ded with the text.

With Graphic.MakeColor (INVISIBLE, LIGHTRED),1);, the text has no back-round color (INVISIBLE) and the text color is LIGHTRED. The value, 1, at the end of the

r (GREEN, YELLOW),1); means that yellow text is displayed with a green background.

Tdisplay text in the defined area in the Startpicture, the followi

Graphic.OutTextXY(pio^.space.xy1.x + 100, ce.xy1.y + 50, pio^.spa

"Area to draw with graphic functions", PY,

OMAT

pshifted

displayed on the screen. With T_COPY

Tprovi

gprogram line means that the text is displayed as ASCII characters (2 = UNICODE). Graphic.MakeColo

Page 374 Version 7.0

Page 375: Training Manual LSE

VISUALIZATION CONTINUED Next, copy the program block below and insert it as shown:

Compile the project and download it to the destination system.

Version 7.0 Page 375

Page 376: Training Manual LSE

VISUALIZATION CONTINUED The text should now be displayed in the rectangle on the screen.

Page 376 Version 7.0

Page 377: Training Manual LSE

VISUALIZATION CONTINUED 5.8.6 Numeric Display Over _MyIO

The MyIO class, can also be used to display numeric values. In the next example, a server is incremented and the value is displayed on the screen.

To begin, open the program code editor. For this example, the local variable, tmps, of the type ARRAY of CHAR is required. As shown in the following illustration: create an array from with a maximum of 5 places (0 to 4). The number of places, however, can be selected arbitrarily.

The following program lines output a value to the target system. DtoA(#tmps[0], pr^.value, 16#0800,1); OutTextAlign(#tmps[0], 0, #pio^.space, pio^.font, pio^.attrib, _DEFFRAME, pio^.coltxt, Graphic.MakeColor(INVISIBLE, INVISIBLE), Graphic.MakeColor(INVISIBLE, INVISIBLE), 1);

Version 7.0 Page 377

Page 378: Training Manual LSE

VISUALIZATION CONTINUED DToA(#tmps[0], pr^.value, 16#0800,1);

0,

pio^.font,

These program lines convert the numeric value to a string. The first parameter (#tmps[0] ) is the pointer to the variable where the string is stored. The second variable is the numeric value that is to be converted and parameter three defines the string format. When a 1 is entered in parameter three, the numeric value is converted to ASCII characters.

OutTextAlign(#tmps[0], Here, the OutTextAlign() is called with which text in defined colors, attributes, etc. are output to the screen. The first parameter (#tmps[0]) reads the address of the local variable and transfers the function. With [0], the first address of the field is read.

If the free area of the text should be filled to the edges with fillers, a character can be as-signed with which to fill empty space. With the value 0, no character is entered.

#pio^.space, Here, the pointer points to the coordinates on the screen where the text should be dis-played.

With this parameter, a font scheme can be selected through the input of a font scheme number. In this case, there is only one font scheme available and therefore a number is not required.

Page 378 Version 7.0

Page 379: Training Manual LSE

VISUALIZATION CONTINUED pio^.attrib,

This parameter supplies settings made in the Line tab of the Component properties win-dow.

_DEFFRAME,

Here, the type of frame is defined.

pio^.coltxt, Through this parameter, the color defined in the LASAL SCREEN Editor is used

Graphic.MakeColor(INVISIBLE, INVISIBLE),

This line is used to specify the background color of the defined area

Here, the color of the frame can be defined.

Graphic.MakeColor(INVISIBLE, INVISIBLE),

1); The value 1 defines ASCII characters.

Version 7.0 Page 379

Page 380: Training Manual LSE

VISUALIZATION CONTINUED

Copy the program lines as shown below.

Next, create the CyWork method for the MyIOArea class and increment Server0 to supply a numeric value to the destination system.

Compile the project and download it to the destination system.

Page 380 Version 7.0

Page 381: Training Manual LSE

VISUALIZATION CONTINUED

The value in Server0 is now incremented regularly in the destination system.

Version 7.0 Page 381

Page 382: Training Manual LSE

VISUALIZATION CONTINUED 5.8.7 Using Off Screens

Because an Off screen already exists, graphics operations are automatically implemented in an invisible screen through the Draw method of the _MyIO class. The functions used to assign an invisible screen are handled by the _Lse class. In the Draw method, the push_screen() and pop_screen() functions are used to change between the visible and invisible screen only.

Off screens are used when, for example, a lot of information must be reassembled on a screen. This information can be copied to a visible screen to avoid flicker and achieve better screen organization. Off screens are also used to quickly refresh specified screen areas sequentially.

An invisible screen can also be assigned in which printer forms are cre-ated for example.

Normally, assigning an invisible screen is not required for a visualization project since the _MyIO class is usually sufficient.

The functions used to assign an invisible screen are explained in the LSE kernel documentation.

Page 382 Version 7.0

Page 383: Training Manual LSE

VISUALIZATION CONTINUED 5.8.8 Indicator Instruments with User Defined Pointers

In this example, a new class is created as a complex object using the MyIO class as a base. The Draw method is over written and a user de-fined indicator needle is programmed. This is then used in the destination system to show a tachometer value.

In LASAL CLASS 2, create a complex class (here: MyIndicator) derived from the MyIO class. Construct this class as shown in the Class View window below:

Version 7.0 Page 383

Page 384: Training Manual LSE

VISUALIZATION CONTINUED Next, open the program editor with a double click on Draw. To start create the local variable IndiPos as type ARRAY of _DOT and type the standard program lines from the Draw method. The IndiPos variable has 10 array fields ([0..9]) since the form of the pointer has 10 corner points assigned.

The following program lines are used to create the pointer:

IndiPos[0].x := -7; IndiPos[0].y := 4; IndiPos[1].x := -4; IndiPos[1].y := 7; IndiPos[2].x := 4; IndiPos[2].y := 7;

IndiPos[4].x := 7; IndiPos[4].y := -4;

IndiPos[8].x := -80; IndiPos[8].y := 0;

selfmade_indicator(#pio^.space,

Graphic.MakeColor(WHITE,LIGHTBLUE), #IndiPos[0],

IndiPos[3].x := 7; IndiPos[3].y := 4;

IndiPos[5].x := 4; IndiPos[5].y := -7; IndiPos[6].x := -4; IndiPos[6].y := -7; IndiPos[7].x := -7; IndiPos[7].y := -4;

IndiPos[9] := IndiPos[0];

36-pr^.value,

10);

Page 384 Version 7.0

Page 385: Training Manual LSE

VISUALIZATION CONTINUED In this program block, the x and y coordinates of the corner points are defined through the parameter IndiPos[0..9]. These points define the form of the indicator needle. The number of points is specified through the number of array fields (here 0 to 9, so 10 Array fields = 10 points).

Point 2: IndiPos[1].x := -4; IndiPos[1].y := 7;

Point 4: IndiPos[3].x := 7; IndiPos[3].y := 4;

Point 6: IndiPos[5].x := 4; IndiPos[5].y := -7;

Point 1: IndiPos[0].x := -7; IndiPos[0].y := 4;

Point 3: IndiPos[2].x := 4; IndiPos[2].y := 7;

Point 5: IndiPos[4].x := 7; IndiPos[4].y := -4;

Point 7: IndiPos[6].x := -4; IndiPos[6].y := -7; Point 8: IndiPos[7].x := -7; IndiPos[7].y := -4; Point 9: IndiPos[8].x := -80; IndiPos[8].y := 0; Point 10: IndiPos[9] := IndiPos[0];

In the following graphic, the number 1 to 9 show the points of the indicator needle. Each of the program lines above represents a point.

Point 10 ensures that the graphic (indicator needle) is closed (returns to point 1).

Version 7.0 Page 385

Page 386: Training Manual LSE

VISUALIZATION CONTINUED The selfmade_indicator function has 5 parameters. selfmade_indicator(#pio^.space, 36-pr^.value, Graphic.MakeColor(WHITE,LIGHTBLUE), #IndiPos[0],

36-pr^.value,

Here, the start position is defined. The number 36 is assigned so that the indicator needle starts at -36° below the output angle (at value 0 in the screen).

With this program line, the surface and contour color of the indicator is defined.

10);

selfmade_indicator(#pio^.space, This program line is the pointer to the coordinates to where the indicator should be output.

Graphic.MakeColor(WHITE,LIGHTBLUE),

#IndiPos[0],

From this line, the position of the indicator is read.

10); This number depends on the number of array fields (here: 10).

Page 386 Version 7.0

Page 387: Training Manual LSE

VISUALIZATION CONTINUED To see the indicator move in the target system, Server0 is incremented in the CyWork method. When the value 252 is reached, Server0 should be restart at 0. The value 252 represents 252 degrees, which is the maximum value of the indicator in the screen. Once the maximum value is reacted, the indicator restarts from 0.

Save and compile the project then download it to the destination system and update the Reference to variables... in the LASAL SCREEN editor.

Version 7.0 Page 387

Page 388: Training Manual LSE

VISUALIZATION CONTINUED Next, create a new object in the LASAL SCREEN Editor (here: MyIndi) place a numeric field from Server0 from the MyIndicator object. Remember to enter the object name under Virtual Objectname.

Add the Tacho_bar image to the Images window (located in the project folder) and place it in the object. Expand the object to the size show in the following illustration. Next, set the background of the objMyIndicator object to transparent and adjust the size to that of the image.

Page 388 Version 7.0

Page 389: Training Manual LSE

VISUALIZATION CONTINUED

Place the MyIni object in Screen20.

Compile the project and download it to the destination system. Open Screen20 to view how the indicator moves from 0 to 200 Bar.

Version 7.0 Page 389

Page 390: Training Manual LSE

VISUALIZATION CONTINUED 5.8.9 Input with Touch over _MyIO

In the following example, a new project is created. This project has a complex class derived from the MyIO class in which the GetData, GetE-vent, Draw, GetFocus and KillFocus are over written. Using this method, grid coordinates is shown. The position of this intersection can be changed through the touch screen.

Project: TouchMyIO

To begin, copy the Output Project folder and assign it a new name (here: TouchMyIO) and load the LASAL SCREEN Editor (Visu) and LASAL CLASS 2 (Rtk) projects from the new folder. Next, create a new class (here: InputMyIO) and expand it as shown in the Class View window below.

The variable MyFocus is of Type BOOL.

Page 390 Version 7.0

Page 391: Training Manual LSE

VISUALIZATION CONTINUED Open the program code editor with a double click on GetData and insert the following pro-gram code in the method: FUNCTION __CDECL VIRTUAL GLOBAL InputMyIO::GetData VAR_INPUT

pio : ^_IO;

VAR_OUTPUT

pr^.value := TO_DINT((TO_UDINT(xDir) rol 1) xor (TO_UDINT(yDir))); retcode := _IDIDIT;

pr : ^_RESULT; #pragma warning (disable:73);

pv : ^_VARIABLE; input : BOOL; #pragma warning (default:73); END_VAR

retcode (EAX) : _DOIT; END_VAR

END_FUNCTION

pr^.value := TO_DINT((TO_UDINT(xDir) rol 1) xor (TO_UDINT(yDir)));

The program code above serves to provide a checksum for both servers. When the check-sum changes, the kernel triggers a repeated call of the Draw method.

retcode := _IDIDIT; With the return parameter _IDIDIT, the kernel is told that the data is already available.

Version 7.0 Page 391

Page 392: Training Manual LSE

VISUALIZATION CONTINUED FUNCTION __CDECL VIRTUAL GLOBAL InputMyIO::GetEvent

pe : ^_EVENT;

VAR_OUTPUT (EAX) : _DOIT;

(pe^.dot.y <= ped^.input.io.space.xy2.y))then

xDir := pe^.dot.x - ped^.input.io.space.xy1.x; yDir := ped^.input.io.space.xy2.y - pe^.dot.y; end_if;

With the If instruction

The if instruction

Tests whether the touch event occurred within the reserved area of the MyIO class.

VAR_INPUT ped : ^_EDITOR;

END_VAR

retcode END_VAR retcode := _IDLE; if (pe^.ftype = _EVENT_HIDMOVE) then if((pe^.dot.x >= ped^.input.io.space.xy1.x) & (pe^.dot.x <= ped^.input.io.space.xy2.x) & (pe^.dot.y >= ped^.input.io.space.xy1.y) &

retcode := _IDIDIT;

end_if; END_FUNCTION

if (pe^.ftype = _EVENT_HIDMOVE) then a Touch event queried.

if((pe^.dot.x >= ped^.input.io.space.xy1.x) & ….. …...

xDir := pe^.dot.x - ped^.input.io.space.xy1.x; yDir := ped^.input.io.space.xy2.y - pe^.dot.y; With these program lines, the position of the touch events within the MyIO area is written to the xDir and yDir servers.

Page 392 Version 7.0

Page 393: Training Manual LSE

VISUALIZATION CONTINUED FUNCTION __CDECL VIRTUAL GLOBAL InputMyIO::Draw VAR_INPUT

act :_NEWSCREEN;

color := GetEditColorBack(_EDITACTIVE); else

end_if;

Graphic.Rectangle(pio^.space.xy1.x,

Graphic.Line(x, pio^.space.xy1.y, x, pio^.space.xy2.y, pio^.attrib, color);

pio : ^_IO; pr : ^_RESULT; pv : ^_VARIABLE; input : BOOL; END_VAR VAR_OUTPUT retcode (EAX) : _DOIT; END_VAR VAR

x :_KOORD; y :_KOORD; color :_COLOR; END_VAR x := pio^.space.xy1.x + TO_INT(xDir); y := pio^.space.xy2.y - TO_INT(yDir);

if(MyFocus = TRUE) then

color := pio^.coltxt;

push_screen(#act); Graphic.Putimage(#pio^.image, DEFKOORD, DEFKOORD);

pio^.space.xy1.y, pio^.space.xy2.x, pio^.space.xy2.y, pio^.attrib, pio^.colframe);

Graphic.Line(pio^.space.xy1.x, y, pio^.space.xy2.x, y, pio^.attrib, color);

pop_screen(#act); copy_screen(#act, #pio^.space); retcode := _IDIDIT;

END_FUNCTION

Version 7.0 Page 393

Page 394: Training Manual LSE

VISUALIZATION CONTINUED x := pio^.space.xy1.x + TO_INT(xDir);

y := pio^.space.xy2.y - TO_INT(yDir);

pio^.space.xy2.y,

pio^.colframe);

In this program line, the X coordinates plus the server value (xDir) to output the horizontal grid coordinate are written to the local x variable.

In this program line, the Y coordinate plus the server value (yDir) to output the vertical line of the grid coordinate is written to the local y variable.

if(MyFocus = TRUE) then color := GetEditColorBack(_EDITACTIVE); else color := pio^.coltxt; end_if;

With this If-instruction, My Focus is tested. If true My Focus is true, the local variable color is assigned the background color of an input field selected with the cursor with the GetE-ditColorBack function. If MyFocus is false, the color variable is assigned the text color set in the LASAL SCREEN Editor. Graphic.Rectangle(pio^.space.xy1.x, pio^.space.xy1.y, pio^.space.xy2.x,

pio^.attrib,

The code above outputs a rectangle with the dimensions defined in the LASAL SCREEN Editor MyIO area. Graphic.Line (pio^.space.xy1.x, y, pio^.space.xy2.x, y, pio^.attrib, color); Graphic.Line(x, pio^.space.xy1.y, x, pio^.space.xy2.y, pio^.attrib, color);

Here, the lines for the X and Y coordinates of the cross section are output.

Page 394 Version 7.0

Page 395: Training Manual LSE

VISUALIZATION CONTINUED FUNCTION __CDECL VIRTUAL GLOBAL InputMyIO::GetFocus

#pragma warning (disable:73);

#pragma warning (default:73);

END_FUNCTION

MyFocus := TRUE;

VAR_INPUT pio : ^_IO;

END_VAR VAR_OUTPUT retcode (EAX) : _DOIT; END_VAR MyFocus := TRUE; retcode := _IDLE;

The data element MyFocus is set to true if the MyIO area (rectangle) is selected using the cursor, touch screen, mouse or keyboard. So that this function can be called, Write protec-tion must be set to False for the MyIO object in the LASAL SCREEN editor.

FUNCTION __CDECL VIRTUAL GLOBAL InputMyIO::KillFocus

#pragma warning (default:73);

retcode := _IDLE;

VAR_INPUT #pragma warning (disable:73); pio : ^_IO;

END_VAR VAR_OUTPUT retcode (EAX) : _DOIT; END_VAR MyFocus := FALSE;

END_FUNCTION

MyFocus := FALSE;

If, in the destination system, the MyIO area is selected then the MyFocus data element is reset to false. Save and compile the project and download it to the destination system.

Version 7.0 Page 395

Page 396: Training Manual LSE

VISUALIZATION CONTINUED Update the Reference to variables... in the LASAL SCREEN editor and in the context menu of the Startpicture, select Place, Data… to open the Data window. In the Data win-dow, select Server0 of the InputMyIO object and set Write protected to False. Next, enter the object name under Virtual Objectname and press Place.

Expand the object to the size shown in the following illustration and place a numeric field from the xDir and yDir servers with the corresponding text fields.

Page 396 Version 7.0

Page 397: Training Manual LSE

VISUALIZATION CONTINUED Download the project to the destination system and start the program. In the target system, the cross section can be moved within the defined MyIO area using the touch screen, cursor or mouse. The x and y coordinates of the cross section are shown in the corresponding fields.

Version 7.0 Page 397

Page 398: Training Manual LSE

VISUALIZATION CONTINUED 5.8.10 Moveable Circle (Project Circle) Task Requirements In this example, a section of the screen is reserved using the _MyIO class to create this graphic. The outer dimensions of the reserved area must be identified with a frame. In addi-tion, a circle should be drawn in this area and located in the upper left corner. When a value is entered in the Circle.Xpos and Circle.Ypos servers, the circle should then move to the corresponding position. If the value of the Circle.Angle is changed, the circle should change to a circle sector.

Layout

Page 398 Version 7.0

Page 399: Training Manual LSE

VISUALIZATION CONTINUED The following screen shows the section in another position.

Tips for completing this task

To implement this task, it is better to use the Oval graphic function. A Refresh must be triggered with every new drawing process in order to redraw the object (the Refresh server of the _MyIO class must be <> 0).

Version 7.0 Page 399

Page 400: Training Manual LSE

VISUALIZATION CONTINUED 5.8.11 Indicator instrument (Project Indicator) Task Requirements

For the following task, an indicator gauge is created. The gauge needle should move from 0 – 100% depending on the value of a server. The actual value of the server should also be shown as a numeric display in the gauge.

Layout

Tips for completing this task

To implement this task, simply programming the overwritten Draw method from the class derived from _MyIO is sufficient. The image used for the scale is in the project folder.

Page 400 Version 7.0

Page 401: Training Manual LSE

VISUALIZATION CONTINUED 5.8.12 Movable Circle (Project MovingCircle) Task Requirements For this exercise, a screen section should be reserved using the _MyIO class. A circle should then be moved within the reserved section using the Touch screen, mouse or cur-sor. The coordinates should also be displayed above the area and the output position of the circle should be located in the lower left corner. After the reserved section is selected through touch or the mouse, the circle should appear at the location of the event. Because the editor is on the circle, it appears in blue. The editor can be deselected With the Esc key. Layout

Version 7.0 Page 401

Page 402: Training Manual LSE

VISUALIZATION CONTINUED

Page 402 Version 7.0

Page 403: Training Manual LSE

VISUALIZATION CONTINUED 5.8.13 Data Recorder

In this example, a screen section is defined through the _MyIO class in which the mouse and/or touch can be used to draw in. The line drawn is then shown on the screen immediately. Above this area, the actual screen coordinates are shown. Project: DataRecord

Tips for completing this task

This example is available with the required program code on the accom-panying CD.

Version 7.0 Page 403

Page 404: Training Manual LSE

VISUALIZATION CONTINUED 5.8.14 Data Recorder with Memory Function

This data recorder is an expansion of the previous example. Here, it is possible to save the data with the Save Data button. With the Clear Screen button, the screen section cleared. The Display Data button al-lows previously stored data to be recalled. Project: SaveDataRecord

Tips for completing this task

This example is also available with the required program code on the accompanying CD.

Page 404 Version 7.0

Page 405: Training Manual LSE

VISUALIZATION CONTINUED

The _Scrollarea class can be used to create various types of scroll lists. The length in the x and y directions using this class can be defined as required.

Creating lists for alarm management

5.9.2 _Scrollarea Class Interfaces

To create a vertical scroll bar in the scroll list, the VerticalLevel client must be initialized with a 1, otherwise with 0. When the LineWidth client is initialized, the line width is defined in pixels. The adjusted line length however, does not have to match the _ScrollArea (MyIO) in the LASAL SCREEN Editor. If the length drawn in the LASAL SCREEN Editor is smaller than the value entered in the client, a horizontal scroll bar appears automatically.

5.9 Lists (_Scrollarea) 5.9.1 _Scrollarea Class Applications

Lists with predefined tree structures Etc.

Because the _Scrollarea class is derived from the _MyIO class, the most important inter-faces were already discussed in the _MyIO chapter. In creating scroll lists however, the Line interface and the _Scrollarea clients are of greater significance.

In the illustration below, the object network with the initial value of an object is shown, which is derived form the _ScrollArea class.

Version 7.0 Page 405

Page 406: Training Manual LSE

VISUALIZATION CONTINUED

In the following example, a scroll bar with 50 lines is created using the _ScrollArea class. The list can be scrolled left and right as well as up and down depending on the size.

To begin, copy the Output Project folder and assign it a new name (here: ScrollList) then

ad thelo LASAL SCREEN Editor (Visu) and LASAL CLASS 2 (Rtk) projects from the new

from the _ScrollArea

addition create a private constructor method (here: MyScrolllist).

folder. Next, create a new class in LASAL CLASS 2(here: MyScrolllist), lass and overwrite the Line method. c

In

lso open the As

network of the base class (here: objMyScrolllist) and make the connections wn below:

ho

Page 406 Version 7.0

Page 407: Training Manual LSE

VISUALIZATION CONTINUED In the UserNetwork network connect the Lse client to the Lse server of the obj_Lse ob-ject. In the VerticalLevel client enter an initial value of 1 to display a vertical scroll bar in the target system. The value of the LineWidth client (here: 500) shows the width of the line in pixels.

Open the program code editor to program the desired method: FUNCTION MyScrolllist::MyScrolllist VAR_OUTPUT ret_code : ConfStates;

END_VAR Scroll.position.no := 50; ret_code:= C_OK;

END_FUNCTION Program code explanation:

Scroll.position.no := 50; With this program line, the number of lines is defined (here: 50). The following line method is then called (by the operating system) 50 times (can be seen at the transfer variable line).

This program line was programmed here in the constructor. They can also be programmed in the Init method just as well.

Version 7.0 Page 407

Page 408: Training Manual LSE

VISUALIZATION CONTINUED FUNCTION __CDECL VIRTUAL GLOBAL MyScrolllist::Line VAR_INPUT ps : ^_SCROLL; pr : ^_ROOM; line : UINT;

txt : ARRAY[0..29] of _ASCII;

END_VAR

if Line < scroll.position.no then

color := Graphic.MakeColor(YELLOW, YELLOW);

Graphic.OutTextXY(pr^.xy1.x + 300, pr^.xy1.y, "Categorie",

att, color, sizeof(_ASCII));

else

state : BOOL; END_VAR VAR

color : _COLOR; att : _ATTRIB;

att := T_LEFTBOUND or T_UPBOUND or T_COPY or T_PROP; if (Line = scroll.position.begin) then

Graphic.Beam(pr^.xy1.x, pr^.xy1.y, pr^.xy2.x, pr^.xy2.y, att, color);

color := Graphic.MakeColor(INVISIBLE, ps^.color_inactiv); Graphic.OutTextXY(pr^.xy1.x, pr^.xy1.y, "Article No.", att, color, sizeof(_ASCII));

Graphic.OutTextXY(pr^.xy1.x + 150, pr^.xy1.y, "Product", att, color, sizeof(_ASCII));

if(state = TRUE) then color := Graphic.MakeColor(INVISIBLE, ps^.color_activ); else color := Graphic.MakeColor(INVISIBLE, ps^.color_inactiv); end_if;

StrCpy(#txt[0], sizeof(_ASCII), "SIG-009-", sizeof(_ASCII)); DToA(#txt[8], Line, 0x0800, sizeof(_ASCII));

Graphic.OutTextXY(pr^.xy1.x+3, pr^.xy1.y, #txt[0], att, color, sizeof(_ASCII));

Page 408 Version 7.0

Page 409: Training Manual LSE

VISUALIZATION CONTINUED

'A'+ TO_USINT(Line);

color := ps^.color_inactiv; end_if;

end_if;

Here, the background color of the heading is defined.

Via this method, the optically background of each line is recovered.

StrCpy(#txt[0], sizeof(_ASCII), "PR-X110-", sizeof(_ASCII)); txt[8] := 'A'; txt[9] := txt[10] := 0;

Graphic.OutTextXY(pr^.xy1.x + 150, pr^.xy1.y, #txt[0], att, color, sizeof(_ASCII));

Graphic.OutTextXY(pr^.xy1.x + 300, pr^.xy1.y, "Cat", att, color, sizeof(_ASCII));

end_if; end_if;

END_FUNCTION Program code explanation:

if(state = TRUE) then color := ps^.color_activ; else

Via this query, the text color of the active or inactive line is initialized respectively. This is necessary for the next step (for the LineBackGround method). if (Line = scroll.position.begin) then color := Graphic.MakeColor(YELLOW, YELLOW);

LineBackGround(ps, pr, GetBackColor(color));

att := T_LEFTBOUND or T_UPBOUND or T_COPY or T_PROP;

All text is aligned from the top and left justified. Text is copied to the graphic and displayed proportionally.

The functions T_LEFTBOUND and T_UPBOUND as well as the attrib-utes functions are described in the kernel documentation.

Version 7.0 Page 409

Page 410: Training Manual LSE

VISUALIZATION CONTINUED color := Graphic.MakeColor(INVISIBLE, ps^.color_inactiv);

Graphic.OutTextXY(pr^.xy1.x + 150, pr^.xy1.y, "Product", att, co-lor, sizeof(_ASCII));

Through the 3 program lines above, the text in the first line of the scroll area is defined. The value after the + symbol defines the distance between text in pixels.

if(state = TRUE) then

StrCpy(#txt[0], sizeof(_ASCII), "SIG-009-", sizeof(_ASCII));

In this line, the text color is defined. The color of the text, set at the Scrollarea object, is supplied through ps^.color_inactive.

Graphic.OutTextXY(pr^.xy1.x, pr^.xy1.y, "Article No.", att, color, sizeof(_ASCII));

Graphic.OutTextXY(pr^.xy1.x + 300, pr^.xy1.y, "Categorie", att, color, sizeof(_ASCII));

color := Graphic.MakeColor(INVISIBLE, ps^.color_activ); else color := Graphic.MakeColor(INVISIBLE, ps^.color_inactiv); end_if; With the above query, the text color of the active line is specified. If the state variable is true, the text is displayed in the color assigned in Project window, Settings, Cursor under Sel. Text in the LASAL SCREEN Editor.

Copy the string Value in the first entry of the txt array.

Page 410 Version 7.0

Page 411: Training Manual LSE

VISUALIZATION CONTINUED

'A'+ TO_USINT(Line);

The text PR-X110, is written in each of the 50 lines in the column. With txt[8] := 'A';, the text A is written in the 8th position of each line of the array. After the A, the characters are written in the 9th array position According to the ASCII table sequence through the line txt[9] := 'A'+ TO_USINT(Line); starting with A. With txt [10] := 0;, the string is terminated with zero.

DToA(#txt[8], Line, 0x0800, sizeof(_ASCII));

Converts the value of a line to a string in the 8th index of the array.

Graphic.OutTextXY(pr^.xy1.x+3, pr^.xy1.y, #txt[0], att, color, si-zeof(_ASCII)); Here, the text is placed at the position pr^.xy1.x (linker Rand) + 3 Pixels.

StrCpy(#txt[0], sizeof(_ASCII), "PR-X110-", sizeof(_ASCII)); txt[8] := 'A'; txt[9] := txt[10] := 0;

Graphic.OutTextXY(pr^.xy1.x + 150, pr^.xy1.y, #txt[0], att, color, sizeof(_ASCII)); The text PR-X110-, is placed at the position supplied by pr^.xy1.x (linker Rand) + 150 Pixels.

Graphic.OutTextXY(pr^.xy1.x + 300, pr^.xy1.y, "Cat", att, color, sizeof(_ASCII)); The text, Cat, is placed at the position supplied by pr^.xy1.x + 300 pixels.

Version 7.0 Page 411

Page 412: Training Manual LSE

VISUALIZATION CONTINUED Go to the LASAL SCREEN Editor and place Server0 of the objMyScrolllist object in the start picture. Remember to enter the object name under Virtual Objectname and set Write protected to False so that the list can be scrolled.

Give the object a 3 dimensional effect to show the scroll list in the target system.

Page 412 Version 7.0

Page 413: Training Manual LSE

VISUALIZATION CONTINUED Download the project in the target system and start the program. Depending on the size to which the object was expanded, each list entry can be selected using a scroll bar.

Version 7.0 Page 413

Page 414: Training Manual LSE

VISUALIZATION CONTINUED

In the next example, a scroll list is created through the _ScrollArea class. The items in this list are arranged however, in a tree structure. The sub divisions of the list items can be opened with a button.

Detailed information over the required functions can be found in the ker-nel documentation under the chapter Functions for Generating a Menu with Trees.

Use the previous project and in LASAL CLASS, create 2 new classes from the _ScrollArea class. Overwrite the GetEvent, IF_Start and Line methods and create the private Constructor method (here: MyStructuredScrolllist). The Data variable is of type _MEM_VKLIST_.

Next, place an object of the class in the UserNetwork as shown in the following screen:

Page 414 Version 7.0

Page 415: Training Manual LSE

VISUALIZATION CONTINUED

Open the program code editor to program the methods: FUNCTION MyStructuredScrolllist::MyStructuredScrolllist VAR_OUTPUT

init_MEM_VKLIST(#Data);

END_FUNCTION

init_MEM_VKLIST(#Data);

ret_code : ConfStates; END_VAR

ret_code:= C_OK;

Program code explanation:

The data is initialized once through the program line above.

Version 7.0 Page 415

Page 416: Training Manual LSE

VISUALIZATION CONTINUED FUNCTION __CDECL VIRTUAL GLOBAL MyStructuredScrolllist::GetEvent ped : ^_EDITOR;

VAR_INPUT

END_VAR

(EAX) : _DOIT;

if (pe^.ftype = _EVENT_KEYPRESS) then

end_if;

pe : ^_EVENT;

VAR_OUTPUT retcode END_VAR retcode := _IDLE; if(pe^.scancode = 13) then action_MEM_VKLIST(#Data, TO_UINT(Scroll.position.pos)); Scroll.position.no := TO_DINT(Data.visual_no); _ScrollArea::OutPage(); retcode := _IDIDIT; end_if;

if retcode <> _IDIDIT then retcode := _ScrollArea::GetEvent(ped, pe); end_if; END_FUNCTION

Page 416 Version 7.0

Page 417: Training Manual LSE

VISUALIZATION CONTINUED

With the above query, the program tests whether a button was pushed.

A node is opened or closed only when the enter key is pushed.

Scroll.position.no := TO_DINT(Data.visual_no); Here, the new number of visible lines is written to Scroll.position.no

Program code explanation: if (pe^.ftype = _EVENT_KEYPRESS) then

if(pe^.scancode = 13) then

action_MEM_VKLIST(#Data, TO_UINT(Scroll.position.pos)); With this program line, a node with the number from Scroll.position.pos is opened or closed.

_ScrollArea::OutPage(); The OutPage method of the _ScrollArea class is recalled with this line.

Version 7.0 Page 417

Page 418: Training Manual LSE

VISUALIZATION CONTINUED FUNCTION __CDECL VIRTUAL GLOBAL MyStructuredScrolllist::IF_Start VAR_INPUT pio : ^_IO; firsttime : BOOL; END_VAR VAR scope : END_VAR

UDINT;

add_MEM_VKLIST(#Data, scope, 2);

#Data, scope, 5);

add_MEM_VKLIST(#Data, 16#FFFF, 7);

add_MEM_VKLIST(#Data, 16#FFFF, 13); add_MEM_VKLIST(#Data, 16#FFFF, 14);

#Data, 16#FFFF, 15);

END_FUNCTION

The return value for this function has no significance for the user. It serves only to hide the next line behind the actual line to form a node. If a node is not required then 16#FFFF is assigned as the second parameter. The third parameter is defined by the user (see kernel documentations). Here information is obtained as to which number is assigned to the “Data” element in the _VKLIST structure.

_ScrollArea::If_Start(pio, firsttime);

if Data.no = 0 then scope := add_MEM_VKLIST(#Data, 16#FFFF, 0); add_MEM_VKLIST(#Data, scope, 1);

scope := add_MEM_VKLIST(#Data, scope, 3); add_MEM_VKLIST(#Data, scope, 4); add_MEM_VKLIST( add_MEM_VKLIST(#Data, scope, 6);

add_MEM_VKLIST(#Data, 16#FFFF, 8); scope := add_MEM_VKLIST(#Data, 16#FFFF, 9); add_MEM_VKLIST(#Data, scope, 10); add_MEM_VKLIST(#Data, scope, 11); add_MEM_VKLIST(#Data, 16#FFFF, 12);

add_MEM_VKLIST( add_MEM_VKLIST(#Data, 16#FFFF, 16); end_if;

Scroll.position.no := TO_DINT(Data.visual_no);

Program code explanation: if Data.no = 0 then scope := add_MEM_VKLIST(#Data, 16#FFFF, 0);

Page 418 Version 7.0

Page 419: Training Manual LSE

VISUALIZATION CONTINUED scope := add_MEM_VKLIST(#Data, 16#FFFF, 0); add_MEM_VKLIST(#Data, scope, 1); add_MEM_VKLIST(#Data, scope, 2); scope := add_MEM_VKLIST(#Data, scope, 3); add_MEM_VKLIST(#Data, scope, 4);

#Data, scope, 6);

(#Data, scope, 11);

add_MEM_VKLIST(#Data, 16#FFFF, 13);

add_MEM_VKLIST(#Data, 16#FFFF, 16);

This program line contains the number of lines visible at the start of the program.

add_MEM_VKLIST(#Data, scope, 5); add_MEM_VKLIST( add_MEM_VKLIST(#Data, 16#FFFF, 7); add_MEM_VKLIST(#Data, 16#FFFF, 8);

scope := add_MEM_VKLIST(#Data, 16#FFFF, 9); add_MEM_VKLIST(#Data, scope, 10); add_MEM_VKLIST add_MEM_VKLIST(#Data, 16#FFFF, 12);

add_MEM_VKLIST(#Data, 16#FFFF, 14); add_MEM_VKLIST(#Data, 16#FFFF, 15);

The program lines shown above define the structure of the tree in the target system. For each line containing scope in the second parameter, a node is created.

Scroll.position.no := TO_DINT(Data.visual_no);

Version 7.0 Page 419

Page 420: Training Manual LSE

VISUALIZATION CONTINUED FUNCTION __CDECL VIRTUAL GLOBAL MyStructuredScrolllist::Line VAR_INPUT ps : ^_SCROLL; pr : ^_ROOM; line : UINT; state : BOOL; END_VAR VAR

color :_COLOR;

if (no < Data.no) then

end_if;

if (line = Data.visual_no -1) then

end_if;

if ptr^.hide <> 16#FFFFFFFF then

END_FUNCTION

no :UDINT; ptr :^_VKLIST;

x :_KOORD; att :_ATTRIB; txt :array[0..20] of _CHAR; lastline :_BOOL; END_VAR no := find_real_position(#Data, line); ptr := Data.ptr + no * sizeof(_VKLIST); color := Graphic.MakeColor(INVISIBLE, ps^.color_inactiv); if (state = _TRUE) then color := Graphic.MakeColor(INVISIBLE, ps^.color_activ);

lastline := _FALSE; lastline := _TRUE; LineBackGround(ps, pr, GetBackColor(ps^.color_inactiv)); x := out_MEM_VKLIST(pr, ptr, color, lastline, #Data); StrCpy(#txt[0], sizeof(_CHAR), "line", sizeof(_CHAR));

StrCpy(#txt[0], sizeof(_CHAR), "Tree entry ", sizeof(_CHAR));

end_if;

DToA(#txt[11], TO_DINT(ptr^.data), 16#0800, sizeof(_CHAR)); att := T_LEFTBOUND or T_UPBOUND or T_COPY or T_SOLID or T_PROP; Graphic.OutTextXY(x, pr^.xy1.y, #txt[0], att, color, sizeof(_CHAR));

end_if;

Page 420 Version 7.0

Page 421: Training Manual LSE

VISUALIZATION CONTINUED Program code explanation:

This program line determines the actual line position.

This query tests whether the position is valid.

ptr := Data.ptr + no * sizeof(_VKLIST);

color := ps^.color_inactiv;

color := ps^.color_activ; end_if;

In the above program line, the individual lines and nodes are created for the scroll list.

no := find_real_position(#Data, line);

if (no < Data.no) then

The data pointer, Data.ptr, points to the info line.

In this program line, the background color set in the LASAL SCREEN Editor for the cursor under Sel. Background is read. if (state = _TRUE) then

If a list item is selected with the cursor (state = _TRUE), the background color is activated. lastline := _FALSE; if (line = Data.visual_no -1) then lastline := _TRUE; end_if;

The above query determines the line for the _MEM_VKLIST function and is set to true.

LineBackGround(ps, pr, GetBackColor(ps^.color_inactiv)); Here the background of the respective line is optically recovered. x := out_MEM_VKLIST(pr, ptr, color, lastline, #Data);

Version 7.0 Page 421

Page 422: Training Manual LSE

VISUALIZATION CONTINUED

The text, Line, is written in each line of the scroll list.

if ptr^.hide <> 16#FFFFFFFF then

end_if;

Converts the value of the ptr^.data to a string (in the 11th array field).

Save the project and download it to the target system.

StrCpy(#txt[0], sizeof(_CHAR), "Line ", sizeof(_CHAR));

StrCpy(#txt[0], sizeof(_CHAR), "Tree entry ", sizeof(_CHAR));

The if-instruction above tests the value of the ptr^.hide pointer. If the value is equal to 16#FFFFFFFF then the text, Tree entry, is written in each line. DToA(#txt[11], TO_DINT(ptr^.data), 16#0800, sizeof(_CHAR));

att := T_LEFTBOUND or T_UPBOUND or T_COPY or T_PROP; All text is aligned from the top and left. The text is copied to the graphic and output propor-tionally.

Graphic.OutTextXY(x, pr^.xy1.y, #txt[0], att, color, sizeof(_CHAR)); The txt variable is placed in the position given by pr^.xy1.y.

Page 422 Version 7.0

Page 423: Training Manual LSE

VISUALIZATION CONTINUED Go to the LASAL SCREEN Editor and place a numeric field using Sever0 of thobjMyStructuredScrolllist object and set Write Protected to False

e .

Download the project to the destination system and start the program. The list items that contain a sub menu are labeled with the text, Tree entry. The other items are labeled as Line.

Version 7.0 Page 423

Page 424: Training Manual LSE

VISUALIZATION CONTINUED Open the sub menu with the enter key to view the menu items listed therein. A sub menu can also be closed using the enter key.

Page 424 Version 7.0

Page 425: Training Manual LSE

VISUALIZATION CONTINUED 5.9.3 Scroll List (Project UseScrollList) Task Requirements In the following example, a scroll list with 30 lines is created according to the layout shown below. In the first column, the line number is shown in an inverted sequence. Text can be entered in the other columns as desired. In the third column, however, the line number is included with the text. The columns are formed using vertical lines (see layout). Layout

Tips for completing this task

To display the blue scroll bar, Write protected in the LASAL SCREEN Editor must be set to FALSE.

Version 7.0 Page 425

Page 426: Training Manual LSE

STRINGS

6 Strings

Unicode is an international standard in which all meaningful characters and/or text elements from every recognized writing culture and character system is defined with a digital code. Unicode gives each character its own number depending on the platform, program and language. This enables Unicode text to be exchanged worldwide with no information loss. With Unicode, all characters can be represented as long as they are included in the Uni-code standard.

With these functions, strings of various types can be changed. String functions can be used to join ASCII and Unicode strings whereby they refer to null strings. This means that each string is terminated with a 0 (null). The size (data width) of the ASCII null string is 1 byte and 2 bytes for the Unicode null string.

6.1 General information over ASCII und Unicode

The ASCII code (American Standard Code for Information Interchange) is a standardized character set used to represent text. For information exchange, this standard coding deter-mines which number value stands for which character. The ASCII characters for 0 to 127 belong to the standard ACII character set. The characters 0 to 32 are control and/or format-ting characters for I/O modules. The remaining characters from 128 to 255 can have vari-ous characters depending on written or graphic character sets.

6.2 String Functions

Caution: all constant strings entered directly are always ASCII null strings

On the following pages, only the most important functions are listed and explained. Additional functions can be found in the kernel documentation.

Page 426 Version 7.0

Page 427: Training Manual LSE

STRINGS StrCpy() Copies an ASCII or Unicode 0 string. This function can copy different string formats such as a mix between ASCII and Unicode.

Caution: The conversion from Unicode to ASCII code cannot be done without some loss of information; the most significant bytes are cutoff.

Parameters Return parameter

X0: Pointer to the destination array None X1: 1 = ASCII Characters, 2 = Unicode-Characters X2: Pointer to the source array X3: 1 = ASCII-Characters, 2 = Unicode-Characters

StrCpy(#dest, 1, #src, 2); Here ASCII-Characters are copied from dest-String to the Src-String, which is defined as Unicode.

StrNCpy() Copies a specific number of characters from one string to another where a maximum size is defined for the destination. The destination string is always terminated with a 0. This means if the source string is longer than the assigned number of characters, the maximum length – 1 is copied and the last character is overwritten with 0. The rules for processing both source and destination data are the s y() function.

Return parameter

ame as for the StrCp

Parameters X0: Pointer to the destination array None X1: 1 = ASCII-Characters, 2 = Unicode-Characters X2: Pointer to the source array X3: 1 = ASCII-Characters, 2 = Unicode-Characters ml: Max. Number of Characters in the destination

array

StrNCpy(#dest, 1, #src, 2, anz); Here, the ASCII characters are copied from dest-String to the Src-String, which is defined as Unicode. The last parameter, anz, supplies the num-ber of data to copy.

Version 7.0 Page 427

Page 428: Training Manual LSE

STRINGS StrCat() Attaches a string to the end of an existing string.

Return parameter Parameters X0: Pointer to the available String None X1: 1 = ASCII-Characters, 2 = Unicode-Characters X2: Pointer to the String that should be attached X3: 1 = ASCII-Characters, 2 = Unicode-Characters

StrCat(#dest, 1, #src, 1); Here, the source string (ASCII) is attached to the destination ASCII string.

StrLen() Determines the length (number of characters). The terminating 0 is not counted in the over-all length of a string (ASCII null string).

meters Return Para parameter X0: Pointer to the String retcode: Number of characters X1: 1 = ASCII-Characters, 2 = Unicode-Characters

len := StrLen(#dest, 1); Here, the length of the Unicode string, dest, is determined and the vari-able is returned.

Page 428 Version 7.0

Page 429: Training Manual LSE

FORMULA MANAGEMENT/TOOL CATALOG

7 Formula Management/Tool Catalog

With formula management, server data in LASAL CLASS 2 can be saved to the hard drive or diskette and then reloaded. However, only those servers can be saved who’s Toolcata-log-Bit is set in the LASAL SCREEN Editor.

7.1 Formula Management Application

7.2 The Toolcatalog-Bit in the LASAL SCREEN Editor

The grouping of machine parameters can be used as example for the use of this function.

In this next example, the values from three servers of an object in LASAL CLASS 2 are written to a text file and then re-read.

Project: Toolcatalog

To begin copy the OutputProject folder and assign it a new name (here: Toolcatalog) then load the LASAL SCREEN Editor (Visu) and LASAL CLASS 2 (Rtk) projects from the new folder. Next, create a new class in LASAL CLASS 2 (here: ToolClass) with 5 servers (here: Value1, Value2, Value3, ActivateTool and Filter) and a background method. Define the Filter server as UDINT type. Place an object of the ToolClass class (objToolClass) and one of the _ToolCat class (obj_ToolCat) in the UserNetwork. Afterwards connect the Lse client of the obj_ToolCat object with the Lse server of the obj_Lse object in the One etwork. n

Save and compile the project (here: Toolcatalog).

Version 7.0 Page 429

Page 430: Training Manual LSE

FORMULA MANAGEMENT/TOOL CATALOG Go to the LASAL SCREEN Editor and update the Reference to variables... then open the Data Servers window and select the first Value1 server.

Page 430 Version 7.0

Page 431: Training Manual LSE

FORMULA MANAGEMENT/TOOL CATALOG Open the Parameter window by pressing the button next to Parameter and activate the

ox next to Toolcatalog then press OK checkb

Also activate the Toolcatalogue checkbox at the servers Value2 and Value3!

Version 7.0 Page 431

Page 432: Training Manual LSE

FORMULA MANAGEMENT/TOOL CATALOG Use the button next to Group to open the Group window.

The Group function is used to identify a server. This is necessary when the value of a spe-cific server should later be written to a text file rather than the value of all servers. Activate the checkbox next to Bit0 and press OK.

Page 432 Version 7.0

Page 433: Training Manual LSE

FORMULA MANAGEMENT/TOOL CATALOG Repeat the above process for the servers Value2 and Value3. For Value2 activate Bit1 (Value = 2) ONLY and for Value3, Bit2 ONLY (Value = 4). Each server should now have a unique identification number (Value 1 = 1, Value 2 = 2, Value 3 = 4).

The ActivateTool server is used to trigger the process (save, load).

In LASAL CLASS 2, program the background method as follows:

The background method is used for the Toolcatalog since saving data is a low priority task and is unimportant as compared to error recognition.

Set the Filter server to 0 to write the value of all servers to the text file.

Tin

o write the value in a specific server to a text file, assign the correspond-g server (depending on the GROUP bits assigned in LSE) value to the

Filter server.

Filter := 4; => only Server Value3 Filter := 5; => Server Value2 and Value3 Filter := 6; => Server Value2 and Value3

Filter := 1; => only Server Value1 Filter := 2; => only Server Value2 Filter := 3; => Server Value1 and Value2

Version 7.0 Page 433

Page 434: Training Manual LSE

FORMULA MANAGEMENT/TOOL CATALOG

save_toolcat("C:\TOOL.txt", #Filter);

The program line

saves the value of the server defined under Filter in the TOOL.txt in PLC text file in the PLC. If the value of the filter is 0, the values of all servers are saved.

The methods save_toolcat and load_toolcat are complete programmed kernel methods and can be found in the _Lse class documentation.

Go online and load the changes into the target system. Next enter the values in the servers of the objToolCLASS object and start the program by entering a 1 in the ActivateTool server.

The text file, in which the values from the 3 servers are written is then created in the previ-ously defined path. To view the text file, use the file commander in Lasal Class 2 (found under Debug/Tools/Advanced Debug Tools).

Page 434 Version 7.0

Page 435: Training Manual LSE

FORMULA MANAGEMENT/TOOL CATALOG To reload the values into their respective servers, the program code must be expanded as follows:

The program line load_toolcat("C:\TOOL.TXT", #Filter); reads the server value from the text file into LASAL CLASS 2.

Version 7.0 Page 435

Page 436: Training Manual LSE

FORMULA MANAGEMENT/TOOL CATALOG

To read the value from a specific server from the text file back to LASAL CLASS 2, assign the corresponding server value to the Filter server. Filter := 1; => Server Value1 only Filter := 2; => Server Value2 only Filter := 4; => Server Value3 only

Go online and enter the value 2 in the ActivateTool server to start the program.

The values are now entered in the servers Value1 to Value3 of the objToolClass object.

Page 436 Version 7.0

Page 437: Training Manual LSE

ALARM MANAGEMENT

8 Alarm Management

Hot plug-in of the terminal is possible (i.e.: laptop)

In the LASAL CLASS 2 library, classes are available to manage alarms. These classes are responsible for showing generated alarms in the visualization and allow an alarm history and temporary alarms to be easily displayed in a list. An additional class can be used to show the last triggered alarm in each screen of the visualization as required.

The alarms can evaluate up to 16 terminals

8.1 Required Alarm Classes To start, copy the output project folder and rename it (here: Alarms). Next load the LASAL SCREEN Editor (visualization) and the LASAL CLASS 2 project (Rtk) from the newly cre-ated folder.

Version 7.0 Page 437

Page 438: Training Manual LSE

ALARM MANAGEMENT In LASAL CLASS 2, first create two networks (here: AlarmTerminal and AlarmPLC) Next place the following objects in both networks:

Die _AlarmX0Para, _AlarmX1Para, _AlarmX2Para, _AlarmX3Para and _AlarmXBuffer classes must first be imported from the LASAL library.

More information on the classes used here (clients, servers) can be found in the Kernel documentation.

Enter the client values of the objects as shown in the screenshot above.

Page 438 Version 7.0

Page 439: Training Manual LSE

ALARM MANAGEMENT The green-framed text is added for information only and is inserted through the NetEdit, Comment tab.

In the Config client of the EmergencyStop object, enter the number 1. In the Config client of the OverheatError object enter 2, for the HighPressure object 3, and for the OverloadError object the number 4! The instance for the _AlarmXBuffer class must be named _AlarmXBuffer1. This No client of this is used to set the maximum num-ber of alarms that can be triggered at the same time.

hot abovEnter the client values of the objects as shown in the screens e.

Create the followi

larmTerminal Net

LSE client of the AlarmHistory object => Lse Object, Lse Server LSE client of the AlarmTemporary object => Lse Object, Lse Server HotAlarm object, LSE Client => Lse Object, Lse Server

ng network-overlapping connections as seen in the above graphic:

work: A

Remember to set the Visualized property in the alarm object to TRUE so that it can be included in the visualization!

Version 7.0 Page 439

Page 440: Training Manual LSE

ALARM MANAGEMENT 8.2 Visualizing Alarms

8.2.1 Using the Hot Alarm

Load the output project in the LASAL SCREEN Editor as well and run the Reference to variables... function. To start, create a text list (here: AlarmTexts).

Next, Open the Data window in the global screen.

Page 440 Version 7.0

Page 441: Training Manual LSE

ALARM MANAGEMENT

In the Data window, select Server0 in the HotAlarm object and under Virtual Object-name, assign it the object name _HotAlarm. Confirm the settings with Place.

Place the numeric field in the global screen as follows:

Version 7.0 Page 441

Page 442: Training Manual LSE

ALARM MANAGEMENT In the next step, define the alarm. First open the Alarm window with a double click in the project tree on Alarms. Then with the symbol, create a new alarm (here: Oil Pressure). Select under Variable: the server ClassSvr from the HighPressure object and under Short text the text Oil pressure. Confirm these settings with OK.

To trigger an alarm, go to LASAL CLASS 2 and enter 1 in ClassSvr of the HighPressure object.

Page 442 Version 7.0

Page 443: Training Manual LSE

ALARM MANAGEMENT In the target system, the previously defined alarm, Oil pressure, now appears.

Version 7.0 Page 443

Page 444: Training Manual LSE

ALARM MANAGEMENT 8.2.2 Alarm History The AlarmHistory object provides a better option for displaying alarms. With help from this object, as the name History indicates, several previously triggered alarms can be displayed in a list. The date and time of both the activation and deactivation of the alarm is also shown. Place a numeric field in a screen (here: Startpicture) using Server0 of the AlarmHistory object. Set Write protected to False and under Virtual Objectname, enter the object name (here: AlarmHistory).

Page 444 Version 7.0

Page 445: Training Manual LSE

ALARM MANAGEMENT Position the text field with the label Alarm History.

Version 7.0 Page 445

Page 446: Training Manual LSE

ALARM MANAGEMENT Next create an additional alarm (here: Temperature) and under Short text, enter Temperature %p %p %p. For the variable, select ClassSvr from the OverloadError bject. o

Page 446 Version 7.0

Page 447: Training Manual LSE

ALARM MANAGEMENT In the object OverloadError, enter the values for the minimum (1), actual (2) and maximum (3) in the clients Para1 to Para3. Trigger the alarm by entering a value of 1 in ClassSvr.

In the Startpicture, the Temperature alarm is now displayed in the title bar with the defined parameters and the date and time the alarm was triggered appears in the Alarm History menu (with a red background).

Version 7.0 Page 447

Page 448: Training Manual LSE

ALARM MANAGEMENT If the Oil Pressure alarm is triggered, it is shown as a Hot Alarm and listed under Alarm History:

End the Temperature alarm in LASAL CLASS 2 by setting the server in the OverloadError object, ClassSvr, to 0.

Page 448 Version 7.0

Page 449: Training Manual LSE

ALARM MANAGEMENT In the Alarm History menu, the deactivated alarm is listed with the date and time (with a pink background).

Enter 0 in ClassSvr of the HighPressure object to deactivate the Oil pressure alarm.

Version 7.0 Page 449

Page 450: Training Manual LSE

ALARM MANAGEMENT The deactivated Oil pressure alarm is then displayed in the Alarm History menu with a pink background as well.

Page 450 Version 7.0

Page 451: Training Manual LSE

ALARM MANAGEMENT To delete the Alarm History menu in the target system, the servers Acknowledge and Delete in LASAL Class 2 must first be set to –1.

Next, enter 0 in both servers; the menu entries in the target system are then deleted.

More information on Alarms can be found in the LASAL Alarm Library and LSE-Kernel documentation.

Version 7.0 Page 451

Page 452: Training Manual LSE

ALARM MANAGEMENT 8.2.3 Alarm Temporary

Alarms that are triggered while a system is in operation are stored in a file and can be dis-played using the Alarm History object. With the Alarm Temporary object, alarms that occur while a system is in operation are listed.

To display such an alarm, place a numeric field using Server0 of the AlarmTemporary object in the Startpicture. Set Write protected to False and in the field next to Virtual ObjectName, enter the object description AlarmTemporary.

Page 452 Version 7.0

Page 453: Training Manual LSE

ALARM MANAGEMENT Next place a text field with the label Alarm Temporary.

Version 7.0 Page 453

Page 454: Training Manual LSE

ALARM MANAGEMENT Trigger both alarms sequentially and they will be shown in both menus.

Now stop and then restart the program. After restarting, both alarms are shown in the Alarm History menu and the Alarm Temporary menu is empty. In the Alarm Temporary menu, only active alarms are shown.

Page 454 Version 7.0

Page 455: Training Manual LSE

ALARM MANAGEMENT

Trigger both alarms. Because the alarms are currently active, they are also listed in the Alarm Temporary menu.

Version 7.0 Page 455

Page 456: Training Manual LSE

ALARM MANAGEMENT

When the Alarms are again deactivated, the deactivation is confirmed in the Alarm History with two entries. In the Alarm Temporary menu, each alarm field is then shown with a pink background and the time the alarm was deactivated is added.

Page 456 Version 7.0

Page 457: Training Manual LSE

ALARM MANAGEMENT

Version 7.0 Page 457

Page 458: Training Manual LSE

ALARM MANAGEMENT 8.2.4 Creating Additional Alarms To create additional alarms, an alarm class object (_AlarmX0Para, _AlarmX1Para, _AlarmX2Para or _AlarmX3Para) must be placed (here: class _AlarmX0Para, object SafetyDoorOpen).

In the Config client of the SafetyDoorOpen object, enter the number 5 and remember to set the Visualized property for the object to True. Store the project and load it into the target system.

In the LASAL SCREEN Editor, run the Reference to variables... function.

Page 458 Version 7.0

Page 459: Training Manual LSE

ALARM MANAGEMENT Next open the Textlists window and add the Safety Door Open text list to the AlarmTexts list.

Confirm these settings with Place.

Version 7.0 Page 459

Page 460: Training Manual LSE

ALARM MANAGEMENT In the Alarm window, create a new alarm (here: Safety Door Open). Next select ClassSvr in the SafetyDoorOpen object under Variable. Select the corresponding text list or the correct text list entry (here: Safety Door Open).

Store and compile the project. Next load the project into the target system and start it.

Page 460 Version 7.0

Page 461: Training Manual LSE

ALARM MANAGEMENT In LASAL CLASS 2 enter 1 in ClassSvr to trigger the SafetyDoorOpened alarm.

The alarm is now displayed in the target system as a Hot Alarm in both the Alarm History and Alarm Temporary lists.

Version 7.0 Page 461

Page 462: Training Manual LSE

ALARM MANAGEMENT 8.2.5 Visualizing Alarms from External Controls

In LASAL CLASS 2, first create two networks (here: AlarmTerminal and AlarmPLC) and place the following objects in both networks:

To start, copy the output project folder and rename it (here: AlarmeExtern). Next load the LASAL SCREEN Editor (visualization) and the LASAL CLASS 2 project (Rtk) from the newly created folder.

In the Config client of the SchuetzError enter the number 5 and in the Config client of the AxisError error enter the number 6. The instance for the _AlarmXBuffer class must be named _AlarmXBuffer1 The No client of the class is used to set the maximum number alarms that can be triggered at the same time.

Page 462 Version 7.0

Page 463: Training Manual LSE

ALARM MANAGEMENT Create the following network-overlapping connections as seen in the above graphic: AlarmTerminal Network: LSE client of the AlarmHistory object => Lse Object, Lse Server LSE client of the AlarmTemporary object => Lse Object, Lse Server LSE client of the HotAlarm object => Lse Object, Lse Server Load the output project in the LASAL SCREEN Editor and run the Reference to vari-ables... function.

Expand this function by 1 channel, enter a different station number and select the IP ad-dress of the target system from which the alarm should be visualized.

For the Maeexp.txt file path, the Maeexp.txt file of the external target system must be used!

Version 7.0 Page 463

Page 464: Training Manual LSE

ALARM MANAGEMENT

Page 464 Version 7.0

Page 465: Training Manual LSE

ALARM MANAGEMENT Next create additional alarms (here: AxisError and SchuetzError) and under Short text, assign the entries Axis Error or Schuetz Error. Under Variable, select ClassSvr from the AxisError or Schuetz Error object.

Version 7.0 Page 465

Page 466: Training Manual LSE

ALARM MANAGEMENT To visualize an external alarm, a new alarm must now be created (here: AlarmExternHighPressure). Under Variable, enter ClassSvr from the HighPressure object (external alarm with station number 10).

Page 466 Version 7.0

Page 467: Training Manual LSE

ALARM MANAGEMENT Next open the project in the external target system, go online and trigger an alarm by enter-ing 1 in ClassSvr of the HighPressure object.

Version 7.0 Page 467

Page 468: Training Manual LSE

MERGING PROJECTS

9 Merging Projects 9.1 Import Function With the LASAL SCREEN Editors import function, visualization projects or parts thereof can be merged with other projects. The advantage of merging is, for example, completed and functioning screens from one project can be used in other projects.

In the next example, the Checkbit and Checkbox-Radiobutton projects created earlier are used to exchange components with one another. A screen, check bits and text list are imported from the Checkbit project to the Checkbox-Radiobutton project.

To begin, open the Checkbit project. In this project, the screen Startpicture is exported nd inserted into the Checkbox-Radiobutton button. a

Page 468 Version 7.0

Page 469: Training Manual LSE

MERGING PROJECTS Since a Startpicture with the number 10 is also available in the Checkbox-Radiobutton project, copy the object placed in the Startpicture by selecting Copy from the context menu.

Change to Screen20 and in the context menu; select Paste to add the object to the Startpicture.

Version 7.0 Page 469

Page 470: Training Manual LSE

MERGING PROJECTS To export Screen20, change to the LSE start screen (Visu.lpr) and select Project, Ex-port... from the menu to open the Export window. In this window, all components that can be selected for export are listed. For this example, select Screen20. The Colors, Formula names, Languages, Physical meaning names and Settings elements are activated by default but can be deactivated at any time.

In the Save as window, select the path and name of the export project (here: ExportPro-ject) and click on Save.

Page 470 Version 7.0

Page 471: Training Manual LSE

MERGING PROJECTS The completed export is confirmed with the following information window:

Open the Checkbox-Radiobutton project into which Screen20 should be imported and select Project, Merge... from the menu list.

Version 7.0 Page 471

Page 472: Training Manual LSE

MERGING PROJECTS In the Open window, select ExportProject and click on Open.

The Import window now appears in which various import options can be activated and/or deactivated.

Overwrite Determines whether an element in a project should be overwritten by an imported element.

Page 472 Version 7.0

Page 473: Training Manual LSE

MERGING PROJECTS Skip global screen Indicates whether the global screen should be skipped when merging projects. Deep-merge Indicates whether individual components for objects, windows and screens should be com-pared and imported. Search by name Determines whether screens with the same name should be treated as if their identifiers were the identical (works for windows as well but NOT objects). Click on Details to open the Import Project window. In this window, the elements from both projects are compared. All elements that are the same, changed or new are the dis-played.

Click OK and press the Start button to begin importing.

Version 7.0 Page 473

Page 474: Training Manual LSE

MERGING PROJECTS Once the import is complete, the following information window appears.

Press OK

Page 474 Version 7.0

Page 475: Training Manual LSE

USER DEFINED COMPONENTS

10 User defined Components 10.1 What are User Defined Components

User Defined Components (UDCs) are predefined components that can be used for visuali-zation tasks. UDCs can be selected from a library and placed in a screen, window or object. UDCs components such as an analog clock, gauge instruments and language selection are already available in the library. The user can however, expand this library with self-created components.

Components provided by SIGMATEK cannot be edited. If a new compo-nent is created by the user, the name should not begin with the @ symbol since this identifies SIGMATEK components.

If in a visualization project, special tasks are required, but not available in the UDC library; the user must therfore create them. For the program code of a LASAL CLASS 2 project, UDCs can be created. Once a UDC is created, it can be applied in any other visualization project with little effort.

10.2 Advantages

Version 7.0 Page 475

Page 476: Training Manual LSE

USER DEFINED COMPONENTS 10.3 Applying Available UDCs 10.3.1 Clock With the help of this UDC, an analog clock can be displayed in the destination system.

In the following example, the UDC Clock is used to place an analog clock in a screen.

Project: UDCs

To begin, copy the OutputProject folder and assign it a new name (here: UDCs) then load the LASAL SCREEN Editor (Visu) and LASAL CLASS 2 (Rtk) projects from this new folder. Open the Startpicture and in the Drawing toolbar, left click on the arrow next to the symbol.

the opened menu, select @Clock and expand the size as shown below.

In

Page 476 Version 7.0

Page 477: Training Manual LSE

USER DEFINED COMPONENTS

The face in the placed object indicates a User Defined Component.

Next, double click on the object to open the properties window.

In the properties window select the SysTime server of the SysDateTime object from the field next to Data Source. Switch to the UDC tab. Under Background image, click on the arrow to open the Im-ages window and insert the clock image then set the background color to transparent and click OK.

Version 7.0 Page 477

Page 478: Training Manual LSE

USER DEFINED COMPONENTS

The clock image is provided on the CD.

Click on the Color tab to specify the background and/or pointer color. Under Background, select Transparent for the background color and display the clock in the target system. The color of the clock hands (Color Hour = hour hand or Minute = Minute hand and Color Sec-ond = second hand) can be selected as desired.

Click OK to close the properties window.

Page 478 Version 7.0

Page 479: Training Manual LSE

USER DEFINED COMPONENTS The start picture should now appear as follows:

Save the project and download it to target system. The analog clock is then displayed in the target system with the hands in the previously defined colors.

Version 7.0 Page 479

Page 480: Training Manual LSE

USER DEFINED COMPONENTS 10.3.2 Indicator The indicator component is used to create gauge instruments. By specifying a background image, the start and end position of the pointer as well as the scale division, individual gauge instruments can be created more simply.

In the next example, the indicator UDC is used to display temperature values over a given scale. To begin, a new class with a server for the temperature input is required in LASAL CLASS 2.

tart by selecting the IndiSp

cator UDC from the Drawing toolbar and placing it in the Start-icture next to the clock.

n LASAL CLASS 2, create a new class (heIa

re: Indicator), a SelectTemp server and place n object of this class in the UserNetwork.

Page 480 Version 7.0

Page 481: Training Manual LSE

USER DEFINED COMPONENTS Update the Reference to variables... in the LASAL screen editor then open the component properties window for the indicator and under Data Source, select the SelectTemp server of the objIndicator object.

Set the background of the image to transparent.

Now switch to the UDC tab and insert the tachocelsius0-100_blue image under Back-ground image.

Version 7.0 Page 481

Page 482: Training Manual LSE

USER DEFINED COMPONENTS Now switch to the UDC tab and insert the tachocelsius0-100_blue image under Back-ground image. Through the AngleStart entry the start position of the temperature scale is defined. In this case a value of 215 is necessary, because of the used background image. Under Arc the scale angle can be defined (here: -250 degree). The sign defines whether the indicator should move to the left (+) or to the right (-).

For the settings ValueMin and ValueMax define the values 0 and 100. These are the val-ues limits that should be displayed.

However, both settings are not required here, because the increments are already defined through the tachocelsius0-100_blue image.

The Graduates entry defines the number of scale increments. Via SubGraduates the in-termediate increments can be defined. This will then be graphically displayed.

Page 482 Version 7.0

Page 483: Training Manual LSE

USER DEFINED COMPONENTS

The tachocelsius0-100_blue image can be found on the attached CD.

Click OK to generate the following Startpicture.

Version 7.0 Page 483

Page 484: Training Manual LSE

USER DEFINED COMPONENTS Download the changes to the target system and start the program. In the temperature scale, the needle is points to 0 °C.

In LASAL CLASS 2, enter a temperature in the SelectTemp server (here: 75 °C) so that it’s displayed in the temperature gauge.

Page 484 Version 7.0

Page 485: Training Manual LSE

USER DEFINED COMPONENTS 10.3.3 LanguageSelect LanguageSelect can be used to change between various languages in the target system.

In the following example, the LanguageSelect UDC is inserted into Screen20 of the UDCs project, which will provide a selection between two languages. First the English language (USA) and in LASAL CLASS 2, an object of the _LanguageSelection class is placed.

Place an object of the _LanguageSelection class in the UserNetwork in LASAL CLASS 2 and connect the Lse client with the Lse server of the obj_Lse object in the One network. Next, enter the line width of the language selection menu in the LineWidth client in pixels (here: 200) and in the Config client, enter 0.

At the _LanguageSelection base class the ExtendedScrollBar client has to be initialized with 0.

Save the project and down load the changes to the target system.

Version 7.0 Page 485

Page 486: Training Manual LSE

USER DEFINED COMPONENTS In the LASAL SCREEN Editor, open the Textlists window and create a new text list (here: UDCSelectLanguage) containing the text item Select language here:.

sert the English (USA) into the Languages window nd select the corresponding flags nder Image. Label the respective language under Name.

Inu

a

The German flag and American flag are found on the accompanying CD.

Page 486 Version 7.0

Page 487: Training Manual LSE

USER DEFINED COMPONENTS Select English (USA) and click OK. Next, change the text list entry from German to Eng-lish. The sentence also is shown in the reference language German (Austria).

In Screen20, place a text field containing the newly created text item in a rectangle as shown below. Both objects are given a 3 dimensional effect:

Version 7.0 Page 487

Page 488: Training Manual LSE

USER DEFINED COMPONENTS Next, select the @LanguageSelect UDC from the Drawing toolbar.

Place the UDC in the rectangle and select the background color to match the rectangle.

Page 488 Version 7.0

Page 489: Training Manual LSE

USER DEFINED COMPONENTS Open the UDCs properties window with a double click and select Server0 of the obj_LanguageSelection object for the Data Source setting.

Under Virtual Objectname, enter the object name obj_LanguageSelection and set Write Protected to False.

Version 7.0 Page 489

Page 490: Training Manual LSE

USER DEFINED COMPONENTS Now switch to the UDC tab. Next, set Display Flag to True to display the flag in the target system with its respective language (Germany and USA). With Display State set to True, the option fields for language selection are displayed in the target system. With LineHeight (here: 30), the line height is defined; with LineSpace (here: 5), the distance between lines is defined in pixels. The background for the language select can be added with Back-ground image.

Click OK. Save the project then download it to the destination system and run the program.

Page 490 Version 7.0

Page 491: Training Manual LSE

USER DEFINED COMPONENTS In the destination system, it is now possible to change between both languages with a dou-ble click on the desired option field or flag.

The caption is displayed in the language corresponding to the selection.

Version 7.0 Page 491

Page 492: Training Manual LSE

USER DEFINED COMPONENTS 10.3.4 Oszi With this oscilloscope up to 8 servers can be graphically displayed. Using the Oszi UDC an object of the _OsziLSE class additionally has to be instantiated (placed in a network) in LASAL Class.

Clients and Server of the _OsziLSE class Clients: Lse: This client has to be connected to the server of the _Lse class for correct data ex-

change between both classes. EntryNo: Here the number of data to be saved in the ring buffer is defined. Default value is

500. RecordDateTime: Here it can be defined wheter date and time should be recorded or not

(0 = no, 1 = yes)

Page 492 Version 7.0

Page 493: Training Manual LSE

USER DEFINED COMPONENTS

Server: Server0: This server is simply used to place the object in the LASAL Screen Editor.

InitOk: As soon as this server is <> 0, valid data are available from the system.

XZoom: This server is not used at present. YZoom: Scaling in Y-direction. A value of 1000 means 1:1 (100%). ActChannel: Via this server the current value for the cursor position of the Value server

can be set. First channel = number 0. Value: Shows the current value. The sampling time is set to 10ms by default and can be changed at the OsziLSEBack-ground base class. All channels (maximum 8) are always sampled with the same rate.

Version 7.0 Page 493

Page 494: Training Manual LSE

USER DEFINED COMPONENTS

Activities in the LASAL Screen project:

After Reference to Variables has been run, click on the User Defined Components sym-bol and select @Oszi.

This User Defined Component is then placed on a screen and scaled to the desired size during the left mouse button remains pressed.

In the Component Properties window under Data Source, Server0 of the Oszi class ob-ject placed in LASAL Class is defined. Insert the object name under Virtual Objectname and set Write protected to false.

Page 494 Version 7.0

Page 495: Training Manual LSE

USER DEFINED COMPONENTS In the Component Properties window, the servers must be define, which should be graphi-cally displayed in the oscilloscope. Also the Minimum0 and Maximum0 server range has to be defined.

As you can see on the illustration below for each channel a corresponding color has to be defined under ColorChannel. In order to get a better appearance on the target system, a frame can be defined in the Frame tab.

Version 7.0 Page 495

Page 496: Training Manual LSE

USER DEFINED COMPONENTS On the next illustration, the oscilloscope picture of a server on the target system can be seen. In the Value server of the _OsziLSE object the value is displayed, at which the verti-cal line crosses the recorded line.

As the _OsziLSE class is derived from the _MyIO class, only four further methods are necessary to realize this oscilloscope (Init, InitOszi, Cy-work,CalcOszi). To understand the functionality of this class, substanti-ated knowledge is required.

10.3.5 Scale This Userdefined Component displays a linear scale in the horizontal and vertical directions. In prinicpally, the definition of this scale is divided into 2 diagrams; a horizontal and a verti-cal diagram. This decision is made via the "Horizontal" property. A minimum and a maxi-mum value are also necessary for correct display. These values can be entered as con-stants or servers (limit value). The "Graduates" component defines the number of increments labeled with values. "Sub-Graduates" define the number of sub-increments between two increments. These are not labeled with values. The colors of these increments can also be set in LSE; see Color tab. Example: An object is created called objMyClass, which contains two servers (Value and sUnit). The Value server should be displayed with a scaling in LASAL Screen. The sUnit server is used later as a unit scheme.

Page 496 Version 7.0

Page 497: Training Manual LSE

USER DEFINED COMPONENTS Activities in the LASAL Screen project: After Reference to Variables has been run, click on the User Defined Components sym-bol and select @Scale. Place the UDC on the screen as shown below, then place the Value server as Bar.

Insert the following values at the properties for the UDC and the Bar:

Set the background color to transparent.

Version 7.0 Page 497

Page 498: Training Manual LSE

USER DEFINED COMPONENTS Now create a unit scheme as described below:

In the Data Servers window, enter this unit scheme in the Value server.

ompile and download the complete project and start it. Next, enter the following values in objMyClass in LASAL Class:

C

Page 498 Version 7.0

Page 499: Training Manual LSE

USER DEFINED COMPONENTS The following screen should appear on the ETV:

Now set the sUnit server in the objMyClass object to 1.

How the scale changes depending on the selected unit can now be observed.

Version 7.0 Page 499

Page 500: Training Manual LSE

USER DEFINED COMPONENTS

10.3.6 User Created UDC

In the following example, a user created UDC is placed. The function for this UDC is then programmed in LASAL CLASS 2 using the _MyIO class. The objective of this project is to create a slide control in the destination system.

Project: UseUDC To begin, copy the OutputProject folder and assign it a new name (here: UseUDC), then load the LASAL SCREEN Editor (Visu) and Class 2 (Rtk) projects from this new folder. In the LASAL SCREEN Editor, select Extras, User Defined Components... from the menu bar to open the User defined components... components window.

In this window, users can add their own UDCs to the existing ones.

Page 500 Version 7.0

Page 501: Training Manual LSE

USER DEFINED COMPONENTS Use the Use the

USER DEFINED COMPONENTS

Version 7.0 Page 501

button to create a new UDC (here: Mover). The Background image setting is

available for every new UDC under Choose Properties: by default. Drag & Drop the items available under Available Properties: in the Choose Properties: window to assign the desired properties to the UCD.

Version 7.0 Page 501

Page 502: Training Manual LSE

USER DEFINED COMPONENTS Provide the UDC, Mover, with all the properties shown in the window below and assign then appropriate names:

Page 502 Version 7.0

Page 503: Training Manual LSE

USER DEFINED COMPONENTS The individual properties are used as follows:

Maximum value for the left slide control position.

ValueLeft

ValueRight Maximum value for the right slide control position.

ButtonPorportion Size of the scale in relation to the size of the slide control.

Graduates Number of lines in the scale.

Subgraduates Number of sub divisions with the scale.

ImageButton Slide control image.

Background image Background image (Scale).

Button Color of the controller (if no image is added).

ButtonLeft Color of the upper left of the control frame (if no image is added).

ButtonRight Color of the lower right of the control frame (if no image is added).

Graduates Color of the scale lines.

Subgraduates Color of the sub division lines.

Once all properties are in place, click OK.

In LASAL CLASS 2, the necessary class (here: Mover) containing the required components has been created and the methods programmed. The required project (Project: UseUDC) can be loaded from the CD.

Open the LASAL CLASS 2 project and download it to the target system.

Version 7.0 Page 503

Page 504: Training Manual LSE

USER DEFINED COMPONENTS Update the Reference to variables... in the LASAL SCREEN Editor. Next, select recently created component, Mover, under UDC in the Drawing toolbar.

Expand the UDC in the Startpicture as shown below:

Page 504 Version 7.0

Page 505: Training Manual LSE

USER DEFINED COMPONENTS Double click on the UDC to open the Properties window and for the Data Source setting, select Server0 of the Mover object. Remove the write protection and enter the object name under Virtual Objectname.

Scroll through the Data register until the properties defined in the User defined compo-nent... window are reached.

Assign the settings as shown in the window above. Under ImageButton button, enter Ar-row and under Background image, enter Scale. Both images are provided on the CD.

Version 7.0 Page 505

Page 506: Training Manual LSE

USER DEFINED COMPONENTS Click on the Color tab. Here, User defined colors can be entered in addition to the standard color settings. Assign the color for the scale lines under Graduates and/or SubGraduates (here: Color 15 = white),

The color settings for the Button category are shown only in the destina-tion system when, in the Data tab under ImageButton, no image is se-lected.

nce all settings have been made, press OK. O Save the project and download it to the target system.

Page 506 Version 7.0

Page 507: Training Manual LSE

USER DEFINED COMPONENTS The slide control can now be moved along the scale in the display using the mouse or with the Touch screen.

Version 7.0 Page 507

Page 508: Training Manual LSE

COM INTERFACE _BATCH INTERFACE

11 COM Interface _Batch Interface

The LASAL SCREEN Editor provides instructions with which various processes can be created. For example, projects can be expanded or new projects can be generated auto-matically. In the following example, several of these instructions are used and their function and application explained. The example is written in a text editor in Java script (.js file end-ing). A listing of all instructions available in the LASAL SCREEN editor is found in the LSE Automation document.

11.1 LSE-Automation

11.1.1 Description with Examples

In the next example, the OutputProject is loaded and an object is placed in both screens. With the Project Copy function, a project copy is then created. A third screen is created in the copied project, which is then ex-ported to an individual project. Using the Java script file, the OutputPro-ject is merged with the exported project.

To begin, copy the OutputProject folder and assign it a new name (here: Batch Project) then load the LASAL SCREEN Editor (Batch Project) and LASAL CLASS 2 Project (Rtk) from the new folder. Place an image in the Startpicture.

Page 508 Version 7.0

Page 509: Training Manual LSE

COM INTERFACE _BATCH INTERFACE Place an image in Screen20 as well.

Save the project and select Project, Make Project Copy from the menu bar to create a copy of the project:

If the Make Project Copy menu item is not active, change to the start screen of the LASAL SCREEN editor reopen the menu.

Version 7.0 Page 509

Page 510: Training Manual LSE

COM INTERFACE _BATCH INTERFACE

Next, assign a name in the Save as window (here: Copy of Batch Project.lpr) and click on Save. Open the project copy and create a new screen (here: Screen30) and place a new image.

Page 510 Version 7.0

Page 511: Training Manual LSE

COM INTERFACE _BATCH INTERFACE To export Screen30, select Project, Export from the menu bar.

Activate the control box in the Export window next to Screen30 and click on Export.

A new project is then created from the exported screen (Screen30). In the Save as win-dow, assign a name for the project (here: ExportProject) and press Save. An information window containing the text "Export completed" appears once the export is successfully completed.

Version 7.0 Page 511

Page 512: Training Manual LSE

COM INTERFACE _BATCH INTERFACE

Open a text editor and insert the first four program lines shown below. Remember to save the file with the .js extension (here: MakeSCREEN.js).

In the next step, the projects Batch Project and ExportProject are merged. This is ac-complished using Batch instructions from a Java script file created in a text editor.

var lse = new ActiveXObject ("LASALScreen.Application"); With the LASALScreen.Application identifier, the program is identified as a LASAL SCREEN application. The lse variable is created with var lse. se.LogFileName = "C:\\temp\\work.log";

Through the lse variable, the LogFileName instruction is called. A protocol file is created with this instruction, in which the Javascript file process is also logged and possible errors

wn. With "C:\\temp\\work.log";, the path and name of the log file is defined.

lse.LogLevel = 2; This file determines the logging level. With logging level 2, info messages are also logged in addition to processed methods. var project1 = lse.Open("C:\\LSE\\Batch Project\\Batch Project.lpr"); Through the project1 variable, the lse.open instruction is called. Using this instruction, the LASAL SCREEN Editor in the assigned path is opened.

l

are sho

Page 512 Version 7.0

Page 513: Training Manual LSE

COM INTERFACE _BATCH INTERFACE Insert the next 5 program lines:

The next 5 lines are for the LASAL SCREEN Editors merge function.

project1.MergeParameter.SearchByName = false;

With project1.MergeEx("C:\\LSE\\ExportProject\\ExportProject.lpr");

project1.MergeParameter.Overwrite = true; project1.MergeParameter.SkipGlobalScreen = true; project1.MergeParameter.DeepMerge = false;

project1.MergeEx("C:\\LSE\\ExportProject\\ExportProject.lpr"); The MergeParameter instruction is called through the project1 variable. With this instruc-tion, the settings for the merge function can be made. Each function is set to true or false.

the project, ExportProject, is added to the Batch Project with the defined setting.

Version 7.0 Page 513

Page 514: Training Manual LSE

COM INTERFACE _BATCH INTERFACE

he program line

roject1.ClearCompilationLanguages();

removes all entries from the list of languages to be compiled.

ith

project1.AddCompilationLanguage(3079);

hesis (here: German (Austria) with the number 3079) is added to the languages to be compiled. project1.Compile(); The opened project is now compiled. project1.Save(); The opened project is saved. project1.Close(false); The project is closed.

T p

W

the language in parent

Page 514 Version 7.0

Page 515: Training Manual LSE

COM INTERFACE _BATCH INTERFACE Save the file (here: MakeSCREEN.js).

Close the LASAL SCREEN Editor before executing the script file with a double click!

Once the Java script file has been successfully executed, open the work.log file. In this protocol file, the processing of each instruction is logged. If an error occurs during the op-eration, it is listed in this file.

Open the Batch Project and check if Screen30 was added.

Version 7.0 Page 515

Page 516: Training Manual LSE

TROUBLE SHOOTING

12 Trouble Shooting 12.1 Error Messages in LSE During the compiling process, the above error message is displayed in the Output window of the LASAL SCREEN Editor. With a double click on the error message, the program goes directly to the cause (Object, Text field,...) of the error.

12.1.1 Could not find Text… This message appears in the Output window when text placed in a screen has been de-leted from its text list.

With a double click on the error message, a yellow arrow points to the text field whose text has been deleted from the text list.

Solution: Replace the deleted text in the text list and assign it to the text field in the properties win-dow.

Page 516 Version 7.0

Page 517: Training Manual LSE

TROUBLE SHOOTING 12.1.2 Could not find Textlist… If text was placed from a text list and then deleted from the list, the following message ap-pears in the Output window when compiling:

The error message Could not find Text... also appears when text lists are deleted, since the defined therein is no longer available. With a double click on the error message the error source is located:

Solution: Reinstate the deleted text list with the corresponding text and assign both to the text field in the properties window

Version 7.0 Page 517

Page 518: Training Manual LSE

TROUBLE SHOOTING 12.1.3 Could not find variable… If in the Data Servers window, a variable or a server in a LASAL CLASS 2 object is created and used to place a data field (i.e. a numeric field) then subsequently deleted, the following error message appears in the Output window:

With a double click, the yellow arrow shows the data field:

Solution: Recreate the variable in the Data Servers window and assign it to the data field in the properties window.

Page 518 Version 7.0

Page 519: Training Manual LSE

TROUBLE SHOOTING 12.1.4 Could not find specified Function Block…

If a softkey is created and assigned a function block, which is later deleted, the following message is shown in the Output window:

With a double click on the error message, the softkey window is opened (here: Softkey0). The text --orphaned link-- indicates that a specific link (in this case, to a function block) was not found.

Solution: In the Define Function Blocks... window, replace the deleted function block and select it in the softkey window.

Version 7.0 Page 519

Page 520: Training Manual LSE

TROUBLE SHOOTING

12.2 Error Messages in the Destination System These messages appear in the destination system directly after the program start.

12.2.1 Wrong LSE-Compiler-Version

The following message appears in the destination system when the LASAL SCREEN Editor and LASAL CLASS 2 have different compiler versions.

Solution

In the project settings window under Compiler version:, enter the same version as in LA-SAL CLASS 2 and click OK.

Check the compiler version in LASAL CLASS 2 and open the Project Settings window in the LASAL SCREEN Editor. The correct compiler version can be found in the kernel proper-ties in the _LSE class.

Next, compile the project and download it to the destination system.

Page 520 Version 7.0

Page 521: Training Manual LSE

TROUBLE SHOOTING

This error message appears in the target system when there is no screen in the project defined as the Startpicture, or no screen number 0.

12.2.2 Can't find Startpicture

If a screen is assigned the number 0, it is explicitly designated as the start picture and automatically loaded as Startpicture.

Solution:

the context menu of a screen, select Set as Start Picture to define it as the Startpicture r in the Screen Properties window, assign the value 0 under Screen Nr.

Ino

Version 7.0 Page 521

Page 522: Training Manual LSE

FAQS

13 FAQs

What is a Template Project?

What is the difference between Unicode and ASCII-Code?

What is a global screen and what are they for?

What is the reference language?

What are Checkbits?

What is the difference between the files T_ipc.h and T_USER.h?

What is the Maeexp.txt file and/or the Reference to variables function for?

What are Schemes for?

What is the LASAL Kernel?

13.1 Overview

Page 522 Version 7.0

Page 523: Training Manual LSE

FAQS

What is a Template Project?

A Template Project is a pre-constructed project (a draft or program frame). There are three different default template pro e for the user to define the

jects available to choose from. However, it possiblir own template projects.

What is the difference between Unicode and ASCII-Code?

Unicode is an alphanumeric character set, which is a standardized coding system for text characters from the International Standard Organization (ISO). Unicode is the attempt to group all worldwide text characters in one character set. In addition, special mathematic, ommercial and technical charactec

ter set, rs can be programmed in Unicode. Unicode is a charac-

which uses binary numbers to represent text characters. Character sets are essen-tially tables, which assign text characters a byte value. Each character in Unicode character set is assigned a unique number. ASCII is the abbreviation for "American Standard Code for Information Interchange". It is a standard character set consisting of 128 characters (letters and numbers). ASCII is the text standard for practicall text between different computers and op

y all computers and allows the exchange of erating systems.

What is a global screen and what are they for?

A global screen in provided in every LASAL SCREEN Editor project and can be used at any time. Everything placed in a global screen (text, objects, buttons, etc) is displayed in every screen in the project when the global screen is activated. Through the global screen, impor-tant information such as the project, company name as well as the data and time can be shown in all project screens.

Version 7.0 Page 523

Page 524: Training Manual LSE

FAQS

What is the reference language?

If multiple languages are used in a project, the reference language is the language in which the project was originally created.

What are Checkbits?

With check bits, only one visualization project is needed for two or more machines contain-

g different stages. Check bits are used in a visualization project to change various com-onents such as objects, ply

change their appe

inp windows, screens or variables from visible to invisible or to sim

arance.

What is the difference between the files T_ipc.h and T_USER.h?

The T_ipc.h file is a header file in LASAL CLASS 2. The file contains the configuration set-tings for the kernel (type of the destination system, use of Touch or mouse…). The head file, T_USER.H is used to make configuration changes. Make changes in the T_USER only. Copy and save the file after changing and replace it after updating the _Lse class.

er.H file

What is the Maeexp.txt file and/or the Reference to variables func-tion for?

All components in LASAL CLASS 2 used for visualization in the LASAL SCREEN Editor are stored in the Maeexp.txt file during the compiling process. However, in LASAL CLASS 2, Visualized must be set to True for all required components. In the LASAL SCREEN Editor, the memory location is assigned in the Reference to variables... window and the current information is called with ever change in LASAL CLASS 2.

Page 524 Version 7.0

Page 525: Training Manual LSE

FAQS

What are Schemes for?

Schemes are used to change the status of objects, screens, images, etc. The status changes occur depending on the value of an assigned server. In the destination system, a specified screen, object or image is called based on which value is entered in the server. The value of the server can also depend on a variable; the color of text field, for example, can be changed from red to green or blue based on a temperature (server value).

What is the LASAL Kernel?

he kernel (Firmware) is the terminaTS

l software that interprets the lists created by the LASAL CREEN Editor; the kernel and LSE comprise an inseparable design package for visualiza-

tion projects. When discussing the kernel, the _Lse class included in every LASAL CLASS 2 project is automatically included.

Version 7.0 Page 525

Page 526: Training Manual LSE

APPENDIX

14 Appendix

This command adds a specific value (constant or server) to an existing server. Two pa-rameters are thereby required. The first defines the server and the second provides the number value (or indexed server) to be added.

This function is for maintained for compatibility with earlier versions (MAE); it is no longer required.

Diagnostic

Edit

Edit Kill

14.1 Available functions for function blocks ADD

Alarme

Beep This command triggers a signal tone for the duration defined in Parameter1 in milliseconds. The duration of the signal tone can be tested easily. An integrated buzzer is of course re-quired for this instruction (required hardware).

Opens the Diagnostic window. DEC The server defined in parameter 1; this server is decremented by 1 (server = server – 1).

With the command, the editor in a specified server is opened. The server is defined using the second parameter. This parameter must define a server that is also placed in the actual screen or window.

This command ends an open editor without saving its contents. A parameter is thereby not required. If the contenst of the editor should be saved, the "Edit Save" function must first be called. Edit Save This command functions with only one open editor. The actual content is saved in the server. ELSE When the condition of an IF-Statement is not met, an alternative function can be called with ELSE.

Page 526 Version 7.0

Page 527: Training Manual LSE

APPENDIX

Exit

IF<

IF> The following function is run only if parameter 1 is greater than parameter 2.

IF=

INC The server defined in parameter 1; this server is incremented by 1 (server = server + 1).

Converts to the defined language, whereby the languages are numbered sequentially start-ing from 0. If the value –1 is entered, the next available language is selected.

Menu

END The IF… ELSE… CP statements must be terminated with an END instruction.

This function ends the visualization. Caution, no reset is executed. The Command-Line-Interface does not appear on the screen and all further tasks (i.e. machine programs) con-tinue to run. Only the LSE task is set in the so-called idle mode (image editing is stopped). The LASAL Class programming software or shutting the machine off and on is needed to return the image processing to the "normal mode". Normally, the user does not need this command.

The following function is run only if parameter 1 is less than parameter 2.

The following function is run only if parameter 1 is equal to parameter 2.

Keycode The defined 2-byte value (constant or variable) is interpreted in the target system as a key press. This function is used to simulate a keyboard input with a button or softkey.

Language

LED The defined LED can be switched between ON, OFF and BLINK.

Opens the specified menu through the menu number in parameter 1 or as "Direct Choice". NOP This command has no function and can be used as a placeholder (No Operation).

Version 7.0 Page 527

Page 528: Training Manual LSE

APPENDIX Overload All objects or servers on the screen are loaded by the object or server assigned with pa-rameter 1. The respective data type must match for loading.

Overload Obj Exchanges all servers in a LASAL object with the server of another LASAL object. Parame-ter 1 contains the variable number of the actual object; parameter 2 contains the variable number for the set object.

This command functions like the Overload command, except that only the sections defined in selectiongroup (parameter 2) are loaded.

Updates all text on the screen. Normally this command is not needed, as all text is re-freshed automatically after being changed. Return

Screen

Screen by scheme

Set The server indicated by parameter 1 is set to the value of parameter 2. Parameter 1 must define a server; parameter 2 can also be a constant.

Softkey level This command can be used to switch between the softkey platforms; parameter 1 is thereby the softkey platform (constant or server).

Overload Selection Group

Refresh Text

With this command, the current window is closed or changed from the actual screen to the previous one. This action does not require a parameter. If this instruction is sent with an open window, the window is then closed. Otherwise it changes to the previous screen. If no window is opened and no screen change was made, this command performs no function.

Open a screen with the screen number as parameter 1 or through "Direct Choice" with the Screen name.

Open a screen using a screen name.

SUB This command subtracts a specific value (constant or server) from an existing server. Two parameters are needed, parameter 1 defines a server and parameter 2 gives the value that should be subtracted.

Page 528 Version 7.0

Page 529: Training Manual LSE

APPENDIX Toggle Changes the value in the server given by parameter 1 between 1 and 0 withc each scan.

Window

User Call After the command is sent, the IF_UserCall method is called from the _Global class. Pa-rameter 1 provides the number of the user-defined function. The user-defined function is passed to parameter 2 when required.

Opens a window using the window number in parameter 1 or over "Direct Choice" using the window name.

Version 7.0 Page 529

Page 530: Training Manual LSE

APPENDIX

Page 530 Version 7.0