automationdesk presentation

Upload: balaji-potnuri

Post on 15-Oct-2015

217 views

Category:

Documents


6 download

DESCRIPTION

Automation Desk Features and its usage

TRANSCRIPT

  • 5/25/2018 AutomationDesk Presentation

    1/21

    AutomationDesk 3.3 Tool Set - Test Automation Software

    P.BALAJISoftware Engineer

    L&T IES, Mumbai

  • 5/25/2018 AutomationDesk Presentation

    2/21

    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

  • 5/25/2018 AutomationDesk Presentation

    3/21

    Definition & Objective

    Automation Desk is an environment for organizing and creatingautomation 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).

  • 5/25/2018 AutomationDesk Presentation

    4/21

    User interface of Automation Desk

  • 5/25/2018 AutomationDesk Presentation

    5/21

    Various Blocks inside the Automation Desk

    Main library

    Control Flows, Basic Elements and Python DataObjects.

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

    objects, Hyperlinks(URL).

    Dialogs library : containsinput 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 .

  • 5/25/2018 AutomationDesk Presentation

    6/21

    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 theMA (Model access) Portimplementation of the HIL APIstandard to access a simulation platform

  • 5/25/2018 AutomationDesk Presentation

    7/21

    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.

  • 5/25/2018 AutomationDesk Presentation

    8/21

    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 viaCOM/DCOM interfaces.

    Failure Simulation Access

    To realize failure simulation on special dSPACE hardware.

  • 5/25/2018 AutomationDesk Presentation

    9/21

    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

    Thisprovides high-level automation blocks with predefined

    functionalities for test purposes.

  • 5/25/2018 AutomationDesk Presentation

    10/21

    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 theCAN bus.

  • 5/25/2018 AutomationDesk Presentation

    11/21

    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

    Instatic link mode ,the libraries loaded from the repository (via Getor Check Out) have no effect on your opened Automation Desk

    projects until you synchronize.

    inDynamic link mode, modifications in the libraries loaded from the

    repository have an immediate effect on your opened AutomationDesk projects. Only the interfaces must be synchronized manually.

  • 5/25/2018 AutomationDesk Presentation

    12/21

    Version Management control

    The check out state of aproject element is displayed via

    various check marks with the

    version control and it is as follows

    .

  • 5/25/2018 AutomationDesk Presentation

    13/21

    Creation and Execution of Automation Test Project

    From the menu bar, choose File - New - Project to open the NewProject 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 rightclick 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

  • 5/25/2018 AutomationDesk Presentation

    14/21

    All the blocks which are

    added in sequential or

    Concurrent (Parallel) arearranged and shown in the

    sequence Hierarchy in the

    Navigation window .

    After Completion of Testcase scripting ,go to Menu

    bar and select Execute from

    the Execution tab in the

    drop down list to run either

    in Online or Offline togenerate the Test Report in

    both HTML and PDF.

  • 5/25/2018 AutomationDesk Presentation

    15/21

    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.

  • 5/25/2018 AutomationDesk Presentation

    16/21

    Limitations of Automation blocks

    Main libraryThe 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.

  • 5/25/2018 AutomationDesk Presentation

    17/21

    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 :: Can't pickle :

    attribute lookup __builtin__.PyIDispatch failed

  • 5/25/2018 AutomationDesk Presentation

    18/21

    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

  • 5/25/2018 AutomationDesk Presentation

    19/21

    Platform Access library

    Using sdmlib functions in Exec blocks

    It is not possible to use sdmlib functions(to generate stimulus signals) inan 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

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

    or ConfigureCapture block.

  • 5/25/2018 AutomationDesk Presentation

    20/21

    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 executedThe 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.

  • 5/25/2018 AutomationDesk Presentation

    21/21

    Example : Access the PlatformManager via cdautomationlib in an Exec

    block

    import cdautomationlib

    app = cdautomationlib. PlatformManager()app.Platforms.Item().Load()

    app = None