Running EPICS on NI CompactRIO Initial Experience Eric Björklund (LA-UR-09-02665)

Slides:



Advertisements
Similar presentations
1. 2 LabVIEW for FRC Doug Norman National Instruments January 6, 2012.
Advertisements

Status of the LANSCE Upgrade LA-UR Eric Bjorklund.
DCM Embedded Software Infrastructure, Build Environment and Kernel Modules A.Norman (U.Virginia) 1 July '09 NOvA Collaboration Mtg.
LEDA Instrumentation Environment Bob Dalesio May 12, 2000.
Using an FPGA to Control the Protection of National Security and Sailor Lives at Sea Brenda G. Martinez, Undergraduate Student K.L. Butler-Purry, Ph.D.,
Operating System - Overview Lecture 2. OPERATING SYSTEM STRUCTURES Main componants of an O/S Process Management Main Memory Management File Management.
16 - Nov. 2000EPICS Workshop Oak Ridge1 Epics to TINE translator Matthias Clausen, DESY Hamburg Phil Duval, DESY Hamburg Zoltan Kakucs, DESY Hamburg.
Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.
Operating Systems.
EtherIP Driver Kay Kasemir, July 2009.
LabView Users Group Meeting June 20 th, 2006 Process Control Using Compact Field Point/Labview Real-time Michael Tockstein Microelectronics Technology.
R. Lange, M. Giacchini: Monitoring a Control System Using Nagios Monitoring a Control System Using Nagios Ralph Lange, BESSY – Mauro Giacchini, LNL.
New Features of APV-SRS-LabVIEW Data Acquisition Program Eraldo Oliveri on behalf of Riccardo de Asmundis INFN Napoli [Certified LabVIEW Developer] NYC,
Agenda Adaptation of existing open-source control systems from compact accelerators to large scale facilities.
31st July 2008AIDA FEE Report1 AIDA Front end electronics Report July 2008 Progress Virtex5 FPGA choice Milestones for prototype delivery.
Single Board Computers and Industrial PC Hardware at the CLS
SNS Integrated Control System EPICS IOCs – Relational DB Connectivity Bridge A. Liyu, A. Zhukov.
EPICS Insertion Device Control System Pete Owens EPICS Collaboration Meeting June 2003 Control System for a Helical Undulator Pete Owens Daresbury Laboratory.
CRIO as a hardware platform for Machine Protection. W. Blokland S. Zhukov.
DLS Digital Controller Tony Dobbing Head of Power Supplies Group.
1-1 Embedded Network Interface (ENI) API Concepts Shared RAM vs. FIFO modes ENI API’s.
IMPLEMENTATION OF SOFTWARE INPUT OUTPUT CONTROLLERS FOR THE STAR EXPERIMENT J. M. Burns, M. Cherney*, J. Fujita* Creighton University, Department of Physics,
Redundancy. 2. Redundancy 2 the need for redundancy EPICS is a great software, but lacks redundancy support which is essential for some highly critical.
Dec 8-10, 2004EPICS Collaboration Meeting – Tokai, Japan MicroIOC: A Simple Robust Platform for Integrating Devices Mark Pleško
Making LabVIEW look like an IOC Kay-Uwe Kasemir, LANL May 2002.
Elliott Wolin Hall D Online Meeting 4-Mar  A few weeks ago Elke asked how long it would take to get an EPICS system going  I didn’t know  I had.
Embedded Runtime Reconfigurable Nodes for wireless sensor networks applications Chris Morales Kaz Onishi 1.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
 Overview › Requirements › Proof of Principal › Issues … › First Step – Wrap Altera NIOS2 GNU Tools › Next Step – Build RTEMS/NIOS GNU Tools › Future.
Final Review of ITER PBS 45 CODAC – PART 1 – 14 th, 15 th and 16 th of January CadarachePage 1 FINAL DESIGN REVIEW OF ITER PBS 45 CODAC – PART 1.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Experience Running Embedded EPICS on NI CompactRIO Eric Björklund Dolores Baros Scott Baily.
SNS Integrated Control System Timing Clients at SNS DH Thompson Epics Spring 2003.
A Critical Analysis of the Windows mLAN Driver
Processes Introduction to Operating Systems: Module 3.
Integrating EPICS and LabVIEW on Windows using DCOM Freddie Akeroyd ISIS Computing Group.
Online Software 8-July-98 Commissioning Working Group DØ Workshop S. Fuess Objective: Define for you, the customers of the Online system, the products.
EPICS EPICS Limitations Bob Dalesio Marty Kraimer.
Silberschatz, Galvin and Gagne  Operating System Concepts UNIT II Operating System Services.
Status of the STT Motherboard Testing Evgeny Popkov Boston University 5 Jan
1. EPICS IOC on CompactRIO EPICS Collaboration Meeting Fall 2011.
Connecting EPICS with Easily Reconfigurable I/O Hardware EPICS Collaboration Meeting Fall 2011.
1. LabVIEW and EPICS Workshop EPICS Collaboration Meeting Fall 2011.
Managed by UT-Battelle for the Department of Energy SCL Vacuum Control System Upgrade Derrick Williams
Connecting LabVIEW to EPICS network
Software development Control system of the new IGBT EE switch.
Stanford Linear Accelerator Center Ron Chestnut EPICS Collaboration Mtg May 21-23, SLAC EPICS Projects Yesteryear, Today, and Tomorrow.
LIGO-G9900XX-00-M LIGO II1 Why are we here and what are we trying to accomplish? The existing system of cross connects based on terminal blocks and discrete.
EPICS and LabVIEW Tony Vento, National Instruments
SNS Integrated Control System EPICS IOCs – Relational DB Connectivity Bridge A. Liyu, A. Zhukov.
Managed by UT-Battelle for the Department of Energy Kay Kasemir Jan Experimental Physics and Industrial Control System.
The BaBar Online Detector Control System Upgrade Matthias Wittgen, SLAC.
Using COTS Hardware with EPICS Through LabVIEW – A Status Report EPICS Collaboration Meeting Fall 2011.
Scalable Readout System Data Acquisition using LabVIEW Riccardo de Asmundis INFN Napoli [Certified LabVIEW Developer]
Integrating Advantech PCI I/O cards into EPICS. Outline ANTARES computer control and data acquisition systems architecture STAR computer control and data.
Managed by UT-Battelle for the Department of Energy LabVIEW Channel Access Implementaion Alexander Zhukov SNS.
Lesson 1 PLC BASICS. PLC Definition  Programmable Logic Controllers are industrial computers that control machine and other applications.  PLC have.
Prototyping SoC-based Gate Drive Logic for Power Convertors by Generating code from Simulink models. Researchers Rounak Siddaiah, Graduate Student-University.
Operating System.
SLC-Aware IOC LCLS Collaboration Jan 26, 2005
Development of Embedded EPICS on F3RP61-2L
The Client/Server Database Environment
Magnet Safety System for NA61/Shine
Session III Architecture of PLC
Programmable Logic Controllers (PLCs) An Overview.
Chapter 8: Memory management
Outline Module 1 and 2 dealt with processes, scheduling and synchronization Next two modules will deal with memory and storage Processes require data to.
Embedded System Development Lecture 13 4/11/2007
PLCs integration into the ICS
EPICS: Experimental Physics and Industrial Control System
Presentation transcript:

Running EPICS on NI CompactRIO Initial Experience Eric Björklund (LA-UR )

What is CompactRIO? Power-PC based Real Time Controller (RTC). FPGA Backplane Connected via PCI bus Designed for harsh environments Fast PLC –  Sec vs. mSec Response Programmed in LabVIEW instead of Ladder Logic –Both FPGA and RTC are programmed in LabVIEW

Advantages to Running EPICS IOC on CompactRIO Faster and more deterministic data acquisition and control –No intermediate ethernet hop (as with EtherIP) –Could consider EPICS closed loop control Flexibility –Application can be partitioned between LabVIEW and EPICS whichever way makes the most sense. FPGA runs independently from Power PC –Critical system functions can survive soft reboot.

What does it take to run EPICS IOC on CompactRIO? Real Time Controller (RTC) is a Power PC (ppc603) running vxWorks (6.3) vxWorks license not required! –NI has permission to distribute the vxWorks header files Began working on project in late 2007 National Instruments, LANSCE, and Cosylab collaboration Cosylab Provided: –Custom version of cRIO BSP that included NFS and Telnet –Shared memory library similar to the SNS LabVIEW/EPICS shared memory interface. EPICS runs at lower priority ( ) than LabVIEW (10-100)

What do you need to run EPICS on CompactRIO? EPICS-Enabled vxWorks BSP for the cRIO (Cosylab/NI) LabVIEW (although we use for our prototype system) vxWorks header files (NI can supply) –vxWorks 6.3 for LabVIEW vxWorks 6.6 for LabVIEW Configuration files (if you aren’t running the same version of vxWorks as the cRIO) –We copied the “ppc603_long” configuration files and pointed them to the vxWorks 6.3 headers. CONFIG.Common.vxWorks-cRIO CONFIG_SITE.Common.vxWorks-cRIO CONFIG_SITE.linux-x86_64.vxWorks-cRIO CONFIG_SITE.linux-x86.vxWorks-cRIO CONFIG_SITE.win32-x86.vxWorks-cRIO Shared Memory Library (actually two librarys)

Shared Memory Library – Two Parts vxWorks only (no EPICS calls) Allocates and manages shared memory resources Interfaces to LabVIEW through “Call Library Function Node” VI’s Lives on RTC’s non-volatile RAM disk. Automatically loaded when the RTC VI that references it is run. Two forms: –vxWorks shared library (.out) for run-time (munch file works fine) –Windows.DLL for compile time (this can be just a stub) EPICS Device Support Layer Interfaces to LabVIEW library for access to shared memory resources. Built into the EPICS application and loaded over the network with the EPICS application code. EPICS database records not automatically created (as with SNS system) The LabVIEW PartEPICS Part

Shared Memory Interface (as seen from LabVIEW) Get Command Setpoints from EPICS Send Command Setpoints to FPGA Get Readback Data From FPGA Make Readback Data Available to EPICS

LabVIEW “Driver” (FPGA Code) – 16 Channel ADC Read ADC Channels Pack data Store packed data in buffer to be transmitted up to the RTC Store hardware status word

Experience Already have one “Proof of Principle” application in production (2 binary channels). This shutdown we tried our first non-trivial application. Replace one accelerator module’s “Industrial I/O” channels with cRIO. –12 binary outputs –36 binary inputs –12 analog inputs –5 stepper motor channels Replaces two Control Logix crates with one cRIO Basic SCADA –No closed loop. No exotic timing. But…. –System must emulate our 1960’s vintage “RICE” system.

Things We Learned FPGA is faster than Ladder Logic –PLC had not been fast enough to implement our “Dual Energy” binary channels. cRIO handled them without a problem. FPGAs are not computers –Run-time bindings we have come to rely on in conventional programming (including LabVIEW) can not be done in FPGA –This is particularly true of I/O to the cRIO modules. –This code can not be implemented with a loop. Three million gates doesn’t go as far as you might think –Entire application did not fit on Virtex 2 FPGA –Used two cRIOs, one for binary and one for analog/stepper motor control. –Binary I/O took 99% of FPGA (2 slices left). –Expect newer models with Virtex 5 FPGA could hold entire application.

Other Things We Learned National Instruments and Cosylab were VERY helpful in getting us to this point.

Current Status Binary I/O cRIO is installed and running in the production system. Ran out of time before startup to install analog cRIO Binary I/O cRIO is installed and in checkout –Final Bug chased down today……

And then…… Site-wide fire alarms went off….. Stay tuned for further developments: –ICALEPCS 2009 –NI Big Physics Symposium

National Instruments Support for EPICS EPICS IOC – LabVIEW integration on cRIO available on request Native Channel Access (CA) server in LabVIEW –Can run on both NI CompactRIO and PXI platforms