Upload
b2mishra
View
31
Download
4
Tags:
Embed Size (px)
Citation preview
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
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
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
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
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.
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®
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
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
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
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.
-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.
-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
-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.
-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.
-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.
-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.
-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.
-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.
-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
-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.
-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.
-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.
-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.
-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
-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)
-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
-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.
-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.
-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.
-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.
-21-
Figure 4.1: TestComplete Report
4.2. Analysis
Figure 4.2: Analysis of Test Report Summary for xCT
-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
-23-
Figure 4.4: Analysis of Test Report Summary for CTMS Tool
-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.
-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
-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.
-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
-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
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)
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
("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
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
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
("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
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")
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
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")
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")
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