IEC 61850 Test Suite – Anvil

Test und Konfigurationswerkzeuge

Overview

Anvil is a testing tool that creates a compliant IEC 61850 Server from any valid SCL file. Anvil is a highly configurable tool that can be used for testing IEC 61850 Clients with multiple simulation options for changing Data Model values and generating valid message traffic.  Support for Read, Write, GOOSE, Sampled Values, Reporting, Discovery, Logging, Controls, Dynamic DataSets, Tracking, and File Services are built into the tool.

Anvil Overview

A highly configurable tool

  • Create a Server from any valid SCL file
  • Multiple options for changing Data Model
  • Generate valid IEC 61850 and GOOSE message traffic
  • View Object Model data in Flat or Tree view
  • Capture Server Data Model states
  • Playback captured Server Data Model states
  • Visualize data and measurements with Insight tool
  • Automate repeatable tasks with scripting and flow charts
  • Create and configure negative test cases

Features Built Into Anvil

Built on Triangle MicroWork’s IEC 61850 Stack
Anvil was implemented using our IEC 61850 Stack, which provides lots of built-in functionality:
 
  • Implementation and Configuration of entire seven layer stack
  • Support and Configuration of MMS parameters
  • Full support for Edition 1 and Edition 2
  • Supports mixed edition systems based on .SCD file
  • Supports standard and many extended data models
  • Configure RFC 1006 layer parameters
  • Supports security both weak (MMS Authentication) and strong (IEC 62351)
  • Automatic timestamp updating when corresponding Data Attributes are changed
  • Support for substitution – enabled through the subEna field
For a full list of 61850 features, see IEC 61850 Services and IEC 61850 Data Models.

 

GOOSE
Anvil enables testing of GOOSE (Generic Object Oriented Substation Events) messages:
 
  • Supports both Unicast and Multicast GOOSE messaging
  • Any valid DataSet can be used in the GOOSE Control Block
  • Messages are published at server startup and triggered by data changes
  • Test and simulation flag support

 

Sampled Values
Anvil enables testing of Sampled Values messages:
 
  • Supports the 9-2 LE version
  • Messages are published at server startup
  • Integrated with data model features, including control blocks

 

Control Models
Anvil fully supports all five control models for IEC 61850:
 
  • Status-only
  • Direct Control with normal security
  • Direct Control with enhanced security
  • Select Before Operate with normal security
  • Select Before Operate with enhanced security

 

Negative Testing
Anvil allows the creation of negative test case scenarios:
 

 

Multiple Simulation Methods
Anvil supports multiple simulation methods for changing Object Model data:
 
  • Manually – via the user interface with intelligent editing (for example, the enums are expanded as strings instead of numbers)
  • Automatically – with the click of a button – changeable items can be filtered by Function Constraint and DataSets
  • Table Driven – via simple CSV files (CSV files can also be generated and edited by Anvil)
  • Scripting – via Flow Chart in a graphical scripting environment or via JavaScript
For a full description of simulation methods, see the Data Simulation section.

Data Simulation

Anvil allows you to simulate data changes in the Server Data Model with many flexible simulation methods. Regardless of the method used all changes are reflected in Reporting/Logging/GOOSE automatically.

  • Manual – change object data values via the user interface with intelligent editing
  • Automatic – Change data values automatically with the push of a button
  • Table Driven – via simple CSV files, which can be generated and edited by Anvil
  • Script Driven – via JavaScript or Flow Charting (a graphical scripting environment)

Manual Data Simulation
Easily set Data Attribute values directly in the Server Data Model Tree.

 

Example: Set an enum
Anvil_Manual_Data_Sim1

 

 

Example: Set a Quality
Anvil_Manual_Data_Sim2

 

 

Example: Set a Timestamp
Anvil_Manual_Data_Sim3

 

Automatic Data Simulation
With the Automatic method, values are incrementally stepped between Simulation Min and Simulation Max values. This simulation method has many flexible ways to configure simulation:

    • Use the Data Model Tree to display different sections of the object model and select which values should have automated changes
    • Increment Steps can be adjusted by double clicking in the Step field to edit the value
    • Simulation Min and Simulation Max values can be set by double clicking in the respective fields
    • The Filters dialog can further control what fields are being simulated based on Function Constraint and DataSets
Anvil_Auto_Data_Sim

 

Table Driven Data Simulation
The Table Driven method allows you to “replay” data states by loading values into the Server Data Model with CSV files:

    • CSV files can be generated and edited within Anvil
    • Each row of the CSV file represents a Data Attribute
    • Each column of Data Attribute values represents a notable event in the simulated device

Data Attributes are set to new values at the same instant. Playback of data can be performed in two ways:

    • One column can be loaded at a time from the CSV file with one mouse click
    • The “Play Simulation File” function can be used to set all columns of a CSV file with time delays

Anvil_Table_Data_Sim

Script Driven Data Simulation
Anvil allows tests to be automated through scripting, either by using the built-in Java Script editor or through Flow Charts, a graphical interface equivalent of JavaScript.

The Java Script editor is a full featured editor that allows access to the entire object model within Anvil.

Anvil_JavaScript

Flow Charts is a graphical equivalent of JavaScript that allows you to create functional scripts easily with a drag and drop interface.

Anvil_FlowCharts

IEC 61850 Services

61850 Services Built In
       
Because Anvil was designed with our IEC 61850 Stack, all of these services are built into the tool:
 


  Read services Fully Supported
  • Read at any level in the hierarchy
  • Return configurable errors when a DataAttribute is read
 


  Write services Fully Supported
  • Write at any level in the hierarchy
  • Return configurable errors when a DataAttribute is written
 


  Reporting Services Fully Supported
  • Un-buffered and buffered Report Control Blocks
  • Any Valid Data Set can be used in a Report Control Block
  • Supports all trigger options
  • All optional items included in report (Reserve Time, Owner, GI)
 


  Discovery Fully Supported
  • Supports Server Device Discovery by Client
  • Server Object Model and Supported Services
 


  Control Models Fully Supported All five control models for IEC 61850:
  • Status-only
  • Direct Control with normal security
  • Direct Control with enhanced security
  • Select Before Operate with normal security
  • Select Before Operate with enhanced security
 


  GOOSE Fully Supported
  • Any valid DataSet can be used in the GOOSE Control Block
  • Unicast and Multicast GOOSE messaging
  • Test and simulation flag support
 


  Sampled Values (9-2 LE) Fully Supported
  • Non-real-time implementation for testing message structure
 


  Tracking Services Supported
  • Tracking of Control Blocks
  • Tracking of Control Operations
 


  Dynamic DataSets Fully Supported
  • Persistant
  • Non-Persistant
 


  External References Fully Supported
  • Support for ExtRef in SCL description
  • Server will automatically resolve external references and subscribe to GOOSE messages
 


  Logging Services Fully Supported
  • All Trigger options, integrity period, etc.
  • Logging starts automatically for all configured Log Control Blocks upon Server startup
  • Any valid DataSet can be used in the Log Control Block
 


  File Transfer Services Fully Supported
  • File upload
  • File download
  • File delete
  • Directory browsing

IEC 61850 Data Models

Data Models Supported
       
Anvil supports the following standard Data Models:
 
  • IEC 61850-7-3 (Common Data Classes)
  • IEC 61850-7-4 (Logical Nodes and Data Objects)
  • IEC 61400-25 (Wind Turbines)
  • IEC 61850-7-410 (Hydroelectric Power Plants)
  • IEC 61850-7-420 (Distributed Energy Resources)

Flat View of Object Model

The Flat View Pane displays the entire object model or a subset of the model based on which filters are chosen. For example,to find all measurands simply check “MX”.

Anvil_FlatView
 

Control Errors

The Control Errors Dialog screen in Anvil allows you to configure artificial control errors for negative test cases:
 
Anvil_ControlErrors

Configure Read/Write Errors

Anvil Configure Read Write errors

Report Control Block Options Override

The “OptFld” can be overloaded in order to send a client information reports that it is not expecting. This is a conformance test for clients.

 

What’s New

Current Release: v3.5.54
Release Date: December 2013

Newest Features in this Release

  • Added Open SSL Method to strong security configuration.
  • Added PDU-size to Service Errors.
  • Flattened directory structure for File Services to support Ed. 2.
  • Added artificial time delay when opening controls, allowing users to test canceling of Operates and Selects.
  • Added support for Dynamic Data Sets with array indexes.
  • Added option to automatically update timestamps when changing data.
  • Added automatic substitution support.
  • Added inclusion bits to configurations that control the OSI fields.

Key Additions to Recent Releases

v3.5.41 – Added support for Substitution and made Workspace files standalone.
v3.5.35 – Added support for Schema 3.1. Added persistent Data Sets. Added fixed length GOOSE messages.
v3.5.23 – Added ability to discover and validate against an SCL file.
v3.5.15 – Added support for Ed.2, including Tracking Nodes, Security, Object Model changes, and Function Constraints.