abb report - rakesh mishra

49
BLACK ADDER Project Report Submitted by Rakesh Mishra Reg. No. 080906080 Under the guidance of Suman M Soubhagyaseetha N Project Manager, Discrete Motion & Low Voltage Products Asst. Professor, Dept. of Electrical and Electronics Engineering ABB Global Industries and Services Limited, Bangalore Manipal Institute of Technology, Manipal In partial fulfilment of the requirements for the award of the degree of BACHELOR OF ENGINEERING IN ELECTRICAL AND ELECTRONICS ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING MANIPAL INSTITUTE OF TECHNOLOGY (A Constituent College of Manipal University) MANIPAL – 576104, KARNATAKA, INDIA May 2012

Upload: b2mishra

Post on 17-Feb-2016

36 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: ABB Report - Rakesh Mishra

BLACK ADDER

Project Report Submitted by

Rakesh Mishra Reg. No. 080906080

Under the guidance of

Suman M Soubhagyaseetha N

Project Manager,

Discrete Motion & Low Voltage

Products

Asst. Professor,

Dept. of Electrical and Electronics

Engineering

ABB Global Industries and Services

Limited, Bangalore

Manipal Institute of Technology,

Manipal

In partial fulfilment of the requirements for the award of the degree of

BACHELOR OF ENGINEERING IN

ELECTRICAL AND ELECTRONICS ENGINEERING

DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING

MANIPAL INSTITUTE OF TECHNOLOGY (A Constituent College of Manipal University)

MANIPAL – 576104, KARNATAKA, INDIA

May 2012

Page 2: ABB Report - Rakesh Mishra

BLACK ADDER

Project Report Submitted by

Rakesh Mishra Reg. No. 080906080

Under the guidance of

Suman M Soubhagyaseetha N

Project Manager,

Discrete Motion & Low Voltage

Products

Asst. Professor,

Dept. of Electrical and Electronics

Engineering

ABB Global Industries and Services

Limited, Bangalore

Manipal Institute of Technology,

Manipal

In partial fulfilment of the requirements for the award of the degree of

BACHELOR OF ENGINEERING IN

ELECTRICAL AND ELECTRONICS ENGINEERING

DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING

MANIPAL INSTITUTE OF TECHNOLOGY (A Constituent College of Manipal University)

MANIPAL – 576104, KARNATAKA, INDIA

May 2012

Page 3: ABB Report - Rakesh Mishra

DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING

MANIPAL INSTITUTE OF TECHNOLOGY (A Constituent College of Manipal University)

MANIPAL – 576 104 (KARNATAKA), INDIA

Manipal

May 19, 2012

CERTIFICATE

This is to certify that the project titled BLACK ADDER is a record of the bonafide

work done by RAKESH MISHRA (Reg. No. 080906080) submitted in partial fulfilment

of the requirements for the award of the Degree, Bachelor of Engineering (B.E) in

Electrical and Electronics Engineering (E & E) of Manipal Institute of Technology

Manipal, Karnataka, (A Constituent College of Manipal University), during the academic

year 2011-12.

Soubhagyaseetha N. Project Guide

Dr. B. K. SINGH HOD, E&E

M.I.T, MANIPAL

Page 4: ABB Report - Rakesh Mishra

Bangalore

May 17, 2012

CERTIFICATE

This is to certi fy that the project enti t led BLACK ADDER was carried out

by RAKESH MISHRA (Reg. No. 080906080) at ABB Global Industries and

Services Limited, Bangalore under my guidance during January 2012 to

May 2012.

Suman M.

Project Manager

ABB GISL, Bangalore

Page 5: ABB Report - Rakesh Mishra

i

ACKNOWLEDGMENTS

It is indeed a moment of great pleasure & immense satisfaction for me to express my

sincere thanks and sense of profound gratitude to all the people who have had a helping

hand in making my internship at ABB Global Industries and Services Ltd. a great

learning experience for me. I would like to thank all people who guided me and have

been a constant source of inspiration throughout the tenure of my training.

I am sincerely grateful to Mr Suman M., Project Manager, Discrete Automation and

LV Products Dept., ABB GISL, Bangalore who mentored me and provided his

valuable assistance and constant encouragement which made this project actually

possible.

I also express my deep sense of gratitude to my internal guide Mrs Soubhagyaseetha N.,

Asst. Professor, Dept. of Electrical and Electronics Engineering, M.I.T. Manipal for

helping me throughout the period of my internship with her valuable inputs and guidance.

I would also like to thank The Director, Manipal Institute of Technology, The H.O.D.

Dept. Of Electrical and Electronics Engineering and all the faculty members who have

always been the background force in whatever I have tried to achieve by constantly

inspiring me and guiding me. I would also like to thank my friends who have always been

a motivation for me in bringing out the best in me.

Page 6: ABB Report - Rakesh Mishra

ii

ABSTRACT

Control platforms are necessary to be able to meet the market’s demand for faster and

more cost efficient engineering. At the same time, such a platform creates a single point-

of-failure, representing a potential risk to the whole organization. Successful platform

development requires striking a delicate balance between optimizing reusability (and so

reducing costs) and optimizing performance (at the price of reusability and hence,

potentially, at the price of quality). One such product is the AC 800 PEC designed and

manufactured by ABB. The secret behind the success of the AC 800PEC control platform

is a collection of design patterns that offers excellent testability – a key feature permitting

high quality to be combined with reduced time-to-market.

Black Adder is a project based on the AC 800 PEC Platform for multiple clients based in

the Europe. Various applications were designed catering to the requirements of each

client. The applications were subjected to exhaustive testing before being released.

Automated testing was also introduced used TestComplete® tool from Smart Bear Inc.

After exhaustive testing, the product was released without any issues and as per the exact

requirements of the clients.

Manual testing has various merits as well as demerits. With manual validation process, it

is possible to validate all the functionalities of the application exhaustively. But it is time

consuming especially when we have to perform the process repeatedly. So automation of

the validation process, which was a part of the Black Adder project, is necessary to save

time which is of essence in a real time project.

Keywords: PEC, Test automation, drives

Software Used: PEC Tool, TestComplete®

Page 7: ABB Report - Rakesh Mishra

iii

LIST OF TABLES

Table No Table Title Page No

Table 4.1 Test Summary for xCT - Alpha Cycle 17

Table 4.2 Test Summary for xCT - Beta 1 Cycle 18

Table 4.3 Test Summary for xCT - Beta 2 Cycle 19

Table 4.4 Test Summary for xCT - Release Build 20

Page 8: ABB Report - Rakesh Mishra

iv

LIST OF FIGURES

Figure No Figure Title Page No

Figure 1.1 Basic Layout of an AC 800 PEC Controller 2

Figure 1.2 Software Overview 5

Figure 1.3 AC 800PEC Controller Module PP D113: Overall View 5

Figure 3.1 Basic Test Setup 13

Figure 4.1 TestComplete Report 21

Figure 4.2 Analysis of Test Report Summary for xCT 21

Figure 4.3 Analysis of Test Report Summary for PEC Tool 22

Figure 4.4 Analysis of Test Report Summary for CTMS Tool 23

Page 9: ABB Report - Rakesh Mishra

v

LIST OF ABBREVIATIONS

INCRC India Corporate Research Centre

PLCRC Poland Corporate research Centre

PEC Power Electronics Controller

CT Control Terminal

xCT Control Terminal application where x stands for the particular

application

CTMS Control Terminal Management Software

I/O Input and Output

CPU Central Processing Unit

Page 10: ABB Report - Rakesh Mishra

Contents

Page No

Acknowledgement i

Abstract ii

List Of Tables iii

List Of Figures iv

List of Abbreviations v

Chapter 1 INTRODUCTION 1

1.1 Project Introduction 1

1.2 Literature Review 1

1.3 Objective of the Work 7

1.4 Work Schedule 8

Chapter 2 BACKGROUND THEORY 9

2.1 Power Electronic Drives and Controllers 9

2.2 ABB Controllers 9

Chapter 3 METHODOLOGY 11

3.1 Methodology 11

3.2 Test Automation 14

3.3 Tools Used 15

Chapter 4 RESULT ANALYSIS 17

4.1 Test Report Summary 17

4.2 Analysis 21

Chapter 5 CONCLUSIONS & FUTURE SCOPE 24

5.1 Work Conclusions 24

5.2 Future Scope of Work 24

REFERENCES / BIBLIOGRAPHY 25

ANNEXURES 26

PROJECT DETAILS

Error!

Bookma

rk not

defined.

Page 11: ABB Report - Rakesh Mishra

-1-

CHAPTER 1

INTRODUCTION 1.1. Project Introduction

Blackadder is a validation project for INCRC. This project has three software components

which are used for configuration, diagnosis, Monitoring and Control of PEC controllers

and Control Terminals.

1. PEC Tool - This is used to configure, diagnoses, Monitor and control the PEC

800 and PEC 80 controllers.

2. CTMS Tool - Control Terminal Management Software Tool. Main purpose of this

tool is to generate the database file for xCT application

3. xCT Application - It has eight different application installers. ECT (Excitation

Control Terminal), TCT (Traction Control Terminal), LCT (Load Commutated

inverter CT), CCT (Cyclo CT), FCCT (Frequency Converter CT) GCT (Governor

CT), SMTS, SSCCT.

1.2. Literature Review 1.2.1. AC 800 PEC

The AC 800PEC is a high-end controller belonging to ABB’s AC 800 family. It is

configured and programmed with Control Builder M and MATLAB®/Simulink® with

Real-Time Workshop®. The AC 800PEC has been specially designed to combine in one

single processor the high speed control tasks required in drives and other power converter

applications and the low speed tasks usually carried out by separate PLC units.

The Controller combines a very powerful CPU and large Field-Programmable Gate

Array, which suits AC 800PEC to control demanding Power Electronics Systems.

Ethernet is used as preferred medium for configuration and communication to upper

control.

The AC 800PEC provides the optimum solution for high speed control requirements of

power converters.

Page 12: ABB Report - Rakesh Mishra

-2-

Figure 1.1: Basic Layout of an AC 800 PEC Controller

An example of an AC 800PEC structure with the typical modules is shown in the Figure

1.1. Typically, the AC 800PEC arrangement consists of:

• AC 800PEC controller

• AC 800PEC Combi IO modules

• AC 800PEC INT interface modules

• S800 I/O system

The standard AC 800PEC controller platform is of a modular structure and consists of the

following main components:

• PP D113 Controller Module: The AC 800PEC controller module contains the

processor, the optical interfaces to the peripheral I/O, the fieldbus interfaces to

upper control and some ancillary components:

o Base unit AC 800PEC BP (backplane with slots for mounting the

processor, the power supply, as well as optical and communication

modules)

o Processor module AC 800PEC CPU mounted on the AC 800PEC BP

(processor type: PowerPC®750FX)

o Power supply module AC 800PEC PS to provide the various supply

voltage levels

Page 13: ABB Report - Rakesh Mishra

-3-

o Up to two AnyIO communication modules: AnyBus-S fieldbus interfaces

to connect with all common fieldbus types and/or one AC 800PEC CEX

interface

o Up to 6 AC 800PEC optical modules for fibre optic links to various I/O

modules.

The hardware is designed for control applications requiring high I/O and control

performance. The controller consists of a low power circuit with high hardware

and system reliability. The hardware can be configured freely depending on the

process requirements and the selected communication with upper control.

The units are mounted on a horizontal DIN rail.

• I/O Modules: Depending on the process requirements, several types of I/O

modules are provided:

o I/O modules (AC 800PEC Combi IO) for fast signal exchange, e.g. CT and VT

inputs, fast trip logic, safety relays, encoder signals. A Combi IO can carry up

to two add-on terminal modules.

o S800 I/O modules for signal exchange without high speed requirements e.g.

control and status signals for process, plant and ancillary equipment, general

measurement quantities.

o AC 800PEC INT interface system for fibre optic links to external devices, e.g.

transmission of firing pulses to converters, time critical measurements.

o AC 800PEC PEBB Interface board and PEBB Int Quad board for direct IGBT

converter control.

o AC 800PEC PINT (Pulse INTerface) for the transmission of firing pulses to

thyristor modules.

o AC 800PEC Measurement Interface for current and voltage measurements.

The I/O devices are linked with the AC 800PEC controller via fiber optic links.

All I/O devices (with the exception of the S800 I/O modules) have a common

interface technology. The communication protocol is based on the PowerLINK

technology which is designed for high speed signal transmission (25 µs for 10 data

words). The S800 I/O modules use DDCS (Distributed Drive Communication

System).

• Internal Communication: All internal communication between controller and I/O

modules is achieved exclusively by means of optical links via the optical

Modulebus. There are no electric connections between the controller and any I/O

device.

Page 14: ABB Report - Rakesh Mishra

-4-

• External Communication: Communication with external systems (i.e. upper

control via Fieldbus) takes place via CEX or AnyBus-S interface modules or via

Ethernet ports on the processor module.

• Communication with ControlIT environment: Programming and service tools of

the ControlIT environment are connected directly to the processor via Ethernet.

Ethernet is used as preferred medium for configuration and communication to upper

control. The AC 800PEC interfaces with ABBs I/O systems via the optical S800

Modulebus and with ABB’s communication modules via Communication Expansion Bus

(CEX). It also supports 3rd party AnyBus-S® fieldbus modules. The AC 800PEC I/O

modules are connected via high-speed point-to-point connections. AC 800PEC supports

up to 36 bi-directional fiber optic power-links.

The software for the AC 800PEC is structured as shown in Figure 1.2. It comprises three

levels:

• IndustrialIT Integration: The top level (or application engineering level) is based

on the industry standard IEC 61131-3 and contains the higher-level, slow control,

monitoring, operating, display and registering functions. The development of

programs in accordance with the IEC 61131-3 standard takes place in the Control

Builder M tool, the IndustrialIT compatible engineering tool from ABB.

• Fast Control Software: The medium level contains the fast control and protective

functions with cycle times within the range of below 100µs to a few milliseconds.

It is programmed in MATLAB/Simulink.

• High Speed I/O Control: The lowest level contains the very fast hardware-specific

functions such as pulse-width modulators, pulse logic with associated protective

functions, fast analog and binary inputs and outputs etc. This level is implemented

in the FPGA and is programmed in VHDL (Very High Speed Integrated Circuit

Hardware Description Language). All access to the peripherals by the other two

levels takes place via this level.

Page 15: ABB Report - Rakesh Mishra

-5-

Figure 1.2: Software Overview

Figure 1.3: AC 800PEC Controller Module PP D113: Overall View

1.2.2. TestComplete®

TestComplete® is an automated testing tool, developed by SmartBear Software which

aims to allow testers to create software quality tests. Tests can be recorded, manually

scripted or created manually with keyword operations and used for automated playback

and error logging. TestComplete’s impressive feature list and unmatched extensibility

ensure power users always have a solution to testing challenges.

Page 16: ABB Report - Rakesh Mishra

-6-

TestComplete is used for testing many different application types including Web,

Windows, WPF, Flash, Flex, Silverlight, .NET and Java. It automates front-end

UI/functional testing and back-end testing like database, and HTTP load testing.

Key Features of TestComplete are:

• Keyword Testing: TestComplete has a built-in keyword-driven test editor that

consists of keyword operations that correspond to automated testing actions.

• Full-Featured Script Editor: TestComplete has a built-in code editor with a set of

special plug-ins that helps testers write scripts manually.

• Test Record and Playback: TestComplete records the key actions necessary to

replay the test and discards all unneeded actions.

• Script Debugging Features: The debugger can stop before every executable line in

the script or keyword test. That helps track what the test is doing and make

changes when necessary.

• Access to Methods and Properties of Internal Objects: TestComplete reads the

names of the visible elements and many internal elements of Delphi, C++Builder,

.NET, WPF, Java and Visual Basic applications and allows test scripts to access

these values for verification or use in tests.

• Unicode Support: TestComplete's Unicode character set support allows testing of

non-ASCII applications that use Unicode character sets like Arabic, Greek,

Katakana, Hebrew and others.

• Issue-Tracking Support: TestComplete includes issue-tracking templates that can

be used to create or modify items stored in issue-tracking systems. TestComplete

currently supports Microsoft Visual Studio 2005, 2008, 2010 Team System,

BugZilla and AutomatedQA AQdevTeam.

• COM-based, Open Architecture: TestComplete's engine is based on an open API,

COM interface. It is source-language independent, and can read debugger

information and use it at runtime through the TestComplete Debug Info Agent.

• Test Visualizer – TestComplete automatically captures screenshots during test

recording and playback. This enables quick comparisons between expected and

actual screens during test.

• Support for plugins - TestComplete supports plugins so third-party vendors can

connect TestComplete with their applications. For instance the test case

management software SpiraTest can be linked to TestComplete so test runs of

automated tests get reported back into SpiraTest.

Page 17: ABB Report - Rakesh Mishra

-7-

Supported scripting languages:

• VBScript

• JScript

• DelphiScript

• C++Script

• C#Script

TestComplete supports testing of following applications:

• Support for all 32-bit and 64-bit Windows applications.

• Extended support, access to internal objects, methods and properties, for the

following:

.NET (C#, VB.NET, JScript.NET, VCL.NET, C#Builder, Python .NET, Perl .NET

etc.)

• WPF

• Java (AWT, SWT, Swing, WFC)

• Sybase PowerBuilder, Microsoft FoxPro, Microsoft Access, Microsoft InfoPath

• Web browsers (Internet Explorer, Firefox, Netscape Navigator)

• Visual C++

• Visual Basic

• Delphi

• C++Builder

• Adobe Flash

• Adobe Flex

• Adobe AIR

• Microsoft Silverlight

1.3. Objective of the Work

• To automate the validation process of all the applications and products related to

Black Adder project.

• To develop and release all the applications without any errors and as per the

customer requirements.

Page 18: ABB Report - Rakesh Mishra

-8-

1.4. Work Schedule

Month Activity Status

Jan 2012 Introduction, TFS Test Manager Migration Completed

Feb 2012 PEC Tool Testing Completed

Mar 2012 xCT Testing, Test Automation Completed

Apr 2012 Test Automation, 2nd Iteration Completed

May 2012 Test Automation, Release Test Completed

Overall Status: Project Completed

In the subsequent chapters the project will be discussed in details. Chapter 2 will cover

the background theory of the project work, which will include the theoretical discussions,

mathematical analysis and device connections relevant to the project. Chapter 3 will

cover the detailed methodology adopted during the course of the project work. The

various assumptions made, test setup and components will also be mentioned. In Chapter

4 the various results obtained at the end of the project work will be analysed. In Chapter 5

the conclusion of the project work will be presented along with a discussion on the future

scope of work in the field.

Page 19: ABB Report - Rakesh Mishra

-9-

CHAPTER 2

BACKGROUND THEORY

2.1 Power Electronics and Drives

Electric motors consume about 65% of all electricity used throughout industry. Yet, less

than 10% of those motors are fitted with a variable speed drive. Power Electronics plays

an important role at this point.

Power electronics is the application of solid-state electronics for the control and

conversion of electric power. It also refers to a subject of research in electrical

engineering which deals with design, control, computation and integration of nonlinear,

time varying energy processing electronic systems with fast dynamics.

Power electronics has, over recent decades, made great progress, not only in terms of

power and speed performance, but also in the breadth of applications being catered for.

Power converters are required to become ever faster, cheaper, lighter and more flexible

while fitting into less space and requiring less installation and maintenance time.

Control platforms are necessary to be able to meet the market’s demand for faster and

more cost efficient engineering. At the same time, such a platform creates a single point-

of-failure, representing a potential risk to the whole organization. Successful platform

development requires striking a delicate balance between optimizing reusability (and so

reducing costs) and optimizing performance (at the price of reusability and hence,

potentially, at the price of quality).

2.2 ABB Controllers

ABB is a Swedish-Swiss multinational corporation headquartered in Zürich, Switzerland,

operating in robotics and mainly in the power and automation technology areas. ABB is a

world leader in the field of manufacturing power electronic controllers for industrial use

catering to a variety of customers.

One such product is the AC 800 PEC designed and manufactured by ABB. The secret

behind the success of the AC 800PEC control platform is a collection of design patterns

that offers excellent testability – a key feature permitting high quality to be combined

with reduced time-to-market.

The concept behind the PEC (Power Electronic Controller) is the development workflow

in which simulation models are converted directly into code for the target controller. This

Page 20: ABB Report - Rakesh Mishra

-10-

conversion requires no manual recoding. In this way, an important source of errors is

eliminated and a high degree of confidence is provided in the equivalence of the

behaviour of the simulated and real systems.

In power electronic control, the time domain ranges from nanoseconds in the switching

patterns up to seconds in the start-up sequences. A great strength of the PEC architecture

lies in it covering these nine orders of magnitude in the control time-domain without

compromising on simplicity or flexibility.

In order to support the direct conversion of simulation models, the architecture 2 has two

major differences compared to classic control systems. No dedicated DSP (Digital Signal

Processor) is provided for fast control and there is no mechanical rack where I/O modules

are connected together.

A classic design would utilize two different physical components for these main tasks, a

CPU for slow control and a DSP for fast control. By investigating different use-cases it

was concluded that the load distribution between fast (typically 100s) and slow (typically

10ms) control was strongly application specific. The lack of a universal rule for load

distribution prompted developers to use a single CPU for both fast and slow control. This

decision resulted in the need for a very high-performance CPU. Besides solving the load

distribution problem, this architecture greatly simplified automatic code generation.

As the process technology for digital circuits improved very rapidly, the manufacturing

costs of CPU and FPGA dropped dramatically – during a period of five years the cost of

these digital circuits was reduced by more than 90 per cent. As these lower-cost devices

came onto the market, a further advantage of the architecture paid off – its excellent

application portability. Today ABB is offering AC 800PEC controllers based on the most

cost efficient 90 nm silicon process technology, offering customers excellent product

quality at a very competitive price.

Page 21: ABB Report - Rakesh Mishra

-11-

CHAPTER 3

METHODOLOGY

This chapter will cover the detailed methodology adopted in the course of the project. The

various assumptions made, test setup and components used are mentioned. A preliminary

result analysis is also done at the end based on the methodology adopted.

3.1. Methodology

The methodology adopted during the course of the project can be broadly classified into

the following steps:

• Create Test Plan and Test Description from the requirements provided by the

customer through PLCRC: INCRC Validation team will create the plan for the

validation and test descriptions for the various modules based on the requirements

as mentioned by the client/customer through PLCRC. PLCRC acts a media

between the client and the INCRC team. PLCRC provides the necessary domain

knowledge through proper pre-project training and on-the-job training to the

members of the Black Adder team.

The test descriptions are developed in the prescribed format. A sample test case

from the PEC Tool Test Description document is provided in Annexure I.

The test description includes the following information:

� Identity: It is the identification of a test case which is usually a

combination of a few letters and numbers. The letters identify the

particular module the test case belongs to and the numbers denote the

serial number. Each test case has a unique identity assigned to it.

� Name of the Test: It is a name assigned to a test case for easy

identification.

� Test Case Applicable for: A particular application can have multiple

versions based on the user requirement. For instance, the PEC Tool has

three different versions namely Developer Edition, User Edition and

Limited Edition. These versions vary from each other in terms of the

functionality available in each of them. This field mentions the version(s)

for which this particular test case is applicable.

Page 22: ABB Report - Rakesh Mishra

-12-

� Definition: This is a detailed definition of the test case including the

requirement of the particular test.

� Execution Time: This is an estimated time required to validate the

particular test case. This is just an estimated value; the actual time spent

can be very different.

� Software Version: This mentions the particular build for which this test

case is applicable. It is possible that the developers might add or remove

features form particular builds based on the customer requirements and/or

development constraints.

� Actions: These are the actual steps to be executed by the validator/test

executor.

� Expected Results: The expected result corresponding to each action is

mentioned.

� Results: This has to be filled by the test executor at the end of the test case

execution based on the actions executed and the expected results

generated. Any deviation from the expected result will lead to failure of

the test case.

• Define test environment requirement: The environment for the validation project is

defined by the Project Manager in collaboration with PLCRC. The environment

includes the components required, whether the testing has to be done in real time

or in a simulated environment and various other parameters.

• Define test methodology and strategies used in this project: Testing and validation

can be done in two ways: Manual Validation and Automatic Validation. Manual

Validation is done during the 1st iteration. The 1st iteration helps in gaining domain

knowledge and identifying modules where testing can be automated.

Automated Testing is done using applications like Test Automation and Silk Test

for the identified modules. Automated testing procedure saves a lot of time and

ensures accurate test results.

• Define deliverables: The various deliverables include the test descriptions, test

reports, application builds etc. TFS is used as build repository and SharePoint is

used as the document repository. Builds are picked up from PLCRC share point.

Page 23: ABB Report - Rakesh Mishra

-13-

Same build is copied in to INCRC TFS. Test reports are stored in INCRC and

PLCRC TFS. Bug reporting is done only on PLCRC TFS.

• Define test schedule based on project schedule: Usually two rounds of testing is

done viz. Alpha and Beta Testing. Beta Testing includes 3 to 5 iterations. Based

on the project schedule the appropriate test schedule is defined to ensure product

delivery in time.

• Test Setup in INCRC: The testing components are set up in INCRC lab as per the

test requirements.

Figure 3.1: Basic Test Setup

The basic test setup includes AC PEC 80 and AC PEC 800 connected to a system.

The connection is usually through Ethernet or via Serial Communication. But to

facilitate multiple engineers to work at a time, the controllers are connected

through an Ethernet switch. All the computers and the control terminals are also

connected to the switch.

On the PC, the proper settings must be used to connect to the target (IP

Configuration, FTP user and FTP word). A terminal program on the PC acts as an

input/output device. The terminal program must be configured and connected

through a free COM port with the serial cable.

Page 24: ABB Report - Rakesh Mishra

-14-

Whole testing will be carried out in Windows XP Professional SP3 & Windows 7

64-bit. All xCTs can be tested either on Control terminal or on a PC.

The PEC Controllers are mounted on a DIN Rail inside a cabinet with the various

I/Os and peripherals. NI Drive Emulator is used to simulate the corresponding

motor inside the INCRC lab.

• Execute product type test for different releases of all the tools at INCRC and

generate Test report. Log the bugs in PLCRC TFS: All the test cases are executed

in INCRC in the mentioned test environment. Testing is done for items also

outside the scope of the test description also. All the errors are bugged in the

PLCRC TFS as and when found. The PLCRC developers analyze the bug logged

and post it to appropriate department for rectification.

After the completion of a test cycle, the developers release a new build which is

again sent for testing.

• Execute product type test for Release build (smoke /limited testing) of all the tools

at INCRC and generate Test report: After the completion of the Alpha and Beta

test cycle, the release candidate is prepared. The release build is subject to

exhaustive testing before the final product is released to the customer.

3.2. Test Automation

Test automation is done for the modules which are common through all the applications,

so that the testing time can be reduced by avoiding the repeated tests. The steps followed

in test automation are:

• Identifying Modules for Test Automation: The application modules which are

similar throughout the multiple applications are identified. Test automation will be

done for those selected modules only. The main objective of test automation is to

save time that is spent in repeated manual testing and to reduce the errors caused

due to human intervention.

In Black Adder xCT, the modules selected for Test Automation are:

o Events

o Parameters

o Alarms

o Trending

o Users & Security

Page 25: ABB Report - Rakesh Mishra

-15-

o Options

The modules rejected for test automation are:

o Diagrams

o Single Line Diagrams

o Operations

o Value Table

o Power Chart

• Preparing the test algorithms: The test descriptions for manual testing are

modified to suit automatic testing by merging a few test cases and modifying the

steps for testing.

• Scripting: TestComplete® software is used to automate the selected test cases. VB

Script is used for scripting. Various parameters, events, meters, graphs, buttons,

tables etc. that are present in the application modules are segregated to facilitate

easy scripting. A sample script is included in Annexure II.

The various properties of the objects present in the modules are fetched by the

object spy tool present in TestComplete® application. For some modules recorder

based tests are also recorded; where the TestComplete® application records the

various steps undertaken by the user and generates automatic scripts.

• Debugging and Verification: The scripts are debugged using the debugger present

in the IDE. The scripts are then verified for successful bug detection. This is done

by adding bugs in the application intentionally and letting the script detect it.

• Logging: The test logs are automatically updated to the TFS site which is the

central bug repository accessible to all the developers, designers and testes.

• Report Generation: Automatic reports are also generated locally which included

the logs and various other test details like test conditions, test duration etc.

3.3. Tools Used

Software Tools

1. PEC Developer Tool

2. Control Terminal Management Software (for configuring data points)

3. Control Application in Control Terminal (xCT)

4. MATLAB Simulink® with Real Time Workshop Toolbox®

5. TeraTerm® (for Serial Communication)

6. FileZilla® (for FTP access)

Page 26: ABB Report - Rakesh Mishra

-16-

Hardware Tools

1. AC 800 PEC

•••• PP D113 Processor

•••• 30K FPGA Unit

•••• 2 x AnyIO Communication Modules

•••• 3 x Optical Modules

2. AC 80 PEC

•••• PP D230 Processor

•••• 10K FPGA

•••• 2 x AnyIO Communication Modules

•••• 2 x Optical Modules

3. Control Terminal

•••• Microsoft Windows XP® 32 bit

•••• 2 GB RAM

•••• 10GB HDD

•••• 2 x Fast Ethernet

4. Workstations

•••• Microsoft Windows 7® 32/64 bit

•••• Intel i5® vPro Processor

•••• 4 GB RAM

•••• Dual Ethernet Ports

•••• Serial Port

5. Network Switches

6. Power Source

•••• 230 V 1-phase AC Power Supply

•••• 24V / 5A TPS Power Source

Page 27: ABB Report - Rakesh Mishra

-17-

CHAPTER 4

RESULT ANALYSIS 4.1. Test Report Summary

Each of the tools xCT, CTMS and PEC Tools were subjected to 4 iterations of test cycles. The test summary for each of the iteration for xCT application is given below.

Table 4.1: Test Summary for xCT - Alpha Cycle

Section Tests PASS/FAIL Issue/Remarks

9.1 MSI Validation Pass

9.2 Protection Fail Bug Id: 7966

9.3 Application Settings Fail Bug Id: 7967, 7999

9.4 Events Pass

9.5 Operations Pass

9.6 Parameters Pass

9.7 Transient Recorder Fail Bug Id: 7753, 7754

9.8 Fast Trending Pass

9.9 Slow Trending Fail Bug Id: 7786, 7561

9.10 Chart Export Pass

9.11 Chart Setting Configurations Pass

9.12 Power Chart Fail

9.13 Application Settings Fail Bug Id: 8037

9.14 Configurable Modules Pass

9.15 Configuration Module- Status Bar Fail Bug Id: 7938, 7941

9.16 Configuration Module- Value Table

Fail Bug Id: 7941

9.17 Configuration Module- Single Lines

Fail Bug Id: 8012, 7942

9.18 Parameter Group manager Fail Bug Id: 7806

9.19 Parameter Reporting Pass

9.20 Event Classes Pass

9.21 Display bits Pass

9.22 Zoom and pan Pass

9.23 Bitwise naming Pass

9.24 Signal naming Fail Bug Id: 7873

9.25 Connect/Disconnect a device. Fail Bug Id: 7883

Out of all the test cases executed for the application, 39% of the test cases failed in the 1st

iteration or the alpha cycle. 26 change requests in the application were also suggested to

the design and development team.

Page 28: ABB Report - Rakesh Mishra

-18-

Table 4.2: Test Summary for xCT - Beta 1 Cycle

Section Tests PASS/FAIL Issue/Remarks

9.1 MSI Validation Pass

9.2 Protection Pass

9.3 Application Settings Fail Bug Id: 7967, 7999

9.4 Events Pass

9.5 Operations Pass

9.6 Parameters Pass

9.7 Transient Recorder Fail Bug Id: 7753, 7754

9.8 Fast Trending Pass

9.9 Slow Trending Fail Bug Id: 77869, 7561

9.10 Chart Export Pass

9.11 Chart Setting Configurations Pass

9.12 Power Chart Pass

9.13 Application Settings Fail Bug Id: 8037

9.14 Configurable Modules Pass

9.15 Configuration Module- Status Bar Fail Bug Id: 7938, 7941

9.16 Configuration Module- Value Table

Fail Bug Id: 7941

9.17 Configuration Module- Single Lines

Fail Bug Id: 8012, 7942

9.18 Parameter Group manager Fail Bug Id: 7806

9.19 Parameter Reporting Pass

9.20 Event Classes Pass

9.21 Display bits Pass

9.22 Zoom and pan Pass

9.23 Bitwise naming Pass

9.24 Signal naming Fail Bug Id: 7873

9.25 Connect/Disconnect a device. Fail Bug Id: 7883

In the 2nd iteration or the Beta 1 phase the percentage of failed tests was down to 24%

from 39% in the 1st iteration. 19 more change requests were also suggested to improve the

performance and user experience of the application.

Page 29: ABB Report - Rakesh Mishra

-19-

Table 4.3: Test Summary for xCT - Beta 2 Cycle

Section Tests PASS/FAIL Issue/Remarks

9.1 MSI Validation Pass

9.2 Protection Fail

9.3 Application Settings Pass

9.4 Events Pass

9.5 Operations Pass

9.6 Parameters Pass

9.7 Transient Recorder Fail Bug Id: 7753,

9.8 Fast Trending Pass

9.9 Slow Trending Fail Bug id: 8627

9.10 Chart Export Pass

9.11 Chart Setting Configurations Pass

9.12 Power Chart Pass

9.13 Application Settings Pass

9.14 Configurable Modules Pass

9.15 Configuration Module- Status Bar Fail Bug Id: 8575, 8583

9.16 Configuration Module- Value Table

Fail Bug Id: 8584.

9.17 Configuration Module- Single Lines

Fail Bug Id: 8602, 8616

9.18 Parameter Group manager Fail

9.19 Parameter Reporting Pass

9.20 Event Classes Pass

9.21 Display bits Pass

9.22 Zoom and pan Pass

9.23 Bitwise naming Pass

9.24 Signal naming Pass

9.25 Connect/Disconnect a device. Pass

In Beta 2 cycle, there was a drastic reduction in the percentage of failed test cases. It

came down to 11%. But more number of change requests was suggested. A total of 22

change requests were suggested for improving the user experience of the application.

Page 30: ABB Report - Rakesh Mishra

-20-

Table 4.4: Test Summary for xCT - Release Build

Section Tests PASS/FAIL Issue/Remarks

9.1 MSI Validation Pass

9.2 Protection Pass

9.3 Application Settings Pass

9.4 Events Pass

9.5 Operations Pass

9.6 Parameters Pass

9.7 Transient Recorder Fail Bug Id: 7753,

9.8 Fast Trending Pass

9.9 Slow Trending Fail Bug id: 8627

9.10 Chart Export Pass

9.11 Chart Setting Configurations Pass

9.12 Power Chart Pass

9.13 Application Settings Pass

9.14 Configurable Modules Pass

9.15 Configuration Module- Status Bar Pass

9.16 Configuration Module- Value Table

Pass

9.17 Configuration Module- Single Lines

Fail Bug Id: 8602, 8616

9.18 Parameter Group manager Pass

9.19 Parameter Reporting Pass

9.20 Event Classes Pass

9.21 Display bits Pass

9.22 Zoom and pan Pass

9.23 Bitwise naming Pass

9.24 Signal naming Pass

9.25 Connect/Disconnect a device. Pass

With the release build, most of the bugs were cleared. A total of only 4 test cases failed

amounting to around 2% of the total number of test cases. 5 more change requests were

filed. After fixing these bugs and implementing the change requests, the product will be

commissioned at the site, and a limited/smoke test will be carried out after that.

A snapshot of a report from TestComplete® is shown below in Figure 4.1.

Page 31: ABB Report - Rakesh Mishra

-21-

Figure 4.1: TestComplete Report

4.2. Analysis

Figure 4.2: Analysis of Test Report Summary for xCT

Page 32: ABB Report - Rakesh Mishra

-22-

The Figure 4.1 shows a graphical analysis of the test report summary for xCT application

over all the four test iterations. From the graph, we can see there is considerable decrease

in the percentage of failed test cases after subsequent iterations.

The change requests that are suggested at the end of each test cycle are reviewed and if

required, discussed with the client before implementing them. Out of the total 72 change

requests suggested, 53 of them have been implemented.

A summary of test reports for PEC Tool and CTMS Tool are given below in Figure 4.3

and Figure 4.4 respectively.

Figure 4.3: Analysis of Test Report Summary for PEC Tool

Page 33: ABB Report - Rakesh Mishra

-23-

Figure 4.4: Analysis of Test Report Summary for CTMS Tool

Page 34: ABB Report - Rakesh Mishra

-24-

CHAPTER 5

CONCLUSIONS & FUTURE SCOPE OF WORK 5.1. Conclusions

The application will be released successfully to the client without any bugs because of the

extensive testing and design modifications carried out in the scope of Black Adder

project.

Manual validation has various merits as well as demerits. With manual validation process,

it is possible to validate all the functionalities of the application exhaustively. But it is

time consuming especially when we have to perform the process repeatedly.

So automation of the validation process, which was a part of the Black Adder project, is

necessary to save time which is of essence in a real time project.

5.2. Future Scope of Work

The future scope for improvement lies mostly in the testing automation module. With

subsequent applications based on the same platform, automation of tests can be done for

more and more number of modules. This will help in saving a lot of time and labour spent

on repetitive testing of the same modules.

More functionality can be included in the xCT applications as per the client requirements

in future.

Page 35: ABB Report - Rakesh Mishra

-25-

REFERENCES

Reference / Hand Books

[1] AC 800 PEC Hardware Guide, ABB Limited, Rev. 1

[2] AC 800 PEC Software Guide, ABB Limited, Ver. 4.1

[3] Blackadder Test Plan, ABB GISL – INCRC, Rev 2.1

[4] Blackadder CM Plan, ABB GISL – PLCRC, Rev 1

[5] Blackadder Project Description and Plan, ABB GISL - INCRC

[6] PEC Tool User Manual, ABB Limited

[7] CTMS Tool Developers Guide, ABB Limited

[8] TestComplete® Data Sheet, Smart Bear Inc. Web

[1] TestComplete® Information, www.smartbear.com\testcomplete

[2] Infragistics Forums, www.infragistics.com\forums

Page 36: ABB Report - Rakesh Mishra

-26-

ANNEXURES

Annexure I: Sample test description document

Identity Name of the test

SYD 09 System backup in recovery mode of PEC tool.

Test case applicable for

1. PEC Tool Developer edition

2. PEC Tool User edition

Definition: To verify the system backup in recovery mode option in PEC Tool.

Requirement: TC ID: SystemBackupInRecoveryMode_015_0009:

Execution Time:

15 min

SW version: Developer Edition V 1.2.0.26852

Actions: Install PEC tool developer/user edition.

1. Connect 3 PEC 80/800 controllers to the test PC/network.

2. Run PEC tool developer/user edition.

3. Open project tree and select Controllers, right click on controller

4. Select Scan controller.

5. New window pops up with the IP details of controllers connected on the network.

6. Select one of the connected controllers and add it to the project.

7. Similarly add all 3 controllers to the project. Check for all 3controller status as green.

Page 37: ABB Report - Rakesh Mishra

-27-

8. Right click on one of the connected controller and select ‘Backup controller to archive’.

9. Store this archive.

10. Add the new archive to the tree and define a relation below new archive for the before backed up controller (Add controller with IP 172.16.4.10)

11. Connect the terminal to the AC 800 PEC controller. And enter the command “reboot”.

12. Stop the auto-boot process and boot in the recovery mode.

13. For a PEC800 interrupt the auto-boot process by pressing any key and enter “r” afterwards.

14. For a PEC80 enter “r” during the second auto-boot countdown. Do not interrupt the U-Boot auto-boot process.

15. Enter the following command on the terminal:

16. setIpAddr(“<IpAddress>:<Netmask>”)

17. e.g. setIpAddr(“172.16.4.10:0xffff0000”)

18. This is necessary because in the recovery mode the AC 800PEC controller has a standard IP address and we want to access the PEC controller with its normal IP address.

19. “Right click” on archive and select “System backup” from context menu.

Expected result:

1. 3 PEC 80/800 controllers connected

2. PEC tool developer/user edition is running

3. Options are getting open

4. Scan window appears

5. New window pops up with the IP details of controllers connected on the network.

6. Controller added.

7. Similarly add all 3 controllers added to the project. All 3

Page 38: ABB Report - Rakesh Mishra

-28-

controller statuses are green.

8. The AC 800PEC Tool shows a red icon for the AC 800PEC controller.

9. The AC 800PEC controller has the entered IP address and net mask. Terminal output:

10. value = 0 = 0x0

11. Window “System download” pops up.

12. Column “Compare” shows “in Progress…” After some time it shows “Equal”.

13. Archive is added to the tree and selected controller is added below archive.

14. The AC 800PEC controller reboots.

15. The AC 800PEC controller boots successfully in the recovery mode.

16. The AC 800PEC Tool shows a red icon for the AC 800PEC controller.

17. The AC 800PEC controller has the entered IP address and net mask. Terminal output:

18. value = 0 = 0x0

19. The archive is showing the download icon. The controller is showing upload icon.

Test result for Developer edition:

PEC Tool crashes (ID5753) while controller is in recovery mode and controller is added to the project.

Test Result for User edition:

PASS

Page 39: ABB Report - Rakesh Mishra

1 'Variables

2 Dim RoleName,selUser,aRoles,uList,user,pwd

3 Dim i,j,k

4 Dim UserRoles(10,41)

6 Sub Main()

7 'MsgBox "Ensure that the password for the account Administrator

is tctadmin and you have the passwords for all other user accounts."

8 'Call TestedApps.LCT.Run

9 'Login "Administrator", "tctadmin"

10 'ImportCTConfig "\Archives\ECT Config.xml"

11

12 LoginCheck()

13 Login "Administrator", "tctadmin"

14 UserPassRolesIn2dArray()

15 VerifyAssignedRoles()

16 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("System",

"Logout")

17 End Sub

20 'FUNCTIONS

22 Function LoginCheck()

23 'Verifying the Login Functionality

24 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("System",

"Login")

25 Aliases.Control_Terminal.LoginDialog.WinFormsObject

("txtUserId").WinFormsObject("txtEditor").WinFormsObject

("EmbeddableTextBoxWithUIPermissions", "").wText="Administrator"

26 Aliases.Control_Terminal.LoginDialog.WinFormsObject

("txtPassword").WinFormsObject("txtEditor").WinFormsObject

("EmbeddableTextBoxWithUIPermissions", "").wText="@#$!@!#$@!#$4454ghjghj"

27 Aliases.Control_Terminal.LoginDialog.btnOk.Click

28 Call Aliases.Control_Terminal.LoginDialog.WinFormsObject

("btnCancel").Click

29 End Function

32 Function Login(user, pwd)

33 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("System",

"Login")

34 Aliases.Control_Terminal.LoginDialog.WinFormsObject

("txtUserId").WinFormsObject("txtEditor").WinFormsObject

("EmbeddableTextBoxWithUIPermissions", "").wText=user

35 Aliases.Control_Terminal.LoginDialog.WinFormsObject

("txtPassword").WinFormsObject("txtEditor").WinFormsObject

("EmbeddableTextBoxWithUIPermissions", "").wText=pwd

36 Aliases.Control_Terminal.LoginDialog.btnOk.Click

37 End Function

41 Function ImportCTConfig(ConfigFile)

Page 40: ABB Report - Rakesh Mishra

42 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("System",

"Options")

43 Call

Aliases.Control_Terminal.ApplicationSettingsDialog.toolPanel.btnImport.Clic

k

44 Aliases.Control_Terminal.Window("#32770", "Open", 1).Window

("ComboBoxEx32", "", 1).Window("ComboBox", "", 1).Window("Edit", "",

1).wText=ConfigFile

45 Call Sys.Process("Control Terminal").Window("#32770", "Open",

1).Window("Button", "&Open", 1).Click

46 Call Sys.Process("Control Terminal").WinFormsObject

("SettingsList").WinFormsObject("btnOk").Click

47 Call Sys.Process("Control Terminal").Window("#32770", "Control

Terminal", 1).Window("Button", "&Yes", 1).Click

48 Delay 2000

49 Call Sys.Process("Control Terminal").WinFormsObject

("ApplicationSettingsDialog").WinFormsObject("toolPanel").WinFormsObject

("btnOk").Click

50 Call Aliases.Control_Terminal.MainForm.Close

51 Delay 5000

52 Call TestedApps.ECT.Run

53 Delay 10000

54 Call Aliases.Control_Terminal.MainForm.Maximize 'Maximizes

the 'MainForm' window.

55 End Function

59 Function UserPassRolesIn2dArray()

60 'Compiling all the users, passwords and their corresponding roles

in a 2D Array

61 Call Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem

("System", "Options") 'Opens "Options"

62 Call

Aliases.Control_Terminal.ApplicationSettingsDialog.windowDockingArea1.docka

bleWindow1.menu.menuBar.ClickItem("Security", "User Management")'Open User

Management

63 uList = Sys.Process("Control Terminal").WinFormsObject

("ApplicationSettingsDialog").WinFormsObject("editorPanel").WinFormsObject

("SecuritySettingsEditor").WinFormsObject

("grpEditUserAccounts").WinFormsObject("userList").WinFormsObject

("itemGrid").dataSource_2.zitems

65 Erase UserRoles

66 For i=0 To UBound(uList)

67 UserRoles(i,0)=uList(i)

68 selUser =

Aliases.Control_Terminal.ApplicationSettingsDialog.editorPanel.SecuritySett

ingsEditor.grpEditUserAccounts.userList.itemGrid.Parent.ActiveItem

69 UserRoles(i,1)=InputBox("Enter Password for the User: " +

UserRoles(i,0)) 'Enter the Passwords

70

71 While selUser<>UserRoles(i,0)

72 Sys.Process("Control Terminal").WinFormsObject

("ApplicationSettingsDialog").WinFormsObject("editorPanel").WinFormsObject

("SecuritySettingsEditor").WinFormsObject

Page 41: ABB Report - Rakesh Mishra

("grpEditUserAccounts").WinFormsObject("btnMoveDown").Click

73

Aliases.Control_Terminal.ApplicationSettingsDialog.editorPanel.SecuritySett

ingsEditor.grpEditUserAccounts.userList.itemGrid.Refresh ()

74 selUser =

Aliases.Control_Terminal.ApplicationSettingsDialog.editorPanel.SecuritySett

ingsEditor.grpEditUserAccounts.userList.itemGrid.Parent.ActiveItem

75 Wend

76

77

Aliases.Control_Terminal.ApplicationSettingsDialog.editorPanel.SecuritySett

ingsEditor.grpEditUserAccounts.btnEditUser.Click

78 aRoles = Sys.Process("Control Terminal").WinFormsObject

("UserSettingsDialog").WinFormsObject("grpRoles").WinFormsObject

("assignedRoleList").WinFormsObject("itemGrid").dataSource_2.zitems

79

80 For j=0 To UBound(aRoles)

81 UserRoles(i,j+3) = aRoles(j)

82 Next

83 UserRoles (i,2)=j

84 Sys.Process("Control Terminal").WinFormsObject

("UserSettingsDialog").WinFormsObject("btnCancel").Click

85 Next

87 Sys.Process("Control Terminal").WinFormsObject

("ApplicationSettingsDialog").WinFormsObject("toolPanel").WinFormsObject

("btnCancel").Click

88 Call Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem

("System", "Logout")

89 End Function

93 Function VerifyAssignedRoles()

94 'Login and verify the assigned roles one by one

95 For k=0 To UBound(uList)

96 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("System",

"Login")

97 Aliases.Control_Terminal.LoginDialog.WinFormsObject

("txtUserId").WinFormsObject("txtEditor").WinFormsObject

("EmbeddableTextBoxWithUIPermissions", "").wText=UserRoles(k,0)

98 Aliases.Control_Terminal.LoginDialog.WinFormsObject

("txtPassword").WinFormsObject("txtEditor").WinFormsObject

("EmbeddableTextBoxWithUIPermissions", "").wText=UserRoles(k,1)

99 Aliases.Control_Terminal.LoginDialog.btnOk.Click

102 For l=3 To UserRoles(k,2)+2

103 RoleName=Replace(UserRoles(k,l)," ","")

104 RoleName=Replace(RoleName,":","")

105 RoleName=Replace(RoleName,"/","")

106 RoleName=Replace(RoleName,"""","")

107 RoleName=Replace(RoleName,"(","")

108 RoleName=Replace(RoleName,")","")

109 RoleName=Replace(RoleName,"-","")

110 Eval RoleName

111 Next

Page 42: ABB Report - Rakesh Mishra

113 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("System",

"Logout")

114 Next

115 End Function

119 'Functions for Validating the Roles

121 Function Administrator()

122 DiagramsConfigure

123 EventsClearEventLogger

124 EventsResetAcknowledgeEvents

125 EventsSavePrintFreeze

126 GeneralMinimizeCloseCT

127 OperationsAccessCommandButtons

128 OperationsConfigureMeters

129 OptionsAccessOptionsDialog

130 OptionsAlarmsandEvents

131 OptionsApplication

132 OptionsGeneral

133 OptionsImportSettings

134 OptionsOperations

135 OptionsTools

136 OptionsTrending

137 ParametersCreateSnapshot

138 ParametersEditParameterValues

139 ParametersEditParameterValuesLevel1

140 ParametersEditParameterValuesLevel2

141 ParametersEditParameterValuesLevel3

142 ParametersEditParameterValuesLevel4

143 ParametersEditParameterValuesLevel5

144 ParametersManageMyGroups

145 ParametersOpenSnapshot

146 ParametersSaveSnapshot

147 ParametersViewParameterValuesLevel1

148 ParametersViewParameterValuesLevel2

149 ParametersViewParameterValuesLevel3

150 ParametersViewParameterValuesLevel4

151 ParametersViewParameterValuesLevel5

152 ParametersWriteSnapshot

153 TestProgramsSendCommands

154 TransientRecorderConfigureAutoRead

155 TransientRecorderConfigureRecorder

156 TransientRecorderReadRecorderData

157 TransientRecorderTrigger

158 TrendingFastConfigureRecorders

159 TrendingSlowConfigureDataLogging

160 TrendingGeneralConfigureChartFormatting

161 TrendingGeneralOpenSaveLocalFiles

162 End Function

163

164 Function DiagramsConfigure()

165 'Validation criteria

166 End Function

167

Page 43: ABB Report - Rakesh Mishra

168 Function EventsClearEventLogger()

169 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("Modules",

"Events")

170 Call aqObject.CheckProperty

(Aliases.Control_Terminal.MainForm.modulePanel.AEModule.eventsView.splitCon

tainer1.SplitterPanel.deviceTabs.UltraTabPageControl.menuPanel.btnClearEven

ts, "Enabled", cmpEqual, True)

171 End Function

172

173 Function EventsResetAcknowledgeEvents()

174 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("Modules",

"Events")

175 Call aqObject.CheckProperty

(Aliases.Control_Terminal.MainForm.modulePanel.AEModule.eventsView.splitCon

tainer1.SplitterPanel.deviceTabs.UltraTabPageControl.menuPanel.btnResolveAl

l, "Enabled", cmpEqual, True)

176 End Function

177

178 Function EventsSavePrintFreeze()

179 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("Modules",

"Events")

180 Call aqObject.CheckProperty

(Aliases.Control_Terminal.MainForm.modulePanel.AEModule.eventsView.splitCon

tainer1.SplitterPanel.deviceTabs.UltraTabPageControl.menuPanel.btnExport,

"Enabled", cmpEqual, True)

181 Call aqObject.CheckProperty

(Aliases.Control_Terminal.MainForm.modulePanel.AEModule.eventsView.splitCon

tainer1.SplitterPanel.deviceTabs.UltraTabPageControl.menuPanel.btnPrint,

"Enabled", cmpEqual, True)

182 Call aqObject.CheckProperty

(Aliases.Control_Terminal.MainForm.modulePanel.AEModule.eventsView.splitCon

tainer1.SplitterPanel.deviceTabs.UltraTabPageControl.menuPanel.btnFreeze,

"Enabled", cmpEqual, True)

183 End Function

184

185 Function GeneralMinimizeCloseCT()

186 Call aqObject.CheckProperty(Aliases.Control_Terminal.MainForm,

"ControlBox", cmpEqual, True)

187 End Function

188

189 Function OperationsAccessCommandButtons()

190 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("Modules",

"Operations")

191 Call aqObject.CheckProperty

(Aliases.Control_Terminal.MainForm.modulePanel.OperationsModule.commandArea

Panel.CommandPanel.tablePanel.toolPanel.commandPairBoxRelease.btnUnlock,

"Enabled", cmpEqual, True)

192 End Function

193

194 Function OperationsConfigureMeters()

195 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("Modules",

"Operations")

196 Aliases.Control_Terminal.MainForm.modulePanel.WinFormsObject

Page 44: ABB Report - Rakesh Mishra

("OperationsModule").WinFormsObject("meterPanel").WinFormsObject

("MeterTablePanel").WinFormsObject("DataPointMeter").WinFormsObject

("meterBox").WinFormsObject("panel1").WinFormsObject("ultraGauge").Click

197 Delay 2000

198 sys.keys "[Up]"

199 Delay 500

200 sys.keys "[Up]"

201 Delay 500

202 sys.keys "[Enter]"

203 Call aqObject.CheckProperty

(Aliases.Control_Terminal.BrowserDialog, "Exists", cmpEqual, True)

204 Sys.Process("Control Terminal").WinFormsObject

("BrowserDialog").WinFormsObject("windowDockingArea2").WinFormsObject

("dockableWindow2").WinFormsObject("itemPanel").WinFormsObject

("btnCancel").Click

205 End Function

206

207 Function OptionsAccessOptionsDialog()

208 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("System",

"Options")

209 Call aqObject.CheckProperty

(Aliases.Control_Terminal.ApplicationSettingsDialog, "Exists", cmpEqual,

True)

210 Aliases.Control_Terminal.ApplicationSettingsDialog.WinFormsObject

("toolPanel").WinFormsObject("btnCancel").Click

211 End Function

212

213 Function OptionsAlarmsandEvents()

214 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("System",

"Options")

215 Call

Aliases.Control_Terminal.ApplicationSettingsDialog.windowDockingArea1.docka

bleWindow1.menu.menuBar.ClickItem("Alarms & Events", "AC 800PEC Event

Service")

216 Call aqObject.CheckProperty

(Aliases.Control_Terminal.ApplicationSettingsDialog.editorPanel.ServiceSett

ingsEditor.txtMaxBufferSize.txtEditor, "Exists", cmpEqual, True)

217 Aliases.Control_Terminal.ApplicationSettingsDialog.WinFormsObject

("toolPanel").WinFormsObject("btnCancel").Click

218 End Function

219

220 Function OptionsApplication()

221 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("System",

"Options")

222 Call

Aliases.Control_Terminal.ApplicationSettingsDialog.windowDockingArea1.docka

bleWindow1.menu.menuBar.ClickItem("Application", "Data Folder")

223 Call aqObject.CheckProperty

(Aliases.Control_Terminal.ApplicationSettingsDialog.editorPanel.Application

DataPathSettingsEditor.zfolderBrowserEditor.txtFolder.txtEditor, "Exists",

cmpEqual, True)

224 Aliases.Control_Terminal.ApplicationSettingsDialog.WinFormsObject

("toolPanel").WinFormsObject("btnCancel").Click

225 End Function

226

Page 45: ABB Report - Rakesh Mishra

227 Function OptionsGeneral()

228 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("System",

"Options")

229 Call

Aliases.Control_Terminal.ApplicationSettingsDialog.windowDockingArea1.docka

bleWindow1.menu.menuBar.ClickItem("General", "Device Configuration")

230 Call aqObject.CheckProperty

(Aliases.Control_Terminal.ApplicationSettingsDialog.editorPanel.SettingsLau

ncher.panel1.btnLaunchDialog, "Enabled", cmpEqual, True)

231 Aliases.Control_Terminal.ApplicationSettingsDialog.WinFormsObject

("toolPanel").WinFormsObject("btnCancel").Click

232 End Function

233

234 Function OptionsImportSettings()

235 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("System",

"Options")

236 Call aqObject.CheckProperty

(Aliases.Control_Terminal.ApplicationSettingsDialog.toolPanel.btnImport,

"Enabled", cmpEqual, True)

237 Aliases.Control_Terminal.ApplicationSettingsDialog.WinFormsObject

("toolPanel").WinFormsObject("btnCancel").Click

238 End Function

239

240 Function OptionsOperations()

241 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("System",

"Options")

242 Call

Aliases.Control_Terminal.ApplicationSettingsDialog.windowDockingArea1.docka

bleWindow1.menu.menuBar.ClickItem("Operations", "Setpoint Configuration")

243 Call aqObject.CheckProperty

(Aliases.Control_Terminal.ApplicationSettingsDialog.editorPanel.SettingsEdi

tor.grpChangePassword, "Exists", cmpEqual, True)

244 Aliases.Control_Terminal.ApplicationSettingsDialog.WinFormsObject

("toolPanel").WinFormsObject("btnCancel").Click

245 End Function

246

247 Function OptionsTools()

248 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("System",

"Options")

249 Call

Aliases.Control_Terminal.ApplicationSettingsDialog.windowDockingArea1.docka

bleWindow1.menu.menuBar.ClickItem("Tools", "Time")

250 Call aqObject.CheckProperty

(Aliases.Control_Terminal.ApplicationSettingsDialog.editorPanel.TimeSetting

sEditor.deviceTabs.ultraTabSharedControlsPage1.pecTimeEditor, "Exists",

cmpEqual, True)

251 Aliases.Control_Terminal.ApplicationSettingsDialog.WinFormsObject

("toolPanel").WinFormsObject("btnCancel").Click

252 End Function

253

254 Function OptionsTrending()

255 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("System",

"Options")

Page 46: ABB Report - Rakesh Mishra

256 Call

Aliases.Control_Terminal.ApplicationSettingsDialog.windowDockingArea1.docka

bleWindow1.menu.menuBar.ClickItem("Trending", "Slow Trending")

257 Call aqObject.CheckProperty

(Aliases.Control_Terminal.ApplicationSettingsDialog.editorPanel.SlowTrendSe

ttingsEditor.txtChartUpdateInterval.txtEditor, "Exists", cmpEqual, True)

258 Aliases.Control_Terminal.ApplicationSettingsDialog.WinFormsObject

("toolPanel").WinFormsObject("btnCancel").Click

259 End Function

260

261 Function ParametersCreateSnapshot()

262 'Validation criteria

263 End Function

264

265 Function ParametersEditParameterValues()

266 'Validation criteria

267 End Function

268

269 Function ParametersEditParameterValuesLevel1()

270 'Validation criteria

271 End Function

272

273 Function ParametersEditParameterValuesLevel2()

274 'Validation criteria

275 End Function

276

277 Function ParametersEditParameterValuesLevel3()

278 'Validation criteria

279 End Function

280

281 Function ParametersEditParameterValuesLevel4()

282 'Validation criteria

283 End Function

284

285 Function ParametersEditParameterValuesLevel5()

286 'Validation criteria

287 End Function

288

289 Function ParametersManageMyGroups()

290 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("Modules",

"Parameters")

291 Call aqObject.CheckProperty

(Aliases.Control_Terminal.MainForm.modulePanel.ParametersUI.windowDockingAr

ea2.dockableWindow2.itemPanel.parametersEditor1.btnShowBookmarkMenu,

"Enabled", cmpEqual, True)

292 End Function

293

294 Function ParametersOpenSnapshot()

295 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("Modules",

"Parameters")

296 'Call Regions.zParametersUI_Toolbars_Dock_Area_Top.Check

(Aliases.Control_Terminal.MainForm.modulePanel.ParametersUI.zParametersUI_T

oolbars_Dock_Area_Top, False, False, 0, 0,

"zParametersUI_Toolbars_Dock_Area_Top_Mask")

297 End Function

Page 47: ABB Report - Rakesh Mishra

298

299 Function ParametersSaveSnapshot()

300 'Validation criteria

301 End Function

302

303 Function ParametersViewParameterValuesLevel1()

304 'Validation criteria

305 End Function

306

307 Function ParametersViewParameterValuesLevel2()

308 'Validation criteria

309 End Function

310

311 Function ParametersViewParameterValuesLevel3()

312 'Validation criteria

313 End Function

314

315 Function ParametersViewParameterValuesLevel4()

316 'Validation criteria

317 End Function

318

319 Function ParametersViewParameterValuesLevel5()

320 'Validation criteria

321 End Function

322

323 Function ParametersWriteSnapshot()

324 'Validation criteria

325 End Function

326

327 Function TestProgramsSendCommands()

328 'Validation criteria

329 End Function

330

331 Function TransientRecorderConfigureAutoRead()

332 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("Modules",

"Transient Recorder")

333 Call aqObject.CheckProperty

(Aliases.Control_Terminal.MainForm.modulePanel.TrecModule.trendingSlots.ult

raTabSharedControlsPage1.splitContainer1.SplitterPanel.toolPanel.btnAutoRea

d, "Enabled", cmpEqual, True)

334 End Function

335

336 Function TransientRecorderConfigureRecorder()

337 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("Modules",

"Transient Recorder")

338 Call aqObject.CheckProperty

(Aliases.Control_Terminal.MainForm.modulePanel.TrecModule.trendingSlots.ult

raTabSharedControlsPage1.splitContainer1.SplitterPanel.toolPanel.btnEvents,

"Enabled", cmpEqual, True)

339 End Function

340

341 Function TransientRecorderReadRecorderData()

342 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("Modules",

"Transient Recorder")

Page 48: ABB Report - Rakesh Mishra

343 Call aqObject.CheckProperty

(Aliases.Control_Terminal.MainForm.modulePanel.TrecModule.trendingSlots.ult

raTabSharedControlsPage1.splitContainer1.SplitterPanel.toolPanel.btnReadLat

est, "Enabled", cmpEqual, True)

344 End Function

345

346 Function TransientRecorderTrigger()

347 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("Modules",

"Transient Recorder")

348 Call aqObject.CheckProperty

(Aliases.Control_Terminal.MainForm.modulePanel.TrecModule.trendingSlots.ult

raTabSharedControlsPage1.splitContainer1.SplitterPanel.toolPanel.btnTrigger

, "Enabled", cmpEqual, True)

349 End Function

350

351 Function TrendingFastConfigureRecorders()

352 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("Modules",

"Fast Trending")

353 Call aqObject.CheckProperty

(Aliases.Control_Terminal.MainForm.modulePanel.FastTrendingModule.trendingS

lots.ultraTabSharedControlsPage1.splitContainer1.SplitterPanel.toolPanel.bt

nConfigure, "Enabled", cmpEqual, True)

354 End Function

355

356 Function TrendingSlowConfigureDataLogging()

357 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("Modules",

"Slow Trending")

358 Call aqObject.CheckProperty

(Aliases.Control_Terminal.MainForm.modulePanel.SlowTrendingModule.trendingS

lots.ultraTabSharedControlsPage1.splitContainer1.SplitterPanel.toolPanel.bt

nConfigure, "Enabled", cmpEqual, True)

359 End Function

360

361 Function TrendingGeneralConfigureChartFormatting()

362 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("Modules",

"Slow Trending")

363 Call aqObject.CheckProperty

(Aliases.Control_Terminal.MainForm.modulePanel.SlowTrendingModule.trendingS

lots.ultraTabSharedControlsPage1.splitContainer1.SplitterPanel.toolPanel.bt

nConfigureGroups, "Enabled", cmpEqual, True)

365 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("Modules",

"Fast Trending")

366 Call aqObject.CheckProperty

(Aliases.Control_Terminal.MainForm.modulePanel.FastTrendingModule.trendingS

lots.ultraTabSharedControlsPage1.splitContainer1.SplitterPanel.toolPanel.bt

nConfigureGroups, "Enabled", cmpEqual, True)

367 End Function

368

369 Function TrendingGeneralOpenSaveLocalFiles()

370 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("Modules",

"Slow Trending")

Page 49: ABB Report - Rakesh Mishra

371 Call aqObject.CheckProperty

(Aliases.Control_Terminal.MainForm.modulePanel.SlowTrendingModule.trendingS

lots.ultraTabSharedControlsPage1.splitContainer1.SplitterPanel.toolPanel.bt

nLoadFile, "Enabled", cmpEqual, True)

372 Call aqObject.CheckProperty

(Aliases.Control_Terminal.MainForm.modulePanel.SlowTrendingModule.trendingS

lots.ultraTabSharedControlsPage1.splitContainer1.SplitterPanel.toolPanel.bt

nAutoSave, "Enabled", cmpEqual, True)

373 Call aqObject.CheckProperty

(Aliases.Control_Terminal.MainForm.modulePanel.SlowTrendingModule.trendingS

lots.ultraTabSharedControlsPage1.splitContainer1.SplitterPanel.toolPanel.bt

nSave, "Enabled", cmpEqual, True)

374 Call aqObject.CheckProperty

(Aliases.Control_Terminal.MainForm.modulePanel.SlowTrendingModule.trendingS

lots.ultraTabSharedControlsPage1.splitContainer1.SplitterPanel.toolPanel.bt

nExport, "Enabled", cmpEqual, True)

376 Call

Aliases.Control_Terminal.MainForm.menuPanel.menuBar.ClickItem("Modules",

"Fast Trending")

377 Call aqObject.CheckProperty

(Aliases.Control_Terminal.MainForm.modulePanel.FastTrendingModule.trendingS

lots.ultraTabSharedControlsPage1.splitContainer1.SplitterPanel.toolPanel.bt

nLoadFile, "Enabled", cmpEqual, True)

378 Call aqObject.CheckProperty

(Aliases.Control_Terminal.MainForm.modulePanel.FastTrendingModule.trendingS

lots.ultraTabSharedControlsPage1.splitContainer1.SplitterPanel.toolPanel.bt

nSave, "Enabled", cmpEqual, True)

379 Call aqObject.CheckProperty

(Aliases.Control_Terminal.MainForm.modulePanel.FastTrendingModule.trendingS

lots.ultraTabSharedControlsPage1.splitContainer1.SplitterPanel.toolPanel.bt

nExport, "Enabled", cmpEqual, True)

380 End Function