PVSSProxy The first piece of the MACS procedure framework (ProShell) Angela Brett.

Slides:



Advertisements
Similar presentations
IT Technical Support South Nottingham College. Aims Knowledge of the Registry Discuss the tools available to support a technician Gain an understanding.
Advertisements

Private and Confidential ThinkControl & ProLiant Essentials Rapid Deployment Pack.
COM vs. CORBA.
P5, M1, D1.
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
Chapter 3.2 C++, Java, and Scripting Languages. 2 C++ C used to be the most popular language for games Today, C++ is the language of choice for game development.
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
Connecting Runtime-Free to Any OPC-DA Server with VS.NET Your Host Today: Win Worrall Application Engineer and Developer Got a snazzy graphic mike – remove.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Sm-ART Presented by: Mark Picazo. CONTENTS  Sm-ART  Sm-ART Builder  Sm-ART Interface  Sm-ART Language  Sm-ART Android  Sm-ART In Use  Sm-ART Demo.
CAEL 5012 Rich Internet Applications. What you need For this part of the course you will need access to a server with PHP and MYSQL which will be supplied.
McGraw-Hill© 2007 The McGraw-Hill Companies, Inc. All rights reserved. 1-1.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Antigone Engine Kevin Kassing – Period
Pattern Oriented Software Architecture for Networked Objects Based on the book By Douglas Schmidt Michael Stal Hans Roehnert Frank Buschmann.
Writing various AJAX forms in Drupal 7 1. Overview of Form API 2. Ctools 2.1 Ctools features 3. Ajax 3.1 Ajax Forms in Drupal 4. Putting it all together.
Imperial College Tracker Slow Control & Monitoring.
Supervisory Control and Data Acquisition (SCADA) Software.
Codeigniter is an open source web application. It occupies a very small amount of space in the memory and is most useful for developers who aim to develop.
Fundamentals of Database Chapter 7 Database Technologies.
‘Tirgul’ # 7 Enterprise Development Using Visual Basic 6.0 Autumn 2002 Tirgul #7.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
ProShell Procedure Framework Status MedAustron Control System Week 3 December 8 th, 2010 Roland Moser PR a-RMO, December 8 th, 2010 Roland Moser.
ProShell Procedure Framework Status MedAustron Control System Week 1 March 28 th, 2011 Roland Moser PR a-RMO, March 28th, 2011 Roland Moser 1 R.
Computer Emergency Notification System (CENS)
Martin Nicolay SyncML Client for c´man Framework for Symbian devices
ACS Error System APIs: C++ Bogdan Jeram European Southern Observatory July 2005ESO.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Software Design Patterns (1) Introduction. patterns do … & do not … Patterns do... provide common vocabulary provide “shorthand” for effectively communicating.
1 Control Software (CAT) Introduction USB Interface implementation Calorimeter Electronics Upgrade Meeting Frédéric Machefert Wednesday 5 th May, 2010.
The Virtual Accelerator Allocator Status PR a-CTM, December 8 th, 2010 Cesar Torcato de Matos 1 R. Gutleber.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
GAYA Analyzer SDD Presentation. GAYA Analyzer Introduction OMS40G256 is a hardware device used for detection of radioactive radiation for medical imaging.
ICALEPCS’ GenevaACS in ALMA1 Allen Farris National Radio Astronomy Observatory Lead, ALMA Control System.
ROOT’s graphics on iOS. ROOT’s graphics (general scheme):
RUBRIC IP1 Ruben Botero Web Design III. The different approaches to accessing data in a database through client-side scripting languages. – On the client.
Copyright © 2012 UNICOM Systems, Inc. Confidential Information z/Ware Product Overview illustro Systems International A Division of UNICOM Global.
P3 - prepare a computer for installation/upgrade By Ridjauhn Ryan.
Webview and Web services. Web Apps You can make your web content available to users in two ways in a traditional web browser in an Android application,
LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once.
The Problems HTTP is disconnected So many database vendors Create a simple consistent versatile interface on the data Look at ADO.NET classes OleDb SQL.
Silberschatz, Galvin and Gagne  Operating System Concepts UNIT II Operating System Services.
ICALEPCS 2005 Geneva, Oct. 12 The ALMA Telescope Control SystemA. Farris The ALMA Telescope Control System Allen Farris Ralph Marson Jeff Kern National.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Source Controller software Ianos Schmidt The University of Iowa.
ProShell Procedure Framework Status MedAustron Control System Week 2 October 7 th, 2010 Roland Moser PR a-RMO, October 7 th, 2010 Roland Moser 1.
Unit 17: SDLC. Systems Development Life Cycle Five Major Phases Plus Documentation throughout Plus Evaluation…
TODAY Android Studio Installation Getting started Creating your 1 st App Beginning to understanding Intents.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
System Design for Home Automaton. Design Goals Performance Criteria – Server prioritizes client requests to provide quick response time to critical requests.
The DCS Databases Peter Chochula. 31/05/2005Peter Chochula 2 Outline PVSS basics (boring topic but useful if one wants to understand the DCS data flow)
The Dashboard Creation Toolkit (DCT) Project M. Fátima Gómez de la Cruz (EN-ICE-MTA)
Software Systems Division (TEC-SW) ASSERT process & toolchain Maxime Perrotin, ESA.
Computer software: There are at least six step developmental procedures the programmer: Define problem Make or buy decision Design program Code program.
Personalizing Web Sites Nasrullah. Understanding Profile The ASP.NET application service that enables you to store and retrieve information about users.
ProShell Procedure Framework Status MedAustron Control System Week 3 October 3 rd, 2011 Roland Moser PR a-RMO, October 3rd, 2011 Roland Moser 1.
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
Chapter 4. CONCEPT OF THE OPERATING SYSTEM MANAGING ESSENTIAL FILE OPERATIONS.
September 24th 2006, aKademy The Design and Implementation of KJSEmbed Richard Moore,
Pixy Python API Charlotte Weaver.
Mobile App Development
Why API?.
Google Web Toolkit Tutorial
Content Providers.
Application with Cross-Platform GUI
Testing REST IPA using POSTMAN
Client-Side Validation with Javascript
Northbound API Dan Shmidt | January 2017
Intro. To Operating Systems
Tools for the Automation of large distributed control systems
Presentation transcript:

PVSSProxy The first piece of the MACS procedure framework (ProShell) Angela Brett

A framework which can run prodedures that perform operations on devices and sets of devices (working sets.) A procedure is a C# class implementing a certain interface, which will be loaded dynamically from a file.

The procedure framework will communicate with devices using PVSS

PVSS is a SCADA (Supervisory Control and Data Acquisition) system. It can be used to connect to hardware devices to control them and acquire data from them. PVSS has a scripting language and a graphical user interface, but a procedure framework implemented using these would run too slowly. The PVSS API allows users to write their own programs in C++ which can access the data and control the hardware devices via PVSS datapoints.

SWIG (Simplified Wrapper and Interface Generator) is free software that can create wrappers that allow C or C++ APIs to be used from other languages. I used SWIG to create a wrapper for the PVSS API. It took about a month to fine tune the wrapper and write prototype code to ensure that all the features of the PVSS API could be used.

PVSSProxy is a library which allows easy use of the SWIG wrapper without knowledge of the underlying API. All of the main functionality of PVSS is made available using common C# patterns: Asynchronous calls use C# delegates. Datapoints values can be set and retrieved using native C# data types. Errors are raised as exceptions. PVSSProxy manages the PVSS event loop, so client code only needs to call one method to connect to PVSS.

PVSSProxy should also make some things easier to code than they would be in a PVSS script. DatapointName class simplifies the use of datapoints. Instead of remembering how to make a full datapoint name string such as: Datapoint.element:_config.Detail._attribute You create a DatapointName object with only the essential properties, and the rest can be filled in automatically depending on what you are doing. DatapointName will also allow wildcards to get names and values of many datapoint elements at once.

To do: Add more source code documentation Add the ability to disconnect from PVSS Make timeouts configurable Add logging using log4net Allow wildcards in datapoint names Add more unit testing...and implement the procedure framework.