‘ActiveX’ CA Server (… and Client) Oct. 2000 Kay-Uwe Kasemir, LANL.

Slides:



Advertisements
Similar presentations
1 1999/Ph 514: Channel Access Concepts EPICS Channel Access Concepts Bob Dalesio LANL.
Advertisements

Control System Studio (CSS) Data Access Layer (DAL) Kay Kasemir, Xihui Chen July 2009.
EPICS Base R and beyond Andrew Johnson Computer Scientist, AES Controls Group.
Jeffrey Hill.  LANSCE Requirements – a Review  EPICS Paradigm Shift – a Review  Status – What is Implemented  What is an Abstract Data Type?  Benefits.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
9-12 Oct 2000PCaPAC 2000, DESY Hamburg Epics to TINE translator Matthias Clausen, DESY Hamburg Phil Duval, DESY Hamburg Zoltan Kakucs, DESY Hamburg.
Controls and Monitoring Implementation Plan J. Leaver 03/06/2009.
16 - Nov. 2000EPICS Workshop Oak Ridge1 Epics to TINE translator Matthias Clausen, DESY Hamburg Phil Duval, DESY Hamburg Zoltan Kakucs, DESY Hamburg.
WNT Client/Server SDK Tony Vaccaro CS699 Project Presentation.
V4 – Executive Summary 1.Provide online add/delete of I/O to support continuous operation. 2.Provide redundant control of remote I/O to support improved.
Three Tier Applications using the PI Historian, Microsoft Transaction Server (MTS), Internet Information Server (IIS), ActiveX Data Objects (AD0) and ActiveX.
How Open is OpenInsight?
© 2010 UEI, Inc. All Rights Reserved UEIPAC HMI.
OPC and EPICS M. Clausen EPICS workshop Trieste’99 1 OPC Introduction and EPICS Perspectives Matthias Clausen.
JavaIOC Marty Kraimer EPICS Collaboration Meeting ICALEPCS October
September 6, 2015 Connecting Client Applications to Informix Databases using IBM Informix Connect and ODBC James Edmiston Database Consultant Quest Information.
Visual Basic: An Object Oriented Approach 12 – Creating and using ActiveX objects.
Channel Archiver Stats & Problems Kay Kasemir, Greg Lawson, Jeff Patton Presented by Xiaosong Geng (ORNL/SNS) March 2008.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Obsydian OLE Automation Ranjit Sahota Chief Architect Obsydian Development Ranjit Sahota Chief Architect Obsydian Development.
History Server & API Christopher Larrieu Jefferson Laboratory.
EPICS Meeting 29 th April - 3 rd May© 2013 Helmholtz-Zentrum BerlinCarsten Winkler.
Imperial College Tracker Slow Control & Monitoring.
OPC: Environment for Industrial System Integration.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
EPICS devSNMP Extensions Euan Troup, CSIRO Australia Telescope National Facility ASKAP Project Paul Wild Observatory.
Ralph Lange: OPC Gateway (Device Support) OPC Gateway (Device Support) Ralph Lange – EPICS Collaboration Meeting March SSRF.
OSI Development Plans Mark Hughes. ProcessBookDataLink PI-APIPI-SDK Automation OLE Objects ActiveX Controls COM Add-ins ODBC Datasets PINetMgr ArchiveBase.
EPICS OPC Gateway Nov May 2002 CA Client->OPC: Andrei Makhnachev,DESY OPC-> CA Server: Kay-Uwe Kasemir, LANL OPC Experience: Matthias Clausen,
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
.Net and Web Services Security CS795. Web Services A web application Does not have a user interface (as a traditional web application); instead, it exposes.
1/15 G. Manduchi EPICS Collaboration Meeting, Aix-en-Provence, Spring 2010 INTEGRATION OF EPICS AND MDSplus G. Manduchi, A. Luchetta, C. Taliercio, R.
ActiveX CA Server/Client Update Nov Kay-Uwe Kasemir, LANL.
Making LabVIEW look like an IOC Kay-Uwe Kasemir, LANL May 2002.
MASAR Service Guobao Shen Photon Sciences Department Brookhaven National Laboratory EPICS Collaboration Workshop Oct 05, 2013.
Wir schaffen Wissen – heute für morgen Gateway (Redux) PSI - GFA Controls IT Alain Bertrand Renata Krempaska, Hubert Lutz, Matteo Provenzano, Dirk Zimoch.
1 Channel Access Concepts – EPICS Training – K.Furukawa – Mar EPICS Channel Access Concepts Kazuro Furukawa, KEK, ( ) (Bob Dalesio, LANL,
MASAR Server & Application Guobao Shen Photon Sciences Department Brookhaven National Laboratory Collaboration Working Group Oct 02, 2013.
What is database?  Any Method for access info into Application from DataBase?  ODBC is standard for Accessing Data.  Problem with ODBC:  Information.
General Time Update David Thompson Epics Collaboration Meeting June 14, 2006.
Jožef Stefan Institute Oct. 8-9, 2005ACS 2005 Workshop Comparison of EPICS and ACS M. Plesko – JSI and Cosylab, in collaboration with Phil Duval, DESY.
Chapter 3: Creating ActiveX Controls By Noppadon Kamolvilassatian Dept. of Computer Engineering, Prince of Songkla University Source: Mastering Visual.
Integrating EPICS and LabVIEW on Windows using DCOM Freddie Akeroyd ISIS Computing Group.
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
EOVSA STATE FRAME ASSEMBLY, DISTRIBUTION, AND SYNCHRONIZATION Gelu Nita NJIT MARCH 2012 EOVSA PDR MEETING 1.
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
EPICS Release 3.15 Bob Dalesio May 19, Features for 3.15 Support for large arrays - done for rsrv in 3.14 Channel access priorities - planned to.
Useful LabVIEW 8.20 Features CS Workshop 2007 February 2nd, 2007 Holger Brand, GSI.
Control System Overview J. Frederick Bartlett Fermilab June 1,1999.
1. LabVIEW and EPICS Workshop EPICS Collaboration Meeting Fall 2011.
Channel Access Client Coding 2006
Connecting LabVIEW to EPICS network
PvaPy: Python API for EPICS PV Access Siniša Veseli Scientific Software Engineering & Data Management Advanced Photon Source EPICS Meeting October 2015.
.NET Mobile Application Development XML Web Services.
1 Channel Access Concepts – IHEP EPICS Training – K.F – Aug EPICS Channel Access Concepts Kazuro Furukawa, KEK (Bob Dalesio, LANL)
EPICS and LabVIEW Tony Vento, National Instruments
Channel Archiver Overview Jan Channel Archiver Channel Access client Stores samples in disk files Design target: handle values/sec Documentation,
OPC Status Nov CA Client->OPC: Andrei Makhnachev,DESY OPC-> CA Server: Kay-Uwe Kasemir, LANL OPC Experience: Matthias Clausen, DESY.
Control System Overview J. Frederick Bartlett Fermilab June 1,1999.
Implementation and Testing of RDB Channel Archiver with MySQL Richard Ma, DePauw University Supervisor: Richard Farnsworth, Argonne National Laboratory.
An Introduction to Epics/Tango Steve Hunt Alceli EPICS Meeting 2008 INFN Legnaro 15 Oct 17:15.
Clara Gaspar, February 2010 DIM A Portable, Light Weight Package for Information Publishing, Data Transfer and Inter-process Communication.
Online Data Monitoring Framework Based on Histogram Packaging in Network Distributed Data Acquisition Systems Tomoyuki Konno 1, Anatael Cabrera 2, Masaki.
Using COTS Hardware with EPICS Through LabVIEW – A Status Report EPICS Collaboration Meeting Fall 2011.
A Web Based Job Submission System for a Physics Computing Cluster David Jones IOP Particle Physics 2004 Birmingham 1.
Laboratorio per dottorandi 2017 Particle Accelerators Control System
Writing a Channel Access Client in EPICS
Channel Access Concepts
Channel Access Concepts
Presentation transcript:

‘ActiveX’ CA Server (… and Client) Oct Kay-Uwe Kasemir, LANL

Epics CA Servers and Clients Channel Access Network Archive Engine CA IOC EPICS Db CA CA Server MEDM CA CA Client IOC EPICS Db CA CAS & CAC CA Server: owns, creates, provides Channel Client: can read/write CA CA Server CA CA Server Win32 Prog. ActiveX CAS

Purpose Provide ChannelAccess Server (and Client) capability for Win32 Programs that’s –easier to use than raw CAC/CAS libraries –appeals to non-C/C++ programmers –Win32: MS Windows 98, NT, 2000 Initial Motivation at LANL: –LabVIEW: Existing, working subsystems needed remote display, archiving,... Suitable for not-too-big new projects, especially when drivers are included 4Integrate via CA Server

ActiveX, “Automation Server” COM (Component Object Model) –Win32 Inter-Process-Communication API –Similar to Sun RPC, but for classes, not individual functions –COM ‘Classes’ expose ‘Interfaces’ (similar: Java interfaces, C++ pure virtual base classes) OLE, ActiveX Control /Automation Server,... –Numerous protocols, i.e. agreements to expose specific interfaces EpicsCAClient CA.DLL EpicsCAServer CAS.DLL IDispatchIProcessVariableIDispatchIProcessVariable

EpicsCAServer.ProcessVariable Properties name: Has to be set to create the PV for ChannelAccess units, precision, alarm_low,...: Common EPICS properties deadband: Only changes >= deadband will trigger monitors enum_string(0,1,…) Methods SetLongValue (new_value as Long) SetDoubleValue (newValue as Double) SetEnumValue (new_value as Long): Check if corresponding enum_string exists SetValue (new_value as Variant) –allowed: Scalar and Array (!) short, int, long, float, double, string Events Changed: Received for ChannelAccess ‘put’

Visual Basic Example: Required: –Set ‘name’ –call ‘Set*Value’ Dim PV As New EpicsCAServer.ProcessVariable PV.name = “Pi” PV.SetValue 3.14

Visual Basic: Events Dim WithEvents PV As EpicsCAServer.ProcessVariable Private Sub Form_Load() Set PV = New EpicsCAServer.ProcessVariable PV.Name = "MyTestPV" PV.units = "Quirks" PV.SetDoubleValue 3.15 End Sub Private Sub PV_Changed(ByVal value_received As Variant) MsgBox ”Received " & value_received & " !" End Sub

Excel Example: React to CA ‘Put’

VB: Enumerated Types

Time PC clock  Time stamps for CA Server Synchronization: “Tardis” Shareware Program (S)NTP, time or daytime protocol –SNTP (RFC 2030): 1..50ms, timehost.lanl.gov: 10ms (30min updates) Beware: Inter-IOC protocol doesn’t match any standard. –Assert Master Timing IOC uses same NTP server as PCs

LabVIEW as a CA Server LabVIEW 5.1 has basic ActiveX support: Open ActiveX reference, Set Parameter, Wait for Event, … New ‘Virtual Instruments’: PV Init, Config, Set, Close,...

LabVIEW: Simple Server

LabVIEW: React to CA ‘put’ CA ‘put ’  ActiveX Event is sent with The PV’s value will not change automatically! It’s up to you to –check for values –test them and eventually –reflect the change by setting a new value!

LabVIEW: Enumerated Types EPICS: enumerated types have –an unsigned value 0, 1, 2, …. –a list of strings that describe each state LabVIEW: –PVInitEnum.vi, create PV with a list of state strings –PVSetEnum.vi set the numeric state, checking if state OK –PVSetBool.vi for boolean values (Should be generated as a two-state enum)

EpicsCAClient Similar: –EpicsCAClient.ProcessVariable, –Properties: name, is_connected, value, units, … –Event: NewValue LabVIEW support: –PVOpen.vi, … –About to be used at LANL, but VIs might change when more experience is gathered

Example: Web Pages LabVIEW 5.1 –can be used as simple but “pretty” CA client –has HTTPD built-in With CA Client: CA Data on the web (HTML page includes link to LabVIEW’s HTTPD)

LabVIEW Problems ActiveX Events don’t work without patch from National Instruments’ web site Ax Event leaves memory leak in LabVIEW 5.1. Version 6.0 is supposed to solve this. LabVIEW sometimes crashes during setup of ActiveX connection (runs fine once this succeeds) Deadband check, already handled in EpicsCAServer, doubled in LabVIEW for better performance:

Performance Set new (double) value to be served: ~0.3ms (450Mhz Pentium II)

Performance... (10 10, 100, 500 Hz on 450Mhz Pentium II)

Conclusion Win32-Program with data worth serving, e.g. LabVIEW ‘EPICS’ data + ActiveX CA Server