SELRand IEC Library for ACSELERATOR RTAC Projects

Similar documents
SELRand. IEC Library for ACSELERATOR RTAC Projects. SEL Automation Controllers

Quicksort IEC Library for ACSELERATOR RTAC Projects

IEC Library for ACSELERATOR RTAC Projects

DynamicDisturbanceRecorder

IPAliasRedundancy. IEC Library for ACSELERATOR RTAC Projects. SEL Automation Controllers

MathMatrix IEC Library for ACSELERATOR RTAC Projects

Human-Machine Interface (HMI) for SEL Real-Time Automation Controllers (RTACs)

Authenticate and encrypt all serial data communications to protect critical assets

SEL-3021 Serial Encrypting Transceiver Security Policy Document Version 1.9

Real-Time Automation Controller (RTAC) Powerful, reliable, and secure multifunction controller

SEL Real-Time Automation Controller (RTAC)

Cluster Computing Paul A. Farrell 9/15/2011. Dept of Computer Science Kent State University 1. Benchmarking CPU Performance

Benchmarking CPU Performance. Benchmarking CPU Performance

Getting Started With the SEL-3505/SEL

NERC PRC-002 Recording Solutions

Benchmarking CPU Performance

UP BOARD WITH GOODRAM SSD. mini msata 120GB BICS 3D NAND FLASH msata 128GB MLC NAND FLASH msata 256GB MLC NAND FLASH

Services Catalogue Australia

EDM 7.1 Engineering Data Management Software Release Notes

Chapter 1: Introduction to the Microprocessor and Computer 1 1 A HISTORICAL BACKGROUND

The Performance index of programmable controllers PLC-MIX

Cisco MCS 7815-I1 Unified CallManager Appliance

Level 2 Diploma Unit 3 Computer Systems

2016 inn In ovatint SYSTEM novatint version 3 REQUIREMENTS System Requirements D ate :

Intel Server Board S2400SC

Cisco MCS 7825-I1 Unified CallManager Appliance

EM23-DIN COMMUNICATION PROTOCOL. Version 0 Revision 0

Intel Server Board S5520HC

Intel Server S3200SHV

High Performance Computing

Lytec 2017 System Requirements

Intel Server S3210SHLC

Intel Server Board S1200BTS

Appendix C to DIR Contract No. DIR-SDD-2031 Pricing Index

Advantages of Upgrading. From System VII to Aurora

Random and Pseudorandom Bit Generators

RTAC. SEL Real-Time Automation Controller. Integrate station control, a web-based HMI, and logging through one reliable system.

Programmable Logic Controllers. PLC500 Nseries Overview

N-Dimension n-platform 340S Unified Threat Management System

Manual. PLC Lib: Tc2_DMX. TwinCAT 3. Version: Date:

CompuScope 1602 product introduction

Getting Started With SEL-3555 RTAC

To become familiar with array manipulation, searching, and sorting.

CompuScope product introduction

CS 106X Sample Final Exam #2

EM21 COMMUNICATION PROTOCOL. Version 1 Revision 0

Authenticated Storage Using Small Trusted Hardware Hsin-Jung Yang, Victor Costan, Nickolai Zeldovich, and Srini Devadas

Avigilon Control Center Server User Guide

Chapter 02. Authors: John Hennessy & David Patterson. Copyright 2011, Elsevier Inc. All rights Reserved. 1

Electronic Engineering Part 1 Laboratory Experiment. Digital Circuit Design 1 Combinational Logic. (3 hours)

Using Defense in Depth to Safely Present SCADA Data for Read-Only and Corporate Reporting. Rick Bryson

Low Latency Evaluation of Fibre Channel, iscsi and SAS Host Interfaces

L-Series 30 User Environment

TABLE OF CONTENTS LIST OF ILLUSTRATIONS

CISCO MEDIA CONVERGENCE SERVER 7815-I1

A low-cost, economical solution for distribution feeder protection

Avigilon Control Center Server User Guide

Topic 2: C++ Programming fundamentals

Rugged, compact industrial computers for high-performance mission-critical operations

EM271 COMMUNICATION PROTOCOL. Version 0 Revision 0

Intel Server Platform SR6850HW4M & SR4850HW4M

Performance Comparisons of Dell PowerEdge Servers with SQL Server 2000 Service Pack 4 Enterprise Product Group (EPG)

3ME4 Series. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date: Innodisk Approver. Customer Approver

Difference Between Dates Case Study 2002 M. J. Clancy and M. C. Linn

96ND2T-ST-WD5K. Test Report. AKDC DQA Engineer. AKDC DQA assistant manager. Page 1 of 15

3ME4 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

Cisco MCS 7816-H3. Supported Cisco Applications. Key Features and Benefits

User Manual of SADP Software

Security Features and Volatility Documentation

96ND1T-ST-WD5K1. Test Report. AKDC DQA Engineer. AKDC DQA assistant manager. Page 1 of 15

QuickSpecs. ProLiant BL40p (G2) ProLiant BL20p G2. Intel 2.8GHz/533 MHz Xeon SAN 8GB PC (2-Gb), ProLiant BL20p G2 ProLiant BL20p SAN

CELSIUS R670 The new uncompromising high-end workstation

AMD Graphics Team Last Updated February 11, 2013 APPROVED FOR PUBLIC DISTRIBUTION. 1 3DMark Overview February 2013 Approved for public distribution

EM270 COMMUNICATION PROTOCOL. Version 1 Revision 0

96ND500G-ST-SG5K2. Test Report. AKDC DQA Engineer. AKDC DQA assistant manager. Page 1 of 1

Exercise: Using Numbers

CHAPTER 4 RESULT ANALYSIS

Technical Note PLX82-MNET-61850

Wired / Wireless IR IP Camera ICA-108 / ICA-108W. Quick Installation Guide

From Telephone Nuremberg. This letter contains latest information about the above mentioned software version.

Assembling Computers Summer Academy Presented by the Petters Research Institute (PRI) in cooperation with the Belize Defense Force

Chapter Four: Loops II

Cisco MCS 7815-I2 Unified CallManager Appliance

EM210 COMMUNICATION PROTOCOL. Version 3 Revision 1

GNM3D Series COMMUNICATION PROTOCOL. Version 1 Revision 0

X300 Seven User Environment

Evaluation of Intel Memory Drive Technology Performance for Scientific Applications

DEPARTMENT OF INFORMATION TECHNOLOGY

System Requirements 2008 R2

Maximize process uptime with the SEL-patented motor thermal model.

Memory Performance and Cache Coherency Effects on an Intel Nehalem Multiprocessor System

C Language Programming

A Clustering Approach to the Bounded Diameter Minimum Spanning Tree Problem Using Ants. Outline. Tyler Derr. Thesis Adviser: Dr. Thang N.

3SE4 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

Intel Server Board S2600CW2S

Do Query Op5mizers Need to be SSD- aware?

Performance COE 403. Computer Architecture Prof. Muhamed Mudawar. Computer Engineering Department King Fahd University of Petroleum and Minerals

Intel Server Board S2600STB

Kvaser USBcan Light 4xHS User s Guide

EM100 Series and ET100 Series

Transcription:

SELRand IEC 61131 Library for ACSELERATOR RTAC Projects SEL Automation Controllers

Contents 1 Introduction 3 2 Supported Firmware Versions 4 3 Functions 5 3.1 fun_rand (Function)................................. 5 3.2 fun_randrepeatable (Function)........................... 5 3.3 fun_randranged (Function)............................. 5 3.4 fun_randrangedrepeatable (Function)....................... 6 Appendices 7 Appendix A Release Notes 8 Appendix B Benchmarks 9 B.1 Benchmark Platforms................................. 9 B.2 Benchmark Test Descriptions............................. 9 B.2.1 fun_rand()................................... 9 B.2.2 fun_randranged().............................. 9 B.2.3 fun_randrepeatable()............................ 9 B.2.4 fun_randrangedrepeatable()........................ 9 B.3 Benchmark Results................................... 10 Appendix C Examples 11 C.1 Getting a Random Integer Between 10 and 50.................... 11 C.1.1 Objective.................................... 11 C.1.2 Assumptions.................................. 11 C.1.3 Solution..................................... 11 C.2 Testing with Assorted Input.............................. 12 C.2.1 Objective.................................... 12 C.2.2 Assumptions.................................. 12 C.2.3 Solution..................................... 12 2013 2014 Schweitzer Engineering Laboratories, Inc. 2

1 Introduction The SELRand library contains a set of functions that return pseudo-random numbers for testing and other non cryptographic purposes. A pseudo-random number generator is a math function that takes advantage of its previous result and large number manipulations to perform operations that are not immediately predictable. The beginning value for each use of the sequence is called the seed. Generally, the seed is created from some measurement expected to have a wide range of variance. Commonly, this can be noise on a wire, small units of time, quantity and value of user input, or some other equally unpredictable quantity. Pseudo-random number generators do tend to be cyclic in nature, but they can have very large cycle times and excellent distribution. These functions are not intended to be used for implementing any security feature. 2013 2014 Schweitzer Engineering Laboratories, Inc. 3

2 Supported Firmware Versions This library can be used on any device that is configured using acselerator RTAC SEL-5033 Software with firmware version R132 or higher. 2013 2014 Schweitzer Engineering Laboratories, Inc. 4

3 Functions 3.1 fun_rand (Function) This function randomly seeds itself and returns a pseudo-random number in the range of 0 inclusive to 2 32 exclusive. Return IEC 61131 Type UDINT Description A random number between 0 inclusive to 2 32 exclusive. Processing At the first call of this function it randomly seeds itself. It will continually return pseudo-random values with each use. 3.2 fun_randrepeatable (Function) This function always seeds itself with the same value and returns a pseudo-random number in the range of 0 inclusive to 2 32 exclusive. Return IEC 61131 Type UDINT Description A random number between 0 inclusive to 2 32 exclusive. Processing At the first call of this function it seeds itself, always with the same value. It then returns the same sequence of pseudo-random values with each use. 3.3 fun_randranged (Function) This function randomly seeds itself and returns a pseudo-random number between minimum to maximum inclusive. 2013 2014 Schweitzer Engineering Laboratories, Inc. 5

Inputs Name IEC 61131 Type Description minimum UDINT The lower limit of the return value. maximum UDINT The upper limit of the return value. Return IEC 61131 Type UDINT Description A random number between minimum and maximum inclusive. Processing At the first call of this function, randomly seeds itself. It then continually returns pseudo-random values within the requested range. 3.4 fun_randrangedrepeatable (Function) This function always seeds itself with the same value and subsequently returns a pseudo-random number between minimum to maximum inclusive. Inputs Name IEC 61131 Type Description minimum UDINT The lower limit of the return value. maximum UDINT The upper limit of the return value. Return IEC 61131 Type UDINT Description A random number between minimum and maximum inclusive. Processing At the first call of function it seeds itself, always with the same value. It then continually returns the same sequence of pseudo-random values within the requested range. 2013 2014 Schweitzer Engineering Laboratories, Inc. 6

Appendices This page intentionally left blank 2013 2014 Schweitzer Engineering Laboratories, Inc. 7

Appendix A Release Notes Version Summary Of Revisions Date Code 3.5.0.0 Initial Release 20140811 2013 2014 Schweitzer Engineering Laboratories, Inc. 8

Appendix B Benchmarks B.1 Benchmark Platforms The benchmarking tests recorded for this library are performed on the following platforms. SEL-3530 R134 firmware SEL-3354 Intel Pentium 1.4 GHz 1 GB DDR ECC SDRAM SEL-3532 RTAC Conversion Kit R132 firmware SEL-3555 Dual-core Intel i7-3555le processor 4 GB ECC RAM R134-V0 firmware B.2 Benchmark Test Descriptions All benchmark tests are based on an average of 100 calls to the function. B.2.1 fun_rand() The posted time is the average execution time of 100 consecutive calls. B.2.2 fun_randranged() The posted time is the average execution time of 100 consecutive calls with a range of 1 to 100. B.2.3 fun_randrepeatable() The posted time is the average execution time of 100 consecutive calls. B.2.4 fun_randrangedrepeatable() The posted time is the average execution time of 100 consecutive calls with a range of 1 to 100. 2013 2014 Schweitzer Engineering Laboratories, Inc. 9

B.3 Benchmark Results Operation Tested Time in µs per Platform SEL-3530 SEL-3354 SEL-3555 fun_rand() 1 1 1 fun_randranged() 2 1 1 fun_randrepeatable() 1 1 1 fun_randrangedrepeatable() 1 1 1 2013 2014 Schweitzer Engineering Laboratories, Inc. 10

Appendix C Examples These examples demonstrate the capabilities of this library. recommendations from SEL. They should not be mistaken as Users should implement the best practices of their organization when using these libraries. The user of these libraries is responsible for ensuring their correct implementation and verifying that the project using these libraries performs as expected. C.1 Getting a Random Integer Between 10 and 50 C.1.1 Objective A user knows the input for a function will vary between 10 and 50 and would like demonstrate the behavior of a function in a non-linear progression. C.1.2 Assumptions This example assumes that there is a user specified IEC 61131 function that is defined as shown in Code Snippet 1 FUNCTION fun_somefunction :REAL VAR_INPUT num : UDINT; END_VAR Code Snippet 1: fun_somefunction C.1.3 Solution The user can create the program in Code Snippet 2 to run the function 1000 times with assorted input. 2013 2014 Schweitzer Engineering Laboratories, Inc. 11

PROGRAM prg_randomwalk VAR i : UDINT; results : ARRAY [1.. 1000] OF REAL; randomnum : UDINT; END_VAR Code Snippet 2: prg_randomwalk FOR i := 1 to 1000 DO //This gives a random number from 10 to 50; randomnum := fun_randranged(10, 51); //Call the function with the random number results[i] := fun_somefunction(randomnum); END_FOR C.2 Testing with Assorted Input C.2.1 Objective A user wants to vary input for testing but would like to be able to recreate the inputs if something goes wrong. C.2.2 Assumptions This example assumes that there is a user-specified IEC 61131 function that is defined as shown in Code Snippet 3 FUNCTION fun_testfunction :BOOL VAR_INPUT num : UDINT; END_VAR Code Snippet 3: fun_testfunction C.2.3 Solution The user can create the program in Code Snippet 4 to run the function 1000 times with assorted input but a set order. 2013 2014 Schweitzer Engineering Laboratories, Inc. 12

PROGRAM prg_randomtest VAR i : UDINT; results : ARRAY [1.. 1000] OF REAL; randomnum : UDINT; END_VAR Code Snippet 4: prg_randomtest FOR i := 1 TO 1000 DO //This gives a random number; randomnum := fun_randrepeatable(); //Call the function with the random number results[i] := fun_testfunction(randomnum); END_FOR 2013 2014 Schweitzer Engineering Laboratories, Inc. 13