Automation Desk 3.3 Tool Set - Test Automation...

Preview:

Citation preview

Automation Desk 3.3 Tool Set - Test Automation Software

P.BALAJI

Software Engineer

L&T IES, Mumbai

Content

▪ Definition & Objective

▪ User interface of Automation Desk

▪ Various Blocks inside the Automation Desk

▪ Creation and Execution of Automation Test Project

▪ Features

▪ Limitations of Automation blocks

▪ Definition & Objective

Automation Desk is an environment for organizing and creating

automation tasks. It provides a graphical editor for describing

control flows and parameterizing them.

Python-based real-time test automation i.e.. it Uses Python

Scripting for algorithms and to build blocks e.g. Complex

algorithms and API Calls.

Provides different sub libraries in a graphical view according to

their Field of Application and located in the library Browser .

It is a powerful front-end tool for automated hardware-in-the-

loop (HIL) testing of the application software or diagnostic

functions of electronic control units (ECUs).

▪ User interface of Automation Desk

▪ Various Blocks inside the Automation Desk

▪ Main library– Control Flows, Basic Elements and Python Data

Objects.

▪ Report library : To add Text,2-D plots, images, Tables, Data

objects, Hyperlinks(URL).

▪ Dialogs library : contains input and message dialogs

Input dialog- To input data during the execution of your

automation task.

Message dialog- To control your test automation task with a

control button click .

Platform Access

used to access a simulation platform

Configure the simulation platform

Read /write data from /to the variable of the simulator

Capture data from real Time application and stream the data to Hard

disk

Generate stimulus signals.

HIL API Libraries

This supports the MA (Model access) Port implementation of the HIL API

standard to access a simulation platform

RS232 library

Connecting the automation desk to Serial Interface(RS232) .

Remote Diagnostics(COM)

To perform diagnostics on an electronic control unit (ECU) remotely

via COM/DCOM interfaces.

This tool accesses the diagnostic tools that support the ASAM MCD-

3 D 2.0.1 standard. for example, Control Desk Next Generation with

installed Control Desk Next Generation ECU Diagnostics Module.

Remote Calibration

To control ASAM MCD-3 MC-compatible measurement and

calibration (MC) systems remotely via the standard serial (RS232)

interface.

Remote Calibration(COM)

To control ASAM MCD-3 MC-compatible measurement and calibration

(MC) systems remotely via the standard serial (RS232) interface via

COM/DCOM interfaces.

Failure Simulation Access

To realize failure simulation on special dSPACE hardware.

MATLAB Access

Open the Matlab instance and execute the commands in the MATLAB

via automation desk

Exchange the data between Automation desk and Matlab

Work with data stored in the MAT file Format .

Test Framework

This provides high-level automation blocks with predefined

functionalities for test purposes.

Real-Time Testing

Automation Desk provides the Real-Time Testing library to manage

Real-Time Testing (RTT) projects on dSPACE real-time platforms.

CANscope

To remote control the CANscope Evaluation software (version 3.0).

CANscope is a hardware device for CAN buses from Vector Informatik

GmbH. It records and evaluate signal levels on CAN buses.

CANstress

To remote control the CANstressD/CANstressDR Configuration

software (version 2.1). CANstressD and CANstressDR are devices form

Vector Informatik GmbH which can initiate digital disturbances on the

CAN bus.

Custom library

To integrate user-defined automation blocks in Automation Desk

The libraries that we created linked to the Automation Desk Project

statically or dynamically

In static link mode ,the libraries loaded from the repository (via Get

or Check Out) have no effect on your opened Automation Desk

projects until you synchronize.

in Dynamic link mode, modifications in the libraries loaded from the

repository have an immediate effect on your opened Automation

Desk projects. Only the interfaces must be synchronized manually.

▪ Version Management control

The check out state of a

project element is displayed via

various check marks with the

version control and it is as follows

.

▪ Creation and Execution of Automation Test Project

From the menu bar, choose File - New - Project to open the New

Project dialog and select the standard project by default and click on

browse button to save the project

Add a New Folder to the project and rename to the Type of Tests

(Functional ,Interlocks ,Calibration ,Diagnostics) by simple right

click on the project folder .

Add the Data objects from the drop down menu list, once we do right

click on the Project Folder or the sub folders

Create a New Test sequence (rename is optional) to add the Test

blocks by drag & drop from the Library Browser

All the blocks which are

added in sequential or

Concurrent (Parallel) are

arranged and shown in the

sequence Hierarchy in the

Navigation window .

After Completion of Test

case scripting ,go to Menu

bar and select Execute from

the Execution tab in the

drop down list to run either

in Online or Offline to

generate the Test Report in

both HTML and PDF.

▪ Features

• Remote control of calibration, measurement, and diagnostic

tools such as Control Desk® Next Generation

• Flexible test planning with weekend and overnight tests

• Offline test execution and development

• Debugger

• Complex signal evaluations

• Automatic report generation

• Support of HIL API-based simulator access

• Advanced custom library concept with Version Control

Management.

▪ Limitations of Automation blocks

Main library

The maximum number of characters to be used with a String data

object is 65536.

Python allows a tuple to be used as a dictionary key value.

In RS232Configuration or a Collector data object, must not be added

to a collection-type data object, like a list, tuple or dictionary. we can

append only Python standard types (int, float, list, tuple, etc.) to a

collection-type data object.

Not permitted operations in the Exec block

Never assign objects and values to members of objects of the internal

Automation Desk object model. The internal member will be

overwritten. For ex: _AD_.Parent = 5 (Parent is an internal member)

Never assign instances that contain unpickleable objects (for example,

COM or OS objects such as rtplib.Appl, cdautomationlib.Application) to

a data object's value.

Ex: import cdautomationlib

AD_.Variant1 = cdautomationlib.Application()

Error :

<class 'cPickle.PicklingError'>: Can't pickle <type 'PyIDispatch'>:

attribute lookup __builtin__.PyIDispatch failed

Never assign instances of classes that are defined in Exec/ExecFile blocks to

a data object's value such as a Variant or an element of a List, Tuple or

Dictionary.

Example:

class A:

def __init__(self, aName):

self.MyName = aName

myInstanceOfA = A("The New Instance Name")

_AD_.Variant1 = myInstanceOfA

Platform Access library

Using sdmlib functions in Exec blocks

It is not possible to use sdmlib functions(to generate stimulus signals) in

an Exec block, because the SIGNAL object cannot be created. An

Attribute Error will be displayed.

Parameters in masked subsystems are not updated in Control Desk

When writing mask and workspace parameters using rtplib functions,

Control Desk does not notice modifications to these parameters itself,

although the effects of such modifications are reported.

Simulink model must be stopped before using extended capturing

blocks

You must stop a Simulink model before you can execute an InitCapture

or ConfigureCapture block.

Platform access in Parallel blocks

It is recommended not to use Platform Access blocks in Parallel blocks if

there are dependencies between the blocks.

Considering initialization time

It is recommended to use a LoadVariableFile block always otherwise we

have to consider the required time for initializing the capture process

LoadApplication event in ControlDesk is not executed

The LoadVariableFile block is directly accessing ControlDesk's

PlatformManager without using the implementation of ControlDesk's

event handling when load application event in control desk is not

executed.

Example : Access the PlatformManager via cdautomationlib in an Exec

block

import cdautomationlib

app = cdautomationlib. PlatformManager()

app.Platforms.Item(<Index>).Load(<Variable File>)

app = None

Recommended