Prévia do material em texto
Training manual VI−Composer Version 2 Revision 06 / 2006 Mobile Hydraulics Service AutomationPneumatics Linear Motion Assembly Technologies Electric Drives and Controls Industrial Hydraulics didactic from Rexroth. Systematic Success Revision 06 / 2006 VI−Composer Version 2 Impressum Publisher: Bosch Rexroth AG BRC/SAL2 Author: Helmut Kleinhans BRC / SAL2 Impressum Nachdruck, Vervielfältigung und Übersetzung, auch auszugsweise, Herausgeber: nur mit unserer vorherigen schrift- Bosch Rexroth AG lichen Zustimmung und mit Quellen- angabe gestattet. Wir übernehmen keine Haftung für die Übereinstim- mung des Inhalts mit den jeweils geltenden gesetzlichen Vorschriften. Reproduction, copying, or trans- lation of this publication, wholly or in part, only with our previous written permission and with source credit. We assume no responsibility for agreement of the contents with local laws and regulations. Bosch Rexroth AG is exempt from liability, and reserves the right to make changes at any time. Table of content I PROG Chapter 1 IndraWorks VI−Composer Project Language and Basic settings for “IndraWorks” 1 Generation of a new “IndraWorks” Project 2 Generation of a new “IndraWorks” Project (continuation) 3 Definition of communication channel for IndraLogic L40 (Hardware−PLC) 4 Definition of communication channel for IndraLogic L40 (Hardware−PLC) 5 Completion of communication setup / creation of the new project 6 Communication with a “L40” (Hardware − PLC) 7 IndraWorks / IndraLogic directory structure 8 IndraWorks / IndraLogic Basic settings 9 Configuration of VCP−Profibus−DP Modules 10 Configuration of VCP−Profibus−DP Modules 11 Configuration of VCP−Profibus−DP Modules 12 Configuration of VCP−Profibus−DP Modules 13 Configuration of VCP−Profibus−DP Modules 14 Setup of the Profibus−DP transmission rate 15 Callup of “IndraLogic”, checking the Profibus−DP Configuration 16 Setting the basic parameters for IndraLogic − “Symbol configuration” 17 IndraLogic − “Target settings” 18 Compile IndraLogic program 19 Checking the generated “Symbol file” 20 Checking the generated “Symbol file” 21 Load PLC−Program and Profibus−DP Configuration into PLC−Controller 22 INST Chapter 2 VI−Composer Installation VI−Composer Installation from CDROM 1 VI−Composer Installation from CDROM (continuation) 2 VI−Composer Installation from CDROM (continuation) 3 VI−Composer Installation from CDROM (continuation) 4 VI−Composer Installation from CDROM (continuation) 5 VI−Composer Installation from CDROM (continuation) 6 Table of content II HARD Chapter 3 VCP20 Hardware and Setup VCP20 Front view and technical data 1 VCP20 Rear view and interface connectors 2 First time installation − IP−Address Setup 3 First time installation − IP−Address Setup 4 First time installation − IP−Address Setup 5 First time installation − IP−Address Setup 6 MANAG Chapter 4 VI−Composer Project Management Create new VI−Composer Project 1 Create new VI−Composer Project 2 VI−Composer − Workspace 3 Selection of Profibus transport layer with “PLC−Controller” 4 Selection of Ethernet TCP/IP transport layer with “PLC−Controller” 5 Selection of “Symbol file “ from associated IndraLogic project 6 Read / Display of IndraLogic variables 7 Adapt “Language name” 8 Selection of Font Coding for text variables from “PLC−Controller” 9 Setup of “Project” parameters “Language” and “Communication” 10 Setup of “Project“ parameters “Font Type” and “Font Size” 11 Setup of “Project“ base screens 12 Setup of “System” polling parameters 13 Adapt “Project name” 14 Compile VI−Composer − Project (Generation of Download − File) 15 Upload compiled “Download” − Project file into VCP−Panel 16 Upload compiled “Download” −Project file into VCP−Panel 17 Table of content III MASK Chapter 5 VI−Composer Mask creation Add a new user specific mask to an existing project 1 Add a partial screen to a full screen 2 Enter “Static text” into a mask 3 Enter a “Text field” into a screen 4 Enter a “Text field” into a screen 5 Modify existing Text / Text parameters 6 Control “Static text” and “Text field” with variables from the PLC 7 Copy, move and cut objects 8 Assignment of a “Screen” to a “Function” key 9 Assignment of a “PLC−Variable” to a “Function” key 10 Assignment of a “PLC−Variable” to a “Function” key 11 Adding ASCII − Semi−Graphic characters to an existing screen 12 Adding ASCII − Semi−Graphic characters to an existing screen 13 Adding ASCII − Semi−Graphic characters to an existing screen 14 Adding ASCII − Semi−Graphic characters to an existing screen 15 Add variables to a user specific mask 16 Add variables to a user specific mask 17 Add variables to a user specific mask 18 Creation of a “Text list” (Example : Days of week) 19 Adapt “Text list“ name 20 Using a “Text list” on a screen 21 Using a “Text list” on a screen 22 Add a “Button” to a user specific screen 23 Add a “Button” to a user specific screen 24 Add “Text” to a “Button” in a user specific screen 25 Add “Text” to a “Button” in a user specific screen 26 Add “Arrays” to be displayed in the “Table field” to your PLC−Program 27 Fill “Arrays” to be displayed in the “Table field” with “Data” 28 Add a “Table field” to a user specific screen 29 Add a “Variables” to the a “Table field” in a user specific screen 30 Add a “Variables” to the a “Table field” in a user specific screen 31 Add “Variables” to the PLC−Program to control the “Serial” messages 32 Control program to sent the “Serial” message to the VCP−Panel 33 Add a “Serial − Message field” to a user specific screen 34 Activate the “Serial” message channel 35 Setting the update time for the “Serial” message channel 36 Table of content IV MASK Chapter 5 VI−Composer Mask creation Setting the PLC−Variable to delete serial messages on the VCP−Panel 36 Definition of the “Serial” message text 37 Add “Variables” to the PLC−Program to control the “Screen” selection 38 Control program to switch to another new “Screen” on the VCP−Panel 39 Assign a PLC−Variable to read the active Screen from the VCP−Panel 40 Add a new “Screen Reference List” to an existing project 41 Select “PLC−Variable / Function key” to be used with the “Screen List” 42 Bitmap images with user specific masks (Background image) 43 Bitmap images with user specific masks (Background image) 44 Bitmap images with user specific masks (Background image) 45 Add “Variables” to the PLC−Program to control the “Bitmap Image list“ 46 PLC−Program to control the “Bitmap Image list“ 46 Create “Bitmap” image lists with user specific masks 47 Creat “Bitmap” image lists with user specific masks 48 Create Bitmap image list 49 Create Bitmap image list and assign PLC−Variable for selection 50 Create Bitmap “Image list variable” on a screen 51 Create Bitmap “Image list variable” on a screen 52 Table of content V SCRIPT Chapter 6 VI−Composer Script language General information Script Language 1 Integrated Script Editor 1 Scope of variables in scripts 2 Script Operators 3 Comparison Operators 3 Data Types 3 Script Keywords 4 Script Control Structures 5 Script program structures 6 Script program structures 7 Script program structures 8 Adding a new Script Variable to the Project 9 Adding a new Script to the Project 10 Define the Execution Parameters of a script 11 Assignment of a Script to a screen 12 Sample Script − Writing a Local variable to a Script variable 13 Sample Script − Writing a Script variable to a Local variable 13 Sample Script − Writing a Local variable to a System variable 14 Sample Script − Writing a System variable to a Local variable 14 Sample Script − Writing a System variable to a Script variable 14 Sample Script − Writing a Local / Script variable to a PLC variable 15 Sample Script − Writing a PLC variable to a Local / Script variable 15 Sample Script − Calling a Subroutine no Parameters, no Return−Value 16 Sample Script − Calling a Subroutinewith Parameters, no Return−Value 16 Sample Script − Calling a Subroutine with Parameters and Return−Value 16 Sample Script − “If / Else” Control structure 17 Sample Script − “While” Control structure 17 Syntax for Methods of ContollerVar Class 18 Syntax for Methods of ContollerVar Class 19 Syntax for Methods of SysVar Class 20 Syntax for Methods of ScriptVarString− Class 21 Syntax for Methods of ScriptVarString− Class 22 ©20066 Bosch Rexroth AG Reproduction, copying, or translation of this publication, wholly or in part, only with our previous written permission and with source credit. We assume no responsibility for agreement of the contents with local laws and regulations. Bosch Rexroth AG is exempt from liability, and reserves the right to make changes at any time. IIndraWorks VCP−Panel Project Chapter 1 IndraWorks VCP−Panel Project CHAP 1IndraWorks VCP−Panel Project 1 Language and Basic settings for “IndraWorks” Click onto “Tools / Options”, to set the basic parameters of “IndraWorks” Default directory for “IndraWorks” projects Language setting for User Interface Menu parameters CHAP 1IndraWorks VCP−Panel Project 2 Generation of a new “IndraWorks” Project 1. Click onto “Drive and Control“, to display the available “Target Systems” 2. Click onto “File” and select “New / Project” 3. Enter the name of the new project, and select the directory, into which you want to store the project 4. Take over the new settings by clicking onto the “Create” button CHAP 1IndraWorks VCP−Panel Project 3 Generation of a new “IndraWorks” Project (continuation) 5. Select desired “Target System” with the left mouse button and keep the left mouse button pressed 6. Drag the selected “Target System” with the left mouse button still pressed onto the “Project name” and release the left mouse button as soon as a line is displayed below the “Project name” 7. Enter the name of the new “IndraWorks” project 8. Click onto the “Next” button to continue CHAP 1IndraWorks VCP−Panel Project 4 Definition of communication channel for IndraLogic L40 (Hardware−PLC) 11. Click onto “Gateway”, to setup the parameters for a local “Gateway − Server” 12. Select “Local” 9. Selct the Firmware version of the PLC−Controller that you have selected on the previous page 10. Click onto the “Next” button to continue CHAP 1IndraWorks VCP−Panel Project 5 Definition of communication channel for IndraLogic L40 (Hardware−PLC) 14. Select “Tcp/Ip (Level 2 Route)” for the communication channel 13. Click onto “New” to create a new communication channel 16. Enter the IP−Address of the “L40” controller to which you want to make a connection and confirm the input by pressing the “Enter” key 15. Open the input field for the IP−Address by double clicking onto “localhost” 17. Apply new settings by clicking onto the “OK” button CHAP 1IndraWorks VCP−Panel Project 6 Completion of communication setup / creation of the new project Communication via a local Gateway−Server (L40) Note ! by clicking with the right mouse button onto the icon “Logic”, the communication window can be called up again by selecting “Properties” CHAP 1IndraWorks VCP−Panel Project 7 Communication with a “L40” (Hardware − PLC) IndraLogic Programming System − Target System “L40” Hardware − PLC (VxWorks) External PC with IndraWorks / IndraLogic Communication via “Gateway” with “Local” (IP − 192.168.1.11) L40 Network adapter (e.g. IP−Address = 192.168.1.50) Integrated network adapter (e.g. IP − 192.168.1.11) Gateway − Server CHAP 1IndraWorks VCP−Panel Project 8 IndraWorks / IndraLogic directory structure “IndraLogic” Project directory PLC−Program files IndraWorks “Project” directory “IndraLogic” Program directory CHAP 1IndraWorks VCP−Panel Project 9 IndraWorks / IndraLogic Basic settings 1. Select the icon “Logic” with the left mouse button, press the right mouse button and select “Properties” 2. Activate the function “Generate symbol file” and “Send symbol file” by clicking with the left mouse button on it 3. Check, if the directory for the I/O Configuration (GSD − Files) is correct Default setting : C:\Program files\Rexroth\IndraWorks\IndraLogic\Targets\Config\ IndraLogic “File” Menu CHAP 1IndraWorks I/O − Configuration 10 Configuration of VCP−Profibus−DP Modules 1. Click onto the button “Periphery” and select “ProfibusDP / MMI“ 2. Select “VCP operating terminal“ with the left mouse button, and keep the mouse button pressed 3. Drag the selected “VCP operating panel” with the left mouse button still pressed onto the icon “Profibus/M” or another existing module, and release the left mouse button as soon as two little squares are displayed CHAP 1IndraWorks I/O − Configuration 11 Configuration of VCP−Profibus−DP Modules 5. Enter the Profibus−DP station address of the VCP operating terminal module 4. Double click with the left mouse button onto the the VCP−Module, 6. Enter the I/O Start address for the VCP−I/O Interface and click onto the “Apply” button CHAP 1IndraWorks I/O − Configuration 12 Configuration of VCP−Profibus−DP Modules 7. Click onto tab “Vendor−specific data” 8. Select “On (=1)” in the “Parameter value” field (Double click onto field to callup selection box) 9. Double click onto field “0” to activate the setting (a “01” must be displayed in the “0” field) 10. Click onto tab “X” button, to close the window 11. Select the number of bytes to be used for the communication between the PLC and the VCP20 panel (32 Bytes recommended) CHAP 1IndraWorks I/O − Configuration 13 Configuration of VCP−Profibus−DP Modules 12. Drag the selected “Number of Bytes” with the left mouse button still pressed, onto the icon of the previously inserted “VCP−Module”, and release the left mouse button as soon as two little squares are displayed 13. Double click with the left mouse button onto the the I/O−Byte icon CHAP 1IndraWorks I/O − Configuration 14 Configuration of VCP−Profibus−DP Modules 15. Enter the I/O − Start address, and take over the new address by clicking onto the “Apply” button (Note ! I/O Address has to be the same as the one entered into the VCP−I/O window, on one of the previous pages) 16. Check, if the entered I/O−Adresses are taken over into the I/O Module 14. Click onto tab “I/O settings” 17. Check, if you have “Byte” or “Word” addressing mode active CHAP 1IndraWorks I/O − Configuration 15 Setup of the Profibus−DP transmission rate 1. Open the “Bus parameter window” by double clicking onto the “Profibus / M ” icon 2. Adapt the transmission rate according to the specification of the used I/O−Modules Note ! For the first time installation, it is recommended to set the “Transmission” rate to 1500kBit. As soon as the Profibus−DP runs in an error free state, the “Transmission” rate can be increased to the maximum value. CHAP 1IndraWorks PLC−Program 16 Callup of “IndraLogic”, checking the Profibus−DP Configuration 1. Callup “IndraLogic” by double clicking with the left mouse button onto the icon “Logic” 2. Click onto the tab “Resources” and open the I/O−Configuration window by double clicking with the left mouse button onto “PLC Configuration” (<R> = is managed by “IndraWorks”) 3. Check, if the I/O−Configuration was taken over from “IndraWorks” without errors CHAP 1IndraWorks PLC−Program 17 Setting the basic parameters for IndraLogic − “Symbol configuration” 2. Click onto “Symbol configuration“, to check the active settings 1. Click onto “Project / Options“, to setup the basic parameters The following options are available: Export variables of objects • All variables of the selected objects are taken over into the “Symbol file” Export data entries • for structures and arrays of an object entries for the access to the main variable are generated Export structure components • for each variable in a structure, an individual entry is made in the “Symbol file” Export array entries • for each element of an arrayan individual entry is made in the “Symbol file” Write access • all variables in the “Symbol file” are enabled for “Write” access 3. Select all objects from which the variables have to be stored into the “Symbol file” CHAP 1IndraWorks PLC−Program 18 IndraLogic − “Target settings” Function The settings made here, are used to configure the handling of the “Symbol file”. The “Symbol file” is required for the data exchange between the PLC and the VCP20 Settings • If the option “Dump symbol entries” is activated, all project variables will be stored automatically into the “Symbol file” during the compiler run (Programname.SYM) • If the option “Dump XML Symbol table” is activated, all project variables will be additionally stored into a XML−Version of the “Symbol file” (Programname.SYM_XML) • both files will be stored into the IndraLogic program directory directory (\_Emb_Logic) Depending on the selected “Target System”, certain functions can be set / reset by “IndraLogic” using “Resources / Target System / General” Note ! Adaptions of the functions is only possible, if the “Target System” is checked out from the ENI−Database Byte addressing mode The assigned Profibus−DP” start addresses are defined as “Bytes”, the addresses in the program are set to “Word” addressing mode by “Default”. Please check which addressing mode is used and adapt accordingly. CHAP 1IndraWorks PLC−Program 19 Compile IndraLogic program 1. Select “Project / Rebuild all” and compile the IndraLogic project 2. Check, if the project was compiled without errors CHAP 1IndraWorks PLC−Program 20 Checking the generated “Symbol file” In order to see, if the variables of the program are included in the “Symbol file”, the file should be checked using an “ASCII − Editor” like “Notepad” 1. Select “Resources / Workspace / Directories”, to see the directory into which the generated “Symbol file” is stored to 2. Select directory in which the “Symbol file” is located, using “Windows Explorer” CHAP 1IndraWorks PLC−Program 21 Checking the generated “Symbol file” 3. Open the “Symbol file” with an “ASCII − Editor” like “Notepad” CHAP 1IndraWorks PLC−Program 22 Load PLC−Program and Profibus−DP Configuration into PLC−Controller 1. Select “Online / Login” and load the IndraLogic project into the PLC−Controller 2. After loading is completed, start the PLC− Program using “Online / Run” ©2005 Bosch Rexroth AG Reproduction, copying, or translation of this publication, wholly or in part, only with our previous written permission and with source credit. We assume no responsibility for agreement of the contents with local laws and regulations. Bosch Rexroth AG is exempt from liability, and reserves the right to make changes at any time. CHAP 2VI−Composer Installation I Chapter 2 VI−Composer Installation CHAP 2VI−Composer Installation 1 VI−Composer Installation from CDROM The following operation sequence installs the VI−Composer−Software on your hard drive. During installation all required files will be copied into the selected directory and the Windows system files will be updated. To install the VI−Composer−Software, please follow the steps below: 1. Insert VI−Composer − CDROM into your CDROM−Drive 2. Wait until the Startup−screen of the VI−Composer − CDROM is displayed (takes between 10s and 20s) 3. Select the desired language in which VI−Composer is to be installed continuation on next page CHAP 2VI−Composer Installation 2 VI−Composer Installation from CDROM (continuation) 4. Click onto “Install VI−Composer” to callup the installation start screen Possible functions Documentation − A selection of manuals in “PDF” format is displayed, if required, ACROBAT Reader can be installed Select Language − System returns to “Language” selection screen Exit − Cancel installation, return to Windows continuation on next page CHAP 2VI−Composer Installation 3 VI−Composer Installation from CDROM (continuation) 5. Start installation by clicking with the left mouse button onto the “Next” button 6. Confirm the acceptance of the license agreement with a click onto the “Yes” button Yes No • Accept license agreement and continue with next dialogue • Do not accept the license agreement and cancel installation < Back • Return to previous dialogue screen continuation on next page CHAP 2VI−Composer Installation 4 VI−Composer Installation from CDROM (continuation) 7. Enter user related information Next > Cancel • go to next dialogue screen of VI−Composer installation and take over user information • Cancel installation and return to installation startup screen < Back • Return to previous dialogue screen 8. Select the directory into which you want to install VI−Composer Next > Cancel • go to next dialogue screen, and take over selected installation directory • Cancel installation, return to VI−Composer Installation startup screen < Back • Change installation directory to another name • return to previous dialogue screen Change continuation on next page CHAP 2VI−Composer Installation 5 VI−Composer Installation from CDROM (continuation) 9. Select type of installation (”Typical” should be sufficient for most users) 10. Click onto button “Install”, to install the VI−Composer−Files CHAP 2VI−Composer Installation 6 VI−Composer Installation from CDROM (continuation) 11. Click onto the “Finish” button to restart your computer 12. Wait until the computer is rebooting, do not click any buttons while you wait ©2005 Bosch Rexroth AG Reproduction, copying, or translation of this publication, wholly or in part, only with our previous written permission and with source credit. We assume no responsibility for agreement of the contents with local laws and regulations. Bosch Rexroth AG is exempt from liability, and reserves the right to make changes at any time. CHAP 3VI−Composer Installation I Chapter 3 VCP20 Hardware and Setup CHAP 3VCP20 Hardware & Setup 1 VCP20 Front view and technical data Electrical data Supply voltage 24 V DC Min. voltage 18 V Max. voltage 30 V Current consumption 0,2 A Power consumption 4,8 W Fuse Electronic fuse, self healing Display Type FSTN Resolution 320 x 240 Pixel Colors 5 Gray scales Viewing angle 90° Contrast adjustment Temperature compensated Life time background light 30.000 hours Display dimensions 57,6 mm x 76,8 mm (H x W) Processor and Memory Processor RISC ARM9 Frequency 200 MHz Additional features Watchdog−Timer, Real Time Clock, Battery monitoring User Memory 3 MByte CHAP 3VCP20 Hardware & Setup 2 VCP20 Rear view and interface connectors Profibus−DP connector 24v DC Supply voltage USB connector Type A Ethernet connector Protective ground Profibus Diagnosis LED 3 + 24V 2 0V 1 Protective ground CHAP 3VCP20 Hardware & Setup 3 First time installation − IP−Address Setup 3. Press button for 3 seconds, than release the button and wait until the following screen is displayed Launch V1.20 Admin Setup Main Menu 4. Press button again, while above screen is displayed Update Registry IP Settings Exit Contrast Information 5. Use button to select “IP Settings” 8. Press to activate selection 1. Disconnect VCP−Panel from supply voltage 2. Connect VCP−Panel to supply voltage Fix Settings Current Ip DHCP home Device Name 7. Use button to select “Fix Settings” 6. Press to activate selection CHAP 3VCP20 Hardware & Setup 4 First time installation − IP−Address Setup OK **** Cancel 9. Use button to select “IP Address“ 10.Press to activate selection 13 . Use buttons to select and number keys to enter the numbers 12.Press to confirm password IP Address Gateway DNS home WINS Please enter password 11.Enter “+ − + −” as password (no spaces in between) OK Cancel IP Mask 192.168.1.41 255.255.255.0 14.When completed, select “OK” button and press IP Address Gateway DNS home WINS 15.Use button to select “home“ 16.Press to activate selection CHAP 3VCP20 Hardware& Setup 5 First time installation − IP−Address Setup 17.Use button to select “home“ 18.Press to activate selection Fix Settings Current Ip DHCP home Device Name Update Registry IP Settings Exit Contrast Information 19.Use button to select “Registry“ 20.Press to activate selection Save Registry SETUP Settings home 21.Use button to select “Save Registry“ 22.Press to activate selection Registry saved OK 23.Press to exit window CHAP 3VCP20 Hardware & Setup 6 First time installation − IP−Address Setup 24.Use button to select “home“ 25.Press to activate selection Update Registry IP Settings Exit Contrast Information 26.Use button to select “Exit“ 27.Press to activate selection Save Registry SNTP Settings home 28. VCP20 − Panel is automatically rebooted Note ! The new settings are only activated after a Power Off / ON of the panel 29. Disconnect VCP20 − Panel from power and reconnect it, in order to activate the new IP−Address ©2005 Bosch Rexroth AG Reproduction, copying, or translation of this publication, wholly or in part, only with our previous written permission and with source credit. We assume no responsibility for agreement of the contents with local laws and regulations. Bosch Rexroth AG is exempt from liability, and reserves the right to make changes at any time. CHAP 4VI−Composer Project Management I Chapter 4 VI−Composer Project Management CHAP 4VI−Composer Project Management 1 Create new VI−Composer Project 2. Select the “Language” you want to use 3. Select the “VCP−Panel” for which you want to create the project 4. Click onto button “Next” to open the “Project” name window 5. Click onto the “Browse” button to open the “Explorer” window, in order to select the “Directory” and to enter the “Project name” 6. Click onto the “Next” button, 1. Select “New” in the “File / Project folder” menu CHAP 4VI−Composer Project Management 2 Create new VI−Composer Project 7. Select communication channel “BRC symbolic” 8. Click onto the “Finish“ button to generate new project 9. Check, if you have selected the correct parameters CHAP 4VI−Composer Project Management 3 VI−Composer − Workspace Project structure window − in this window the complete project structure is displayed − if an entry has the “+” sign in front, than subentries can be displayed by clicking onto the “+” sign − inside the project window, existing entries can be copied or moved by using the “Drag & Drop” function Property window − the properties of the selected object is displayed in this window Tool window − this windows contains all tools, to create objects, variables and texts in a screen CHAP 4VI−Composer Project Management 4 Selection of Profibus transport layer with “PLC−Controller” 1. Select “BRC Symbolic” with the right mouse button and select “Parameters” 2. Select “Profibus” and click onto “Parameter” button 4. Click onto “OK” button, to take over the new settings 3. Enter the Profibus−Station Address, which you have assigned to the VCP−Panel in the Profibus−Configuration of the your IndraWorks−Project CHAP 4VI−Composer Project Management 5 Selection of Ethernet TCP/IP transport layer with “PLC−Controller” 1. Select “BRC Symbolic” with the right mouse button and select “Parameters” 2. Select “Ethernet” and click onto “Parameter” button 4. Click onto “OK” button, to take over the new settings 3. Enter IP−Address of the PLC−Controller to which you want to connect the VCP−Panel CHAP 4VI−Composer Project Management 6 Selection of “Symbol file “ from associated IndraLogic project 5. Enter name for “Communication” channel 6 Click onto “Browse” button to select the “Symbol” file of the associated “IndraWorks” project 7. Select the “Symbol” file, which is to be used for communication and confirm selection by clicking onto the “Open” button CHAP 4VI−Composer Project Management 7 Read / Display of IndraLogic variables 8. Take over the new settings by clicking onto the “OK” button 9. Click with the right mouse button onto “BRC Symbolic”, and select “Edit” 10. The newly imported variables from the associated “IndraLogic” project are displayed CHAP 4VI−Composer Project Management 8 Adapt “Language name” 2. Change name of language from e.g. “First language” to “English“ 1. Select “Languages / First language”, press right mouse button and select “Rename” 3. Check new language name CHAP 4VI−Composer Project Management 9 Selection of Font Coding for text variables from “PLC−Controller” 1. Click with the left mouse button onto “BRC Symbolic“ 2. Click onto “Coding” 3. Select “Unicode 16 Bit” Note !. This selection is necessary, if “String” variables from your PLC−Controller” are to be used in “Scripts” or if they are to be displayed on a VCP−Screen. In some cases, the compiler will output an error message, if this is left at the default setting of “ISO 8859−1 (Latin−1) CHAP 4VI−Composer Project Management 10 Setup of “Project” parameters “Language” and “Communication” 1. Select “Project management” / L40_Robot1” 2. Select “Languages” 3. Select desired language in left window and click onto button “>” to take it over into the right window 4. Select “Communication” 5. Select desired communication channel in left window, click onto button “>” to take it over into the right window CHAP 4VI−Composer Project Management 11 Setup of “Project“ parameters “Font Type” and “Font Size” 1. Select “Languages” / English” 2. Select “Standard format” 3. Select an existing font or add a new font by clicking onto “New font ..” button Important note ! By selecting a new font in a project with existing masks, all texts and variables on all masks, will be changed to the new font next time when the project is recompiled. This can cause an overlapping of the existing objects on masks, and the compiler will return lots off errors CHAP 4VI−Composer Project Management 12 Setup of “Project“ base screens 1. Select “Languages” / English” 2. Select “Base screens” 3. Select existing screens that you want to use as base screens in your project e.g. − Startup screen with your company logo − the Main screen which is selected after the startup screen display time has elapsed, and from which you can select the other screens of your project CHAP 4VI−Composer Project Management 13 Setup of “System” polling parameters Note ! For normal operation the “Default” setting with “No link” can be used 1. Select “Supplementary functions” 4. Select “Polling area” 3. Set the polling times as high as possible, but small enough to have an update time, which can recognize all events 5. Select the variables and the size of the polling area, that you want to use to communicate with the PLC−Controller Size in byte Write coordination byte−1 Byte or 1 Word Serial message channel − 2 Bytes or 1 Word Led controlling − up to 12 Bytes or 6 Words 2. Select “Polling times” CHAP 4VI−Composer Project Management 14 Adapt “Project name” 2. Change name of project from e.g. “First project” to “L40_Robot1“ 1. Select “Project management” / First project”, press right mouse button and select “Rename” 3. Check new project name CHAP 4VI−Composer Project Management 15 Compile VI−Composer − Project (Generation of Download − File) Note ! If errors are found during the compilation process, no “Download” − File will be generated. If warnings are displayed, a “Download“ − File is generated, but it is recommended to check and correct the warnings 1. Click onto the project that is to be compiled, press the right mouse button and select “Create” CHAP 4VI−Composer Project Management 16 Upload compiled “Download” − Project file into VCP−Panel 1. Click onto the project that is to be uploaded, press the right mouse button and select “Download” 2. Enter the IP−Address of the VCP−Panel into which you want to upload the project e.g. 192.168.1.41 3. Click onto the “Start” button to start the uploading of the project CHAP 4VI−ComposerProject Management 17 Upload compiled “Download” −Project file into VCP−Panel 4. Upload process is running 3. Click onto the “OK” button to return to the project window 5. When upload process is completed, click onto the “OK” button ©2005 Bosch Rexroth AG Reproduction, copying, or translation of this publication, wholly or in part, only with our previous written permission and with source credit. We assume no responsibility for agreement of the contents with local laws and regulations. Bosch Rexroth AG is exempt from liability, and reserves the right to make changes at any time. CHAP 5VI−Composer Mask Creation I Chapter 5 VI−Composer Mask Creation CHAP 5VI−Composer Screen Creation 1 Add a new user specific mask to an existing project • Enter the texts, variables, graphic characters and bitmap images to be displayed in this user specific display 1. Select “Language name” / “Screens”, press the right mouse button and select “New screen” 3. Close all other windows by clicking onto the “x” button 2. Enter name of new screen and the screen number you want to assign to it 4. Click onto “Zoom in” button to enlarge screen display CHAP 5VI−Composer Screen Creation 2 Add a partial screen to a full screen 1. Press the right mouse button and select “linked partial screens ..” 2. Select the partial screen that you want to add to your full screen and take it over into the right window, by clicking onto the “>” button 1. Click onto the “OK” button to insert the partial screens CHAP 5VI−Composer Screen Creation 3 Enter “Static text” into a mask 1. Select “Static text” in the “Tools” window 2. Position your cursor at the position where you want to enter the text 3. Enter the desired text 4. Click onto “Cursor” to deselect “Static text” Note ! Online one line of text can be entered, no line breaks CHAP 5VI−Composer Screen Creation 4 Enter a “Text field” into a screen 1. Select “Text field” in the “Tools” window 2. Position cursor at position where you want to start the text field, press the left mouse button and move the mouse, until field has the desired size, than release mouse button 3. Adapt the parameters of the text filed 4. Click onto button “Finish” to return to the screen 4. Enter text and select the alignment of the text CHAP 5VI−Composer Screen Creation 5 Enter a “Text field” into a screen 5. Click onto “Cursor” to deselect “Static text” Note ! The difference between a “Static text” and a “Text field” is only the multiple line and the alignment options. It is not possible to display a dynamic text in both objects. For dynamic texts a “Variable” object has to be used. CHAP 5VI−Composer Screen Creation 6 Modify existing Text / Text parameters 1. Double click onto the text object to callup the property window 2. Alter text and text parameters CHAP 5VI−Composer Screen Creation 7 Control “Static text” and “Text field” with variables from the PLC 1. Double click onto the text object to callup the property window 2. Click onto button “Dynamic attributes” 3. “PLC_Variable” (Type DINT / INT) used to control the text attributes Order of operation 1. Enter value range into fields “Lower limit” and “Upper limit” 2. Select the text attributes you want to activate if a number inside of the range is contained in the PLC−Variable e.g. underline, invisible, foreground and background colour 3. Click onto “Assign” button, to takeover your selection into the Dynamic attribute window 4. Go back to point 1. to define another control range with attributes Important note ! No overlapping of the ranges entered ínto the “Lower limit” and “Upper limit” fields is permitted CHAP 5VI−Composer Screen Creation 8 Copy, move and cut objects 2. Select the object which is to be copied by clicking with the left mouse button on it 3. Press the right mouse button and select “Copy” or “Cut” 4. Press the right mouse button and select “Paste“ 1. Click onto “Cursor” in the “Tool” window 5. Select the object by clicking with the left mouse button on it, and keep the mouse button pressed 6. Drag the object to it’s new position and release the left mouse button, at the desired position CHAP 5VI−Composer Screen Creation 9 Assignment of a “Screen” to a “Function” key 1. Select screen by double clicking on the screen name 2. Select parameter “Function key” 3. Click onto button “Edit” 4. Double click onto the field “Image” and select the screen which is to be called up, when the selected “Function key” is pressed CHAP 5VI−Composer Screen Creation 10 Assignment of a “PLC−Variable” to a “Function” key 1. Select screen by double clicking on the screen name 2. Select parameter “Function key” 3. Click onto button “Edit” 4. Double click onto the field “Press var” and select the variable which is to be affected when the selected “Function key” is pressed CHAP 5VI−Composer Screen Creation 11 Assignment of a “PLC−Variable” to a “Function” key 5. Enter the status (1) which is to be stored into the “Press var” into field “Action”, 6. Double click onto the field “Release var” and select the variable which is to be affected when the selected “Function key” is released 7. Enter the status (0) which is to be stored into the “Release var” into field “Action”, CHAP 5VI−Composer Screen Creation 12 Adding ASCII − Semi−Graphic characters to an existing screen 3. Select the font type that you want to use e.g. “Courier New” 4. Select the characters that you want to insert ((F5 repeats the last selection) 5. When you have finished your inputs, click onto the button “Select” Note ! ASCII− Semi−Graphic characters are treated like normal text. This means that they can be used together with “Static Text” and “Text fields”. However it is recommended to use a “Text field” when you want to draw lines. It is also recommended to use a fixed type font like ”Courier New” or “Suetron_Uni_12−13 pixelopt.” when you draw lines 2. Click onto button “Symbol table” 1. Click onto “Cursor” in the “Tool” window CHAP 5VI−Composer Screen Creation 13 Adding ASCII − Semi−Graphic characters to an existing screen 4. Select the characters that you want to insert by double clicking on them 5. When you have finished your inputs, click onto the button “Copy” to insert the displayed characters into the Windows “Clipboard”) 7. Select “Text field” in the “Tools” window 8. Position cursor at position where you want to start the text field, press the left mouse button and move the mouse, until field has the desired size, than release mouse button 9. Click onto button “Next” 6. Click onto the “x” button to close “Symbol table” CHAP 5VI−Composer Screen Creation 14 Adding ASCII − Semi−Graphic characters to an existing screen 11. Select the font type that you want to use e.g. “Courier New” 10. Press the right mouse button and select “Insert” 12.Click onto button “Finish” to return to the screen CHAP 5VI−Composer Screen Creation 15 Adding ASCII − Semi−Graphic characters to an existing screen 13. Click onto “Cursor” in the “Tool” window 14. Add now the other lines into the same “Text field” by repeating the operation, until your drawing is complete CHAP 5VI−Composer Mask Creation 16 Add variables to a user specific mask 1. Select “Variable” in the “Tools” window 2. Position cursor at position where you want to start the “Variable” field, press left mouse button and move the mouse, until field has the desired size, than release mouse button 3. Select the PLC−Variable that you want to display and activate it by a double click with the left mouse button 4. Select the “Format” in which you want to display the “Variable” (must match the data type of the selected variable) 5. Click onto button “Edit type” CHAP 5VI−Composer Mask Creation 17 Add variables to a user specific mask 6. Define the parameters of the variable to fine tune the variable display Field Type − Input − the content of the variable can be entered anddisplayed − Output − the content of the variable can be displayed only (no input possible) − Cyclical − Variable content is updated cyclically (constant reading from PLC−Controller) − Once − Variable content is read only once from the PLC, when the screen is opend − Event − Variable content is updated with an event Format Only Positive checked − only positive values can be displayed Only Positive unchecked − positive and negative values can be displayed Supervision of limits Upper limit − this is the highest number from the variable, that can be displayed Lower limit − this is the smallest number from the variable, that can be displayed Fractional digits Absolute checked − no fraction digits are displayed Absolute unchecked − number of fractional digits can be defined in the field right of “Absolute” Variable type Standard type − the PLC variable has a standard data type (DINT, REAL, BOOL ... ) Timer, Counter, BCD number − the PLC variable has a non standard data type (e.g. not all bits of the variable are used to represent a value e.g. a Timer is using only 11 bits for the time value) CHAP 5VI−Composer Mask Creation 18 Add variables to a user specific mask 8. The variable is represented on the screen by a place holder, which can be defined in the “Edit type” window Number of place holder characters Character to be used as place holder 9. Click onto “Cursor” in the “Tool” window CHAP 5VI−Composer Mask Creation 19 Creation of a “Text list” (Example : Days of week) 2. Enter max. number of characters to which the entries in the text list will be restricted 1. Select “Language name” / “Language resources“ / “Text lists”, press the right mouse button and select “New text list” 3. Enter the texts that you want to displayed, when the number in the left field is contained in a variable CHAP 5VI−Composer Mask Creation 20 Adapt “Text list“ name 2. Change name of text list from e.g. “New text list” to “Day of week“ 1. Select “Language name” / “Language resources“ / “Text lists” / “New text list”, press the right mouse button and select “Rename” 3. Check new text list name CHAP 5VI−Composer Mask Creation 21 Using a “Text list” on a screen 1. Select “Variable” in the “Tools” window 2. Position cursor at position where you want to start the “Variable” field, press left mouse button and move the mouse, until field has the desired size, than release mouse button 3. Select the PLC−Variable that you want to display and activate it by a double click with the left mouse button 4. Select the “Selection text” 5. Click onto button “Edit type” CHAP 5VI−Composer Mask Creation 22 Using a “Text list” on a screen 6. Define the parameters of the variable to fine tune the variable display Field Type − Input − the content of the variable can be entered and displayed − Output − the content of the variable can be displayed only (no input possible) − Cyclical − Variable content is updated cyclically (constant reading from PLC−Controller) − Once − Variable content is read only once from the PLC, when the screen is opend − Event − Variable content is updated with an event Format Field length − max. number of characters to be displayed (value must be equal to the length of the used text list) Hight − number of lines to be used for the hight of the displayed text Access type Regular − ll text of the text list can be selected and displayed Selective − only texts of the text list for which a bit in a “Selection” variable is set to “1”, can be displayed (to be defined via Parameter “Selection” of the text list) Text list −Name of the text list which is to be allocated to the variable contents CHAP 5VI−Composer Mask Creation 23 Add a “Button” to a user specific screen 1. Select “Button” in the “Tools” window 2. Position cursor at position where you want to start the “Button” object, press left mouse button and move the mouse, until the button has the desired size, than release the mouse button 5. Select the PLC−Variable or Script−Variable, that you want to affect when the “Button” is pressed 3. Select “Graphics / Symbol“ 4. Click onto the “Next” button 6. Click onto the “Next” button CHAP 5VI−Composer Mask Creation 24 Add a “Button” to a user specific screen 7. Select the “Function key”, that you want to assign to the button 8. Click onto the “Next” button 9. Select the “Graphics image” that you want to assign to the button 10. Click onto the “Finish” button to take over the settings 11. Move the button to the exact position, by dragging it with the left mouse button pressed CHAP 5VI−Composer Mask Creation 25 Add “Text” to a “Button” in a user specific screen 14. Click onto the “Finish” button to take over the settings 12. Select “Text field“ in the “Tools” window 13. Position cursor at position where you want to start the “Text field” object, press left mouse button and move the mouse, until the “Text field” has the desired size, than release the mouse button 15. Enter the “Text” that you want to have on the button 16. Select the “Orientation” of the “Text” e.g. “Centered” CHAP 5VI−Composer Mask Creation 26 Add “Text” to a “Button” in a user specific screen 17. Select “Cursor“ in the “Tools” window 18. Move the “Text” to the exact position, by dragging it with the left mouse button pressed CHAP 5VI−Composer Mask Creation 27 Add “Arrays” to be displayed in the “Table field” to your PLC−Program CHAP 5VI−Composer Mask Creation 28 Fill “Arrays” to be displayed in the “Table field” with “Data” CHAP 5VI−Composer Mask Creation 29 Add a “Table field” to a user specific screen 1. Select “Table field” in the “Tools” window 2. Position cursor at position where you want to start the “Table field”, press left mouse button and move the mouse, until field has the desired size, than release mouse button 3. Adapt the number in “Hight of table field” (Number of values from variable assigned to “Number of table elements”) 4. Adapt the value in “Number of table elements” (Number of different variables that you want to display in the table field) 5. Move the “Table field” to the exact position, by dragging it with the left mouse button pressed CHAP 5VI−Composer Mask Creation 30 Add a “Variables” to the a “Table field” in a user specific screen 1. Select “Variable” in the “Tools” window 2. Position cursor at position where you want to start the “Variable field”, press left mouse button and move the mouse, until field has the desired size, than release mouse button 6. Adapt the “Field length”, the display mode “Cyclical”, “Input”, “Output and the “Fractions” if it is a “Real” value 3. Select the “PLC−Variable” (Array) that you want to display in this column of the “Table field” 4. Select the matching “Data format” for the “PLC−Variable” 5. Click onto the “Edit” button CHAP 5VI−Composer Mask Creation 31 Add a “Variables” to the a “Table field” in a user specific screen 7. Add the remaining “Plc−Variables” in the same way and use “Text fields” to describe the values displayed CHAP 5VI−Composer Mask Creation 32 Add “Variables” to the PLC−Program to control the “Serial” messages CHAP 5VI−Composer Mask Creation 33 Control program to sent the “Serial” message to the VCP−Panel N000 N005 N010 CHAP 5VI−Composer Mask Creation 34 Add a “Serial − Message field” to a user specific screen 1. Select “Message field” in the “Tools” window 2. Position cursor at position where you want to start the “Message field”, press left mouse button and move the mouse, until field has the desired size, than release mouse button 3. Select “Serial” messagea 4. Move / Resize the “Message field” to the exact position / size, CHAP 5VI−Composer Mask Creation 35 Activate the “Serial” message channel 1. Select “Suplementary functions” 2. Click onto the “Polling area” 3. Select the “PLC−Variable” that you want use to control the “Serial” messages CHAP 5VI−Composer Mask Creation36 Setting the update time for the “Serial” message channel 1. Select “Suplementary functions” 2. Click onto the “Polling area” 3. Enter a “Polling time” after which the VCP−Panel reads new information from the PLC− Controller e.g. 0,3 s (300ms) Setting the PLC−Variable to delete serial messages on the VCP−Panel CHAP 5VI−Composer Mask Creation 37 Definition of the “Serial” message text 1. Select “Message system” 2. Assign the “Message text” to “Message numbers” − Low numbers “Higher” priority − High numbers “Lower” priority Note ! It is also possible to combine PLC−Variables and “Text” in the same line Example: No. Date Time Text 1 Variable 1 Text 2 Variable 2 1234 25.08.92 11:30:00 Temperature 285 C at station 07 Explanation of the message structure: 1234 − 4−digit message number 25.08.92 − Date − is recorded when the message is detected in the operating device 11:30:00 − Time − is recorded when the message is detected in the operating device Temperature − Text 1 in front of variable 1 285 − value of variable 1 at the time of message generation, is stored in the operating device C at station − Text 2 between variable 1 and 2 07 − value of variable 2 at the time of message generation, is stored in the operating device CHAP 5VI−Composer Mask Creation 38 Add “Variables” to the PLC−Program to control the “Screen” selection CHAP 5VI−Composer Mask Creation 39 Control program to switch to another new “Screen” on the VCP−Panel N000 N005 N010 CHAP 5VI−Composer Mask Creation 40 Assign a PLC−Variable to read the active Screen from the VCP−Panel 2. Select “Supplementary functions” 3. Click onto “Status information” 4. Select the PLC−Variable, into which the active Screen number is to be written to. 1. Define a PLC−Variable in IndraLogic, which you want to use to receive the active screen number from the VCP−Panel CHAP 5VI−Composer Screen Creation 41 Add a new “Screen Reference List” to an existing project 3. Enter a number and select the screen you want to assign to this number, then press “Enter” to take over the settings 1. Select “Language / English / Language resources / Screen reference lists”, press the right mouse button and select “New screen reference list” 2. Enter name for new “Screen reference list” CHAP 5VI−Composer Screen Creation 42 Select “PLC−Variable / Function key” to be used with the “Screen List” 4. Select the PLC−Variable you want to use to select a screen from from the “Screen Reference List” 5. Select a screen and assign the “Screen reference list” to a “Function key” of the screen or assign it to a “Global function key” 6. Double click onto the field “Image”, behind the “Function key” that you want to assign to the “Screen reference list” 7. Select “link with screen list” and the “Screen reference list” that you want to assign to the “Function key” 8. Take over the new assignment by clicking onto the “OK” button CHAP 5VI−Composer Mask Creation 43 Bitmap images with user specific masks (Background image) This function can be used to insert a bitmap file as a background image for a mask. If the bitmap is placed on the background of the mask, variables can still be defined and displayed on the foreground of the mask Note: • The bitmap file has to be saved in the formats ”..BMP” or “.WMF” • the file has to be a “Greyscale” graphics file • the maximum size of graphic must not exceed 320 x 240 Pixels 2. Double click onto field “Size is” 3. Enter name for graphics image and select “Insert graphics image from file” 3. Select bitmap file, that is to be imported 1. Select “Resources” and double click onto “Graphics images” CHAP 5VI−Composer Mask Creation 44 Bitmap images with user specific masks (Background image) 6. Select “Background graphics” in “Tool” window 5. Double click onto the screen into which the “Background image” is to be inserted 4. Close the “Graphics image” window by clicking onto the “x” button CHAP 5VI−Composer Mask Creation 45 Bitmap images with user specific masks (Background image) 7. Position cursor at position where you want to start the “Backgroung image” field, press left mouse button and move the mouse, until field has the desired size, than release mouse button 8. Enter a name that you have previously defined in the “Graphics image“ table CHAP 5VI−Composer Mask Creation 46 Add “Variables” to the PLC−Program to control the “Bitmap Image list“ PLC−Program to control the “Bitmap Image list“ CHAP 5VI−Composer Mask Creation 47 Create “Bitmap” image lists with user specific masks This function can be used to make a list of bitmap files, which can be selected via a PLC−Variable, which allows to display different bitmaps on the same screen. Note: • The bitmap file has to be saved in the formats ”..BMP” or “.WMF” • the file has to be a “Greyscale” graphics file • the maximum size of graphic must not exceed 320 x 240 Pixels • all images must have the same size in pixels e.g. 160 x 120 2. Double click onto field “Size is” 3. Enter name for graphics image and select “Insert graphics image from file” 3. Select bitmap file, that is to be imported 1. Select “Resources” and double click onto “Graphics images” CHAP 5VI−Composer Mask Creation 48 Creat “Bitmap” image lists with user specific masks 4. Add all “Graphics images” that you want to use in your “Graphics image list”, and change the field “Size is:” to “Non−editable” 5. Close the “Graphics image” window by clicking onto the “x” button 6. Select “Resources / Image lists” with the right mouse button and select “New graphic images list“ CHAP 5VI−Composer Mask Creation 49 Create Bitmap image list 9. Select the “Graphics image” that you want to use as default in the “Image list” and click onto the “OK” button to take over the selection 8. Select field “Graphics image”, pess the right mouse button and select “Process graphics image link.. “ 7. Enter name for the “Image list” CHAP 5VI−Composer Mask Creation 50 Create Bitmap image list and assign PLC−Variable for selection 12. Close the “Image list” window by clicking onto the “x” button 10. Add all “Graphic” images that you want to use with the “Image list”, by assigning an “Image number” and to each “Bitmap” file 11. Select the PLC−Variable, that you want to use, to select the images from the “Image” list CHAP 5VI−Composer Mask Creation 51 Create Bitmap “Image list variable” on a screen 13. Select a screen on which the image list is to be displayed 14. Select “Variable” in the “Tools” window 15. Position cursor at position where you want to start the “Variable”, press left mouse button and move the mouse, until field has the desired size, than release mouse button 16. Select the variable which you want to use to control the image list (same variable as assigned before in image list) 17. Select “Selection graphics image” 18. Click onto button “Edit” CHAP 5VI−Composer Mask Creation 52 Create Bitmap “Image list variable” on a screen 22. Click onto the “OK” button to take over the settings 21. Select “Image list” that you want to control with the PLC−Variable 20. Select “Cyclical“ 19. Enter the size of the image (must match the size in pixels of the graphics images from the image list) ©2005 Bosch Rexroth AG Reproduction, copying, or translation of this publication, wholly or in part, only with our previous written permission and with source credit. We assume no responsibility for agreement of the contents with local laws and regulations. Bosch Rexroth AG is exempt from liability, and reserves the right to make changes at any time. CHAP 6VI−Composer Script Language I Chapter 6 VI−Composer Script Language CHAP 6VI−Composer Script Language 1 General information Script Language • Scripts are structured programs that are processed by an interpreter at Runtime • Scripts are started by events or cyclically • These types of events are: • Opening a screen • Exiting from an editor screen• Scripts can not be used to start other scripts. • Since scripts are procedurally processed, the processing of an individual script is completed once the last script line has been processed • However, you can use control structures to create loops, whose conditions may not ever be fulfilled, within a script • Although the operating device is not blocked as a result, it may display incorrect variable values. • the following actions can be performed by a script: − the values of variables can be read and written) − Conditions can be evaluated and controlled by control structures like − If THEN ELSE − DO WHILE Integrated Script Editor • Scripts can be created with the internal script editor of the programming system or any external editor • to insert scripts created by an external editor, the contents of the script can be copied via the Windows clipboard into the internal script editor. • However, the internal script editor has the advantage to offer automatic completion of program statements • this will reduces tipping your and also avoids typing errors − The following automatically completions are offered: CHAP 6VI−Composer Script Language 2 Scope of variables in scripts • Depending on the variable type, the declaration of the variable has to be done at different locations • Locations for the declaration include the script itself or the script variable list • Only system variables must not be declared, as their data types are known to the system. Variable Type Location of Declaration Local script variable In the scrip Global script variable (retentive) Variable list for script variables System Variable None (implicit) Controller variable Variable list for controller variables PLC Variable BRC Symbolic Global Variable Global Script Variable System Variable Local Script Variable Example for a local script variable public void Execute() { int localVar1; localVar1 = 10; } Example for a global script variable public void Execute() { int localVar1; localVar1 = 10; Firmware.ScriptVar.SetInt(Project.ScriptVar.Table1, localVar1); } CHAP 6VI−Composer Script Language 3 Script Operators The script interpreter can process the following operators Operator Description + Addition (int, uint, double) − Subtraction (int, uint, double) * Multiplication (int, uint, double) / Division (int, uint, double) << Shift to the left (int, uint − second parameter must be ’int’!) >> Shift to the right (int, uint − second parameter must be ’int’!) ~ Bit−by−bit complement (int, uint) ^ Bit−by−bit XOR (int, uint, bool) & Bit−by−bit AND (int, uint) | Bit−by−bit OR (int, uint) % Modulo (remainder after a division) (int, uint) ! Negation (for ”bool” only) && Logical AND (for ’bool’ only) || Logical OR (for ’bool’ only) = Assignment (all data types) (typ) Cast assignment (converts a data typ (t) Specification of the order of operations in an expression (all data types) Comparison Operators The script interpreter can process the following operators Operator Function < less than (int, uint, double) > greater than (int, uint, double) == is equal to (bool, int, uint, double) != not equal to (bool, int, uint, double) <= less than or equal to (int, uint, double) >= greater than or equal to (int, uint, double) Data Types The script interpreter can process the following Data Types Operator Function bool false to true int 32−bit integer with a sign from −2147483648 to 2147483647 uint 32−bit integer without a sign from 0 to 4294967295 double 64−bit with a single precision in the IEEE754 format CHAP 6VI−Composer Script Language 4 Script Keywords The script interpreter can process the following keywords Command Description bool Indicator for Boolean data type break Interrupts the script double Indicator for double data type else Keyword for IF control structure false Value for a Boolean expression (0) if Keyword for IF control structure int Indicator for INT data type private Local function within a script return Terminates a method true Value for a Boolean expression (1) void Return type for a method which does not return a value while Keyword for WHILE control structure CHAP 6VI−Composer Script Language 5 Script Control Structures The script interpreter can process the following control structures Command Function If if (Boolean expression) statement OR if (Boolean expression) statement else statement while while (Boolean expression) statement If the value of x is greater than 10, the value ”1” is written to the variable “z” If “x” is smaller than 10, the value ”2” is written Example for usage of ”if” Example for usage of ”while”: If the value of “x” is smaller than 7, variable “z” is offset against the starting value of the transferred value (0) plus the value of variable “x“. The value of “x” is incremented for each looping process. In this example, variable “z” will assume the values 0,1, 2, 3, 4, 5, 6. CHAP 6VI−Composer Script Language 6 Script program structures Script Editor • To create a script, start the script editor in the programming software • This editor provides support for the structured writing of scripts by − Automatically suggesting completions − Automatically setting tabs − Displaying script elements using different colours and − Marking errors. − If you notice an error in the script, you can receive additional information by using the mouse cursor to navigate to the marked area. Program structure • The content of a script is restricted to elements that are permissible in the specified name spaces • This means that only scripts that are executable on the relevant hardware platform can be programmed • Each method (script) must begin with the declaration • The declaration specifies the range of validity in which the method is used, whether parameters are transferred and the name of the method Syntax Function public Methods that are started by an event private Methods that are started by other methods CHAP 6VI−Composer Script Language 7 Script program structures Ranges of validity • Parameters are either transferred to the method or returned by the method • The return of a parameter is initiated with the ”return” keyword Syntax Description public void This method does not return any parameter public bool A parameter with a BOOL data type of this method is returned public int A parameter with a INT data type of this method is returned public double A parameter with a REAL data type of this method is returned public string A parameter with a STRING data type of this method is returned Parameter transfers • any name can be used for a method, but the names are case sensitive • However, a method that is called by an event, must have the name ”Execute” Syntax Description private void f1 (bool y) A parameter of the BOOL data type is transferred to this method and written to the “y” variable private void f1 (int y) A parameter of the INT data type is transferred to this method and written to the “y” variable private void f1 (uint y) A parameter of the UINT data type is transferred to this method and written to the “y” variable private void f1 (double y) A parameter of the REAL data type is transferred to this method and written to the “y” variable private void f1 (string y) A parameter of the STRING data type is transferred to this method and written to the “y” variable CHAP 6VI−Composer Script Language 8 Script program structures Classes • Methods, are divided into classes, which can be used within the name spaces • Depending on the class, there are local “Project” or global “Firmware“ methods • Global methods are used to access system resources (system variables) • Parameters are either transferred to the method or returned by the method The following classes can be used within the name spaces: • ControllerVar (Project) − provides access to native controller addresses • FileAccess (Firmware) − provides access to files • FlashFileSystem(Firmware) − provides access to the flash file system • PLCSymbolicAddr (Firmware) − provides access to symbolic controller addresses (only for BRC−Symbolic) • ScriptVar (Project / Firmware) − provides access to script variables, local and global • ScriptVarString (Firmware) − provides access to string−type script variables • SysVar (Firmware) − provides access to system variables Example of a Class used with a “Local” and a “Global” method CHAP 6VI−Composer Script Language 9 Adding a new Script Variable to the Project 2. Enter the “Script variables” and select the correct Data Type Note ! For “Strings” the max. number of characters has to be entered into the field “number of elements” 5. When you have finished your inputs, click onto the button “Select” 1. Click with the left mouse button onto “Scripts / Variable list” 1. Click onto “Cursor” in the “Tool” window 3. To “Delete” (Clear), Copy, Cut or Paste a variable, click with the right mouse button onto “Name” and select the desired operation CHAP 6VI−Composer Script Language 10 Adding a new Script to the Project 1. Click with the right mouse button onto “Scripts” and select “New Script” 2. Change the name from “New Script” to e.g. TableDat 3. Start writing the program in the Script−Editor window CHAP 6VI−Composer Script Language 11 Define the Execution Parameters of a script 1. Click with the left mouse button onto “Scripts / Planned tasks” 2. Enter how you want to have the Scripts executed Behaviour Cyclically : The Script is executed cyclically in the time pattern, which is defined in the fields “Time span” and “Time units” e.g. Time span = 2 Time unit = 100ms The Script will be executed cyclically ever 200ms After booting : The Script will be processed one time after the operating system of the VCP−Panel has been rebooted after a delay, which is defined in the fields “Time span” and “Time units” e.g. Time span = 1 (this is the only time span for booting) Time unit = 1s (this is the only time unit for booting) The Script will be executed one time, 1 seconds after booting CHAP 6VI−Composer Script Language 12 Assignment of a Script to a screen 1. Click with the left mouse button onto “Languages / English / Screens /” and the “Screen name” to which the Script is assigned to 2. Click onto “Script parameters” in the “Properties” window 2. Select the Script, which is to be executed one time, when the screen is opened Note ! Do not assign a Script, which has already been assigned to a “Cyclically executed task CHAP 6VI−Composer Script Language 13 Sample Script − Writing a Local variable to a Script variable Sample Script − Writing a Script variable to a Local variable CHAP 6VI−Composer Script Language 14 Sample Script − Writing a Local variable to a System variable Sample Script − Writing a System variable to a Local variable Sample Script − Writing a System variable to a Script variable CHAP 6VI−Composer Script Language 15 Sample Script − Writing a Local / Script variable to a PLC variable Sample Script − Writing a PLC variable to a Local / Script variable CHAP 6VI−Composer Script Language 16 Sample Script − Calling a Subroutine no Parameters, no Return−Value Sample Script − Calling a Subroutine with Parameters, no Return−Value Sample Script − Calling a Subroutine with Parameters and Return−Value CHAP 6VI−Composer Script Language 17 Sample Script − “If / Else” Control structure Sample Script − “While” Control structure CHAP 6VI−Composer Script Language 18 Syntax for Methods of ContollerVar Class GetBool(return variable, controller variable) • Reads the “BOOL” value from a “PLC−Variable” into a “Local” “BOOL” − Script variable LocalVar = Firmware.ControllerVar.GetBool(Project.ScriptVar.MyReturnVar, Project.ControllerVar.SignalStatus); Method Return Type Return value GetBool UInt Return value 0 = OK Return value >0 = Error GetInt(return variable, controller variable) • Reads the “INT” − Value from a “PLC−Variable” into a “Local” “INT” − Script variable LocalVar = Firmware.ControllerVar.GetInt(Project.ScriptVar.MyReturnVar, Project.ControllerVar.CounterValue); Method Return Type Return value GetInt UInt Return value 0 = OK Return value >0 = Error GetUInt(return variable, controller variable) • Reads the “UINT” − Value from a “PLC−Variable” into a “Local” “UINT” − Script variable LocalVar = Firmware.ControllerVar.GetUInt(Project.ScriptVar.MyReturnVar, Project.ControllerVar.CounterValue); Method Return Type Return value GetUInt UInt Return value 0 = OK Return value >0 = Error GetDouble(return variable, controller variable) • Reads the “REAL” − Value from a “PLC−Variable” into a “Local” “Double” − Script variable LocalVar = Firmware.ControllerVar.GetDouble(Project.ScriptVar.MyReturnVar, Project.ControllerVar.ManuCost); Method Return Type Return value GetDouble UInt Return value 0 = OK Return value >0 = Error GetString(return variable, destination script variable, controller variable, UintVar) • Reads a “STRING” value from a “PLC−Variable” into a “Local” “STRING” − Script variable LocalVar = Firmware.ControllerVar.GetString(Project.ScriptVar.MyReturnVar, c Project.ScriptVar.MyStringVar, Project.ControllerVar.TextMess, Project.ScriptVar.UintVar); Method Return Type Return value GetString UInt Return value 0 = OK Return value >0 = Error CHAP 6VI−Composer Script Language 19 Syntax for Methods of ContollerVar Class SetBool(return variable, controller variable, value) • Writes the “BOOL” (true, false) value into a ” “BOOL” − PLC−Variable Firmware.ControllerVar.SetBool(Project.ScriptVar.MyReturnVar, Project.ControllerVar.Automatic, true); Method Return Type Return value SetBool UInt Return value 0 = OK Return value >0 = Error SetInt(return variable, controller variable, value) • Writes a “Local” “INT” − Script variable into an “INT” PLC−Variable Firmware.ControllerVar.SetInt(Project.ScriptVar.MyReturnVar, Project.ControllerVar.CounterValue, LocalVar); Method Return Type Return value GetInt UInt Return value 0 = OK Return value >0 = Error SetUInt(return variable, controller variable, value)) • Writes a “Local” “UINT” − Script variable into an “UINT” PLC−Variable Firmware.ControllerVar.SetUInt(Project.ScriptVar.MyReturnVar, Project.ControllerVar.CounterValue, LocalVar); Method Return Type Return value SetUInt UInt Return value 0 = OK Return value >0 = Error SetDouble(return variable, controller variable, value) • Writes a “Local” “DOUBLE” − Script variable into a “REAL” PLC−Variable Firmware.ControllerVar.SetDouble(Project.ScriptVar.MyReturnVar, Project.ControllerVar.ManuCost, LocalVar); Method Return Type Return value SetDouble UInt Return value 0 = OK Return value >0 = Error SetString(return variable, target controller variable, source script variable, NumberOfChar) • Writes a “Local” “STRING” − Script variable into a “STRING” PLC−Variable Firmware.ControllerVar.SetString(Project.ScriptVar.MyReturnVar, Project.ControllerVar.TargetString, Project.ScriptVar.SourceString, Project.ScriptVar.NoOfChar); Method Return Type Return value SetString UInt Return value 0 = OK Return value >0 = Error CHAP 6VI−Composer Script Language 20 Syntax for Methods of SysVar Class GetUInt(return variable, system variable) • Reads the value of a “System variable” into a “Local” Script variable LocalVar = Firmware.SysVar.GetUInt(Project.ScriptVar.MyReturnVar, Firmware.SysVar.RtcMin); Method Return Type Return value GetUInt UInt Return value 0 = OK Return value >0 = Error SetUInt(return variable, system variable, value) • Writes the value of a “Local” Script variable int a “System variable” Firmware.SysVar.SetUInt(Project.ScriptVar.MyReturnVar, Firmware.SysVar.RtcMin, LocalVar); Method Return Type Return value SetUInt UInt Return value 0 = OK Return value >0 = Error GetString(return variable, target script variable, source system variable) • Reads the value of a “System variable” into a“Local” Script variable LocalVar = Firmware.SysVar.GetString(Project.ScriptVar.MyReturnVar, c Project.ScriptVar.MyStringVar, Firmware.SysVar.IdentName); Method Return Type Return value GetString UInt Return value 0 = OK Return value >0 = Error CHAP 6VI−Composer Script Language 21 Syntax for Methods of ScriptVarString− Class AppendString(script variable, string) • Adds a String to the end of a “Global” Script variable LocalVar = Firmware.ScriptVarString.AppendString(Project.ScriptVar.MyStringVar, “New Text”); Method Return Type Return value AppendString UInt Returnvalue >0 = Length of the string Returnvalue 0xFFFFFFFFu = Error AppendVar(target script variable, source script variable) • Adds the string from the source script variable to the end of the target script variable LocalVar = Firmware.ScriptVarString.AppendVar(Project.ScriptVar.MyTargetStringVar, Project.ScriptVar.MySourceStringVar); Method Return Type Return value AppendVar UInt Returnvalue >0 = Length of the string Returnvalue 0xFFFFFFFFu = Error CopySubstring(target script variable, source script variable, start position) • Reads the remaining string starting from the specified start position of the source script variable and inserts it at the end of the string in the target script variable. LocalVar = Firmware.ScriptVarString.CopySubstring(Project.ScriptVar.MyTargetStringVar, Project.ScriptVar.MySourceStringVar, MyStartPos); Method Return Type Return value CopySubstring UInt Returnvalue >0 = Length of the string Returnvalue 0xFFFFFFFFu = Error CopySubstringLength(target script variable, source script variable, start position, string length) • Reads the string of the specified string length starting from the specified start position of the source script variable and inserts it at the end of the string in the target script variable. LocalVar = Firmware.ScriptVarString.CopySubstringLength(Project.ScriptVar.MyTargetStringVar, Project.ScriptVar.MySourceStringVar, MyStartPos, No_Of_Characters); Method Return Type Return value CopySubstringLength UInt Returnvalue >0 = Length of the string Returnvalue 0xFFFFFFFFu = Error Length(script variable) • Determines the length of the string in a script variable LocalVar = Firmware.ScriptVarString.Length(Project.ScriptVar.MyStringVar); Method Return Type Return value Length UInt Returnvalue >0 = Length of the string Returnvalue 0xFFFFFFFFu = Error Note ! This does not return the number of characters contained in the String, it returns the size of the String variable in Bytes e.g. MyStringVar(20) −> returns 20 CHAP 6VI−Composer Script Language 22 Syntax for Methods of ScriptVarString− Class CopyString(target script variable, start position, string) • Overwrites the contents of the target variable with given the string, starting at the given position LocalVar = Firmware.ScriptVarString.CopyString(Project.ScriptVar.MyTargetStringVar, (Project.ScriptVar.MyStartPos, Project.ScriptVar.MyNewString); Method Return Type Return value CopyString UInt Returnvalue >0 = Length of the string Returnvalue 0xFFFFFFFFu = Error GetChar(script variable, position) • Reads a character from the specified position of a script variable. LocalVar = Firmware.ScriptVarString.GetChar(Project.ScriptVar.MyTargetStringVar, Project.ScriptVar.MyPosVar); Method Return Type Return value GetChar UInt Returnvalue >0 = Length of the string Returnvalue 0xFFFFFFFFu = Error Chapter 1 IndraWorks VCP-Panel Project Load PLC-Program and Profibus-DP Configuration into PLC-Controller Checking the generated "Symbol file" Checking the generated "Symbol file" Compile IndraLogic program IndraLogic - "Target settings" Setting the basic parameters for IndraLogic - "Symbol configuration" Callup of "IndraLogic", checking the Profibus-DP Configuration Setup of the Profibus-DP transmission rate Configuration of VCP-Profibus-DP Modules Configuration of VCP-Profibus-DP Modules Configuration of VCP-Profibus-DP Modules Configuration of VCP-Profibus-DP Modules Configuration of VCP-Profibus-DP Modules IndraWorks / IndraLogic Basic settings IndraWorks / IndraLogic directory structure Communication with a "L40" (Hardware - PLC) Completion of communication setup / creation of the new project Definition of communication channel for IndraLogic L40 (Hardware-PLC) Definition of communication channel for IndraLogic L40 (Hardware-PLC) Generation of a new "IndraWorks" Project (continuation) Generation of a new "IndraWorks" Project Language and Basic settings for "IndraWorks" Chapter 2 VI-Composer Installation VI-Composer Installation from CDROM continuation on next page VI-Composer Installation from CDROM (continuation) Possible functions continuation on next page VI-Composer Installation from CDROM (continuation) continuation on next page VI-Composer Installation from CDROM (continuation) continuation on next page VI-Composer Installation from CDROM (continuation) VI-Composer Installation from CDROM (continuation) Chapter 3 VCP20 Hardware and Setup VCP20 Front view and technical data VCP20 Rear view and interface connectors First time installation - IP-Address Setup First time installation - IP-Address Setup First time installation - IP-Address Setup First time installation - IP-Address Setup Chapter 4 VI-Composer Project Management Create new VI-Composer Project Create new VI-Composer Project VI-Composer - Workspace Selection of Profibus transport layer with "PLC-Controller" Selection of Ethernet TCP/IP transport layer with "PLC-Controller" Selection of "Symbol file " from associated IndraLogic project Read / Display of IndraLogic variables Adapt "Language name" Selection of Font Coding for text variables from "PLC-Controller" Setup of "Project" parameters "Language" and "Communication" Setup of "Project" parameters "Font Type" and "Font Size" Setup of "Project" base screens Setup of "System" polling parameters Adapt "Project name" Compile VI-Composer - Project (Generation of Download - File) Upload compiled "Download" - Project file into VCP-Panel Upload compiled "Download" -Project file into VCP-Panel Chapter 5 VI-Composer Mask Creation Add a new user specific mask to an existing project Add a partial screen to a full screen Enter "Static text" into a mask Enter a "Text field" into a screen Enter a "Text field" into a screen Modify existing Text / Text parameters Control "Static text" and "Text field" with variables from the PLC Copy, move and cut objects Assignment of a "Screen" to a "Function" key Assignment of a "PLC-Variable" to a "Function" key Assignment of a "PLC-Variable" to a "Function" key Adding ASCII - Semi-Graphic characters to an existing screen Adding ASCII - Semi-Graphic characters to an existing screen Adding ASCII - Semi-Graphic characters to an existing screen Adding ASCII - Semi-Graphic characters to an existing screen Add variables to a user specific mask Add variables to a user specific mask Add variables to a user specific mask Creation of a "Text list" (Example : Days of week) Adapt "Text list" name Using a "Text list" on a screen Using a "Text list" on a screen Add a "Button" to a user specific screen Add a "Button" to a user specific screen Add "Text" to a "Button" in a user specific screen Add "Text" to a "Button" in a user specific screen Add "Arrays" to be displayed in the "Table field" to your PLC-Program Fill "Arrays" to be displayed in the "Table field" with "Data" Add a "Table field" to a user specific screen Add a "Variables" to the a "Table field" in a user specific screen Add a "Variables" to the a "Table field" in a user specific screen Add "Variables" to the PLC-Program to control the "Serial" messages Control program to sent the "Serial" message to the VCP-Panel Add a "Serial - Message field" to a user specific screen Activate the "Serial" message channel Setting the update time for the "Serial" message channel Setting the PLC-Variable to delete serial messageson the VCP-Panel Definition of the "Serial" message text Add "Variables" to the PLC-Program to control the "Screen" selection Control program to switch to another new "Screen" on the VCP-Panel Assign a PLC-Variable to read the active Screen from the VCP-Panel Add a new "Screen Reference List" to an existing project Select "PLC-Variable / Function key" to be used with the "Screen List" Bitmap images with user specific masks (Background image) Bitmap images with user specific masks (Background image) Bitmap images with user specific masks (Background image) Add "Variables" to the PLC-Program to control the "Bitmap Image list" PLC-Program to control the "Bitmap Image list" Create "Bitmap" image lists with user specific masks Creat "Bitmap" image lists with user specific masks Create Bitmap image list Create Bitmap image list and assign PLC-Variable for selection Create Bitmap "Image list variable" on a screen Create Bitmap "Image list variable" on a screen Chapter 6 VI-Composer Script Language General information Script Language Integrated Script Editor Scope of variables in scripts Script Operators Comparison Operators Data Types Script Keywords Script Control Structures Script program structures Script program structures Ranges of validity Parameter transfers Script program structures Classes Example of a Class used with a "Local" and a "Global" method Adding a new Script Variable to the Project Adding a new Script to the Project Define the Execution Parameters of a script Assignment of a Script to a screen Sample Script - Writing a Local variable to a Script variable Sample Script - Writing a Script variable to a Local variable Sample Script - Writing a Local variable to a System variable Sample Script - Writing a System variable to a Local variable Sample Script - Writing a System variable to a Script variable Sample Script - Writing a Local / Script variable to a PLC variable Sample Script - Writing a PLC variable to a Local / Script variable Sample Script - Calling a Subroutine no Parameters, no Return-Value Sample Script - Calling a Subroutine with Parameters, no Return-Value Sample Script - Calling a Subroutine with Parameters and Return-Value Sample Script - "If / Else" Control structure Sample Script - "While" Control structure Syntax for Methods of ContollerVar Class Syntax for Methods of ContollerVar Class Syntax for Methods of SysVar Class Syntax for Methods of ScriptVarString- Class Syntax for Methods of ScriptVarString- Class << /ASCII85EncodePages false /AllowTransparency false /AutoPositionEPSFiles true /AutoRotatePages /All /Binding /Left /CalGrayProfile (Dot Gain 20%) /CalRGBProfile (sRGB IEC61966-2.1) /CalCMYKProfile (U.S. Web Coated \050SWOP\051 v2) /sRGBProfile (sRGB IEC61966-2.1) /CannotEmbedFontPolicy /Warning /CompatibilityLevel 1.5 /CompressObjects /Tags /CompressPages true /ConvertImagesToIndexed true /PassThroughJPEGImages true /CreateJDFFile false /CreateJobTicket false /DefaultRenderingIntent /Default /DetectBlends true /ColorConversionStrategy /LeaveColorUnchanged /DoThumbnails false /EmbedAllFonts true /EmbedJobOptions true /DSCReportingLevel 0 /EmitDSCWarnings false /EndPage -1 /ImageMemory 1048576 /LockDistillerParams false /MaxSubsetPct 100 /Optimize true /OPM 1 /ParseDSCComments true /ParseDSCCommentsForDocInfo true /PreserveCopyPage true /PreserveEPSInfo true /PreserveHalftoneInfo false /PreserveOPIComments false /PreserveOverprintSettings true /StartPage 1 /SubsetFonts true /TransferFunctionInfo /Apply /UCRandBGInfo /Preserve /UsePrologue false /ColorSettingsFile () /AlwaysEmbed [ true /AdobePiStd /AdobeSansMM /AdobeSerifMM /Arial-Black /Arial-BlackItalic /Arial-BoldItalicMT /Arial-BoldMT /Arial-ItalicMT /ArialMT /ArialNarrow /ArialNarrow-Bold /ArialNarrow-BoldItalic /ArialNarrow-Italic /ArialUnicodeMS /Batang /BookAntiqua /BookAntiqua-Bold /BookAntiqua-BoldItalic /BookAntiqua-Italic /BookmanOldStyle /BookmanOldStyle-Bold /BookmanOldStyle-BoldItalic /BookmanOldStyle-Italic /CentSchbookBTBold /CentSchbookBTBoldItalic /CentSchbookBTItalic /CentSchbookBTRoman /Century /CenturyGothic /CenturyGothic-Bold /CenturyGothic-BoldItalic /CenturyGothic-Italic /ComicSansMS /ComicSansMS-Bold /Courier /Courier-Bold /Courier-BoldOblique /CourierNewPS-BoldItalicMT /CourierNewPS-BoldMT /CourierNewPS-ItalicMT /CourierNewPSMT /Courier-Oblique /CourierStd /CourierStd-Bold /CourierStd-BoldOblique /CourierStd-Oblique /Dutch801BT-Bold /Dutch801BT-BoldItalic /Dutch801BT-Italic /Dutch801BT-Roman /EstrangeloEdessa /FranklinGothic-Medium /FranklinGothic-MediumItalic /Garamond /Garamond-Bold /Garamond-Italic /Gautami /Georgia /Georgia-Bold /Georgia-BoldItalic /Georgia-Italic /Haettenschweiler /Helvetica /Helvetica-Bold /Helvetica-BoldOblique /Helvetica-Narrow /Helvetica-Narrow-Bold /Helvetica-Narrow-BoldOblique /Helvetica-Narrow-Oblique /Helvetica-Oblique /Impact /IntDutch801G-Bold /IntDutch801G-BoldItalic /IntDutch801G-Italic /IntDutch801G-Roman /InterleafComputerGothic /InterleafMathA /InterleafMathBTA-Regular /InterleafMathBTB-Regular /InterleafMathBTC-Regular /InterleafMathBT-Regular /InterleafSymbols /InterleafSystem /InterleafThreeOfNineA /InterleafThreeOfNineB /InterleafThreeOfNineC /ITC-Garamond-BoldItalicSWA /ITC-Garamond-BoldSWA /ITC-Garamond-LightItalicSWA /ITC-Garamond-LightSWA /ITC-Korinna-BoldSWA /ITC-Korinna-KursivBoldSWA /ITC-Korinna-KursivRegularSWA /ITC-Korinna-RegularSWA /Kartika /Latha /LetterGothic12PitchBT-Roman /LubalinGraphITCbyBT-Book /LubalinGraphITCbyBT-BookOblique /LubalinGraphITCbyBT-Demi /LubalinGraphITCbyBT-DemiOblique /LucidaConsole /LucidaSans /LucidaSans-Demi /LucidaSans-DemiItalic /LucidaSans-Italic /LucidaSansUnicode /Mangal-Regular /MicrosoftSansSerif /MonotypeCorsiva /MonotypeSorts /MS-Mincho /MSOutlook /MVBoli /NewCenturySchlbk-Bold /NewCenturySchlbk-BoldItalic /NewCenturySchlbk-Italic /NewCenturySchlbk-Roman /Palatino-Bold /Palatino-BoldItalic /Palatino-Italic /PalatinoLinotype-Bold /PalatinoLinotype-BoldItalic /PalatinoLinotype-Italic /PalatinoLinotype-Roman /Palatino-Roman /PMingLiU /Raavi /Shruti /SimSun /SouvenirITCbyBT-Demi /SouvenirITCbyBT-DemiItalic /SouvenirITCbyBT-Light /SouvenirITCbyBT-LightItalic /Swiss721-BlackObliqueSWA /Swiss721-BlackSWA /Swiss721BT-Bold /Swiss721BT-BoldItalic /Swiss721BT-Italic /Swiss721BT-Roman /Swiss721-LightObliqueSWA /Swiss721-LightSWA /Sylfaen /Symbol /SymbolMT /Tahoma /Tahoma-Bold /Times-Bold /Times-BoldItalic /Times-Italic /TimesNewRomanPS-BoldItalicMT /TimesNewRomanPS-BoldMT /TimesNewRomanPS-ItalicMT /TimesNewRomanPSMT /Times-Roman /Trebuchet-BoldItalic /TrebuchetMS /TrebuchetMS-Bold /TrebuchetMS-Italic /Tunga-Regular /Verdana /Verdana-Bold /Verdana-BoldItalic /Verdana-Italic /Vrinda /Webdings /Wingdings2 /Wingdings3 /Wingdings-Regular /ZWAdobeF ] /NeverEmbed [ true ] /AntiAliasColorImages false /DownsampleColorImages true /ColorImageDownsampleType /Bicubic /ColorImageResolution 300 /ColorImageDepth -1 /ColorImageDownsampleThreshold 1.50000 /EncodeColorImages true /ColorImageFilter /DCTEncode /AutoFilterColorImages true /ColorImageAutoFilterStrategy /JPEG /ColorACSImageDict << /QFactor 0.15 /HSamples [1 1 1 1] /VSamples [1 1 1 1] >> /ColorImageDict << /QFactor0.15 /HSamples [1 1 1 1] /VSamples [1 1 1 1] >> /JPEG2000ColorACSImageDict << /TileWidth 256 /TileHeight 256 /Quality 30 >> /JPEG2000ColorImageDict << /TileWidth 256 /TileHeight 256 /Quality 30 >> /AntiAliasGrayImages false /DownsampleGrayImages true /GrayImageDownsampleType /Bicubic /GrayImageResolution 300 /GrayImageDepth -1 /GrayImageDownsampleThreshold 1.50000 /EncodeGrayImages true /GrayImageFilter /DCTEncode /AutoFilterGrayImages true /GrayImageAutoFilterStrategy /JPEG /GrayACSImageDict << /QFactor 0.15 /HSamples [1 1 1 1] /VSamples [1 1 1 1] >> /GrayImageDict << /QFactor 0.15 /HSamples [1 1 1 1] /VSamples [1 1 1 1] >> /JPEG2000GrayACSImageDict << /TileWidth 256 /TileHeight 256 /Quality 30 >> /JPEG2000GrayImageDict << /TileWidth 256 /TileHeight 256 /Quality 30 >> /AntiAliasMonoImages false /DownsampleMonoImages true /MonoImageDownsampleType /Bicubic /MonoImageResolution 1200 /MonoImageDepth -1 /MonoImageDownsampleThreshold 1.50000 /EncodeMonoImages true /MonoImageFilter /CCITTFaxEncode /MonoImageDict << /K -1 >> /AllowPSXObjects false /PDFX1aCheck false /PDFX3Check false /PDFXCompliantPDFOnly false /PDFXNoTrimBoxError true /PDFXTrimBoxToMediaBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXSetBleedBoxToMediaBox true /PDFXBleedBoxToTrimBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXOutputIntentProfile () /PDFXOutputCondition () /PDFXRegistryName (http://www.color.org) /PDFXTrapped /Unknown /Description << /FRA <FEFF004f007000740069006f006e00730020007000650072006d0065007400740061006e007400200064006500200063007200e900650072002000640065007300200064006f00630075006d0065006e00740073002000500044004600200064006f007400e900730020006400270075006e00650020007200e90073006f006c007500740069006f006e002000e9006c0065007600e9006500200070006f0075007200200075006e00650020007100750061006c0069007400e90020006400270069006d007000720065007300730069006f006e00200061006d00e9006c0069006f007200e90065002e00200049006c002000650073007400200070006f0073007300690062006c0065002000640027006f00750076007200690072002000630065007300200064006f00630075006d0065006e007400730020005000440046002000640061006e00730020004100630072006f0062006100740020006500740020005200650061006400650072002c002000760065007200730069006f006e002000200035002e00300020006f007500200075006c007400e9007200690065007500720065002e> /ENU (Use these settings to create PDF documents with higher image resolution for improved printing quality. The PDF documents can be opened with Acrobat and Reader 5.0 and later.) /JPN <FEFF3053306e8a2d5b9a306f30019ad889e350cf5ea6753b50cf3092542b308000200050004400460020658766f830924f5c62103059308b3068304d306b4f7f75283057307e30593002537052376642306e753b8cea3092670059279650306b4fdd306430533068304c3067304d307e305930023053306e8a2d5b9a30674f5c62103057305f00200050004400460020658766f8306f0020004100630072006f0062006100740020304a30883073002000520065006100640065007200200035002e003000204ee5964d30678868793a3067304d307e30593002> /PTB <FEFF005500740069006c0069007a006500200065007300740061007300200063006f006e00660069006700750072006100e700f5006500730020007000610072006100200063007200690061007200200064006f00630075006d0065006e0074006f0073002000500044004600200063006f006d00200075006d00610020007200650073006f006c007500e700e3006f00200064006500200069006d006100670065006d0020007300750070006500720069006f0072002000700061007200610020006f006200740065007200200075006d00610020007100750061006c0069006400610064006500200064006500200069006d0070007200650073007300e3006f0020006d0065006c0068006f0072002e0020004f007300200064006f00630075006d0065006e0074006f0073002000500044004600200070006f00640065006d0020007300650072002000610062006500720074006f007300200063006f006d0020006f0020004100630072006f006200610074002c002000520065006100640065007200200035002e0030002000650020007300750070006500720069006f0072002e> /DAN <FEFF004200720075006700200064006900730073006500200069006e0064007300740069006c006c0069006e006700650072002000740069006c0020006100740020006f0070007200650074007400650020005000440046002d0064006f006b0075006d0065006e0074006500720020006d006500640020006800f8006a006500720065002000620069006c006c00650064006f0070006c00f80073006e0069006e006700200066006f00720020006100740020006600e50020006200650064007200650020007500640073006b00720069006600740073006b00760061006c0069007400650074002e0020005000440046002d0064006f006b0075006d0065006e0074006500720020006b0061006e002000e50062006e006500730020006d006500640020004100630072006f0062006100740020006f0067002000520065006100640065007200200035002e00300020006f00670020006e0079006500720065002e> /NLD <FEFF004700650062007200750069006b002000640065007a006500200069006e007300740065006c006c0069006e00670065006e0020006f006d0020005000440046002d0064006f00630075006d0065006e00740065006e0020007400650020006d0061006b0065006e0020006d00650074002000650065006e00200068006f0067006500720065002000610066006200650065006c00640069006e00670073007200650073006f006c007500740069006500200076006f006f0072002000650065006e0020006200650074006500720065002000610066006400720075006b006b00770061006c00690074006500690074002e0020004400650020005000440046002d0064006f00630075006d0065006e00740065006e0020006b0075006e006e0065006e00200077006f007200640065006e002000670065006f00700065006e00640020006d006500740020004100630072006f00620061007400200065006e002000520065006100640065007200200035002e003000200065006e00200068006f006700650072002e> /ESP <FEFF0055007300650020006500730074006100730020006f007000630069006f006e006500730020007000610072006100200063007200650061007200200064006f00630075006d0065006e0074006f0073002000500044004600200063006f006e0020006d00610079006f00720020007200650073006f006c00750063006900f3006e00200064006500200069006d006100670065006e00200070006100720061002000610075006d0065006e0074006100720020006c0061002000630061006c006900640061006400200061006c00200069006d007000720069006d00690072002e0020004c006f007300200064006f00630075006d0065006e0074006f00730020005000440046002000730065002000700075006500640065006e00200061006200720069007200200063006f006e0020004100630072006f00620061007400200079002000520065006100640065007200200035002e003000200079002000760065007200730069006f006e0065007300200070006f00730074006500720069006f007200650073002e> /SUO <FEFF004e00e4006900640065006e002000610073006500740075007300740065006e0020006100760075006c006c006100200076006f0069006400610061006e0020006c0075006f006400610020005000440046002d0061007300690061006b00690072006a006f006a0061002c0020006a006f006900640065006e002000740075006c006f0073007400750073006c00610061007400750020006f006e0020006b006f0072006b006500610020006a00610020006b007500760061006e0020007400610072006b006b007500750073002000730075007500720069002e0020005000440046002d0061007300690061006b00690072006a0061007400200076006f0069006400610061006e0020006100760061007400610020004100630072006f006200610074002d0020006a00610020004100630072006f006200610074002000520065006100640065007200200035002e00300020002d006f0068006a0065006c006d0061006c006c0061002000740061006900200075007500640065006d006d0061006c006c0061002000760065007200730069006f006c006c0061002e> /ITA <FEFF00550073006100720065002000710075006500730074006500200069006d0070006f007300740061007a0069006f006e00690020007000650072002000630072006500610072006500200064006f00630075006d0065006e00740069002000500044004600200063006f006e00200075006e00610020007200690073006f006c0075007a0069006f006e00650020006d0061006700670069006f00720065002000700065007200200075006e00610020007100750061006c0069007400e00020006400690020007300740061006d007000610020006d00690067006c0069006f00720065002e0020004900200064006f00630075006d0065006e00740069002000500044004600200070006f00730073006f006e006f0020006500730073006500720065002000610070006500720074006900200063006f006e0020004100630072006f00620061007400200065002000520065006100640065007200200035002e003000200065002000760065007200730069006f006e006900200073007500630063006500730073006900760065002e> /NOR <FEFF004200720075006b00200064006900730073006500200069006e006e007300740069006c006c0069006e00670065006e0065002000740069006c002000e50020006f00700070007200650074007400650020005000440046002d0064006f006b0075006d0065006e0074006500720020006d006500640020006800f80079006500720065002000620069006c00640065006f00700070006c00f80073006e0069006e006700200066006f00720020006200650064007200650020007500740073006b00720069006600740073006b00760061006c0069007400650074002e0020005000440046002d0064006f006b0075006d0065006e00740065006e00650020006b0061006e002000e50070006e006500730020006d006500640020004100630072006f0062006100740020006f0067002000520065006100640065007200200035002e00300020006f0067002000730065006e006500720065002e>/SVE <FEFF0041006e007600e4006e00640020006400650020006800e4007200200069006e0073007400e4006c006c006e0069006e006700610072006e00610020006e00e40072002000640075002000760069006c006c00200073006b0061007000610020005000440046002d0064006f006b0075006d0065006e00740020006d006500640020006800f6006700720065002000620069006c0064007500700070006c00f60073006e0069006e00670020006f006300680020006400e40072006d006500640020006600e50020006200e400740074007200650020007500740073006b00720069006600740073006b00760061006c0069007400650074002e0020005000440046002d0064006f006b0075006d0065006e00740065006e0020006b0061006e002000f600700070006e006100730020006d006500640020004100630072006f0062006100740020006f00630068002000520065006100640065007200200035002e003000200065006c006c00650072002000730065006e006100720065002e> /DEU <FEFF00560065007200770065006e00640065006e0020005300690065002000640069006500730065002000450069006e007300740065006c006c0075006e00670065006e0020007a0075006d002000450072007300740065006c006c0065006e00200076006f006e0020005000440046002d0044006f006b0075006d0065006e00740065006e0020006d00690074002000650069006e006500720020006800f60068006500720065006e002000420069006c0064006100750066006c00f600730075006e0067002c00200075006d002000650069006e0065002000760065007200620065007300730065007200740065002000420069006c0064007100750061006c0069007400e400740020007a0075002000650072007a00690065006c0065006e002e00200044006900650020005000440046002d0044006f006b0075006d0065006e007400650020006b00f6006e006e0065006e0020006d006900740020004100630072006f0062006100740020006f0064006500720020006d00690074002000640065006d002000520065006100640065007200200035002e003000200075006e00640020006800f600680065007200200067006500f600660066006e00650074002000770065007200640065006e002e> >> >> setdistillerparams << /HWResolution [600 600] /PageSize [595.000 842.000] >> setpagedevice