1 1999/Ph 514: IOC Development Environment EPICS IOC Development Environment Marty Kraimer APS.

Slides:



Advertisements
Similar presentations
® 13-2 Overview After development is completed, you may need to: –Exclude unneeded VxWorks facilities. –Link application code into VxWorks. –Extend VxWorkss.
Advertisements

Epics Configuration Management Steve Hunt v1.0. Goals Maximize control system availability Minimize development cycle time Reduce risk.
SNS Integrated Control System SNS RDB Requirements, wish list, status A little history l Oracle RDB used exclusively by accelerator physics group l JERI.
1 1999/Ph 514: Working With an IOC EPICS Working with an IOC Marty Kraimer APS.
1 1999/Ph 514: Channel Access Concepts EPICS Channel Access Concepts Bob Dalesio LANL.
January 2009EPICS Seminar in Indore1 Practice EPICS Start up and MEDM Tatsuro KEK January 2009.
ICS – Software Engineering Group 1 SNS Control Systems EPICS builds Control Systems Software Engineering “SNS Standards for Building IOC Applications”
1 2003/P571: IOC Development Environment EPICS IOC Development Environment with EPICS on Ubuntu Based on “IOC Development Envirnment” by Andrew Johnson,
IOC Application Development/Debugging Beijing EPICS Seminar Tuesday, 8/ J.Odagiri.
EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan Masanori Satoh/ KEK, Jan , 2009 for EPICS seminar at RRCAT, Indore Database.
Finding, Deploying and Managing EPICS Support Modules Andrew Johnson Computer Scientist, AES Controls.
Linux+ Guide to Linux Certification, Second Edition
Guide To UNIX Using Linux Third Edition
Packaging of EPICS-basedControl System Software
A U.S. Department of Energy Office of Science Laboratory Operated by The University of Chicago Argonne National Laboratory Office of Science U.S. Department.
Input/Output Controller (IOC) Overview Andrew Johnson Computer Scientist, AES Controls Group.
JavaIOC Marty Kraimer EPICS Collaboration Meeting ICALEPCS October
SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups.
Lesson 7-Creating and Changing Directories. Overview Using directories to create order. Managing files in directories. Using pathnames to manage files.
SNS Integrated Control System EPICS IOCs – Relational DB Connectivity Bridge A. Liyu, A. Zhukov.
MARC 10.5 Update John Harvey. MARC 10.5 Changes  Backup Scripts restructured  Added a script to generate scripts outside of MARC  Generate Scripts.
 Intro/features  DCBD tool architecture  Software used Dynamic library loader EPICS Device support modules DCDB-server DCDB-client  RPM packages &
July 29, 2003Serguei Mokhov, 1 Makefile Brief Reference COMP 229, 346, 444, 5201 Revision 1.2 Date: July 18, 2004.
K.Vijayan : RDB for Diamond Control Systems RDB for Diamond V.Smithers & K.Vijayan June 2003.
Main Bullet #1 Main Bullet #2 Main Bullet #3 EPICS and CLS September 18, 2009.
S1-1 ADM740, Section 1, June 2007 Copyright  2007 MSC.Software Corporation SECTION 1 Introducing Adams/Car.
Debby Quock November 13, 2012 IRMIS at CLS. IRMIS Currently at CLS PV Crawler –Perl modules that parse EPICS IOC st.cmd, db, and dbd files. Information.
A U.S. Department of Energy Office of Science Laboratory Operated by The University of Chicago Argonne National Laboratory Office of Science U.S. Department.
Chapter Two Exploring the UNIX File System and File Security.
Module 6: Configuring User Environments Using Group Policy.
SNS Integrated Control System A process manager for soft IOCS DH Thompson.
A U.S. Department of Energy Office of Science Laboratory Operated by The University of Chicago Argonne National Laboratory Office of Science U.S. Department.
A U.S. Department of Energy Office of Science Laboratory Operated by The University of Chicago Argonne National Laboratory Office of Science U.S. Department.
Agenda Link of the week Use of Virtual Machine Review week one lab assignment This week’s expected outcomes Review next lab assignments Break Out Problems.
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.
January 2009EPICS Seminar in Indore1 Practice SNL and Sequencer Tatsuro KEK January 2009.
Roll Screen Development Debugging assistance for building Rocks Rolls with screens OSGC, May 2008 Nadya Williams University of Zurich.
Disk Layout/Productization Proposal Ron Rechenmacher and Geoff Savage.
IOC Application Development/Debugging Shanghai EPICS Seminar Tuesday, 8/29 J.Odagiri.
EPICS Application Development At The Canadian Light Source Glen Wright.
A U.S. Department of Energy Office of Science Laboratory Operated by The University of Chicago Argonne National Laboratory Office of Science U.S. Department.
Reliability/ Secure IOC / Outlook M. Clausen / DESY 1 CA-Put Logging BurtSave Warm Reboot Matthias Clausen DESY/ MKS.
EPICS DIAMOND EPICS Meeting, EPICS base 3.14 OSI: Operating System Independent Support Marty Kraimer.
1 1999/Ph 514: Flow of Control EPICS Flow of Control Marty Kraimer APS.
18. June 2003EPICS WS Channel Management Andreas Lüdeke Swiss Light Source / PSI 20 May 2003 EPICS Collaboration Meeting.
GOSS iCM Gary Ratcliffe. 2 Agenda Webinar Programme V10 Overview Version Information Supported Browsers Architectural Changes New Features.
1 1999/Ph 514: Lab #3A : SNL Lab#3B : Development Environment EPICS Lab #3a State Notation Language.
21 September 2012 GRETINA SWG GRETINA SWG Meeting Carl Lionberger LBNL GRETINA DAQ Implementation.
Jan Hatje, DESY CSS – Control System Studio EPICS collaboration meeting CSS – Control System Studio Update EPICS collaboration meeting 2008 Shanghai.
A Quick Look at the EPICS IDE Kenneth Evans, Jr. Presented at the EPICS Collaboration Meeting June 13, 2006 Argonne National Laboratory, Argonne, IL.
SNS EPICS Config. Database May 2001 Kay-Uwe Kasemir, LANL.
UpgradinguPortal to What’s new that matters Better use of third party frameworks Faster! Improved caching Drag and Drop New Skin & Theme Accessibility.
1 EPICS Flow of Control: EPICS Workshop at IHEP, Beijing, August 2001 EPICS Flow of Control Marty Kraimer APS.
An EPICS IDE Using Eclipse Kenneth Evans, Jr. Presented at the EPICS Collaboration Meeting June 15, 2006 Argonne National Laboratory, Argonne, IL.
K.Vijayan : RDB for Diamond Control Systems EPICS DB in RDB K.Vijayan June 2006.
SNS Integrated Control System EPICS IOCs – Relational DB Connectivity Bridge A. Liyu, A. Zhukov.
Disk Layout/Productization Proposal Ron Rechenmacher and Geoff Savage.
Channel Access Security 2006 O AK R IDGE N ATIONAL L ABORATORY U. S. D EPARTMENT OF E NERGY 2 Channel Access Security  The IOC Application.
C Copyright © 2006, Oracle. All rights reserved. Oracle Secure Backup Additional Installation Topics.
R. Keitel Epics Collaboration Meeting, SLAC, 27-Apr-2005 RDB Use at TRIUMF/ISAC.
Stephanie Allison Software Mar 2, 2006 IOC Applications Host Applications Directory Structure Environment Setup Issues.
IOC Application Development / Debugging
IRMIS Crawlers Tutorial
Relational Database Collaboration
Exploring the UNIX File System and File Security
Introduction to JBoss application server
EPICS IOCs – Relational DB
APS Controls Marty Kraimer APS.
EPICS APPLICATION DEVELOPMENT
Plug-In Architecture Pattern
Presentation transcript:

1 1999/Ph 514: IOC Development Environment EPICS IOC Development Environment Marty Kraimer APS

2 1999/Ph 514: IOC Development Environment EPICS Reference EPICS IOC Applications Building and Source Release Control Marty Kraimer,Janet Anderson,Ralph Lange June 15, 1998

3 1999/Ph 514: IOC Development Environment EPICS Overview u Create and build IOC applications u databases u vxWorks startup files u SNL programs u New record, device, driver support u Access security configuration files u Other IOC code u Special Host code u Source management features u CVS can be used u IOC software is divided into areas Each is separately managed u gnumake + rules builds all components u User prerequisites u Understands C u Knows how to use a text editor u Has superficial knowledge of make

4 1999/Ph 514: IOC Development Environment EPICS Directory Structure / config/Configuration + Rules xxxApp/All source files except startup src/Code xxxSrc/Arbitrary number of xxxSrc Db/Databases xxxDbArbitrary number of xxxDb...May have others: adl, etc xxxApp/Arbitrary number of xxxApp iocBoot/Only one iocBoot iocxxxDirectory for each ioc … bin/install directory / …

5 1999/Ph 514: IOC Development Environment EPICS Install directories By default installed into / bin/Object and executables solaris/ mv167/ lib/Object libraries include/e.g. xxxRecord.h dbd/menu, recordtype, device, driver,etc db/record instances, templates, etc...

6 1999/Ph 514: IOC Development Environment EPICS gnumake u make (gnumake) at any level u  gnumake clean uninstall  gnumake Builds and installs everything that is not up to date u xxxApp  gnumake Same as issuing command in each subdirectory u xxxApp/xxxSrc u Builds in O. ; Installs in /  gnumake Builds and installs all out of date components u  Build only for specified architecture gnumake mv167  clean Remove all O. directories u xxxApp/xxxDb generates and installs database instance files + more u iocBoot/iocxxx Creates the cdCommands file

7 1999/Ph 514: IOC Development Environment EPICS config files u Files meant to be modified  CONFIG - Can override make variables CROSS_COMPILER_TARGET_ARCHS = mv167  CONFIG_APP Definitions for s referenced in RELEASE  RELEASE Location of other areas EPICS_BASE=/usr/local/epics/baseR u Other files  RULES.xxx Files containing make rules  *.pl Perl scripts used by make rules u Structure of shared areas u Just another u Everything intended for use by other s is installed.

8 1999/Ph 514: IOC Development Environment EPICS xxxApp/src files u base.dbd - definitions supplied by base u get from base or other and edit u menu, recordtype, device, driver taken from base  much support commented out include “menuGlobal.dbd”... #include “egRecord.dbd”... #device(ai,VME_IO,devAiXy566Se,”XYCOM-566 SE Scanned”) u baseLIBOBJS - objects supplied by base u get from base or other and edit u object modules for record, device, driver support u Like base.dbd much support commented out u changes made to this must match base.dbd

9 1999/Ph 514: IOC Development Environment EPICS base.dbd and baseLIBOBJS include "menuGlobal.dbd" include "menuConvert.dbd" include "aiRecord.dbd" #include "aaiRecord.dbd" include "aoRecord.dbd" #include "aaoRecord.dbd" device(ai,CONSTANT,devAiSoft,"Soft Channel") device(ai,CONSTANT,devAiSoftRaw,"Raw Soft Channel") #device(ai,VME_IO,devAiXy566Se,"XYCOM-566 SE Scanned") #driver(drvGpib) driver(drvBitBus) #driver(drvBb910) #LIBOBJS += $(EPICS_BASE_BIN)/aaiRecord.o #LIBOBJS += $(EPICS_BASE_BIN)/aaoRecord.o LIBOBJS += $(EPICS_BASE_BIN)/aiRecord.o LIBOBJS += $(EPICS_BASE_BIN)/aoRecord.o LIBOBJS += $(EPICS_BASE_BIN)/devAiSoft.o LIBOBJS += $(EPICS_BASE_BIN)/devAiSoftRaw.o #LIBOBJS += $(EPICS_BASE_BIN)/devAiXy566Se.o #LIBOBJS += $(EPICS_BASE_BIN)/drvBb910.o LIBOBJS += $(EPICS_BASE_BIN)/drvBitBus.o #LIBOBJS += $(EPICS_BASE_BIN)/drvGpib.o base.dbd baseLIBOBJS

/Ph 514: IOC Development Environment EPICS xxxApp/src continued u Makefile.Host RECTYPES += xxxRecord.h DBDEXPAND += xxxInclude.dbd DBDNAME = xxxApp.dbd u xxxInclude.dbd include “base.dbd” include “xxxRecord.dbd” device(xxx,CONSTANT,devXxxSoft,”Softchannel”) u Makefile.Vx LIBOBJS += xxxRecord.o LIBOBJS += sncExample.o include../baseLIBOBJS LIBNAME = xxxLib INSTALLS += iocCore seq PROD += xxx.o

/Ph 514: IOC Development Environment EPICS xxxApp/xxxDb/ Makefile.Host u databases installed into /db DB += xxx.db u Template files expanded on host u yyy.template has the format record(ai,”$(USER):aiExample$(NO)”){ … } u yyy.substitutions file yyy.template { {USER=“mrk”,NO=“1”} {USER=“mrk”,NO=“2”} } DB += yyy.db USES_TEMPLATE += yyy.template u Template files to be expanded at boot time via dbLoadTemplate() DB += zzz.template zzz.substitutions u Support for capfast generated files u Can also expand.dbd files

/Ph 514: IOC Development Environment EPICS iocBoot u iocBoot/Makefile Executes make in each subdirectory u iocBoot/iocxxx/Makefile Creates cdCommands. Make sure that ARCH = is defined correctly u cdCommands looks like startup=“ “ appbin=“ “ … u st.cmd looks like < cdCommands cd appbin ld < iocCore ld < xxxLib cd startup dbLoadDatabase(“../../dbd/xxxApp.dbd”) dbLoadRecords(“../../db/xxx.db”,”user=mrk”) iocInit

/Ph 514: IOC Development Environment EPICS makeBaseApp u Execute the commands cd ~/ioc mkdir example cd example /makeBaseApp.pl -t example example /makeBaseApp.pl -i -t example example The first command creates: / Makefile config/... exampleApp src/... Db/... The second command creates: /iocBoot Makefile iocexample/ … Each command can be issued multiple times u Look at example!!!

/Ph 514: IOC Development Environment EPICS Application Templates u makeBaseApp uses templates u base supplies the following /templates/makeBaseApp/top/ Makefile config exampleApp exampleBoot simpleApp simpleBoot u Application templates can be created. u /config/RELEASE contains TEMPLATE_TOP = u Templates are just like another