Application Manual Screenmaker
Application Manual Screenmaker
Application Manual Screenmaker
The information in this manual is subject to change without notice and should not be construed as a commitment by ABB. ABB assumes no responsibility for any errors that may appear in this manual. Except as may be expressly stated anywhere in this manual, nothing herein shall be construed as any kind of guarantee or warranty by ABB for losses, damages to persons or property, fitness for a specific purpose or the like. In no event shall ABB be liable for incidental or consequential damages arising from use of this manual and products described herein. This manual and parts thereof must not be reproduced or copied without ABB's written permission, and contents thereof must not be imparted to a third party nor be used for any unauthorized purpose. Contravention will be prosecuted. Additional copies of this manual may be obtained from ABB at its then current charge.
Copyright 2009 ABB. All rights reserved.
Copyright 2009 ABB All rights reserved. ABB AB Robotics Products 721 68 Vsters Sweden
Table of Contents
1.1 Introduction to ScreenMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2 Installing ScreenMaker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.4 Development environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2 Managing ScreenMaker projects 25
2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.2 Managing ScreenMaker projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.3 Application variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.4 Form designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.5 Data binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.6 Screen navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3 Tutorial 45
3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.2 Prerequistes for designing FlexArc Operator Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.3 Designing the screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.4 Building and deploying the project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4 Frequently asked questions 55
3HAC035956-001 Revision: -
Table of Contents
3HAC035956-001 Revision: -
Manual overview
Manual overview
About this manual This manual describes how to create FlexPendant Graphical User Interfaces (GUIs) using ScreenMaker. Usage ScreenMaker is designed for simplicity of use, and its functionality is basic and intuitive. This manual describes the background of GUI development, followed by descriptions of the menus and commands, and followed by a tutorial. Who should read this manual? This manual is intended for ScreenMaker users, for example: Prerequisites The reader should have a basic knowledge of: Organization of chapters The manual is organized in the following chapters: Chapter
1.
Copyright 2009 ABB. All rights reserved.
Contents
Describes the ScreenMaker development tool, as well as GUI and FlexPendant concepts. Describes how to manage projects in ScreenMaker and the various menus and commands used in the application. Serves as an example and takes you through the steps involved in designing the GUI screens. Contains a list of frequently asked questions.
2. 3. 4.
References Reference
Operating manual - RobotStudio Operating manual - IRC5 with FlexPendant
Document ID
3HAC032104-001 3HAC16590-1
Manual overview
3HAC035956-001 Revision: -
1 Introduction
1.1. Introduction to ScreenMaker
1 Introduction
1.1. Introduction to ScreenMaker
What is ScreenMaker? ScreenMaker is a tool in RobotStudio for developing custom screens. It is used to create customized FlexPendant GUIs without the need to learn Visual Studio development environment and .NET programming. Why ScreenMaker? A customized operator interface on the factory floor is the key to a simple robotic system. A well-designed custom operator interface presents the right amount of information at the right time and in the right format to the user, as such the training time and downtime (due to operating errors) are minimal. However, customized user interfaces are expensive and very time-consuming to develop. Currently, an understanding of some object-oriented programming languages (such as C, C++; VB and C#) and development framework (.NET, Visual Studio) are required to develop screens. Since, this is a requirement for IT professionals and not for the robotics industry whose workforce is generally accustomed to simple programming languages such as BASIC and RAPID; ScreenMaker is used. GUI concepts
xx080000226
A GUI makes it easier for people to work with industrial robots by presenting a visual front to the internal workings of a robotic system. For FlexPendant GUI applications, the graphical interface consists of a number of screens, each occupying the user window area (the blue box Continues on next page
3HAC035956-001 Revision: 7
1 Introduction
1.1. Introduction to ScreenMaker Continued in the figure above) of the FlexPendant touch screen. A FlexPendant screen is then composed of a number of smaller graphical components in a design layout. Typical controls (sometimes referred as widgets or graphic components) include buttons, menus, images, and text fields. A user interacts with a GUI application by: Clicking a button Selecting from a menu Typing a text in a text box Scrolling
An action such as clicking a button is called an event. Whenever an action is performed, an event is sent to the GUI application. The exact content of an event is solely dependent on the graphic component itself. Different components trigger different types of events. The GUI application responds to the events in the order generated by the user. This is called eventdriven programming, since the main flow of a GUI application is dictated by events rather than being sequential from start to finish. Due to the unpredictability of the users actions, one major task in developing a robust GUI application is to ensure that it works correctly no matter what the user does. Of course, a GUI application can, and actually does, ignore events that are irrelevant. The event handler holds sets of actions to be executed after an event occurs. Similar to trap routines in the RAPID program, the event handler allows the implementation of applicationspecific logic, such as running a RAPID program, opening a gripper, processing logic or calculating. In summary, from a developers point of view, A GUI consists of at least two parts: the view part: layout and configuration of controls the process part: event handlers that respond to events
xx0800000227
Modern GUI development environments often provide a form designer, a WYSIWYG tool to allow the user to select, position and configure the widgets. As for event handlers, typically the developer must use a special programming language recommended by the development environment.
1 Introduction
1.1. Introduction to ScreenMaker Continued FlexPendant concepts
xx0800000228
Running Windows CE, the ABB FlexPendant has limited CPU power and memory compared to a PC. A custom GUI application must therefore be placed in the designated folders on the controller hard drive before being loaded. Once loaded, it can be found in the ABB menu as seen in the figure above. Clicking the menu item will launch the GUI application. As the robot controller is the one actually controlling the robot and its peripheral equipment by executing a RAPID program, a GUI application needs to communicate with the RAPID program server in order to read and write RAPID variables and set or reset I/O signals. It is essential for RAPID programmers to understand that there are two different softwares controlling a work cell: an event-driven GUI application running on the FlexPendant, and a sequential RAPID program running in the controller. These reside on different CPUs and use different operating systems, so communication and coordination are important and must be carefully designed.
3HAC035956-001 Revision: -
1 Introduction
1.2. Installing ScreenMaker
For more information on the recommended hardware, see RobotStudio Release Notes. For more information on the supported Operating Systems, see RobotStudio Release Notes.
Prerequisites To install and use ScreenMaker, the following requirements have to be met. Before ...
installing ScreenMaker testing on VC/RC
Installing ScreenMaker Use this procedure to install ScreenMaker: NOTE! You should have administrator privileges on the PC before installing ScreenMaker. 1. Double-click SetupScreenMaker.exe. The InstallShield Wizard window appears.
Copyright 2009 ABB. All rights reserved.
en0900000453
2. Click Next and follow the instructions to complete the installation. Continues on next page
10 3HAC035956-001 Revision: -
1 Introduction
1.2. Installing ScreenMaker Continued Testing on Virtual controller/Real controller RobotWare FlexPendant Interface option is required for ScreenMaker applications. NOTE: RobotWare PC Interface option is required only when using ScreenMaker for Robots on a LAN (to get the data from the controller, bind, and deploy). If there is no PC Interface option, service port can be used to design and deploy screens.
PC Interface option is needed
en0900000723
en0900000724
3HAC035956-001 Revision: -
11
1 Introduction
1.3. Terminology
1.3. Terminology
About terms and acronyms Some terms used in this manual are product specific and crucial for understanding. Moreover, acronyms, words formed from initial letters, are sometimes used instead of long terms. To avoid confusion, important terminology are clarified below. Definitions Term
IRC5 FlexPendant
Description
ABBs robot controller. ABBs hand held device, used with the IRC5 robot controller. It is developed with Microsofts technology for embedded systems, Windows CE and .NET Compact Framework. ABB software tool, which enables the development of custom operator interfaces for IRC5. Often referred to as RAB. Version of Microsoft's .NET framework providing the run-time environment for applications running on embedded devices, such as the FlexPendant. It includes a class library, which is almost a subset of the rich .NET framework for the desktop. Programming languages
C++,VisualBasic and C#
Acronym
GUI OS RAB I/Os WYSIWYG
Description
Graphical User Interface Operating System Robot Application Builder Input /Output signals What You See Is What You Get
12
3HAC035956-001 Revision: -
1 Introduction
1.4. Development environment
en0900000584
Parts
1 2 Ribbon Project explorer
Description
Displays group of icons organized in a logical sequence of functions. See Ribbon on page 14. Shows the active screen project and lists the screens that are defined in the project. For more information, see Managing ScreenMaker projects on page 26. Layout to design the screen with the available controls. For more information, see Form designer on page 35. Displays information about the events that occur during ScreenMaker development. Displays a list of available controls. For more information. see ToolBox on page 15. Contains the available properties and events of the selected control(s). The value of the properties can either be a fixed value or a link to an IRC5 data or an Application Variable. For more information, see Properties window on page 17. Displays icons for resizing and positioning controls on the design surface. See Arrange on page 14.
3 4 5
Copyright 2009 ABB. All rights reserved.
Arrange
1 Introduction
1.4. Development environment Continued Ribbon The ScreenMaker ribbon tab contains a group of icons organized in a logical sequence of functions that facilitates the user in managing SscreenMaker projects.
en0900000452
Description
Facilitates the user to manage ScreenMaker project. See Managing ScreenMaker projects on page 26. Facilitates the user to add screen and application variables. See Managing screens on page 29 and Managing application variables on page 34. Facilitates the user to build a project. See Building a project on page 33. Facilitates the user to connect and deploy to the controller. See Connecting to controller on page 32 and Deploying to controller on page 33. Facilitates the user to resize and position the controls on the design surface. See Arrange on page 14. Facilitates the user to close a project. Facilitates the user to open the ScreenMaker help.
Build Controller
Arrange This toolbar displays icons for resizing and positioning controls on the design surface. NOTE: The icons are enabled once you select a control or group of controls on the design surface.
en0900000592
1 Introduction
1.4. Development environment Continued ToolBox ToolBox acts a container for holding all the available controls that can be placed on a screen.
en0900000407
The following table displays the GUI controls that can be dragged on to the design surface. Control
ActionTrigger BarGraph Button
Copyright 2009 ABB. All rights reserved.
Description
Allows to run a list of actions when either a signal or rapid data changes Represents an analog value in a bar Represents a control that can be clicked. Provides a simple way to trigger an event, and is commonly used to execute commands. It is labeled either with text or an image. Allows multiple selections from a number of options. They are displayed as a square box with white space (for unselected) or as a tick mark (for selected). Represents a control that enables to select items from a list Combination of a drop-down list and a textbox. It allows you to either type a value directly into the control or choose from the list of existing options. Provides a menu system for a ScreenForm Displays the mode of the Controller (Auto - Manual) Represents a text box control that can be used to edit the data. Represents a control that plots data with lines or bars. Represents a Windows control that displays a frame around a group of controls with an optional caption. Is a container used to group a set of graphic components. It usually has a title at the top.
CheckBox
ComboBox
1 Introduction
1.4. Development environment Continued Control
LED ListBox
Description
Displays a two states value, like a Digital Signal. Represents a control to display a list of items. Allows the user to select one or more items from a list contained within a static, multiple line text box. Represents a text box control that can be used to edit a number. When the user clicks it, a Numpad is opened. Represents a spin box that displays numeric values. Used to group collection of controls. Represents a picture box control that displays images. Allows to select only one of a predefined set of options. Displays the execution status of the Controller Rapid Domain (Running - Auto) Represents a Windows button control that calls a RapidRoutine when clicked Displays and lets change a two states value, like a Digital Output Signal. Manages a set of tab pages. Very commonly used widget that displays text, a label is usually static, that is, it has nointeractivity. A label generally identifies a nearby text box or other graphic component.
NumEditor NumericUpDown Panel PictureBox RadioButton RapidExecutionStatus RunRoutineButton Switch TabControl TpsLabel
NOTE! For more information on using these controls and their properties, see the section Building the user interface on page 18 and the chapter Using the FlexPendant SDK of the Application manual - Robot Application Builder.
1 Introduction
1.4. Development environment Continued Properties window A control is characterized by its properties and events. Properties describe the appearance and behavior of the component, while events describe the ways in which a control notifies its internal state change to others. By changing the value of a property, the controls have a different look and feel, or exhibit different behavior.
en0900000408
Element
1
Description
Graphical component name panel Displays the selected component, and lists the available components of the on the active design screen. Properties window toolbar
2
Copyright 2009 ABB. All rights reserved.
en0900000409
1. 2. 3. 4. 3 Table panel
Organizes table panel in categories Organizes table panel alphabetically Displays Properties in table panel Displays Events in table panel
Displays all the properties or events in twocolumns. The first column shows the property or event name, the second shows the value of the property or name of the event handler. Display information about a property or event.
Information panel
1 Introduction
1.4. Development environment Continued Editing the property value You can edit the property value of a control from the Properties window in three ways:
1 By typing the numerics, strings and text. For example, Location, Size, Name etc.
en0900000631
By selecting the predefined values from the list. For example, BackColor, Font etc.
en0900000633
By entering the values in the dialog box. For example, Enabled, States, BaseValue etc.
en0900000632
Building the user interface This section describes building the GUIs using the following controls from the ToolBox. ActionTrigger An action trigger initiates an event, such as making a hidden object visible when an action is performed using a control. It allows to run a list of actions when the property value changes. The property value can be bound to a signal, rapid data, or application variable. ActionTrigger control can also be used to invoke the application from RAPID. Use this procedure to add an ActionTrigger control:: Action
1 Drag an ActionTrigger control from the ToolBox on to the design surface.
1 Introduction
1.4. Development environment Continued Action
2 You can modify the name, set the default value and configure data binding value for a ActionTrigger control. To set the values of a property, see Properties window on page 17. You can set the trigger event for an ActionTrigger to any of the event handler created either from a control or from an Events Manager option. To set up the events, see Setup Events on page 35. To configure the data binding values, see Configuring data binding on page 38. To set the application variables, see Managing application variables on page 34.
en0900000629
en0900000630
NOTE: An action is not triggered when the screen is launched for the first time, but is triggered when there is a difference in the binded value at any point of time. This functionality is supported only in RobotWare 5.12.02. Example: Consider a signal being binded to the value property. The value of the signal changes at runtime on performing a specific action. The event handler configured for ActionTrigger control gets triggered based on this value change.
1 Introduction
1.4. Development environment Continued TpsLabel TpsLabel is a standard Windows label that displays a descriptive text. Use this procedure to add a TpsLabel control: Step
1 2
Action
Drag a TpsLabel control from the ToolBox on to the design surface. You can set the values, setup events, configure data binding values and set the application values for a TpsLabel control. To set the values of a property, see Properties window on page 17. To set up the events, see Setup Events on page 35. To configure the data binding values, see Configuring data binding on page 38. To set the application variables, see Managing application variables on page 34. You can set the option Allow Multiple States to true and change the property. 1. Click AllowMultipleStates. The Status Editor dialog box appears. 2. Click the check-box Allow Multi-States, select the properties to change from Properties For States and click OK.
en0900000499
NOTE: Button, PictureBox, and TpsLabel controls also support AllowMultipleStates option. Panel Panel is used to group a collection of controls. Use this procedure to add a Panel control: Step
1 2
Action
Drag a Panel control from the ToolBox on to the design surface. You can add a group of controls to a panel.
1 Introduction
1.4. Development environment Continued Step
3
Action
You can modify the name, set the default value and binding value for a Panel control. To set the values of a property, see Properties window on page 17. To set up the events, see Setup Events on page 35. To configure the data binding values, see Configuring data binding on page 38. To set the application variables, see Managing application variables on page 34.
NOTE: Currently only EventHandler, CancelEventHandlers, and MouseEventArgs are supported. ControllerModeStatus ControllerModeStatus displays the mode of the controller (Auto - Manual). Use this procedure to add a ControllerModeStatus control: Step
1 2
Action
Drag a ControllerModeStatus control from the ToolBox on to the design surface. You can set the values, setup events, configure data binding values, and set the application variables for a ControllerModeStatus control. To set the values of a property, see Properties window on page 17. To set up the events, see Setup Events on page 35. To configure the data binding values, see Configuring data binding on page 38. To set the application variables, see Managing application variables on page 34. You can select the image to be displayed when the controller is in Auto mode and in Manual mode. Click AutoImage in the Properties window and browse to select the image to be displayed in Auto mode. Click ManualImage in the Properties window and browse to select the image to be displayed in Manual mode.
en0900000536
1 Introduction
1.4. Development environment Continued RapidExecutionStatus RapidExecutionStatus displays the execution status of the Controller Rapid Domain (Running - Auto). This control is used Use this procedure to add a RapidExecutionStatus control: Step
1 2
Action
Drag a RapidExecutionStatus control from the ToolBox on to the design surface. You can set the values, setup events, configure data binding values, and set the application values for a RapidExecutionStatus control. To set the values of a property, see Properties window on page 17. To set up the events, see Setup Events on page 35. To configure the data binding values, see Configuring data binding on page 38. To set the application variables, see Managing application variables on page 34. You can select the image to be displayed when the Program is running and is stopped. Click RunningImage in the Properties window and browse to select the image to be displayed when the Program is running. Click StoppedImage in the Properties window and browse to select the image to be displayed when the Program is stopped.
en0900000537
RunRoutineButton RunRoutineButton represents a Windows button that calls a RapidRoutine when clicked. Use this procedure to add a RunRoutineButton control: Step
1
Action
Drag a RunRoutineButton control from the ToolBox on to the design surface.
1 Introduction
1.4. Development environment Continued Step
2
Action
You can set the values, setup events, configure data binding values, and set the application values for a RapidExecutionStatus control. To set the values of a property, see Properties window on page 17. To set up the events, see Setup Events on page 35. To configure the data binding values, see Configuring data binding on page 38. To set the application variables, see Managing application variables on page 34. You can perform the following RunRoutineButton tasks from the SmartTag: Define Actions before calling Routine Select Routine to call Define Actions after calling Routine
en0900000538
You can perform the following RunRoutineButton tasks from the Properties window. RoutineToCall - RAPID Routine will be called AllowInAuto - Indicates if the routine could be called in the Auto mode TextAlign - Indicates the alignment of text NOTE: You cannot bind RunRoutineButton to built-in Service routines as only the user defined procedures without arguments are bindable. Set the PP to task before performing action through RunRoutineButton.
en0900000545
3HAC035956-001 Revision: -
23
1 Introduction
1.4. Development environment
24
3HAC035956-001 Revision: -
3HAC035956-001 Revision: -
25
en0900000452
ScreenMaker Ribbon
en0900000395
Context menu
en0900000561
2. Enter a new project name and specify a location for the new project. A default screen MainScreen (main) is added in the tree view. By default, the new project is saved on C:\My Documents\My ScreenMaker Projects. 3. Click OK.
en0900000562
2. Browse to the location of the project file to be loaded and click Open. NOTE! You can also load an existing project using a quick access method. 1. Click Recent from the ScreenMaker ribbon or right-click Project context menu and select Recent Projects. 2. Select the project file from the list of most recently opened projects.
Copyright 2009 ABB. All rights reserved.
To save the existing project with a new name, follow this step: Click SaveAs from the ScreenMaker ribbon or right-click Project context menu and select Save As.
NOTE! Project files are saved with the extension .smk. Closing a project To close a project, follow this step: Click Close Project from the ScreenMaker ribbon or right-click Project context menu and select Close.
Managing screens This section describes adding, renaming, deleting, and editing a screen. Creating a screen 1. Click Screen from the ScreenMaker ribbon or right-click Project context menu and select Add Screen.The New Screen dialog box appears. 2. Enter the name of the new screen in Name text box. 3. Click OK.
en0900000563
Deleting a screen 1. From the Project tree view, select the screen to be deleted. 2. Right-click and select Delete.
en0900000564
Editing a screen For information on editing a screen, see Editing a screen on page 35. Changing the Main screen You have the option to change the main screen in the project to active. 1. From the Project tree view, select the screen to be changed. 2. Right-click and select Set as Main Screen.
en0900000546
en0900000394
2. In the Display tab under Texts, enter the text in Caption of the Application to edit the caption. The updated caption appears in the ABB menu on the right side. 3. In the Display tab under Images, browse and select the images of ABB Menu and Taskbar in the respective boxes.
Copyright 2009 ABB. All rights reserved.
NOTE! By default, User default image and User Menu image checkboxes are enabled and the default image tpu-Operator32.gif is selected.
en0900000581
NOTE! By default, the currently connected controller is highlighted and has a small icon before the row as an indicator.
3. Select the controller to be connected from the list and click Connect. The connection status is displayed in the Project tree view.
en0900000618
en0900000404
Deploying to controller Use this procedure to deploy a ScreenMaker project on a real controller or virtual controller: 1. Connect to the controller you want to deploy. See Connecting to controller on page 32. 2. From the ScreenMaker ribbon, click Deploy. The Download dialog box appears displaying the progress of download. It disappears once the download is successful. The TpsViewxxxxxx.dll file is downloaded. 3. Restart the controller.
NOTE!
Copyright 2009 ABB. All rights reserved.
If a real controller is used, you can reboot the FlexPendant by moving its joystick three times to the right, once to the left, and once towards you. If a virtual controller is used, you can reboot the FlexPendant by closing the virtual FlexPendant window.
3HAC035956-001 Revision: -
33
en0900000402
NOTE! For information on application variable data binding, see Application variable data binding on page 42.
Copyright 2009 ABB. All rights reserved.
34
3HAC035956-001 Revision: -
NOTE! You can either select a single control or multiple controls: Single control : Left-click the control on the design surface or select the control from the list in the Properties window. Multiple controls: Left-click on the design surface, drag the mouse and create a window selecting all the controls.
3. Click the smart tag on the upper right corner of the control to perform the basic tasks of configuration. See Configuring data binding on page 38.
NOTE! You can perform additional configuration by editing the attributes in the of the Properties window. See Properties window on page 17. Setup Events
Copyright 2009 ABB. All rights reserved.
Event handler is a set of actions to be executed after an event occurs. To set up an event, follow these steps: 1. Select the control for which the event handler is to be defined. 2. Open the Events Panel dialog box in any one of the following ways: Double-click the control. Right-click the control, select Events Manager, click Add, enter the name, and click OK and close. Click smart tag and select the task from the list. In the Properties window, click Events icon and select the desired event from the list.
en0900000554
Signals
Set a Digital Signal Invert a Digital Signal Pulse a Digital Signal Read a Signal Write a Signal Reset a Digital Signal
en0900000555
RapidData
en0900000553
en0900000552
4. Select the action from the left window and perform the following: Click Delete to delete the action. Click Move Up or Move Down to change the order of execution of actions.
5. Click OK.
3HAC035956-001 Revision: -
37
A screen has to be linked with data to be useful. There are two ways of linking the data with the GUI properties: Configuring data binding Data binding can be configured in the following two ways: Using smart tag Smart tags perform basic configuration tasks like binding default GUI property with controller data. Controls either display or edit information have a value to represent the information. Smart tag binds the value to the controller object. On the design surface, select the control and click the smart tag. The tasks menu appears. Controller object data binding Application variable data binding
en0900000398
Using Binding menu 1. On the design surface, select the control. 2. In the Properties window, locate the row from the table for binding the value. 3. Select the attribute and click the list to display the Binding menu.
en0900000399
Menu
Remove actual binding Bind to a Controller object Bind to an Application variable
Description
Removes the existing data binding Select available data in the controller for binding. Select available data in project temporary data store for binding.
Configuring data binding for different controls Almost all the controls defined in the toolbox (except ComboBox and ListBox) have the following two options for binding values:
Copyright 2009 ABB. All rights reserved.
Binding to an array can be done to the following controls: DataEditor ComboBox ListBox
Description
The default index value is 1. DataEditor is designed in such a way that the default value of the Rapid array starts with 1 and not 0.
en0900000641
ComboBox and ListBox The default index value is -1. You can enter the appropriate index value but cannot bind to a controller object or an application variable.
en0900000642
en0900000400
2. In the Type of object group, select either Rapid data or Signal data. 3. If you select Rapid data, from the Scope group, select a task and module from the list. 4. If you select Signal data, the Scope group is disabled. 5. In the See list, select the desired data.
en0900000403
2. Select an application variable and the field to connect. 3. Click Setup Variables to manage the variables. The Project Application Variables dialog box appears. See Managing application variables on page 34. 4. Click OK.
42
3HAC035956-001 Revision: -
en0900000645
3HAC035956-001 Revision: -
43
44
3HAC035956-001 Revision: -
3 Tutorial
3.1. Overview
3 Tutorial
3.1. Overview
About this chapter This chapter is designed as a tutorial to take you through the steps involved in designing a FlexArc Operator Panel, a simple arc-welding cell, whose robots perform three different jobs. The operator panel will display the following graphic elements: Workflow 1. Create a station with a system, define the project and create application variables. For more information, see Prerequistes for designing FlexArc Operator Panel on page 46. 2. Define the controls/graphic elements on the screen. For more information, see Designing the screen on page 48. 3. Build and Deploy the project. For more information, see Building and deploying the project on page 54. The following table shows the workflow involved in designing a FlexArc Operator panel:
Prerequistes for designing For creating a station with a system, defining your project, and FlexArc Operator Panel on creating your application variables. page 46 Designing the screen on page 48 For defining the graphics of your screen.
Controller Status, including the controller mode and the RAPID execution status Part Status, including the number of produced parts, the average cycle time per part, and a reset button Robot jobs and locations, including Produce (for welding parts), Bulls Eye (for calibration) and Service (for servicing the welding gun) Start and Stop buttons
Building and deploying the For building and deploying the GUI. project on page 54
Copyright 2009 ABB. All rights reserved.
3HAC035956-001 Revision: -
45
3 Tutorial
3.2. Prerequistes for designing FlexArc Operator Panel
Type
num num num num num
Value
0 1 2 3
Copyright 2009 ABB. All rights reserved.
For more information about application variables, see Managing application variables on page 34. 7. Create MainModule.mod for the task T_ROB1. 8. Create RAPID variables with the following data: Name
partsReady cycleTime JobIdle JobProduce JobBulls
Type
num num num num num PERS PERS CONST CONST CONST
Value
16 5.01645 0 1 2
3 Tutorial
3.2. Prerequistes for designing FlexArc Operator Panel Continued Name
JobService
Type
num CONST
Value
3
3HAC035956-001 Revision: -
47
3 Tutorial
3.3. Designing the screen
GroupBox. For more information, see GroupBox on page 48. Status Icons. For more information, see Status icon on page 49. Label and Number editor. For more information, see Label and Number Editor on page 49. Picture box. For more information, see PictureBox on page 50. Button. For more information, see Button on page 51.
Value
14,45 150,100 Controller Status LightGray
Copyright 2009 ABB. All rights reserved.
2. Drag another GroupBox control from the General category on to the design surface and set the following values in the Properties window. Property
Location Size Title
Value
14,170 150,204 Part Status
3 Tutorial
3.3. Designing the screen Continued Status icon 1. Drag a ControllerModeStatus control from the Controller Data category on to the Controller Status groupbox and set the following values in the Properties window: Property
Location Size
Value
19,40 44,44
2. Drag a RapidExecutionStatus control from the ControllerData category on to the Controller Status groupbox and set the following values in the Properties window: Property
Location Size
Value
80,40 44,44
Label and Number Editor 1. Drag a Label control from the General category on to the Part Status groupbox and set the following values in the Properties window: Property
Location Size Title BackColor Font
Value
16,30 131,20 Parts Produced LightGray TpsFont10
2. Drag a NumEditor from the ControllerData category on to the Parts Status: groupbox and set the following values in the Properties window: Property
Location
Copyright 2009 ABB. All rights reserved.
Value
16,56 116,23 Bind to a Controller object For example, RAPID num datatype.
Size Value
3 Tutorial
3.3. Designing the screen Continued 3. Drag another Label control from the General category on to the Part Status groupbox and set the following values in the Properties window: Property
Location Size Text BackColor Font
Value
16,89 131,20 Cycle time/part LightGray TpsFont10
4. Drag another NumEditor control from the General category on to the Part Status groupbox and set the following values in the Properties window: Property
Location Size Value
Value
16,115 116,23 Bind to a Controller object For example, RAPID num datatype.
PictureBox NOTE! It is not mandatory to use only the images (.gif ) mentioned in the tabel below (for example, RobotAtBullseye.GIF, FlexArcCell.GIF...). You can use any image (.gif ) of your choice. The images (.gif) mentioned below are only examples.
1. Drag a PictureBox control from the General category on to the design surface and set the following values in the Properties window: Property
Location Size SizeMode Image
Value
177,28 StretchImage FlexArcCell.GIF
Copyright 2009 ABB. All rights reserved.
284,359
2. Drag a second PictureBox control from the General category on to the design surface and set the following values in the Properties window. Property
Location Size SizeMode Image Visible
Value
369,31 48,48 StretchImage RobotAtBullseye.GIF Link to DI_RobotAtBullseye
3 Tutorial
3.3. Designing the screen Continued 3. Drag a third PictureBox control from the General category on to the design surface and set the following values in the Properties window: Property
Location Size SizeMode Image Visible
Value
237,31 48,48 StretchImage RobotAtHome.GIF Link to DI_RobotAtHome
4. Drag a fourth PictureBox control from the General category on to the design surface and set the following values in the Properties window: Property
Location Size SizeMode Image Visible
Value
369,31 48,48 StretchImage RobotAtService.GIF Link to DI_RobotAtService
Button 1. Drag a Button control from the General category on to the Part Status group box. In the properties window, set the following values: Property
Location Size Text
Value
33,154 85,34 Reset
Define the following for the Reset button in the Part Status group:
Copyright 2009 ABB. All rights reserved.
1. Double-click the button or click the Smart tag and select Define Actions when clicked to open the Events Panel dialog box. 2. Click Add Action and point to Rapid Data, and then select Write Rapid Data. The Action Parameters dialog box appears. 3. In the Action Parameters dialog box, define the following values and click OK. Rapid Data to Write
T_ROB1.MainModule.partsReady T_ROB1.MainModule.cycleTime
Value to Write
MyResetValue.Value MyResetValue.Value
2. Drag a second Button control from the General category on to the design surface and set the following values in Properties window: Property
Location Size
Value
486,66 116,105
3 Tutorial
3.3. Designing the screen Continued Property
Text Font BackColor Enabled
Value
Start TpsFont20b LimeGreen Link to DI_RobotAtHome
Perform the following actions on the Start button: 1. Double-click the button or click the Smart tag and select Define Actions when clicked to open the Events Panel dialog box. 2. Click Add Action and point to Rapid Data, and then select Write Rapid Data. The Action Parameters dialog box appears. 3. In the Action Parameters dialog box, define the following values and click OK. Rapid Data to Write
T_ROB1.MainModule.JobProduce
Value to Write
JobProduce
3. Drag a third Button control from the General category on to the design surface and set the following values in the Properties window: Property
Location Size Text Font BackColor Enabled
Value
486,226 116,105 Stop TpsFont20b LimeGreen Link to DI_PRODUCE
Perform the following actions on the Stop button: 1. Double-click the button or click the Smart tag and select Define Actions when clicked to open the Events Panel dialog box.
Copyright 2009 ABB. All rights reserved.
2. Click Add Action and point to Rapid Data, and then select Write Rapid Data. The Action Parameters dialog box appears. 3. In the Action Parameters dialog box, define the following values and click OK. Rapid Data to Write
T_ROB1.MainModule.JobIdle
Value to Write
JobIdle
4. Drag a a fourth Button control from the General category on to the design surface and set the following values in the Properties window: Property
Location Size Text Font BackColor 52
Value
274,246 111,47 BullsEye TpsFont14b LimeGreen
3 Tutorial
3.3. Designing the screen Continued Property
Enabled
Value
Link to DI_RobotAtHome
Perform the following actions on the BullsEye button: 1. Double-click the button or click the Smart tag and select Define Actions when clicked to open the Events Panel dialog box. 2. Click Add Action and point to Rapid Data, and then select Write Rapid Data. The Action Parameters dialog box appears. 3. In the Action Parameters dialog box, define the following values and click OK. Rapid Data to Write
T_ROB1.MainModule.JobBulls
Value to Write
JobBulls
5. Drag a fifth Button control from the General category on to the design surface and set the following values in the Properties window: Property
Location Size Text Font BackColor Enabled
Value
274,324 111,47 Service TpsFont14b LimeGreen Link to DI_RobotAtHome
Perform the following actions on the Service button: 1. Double-click the button or click the Smart tag and select Define Actions when clicked to open the Events Panel dialog box. 2. Click Add Action and point to Rapid Data, and then select Write Rapid Data. The Action Parameters dialog box appears. 3. In the Action Parameters dialog box, define the following values and click OK.
Copyright 2009 ABB. All rights reserved.
Value to Write
JobService
3HAC035956-001 Revision: -
53
3 Tutorial
3.4. Building and deploying the project
NOTE! Ensure that you start the RAPID execution and switch the controller into Auto mode.
54
3HAC035956-001 Revision: -
Location of output files The files that contain the FlexPendant application from ScreenMaker are found (for example) in the bin directory under the My ScreenMaker Projects located in the My documents directory of the user. For example, My Documents\My ScreenMaker Projects\SCM_Example\bin where SCM_Example is the example ScreenMaker project. The files in the bin directory are to be copied to a location where the Virtual FlexPendant can read them during the start of the FlexPendant. Location where the Virtual FlexPendant reads the files The recommended location for manually copying the ScreenMaker output files is the location of the virtual controller system. If the system is created manually from System Builder, it is located in the My Documents directory. For example, My Documents\IRB4400_60_SCM_Example\HOME where IRB4400_60_SCM_Example is the example controller system. If the system is created by a Pack-and-Go and then restored, it is located in the RobotStudio\Systems folder. For example, MyDocuments\RobotStudio\Systems\IRB4400_60_SCM_Example\HOME where IRB4400_60_SCM_Example is the example controller system. Copy files Copy the files from the ScreenMaker output to the Home directory of the virtual controller system. Restart the Virtual FlexPendant and the new application will be loaded.
en0900000666
The Project Properties dialog box appears showing how the project appears on the FlexPendant.
en0900000667
en0900000668
en0900000669
en0900000670
Using CommandBar and the menu items Using CommandBars allow buttons to appear at the bottom of the screen in a controlled and organized order.
en0900000671
In the preceding graphic, the CommandBar has three menu items Gate, Conveyor, and Motor. The objective is to have events trigger when these are clicked.
Copyright 2009 ABB. All rights reserved.
en0900000672
To add events to the menu items, go to the Properties dialog and select the menu item from the drop down list.
en0900000673
en0900000674
en0900000409
1. In the preceding graphic, select 4 to add an event when the menu item is clicked. 2. Click the drop-down list to select the event. The events are added automatically For more information on various ways of opening the Events Panel dialog box, see Setup Events on page 35.
en0900000675
en0900000676
CommandBar menu items do not appear When adding CommandBar menu items, ensure that the Text property is filled, if not nothing will appear on the CommandBar.
en0900000677
62
3HAC035956-001 Revision: -
Index
A
Application Variables 34 create,delete, rename application variables 34 FlexPendant memory 34 RAPID variable 34
C
Configure data binding 38 Using Binding menu 38 Using Smart tag 38 Connecting a controller 32
D
Data Binding 38 Application variable data binding 42 Controller object data binding 41 Design surface 13 Development Environment 13
L
LED 16
M
Manage ScreenMaker Project 26 Close project 29 Create project 27 Load project 28 Save project 29 Manage Screens 29 Create screen 29 Delete screen 29 Edit screen 30 Rename screen 30 Managing ScreenMaker Projects Build project 33 Modify project properties 31
P
Properties Window Event Help panel 17 Graphical Component Name panel 17 Properties window toolbar 17 Table panel 17
S
Screen navigation 43 switch 16
T
ToolBox ActionTrigger 15 BarGraph 15 CheckBox 15 ComboBox 15 CommandBar 15 ControllerModeStatus 15 DataEditor 15 Graph 15 GroupBox 15 ListBox 16 NumEditor 16
3HAC035956-001 Revision: -
63
64
Index
3HAC035956-001 Revision: -