epics epics seminar 2009, rrcat, indor masanori satoh, kek linac, jan. 2009. masanori satoh/ kek,...

39
EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database Configuration tools Text editor and VDCT w/ hands-on (*) Many parts are quoted from Dr. N. Yamamoto’s lecture material.

Upload: malcolm-sutton

Post on 17-Dec-2015

230 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Masanori Satoh/ KEK,Jan. 27-30, 2009

for EPICS seminar at RRCAT, Indore

Database Configuration toolsText editor and VDCT

w/ hands-on

(*) Many parts are quoted from Dr. N. Yamamoto’s lecture material.

Page 2: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Management of Database• Database = *.db file (Record instances)• Text file• There are many ways to edit *.db file• Text editor (most simple way): vi, emacs, etc• VDCT: java application w/ GUI(KEKB Linac Control G.)

• Old tools: DCT, GDCT, CAPFAST (KEKB Control G.)

• Automatic *.db file generation is also available if you need. (RDB, etc)

Page 3: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Management of Database(cont’d)

• *.db file:• When an IOC start up, an iocsh read the database file.• dbLoadDatabase => Load *.dbd file• dbLoadRecords => Load *.db file• dbLoadTemplate => Load *.substitutions file

Example: …./iocBoot/iocxxx/st.cmd#!../../bin/linux-x86/example< envPathscd ${TOP}## Register all support componentsdbLoadDatabase "dbd/example.dbd"example_registerRecordDeviceDriver pdbbase## Load record instancesdbLoadTemplate "db/userHost.substitutions"dbLoadRecords "db/dbExample.db","user=myHost"

cd ${TOP}/iocBoot/${IOC}iocInit()

Page 4: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Management of Database(cont’d)

•Example: envPaths file

epicsEnvSet("ARCH","win32-x86")epicsEnvSet("IOC","iocexample")epicsEnvSet("TOP","/home/tp/epics/epicsApp")epicsEnvSet("EPICS_BASE","/home/tp/epics/epicsApp/../base-3.14.10")

Page 5: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Most Simple Record

• record(ai,”myAI:record”){}•Record type : ai (Analogue Input)•Record name: “myAI:record”

•If you do not define the field values, a record will be generated by the default values.

Page 6: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Record Type

•ai/ ao: Analogue input/ output•bi/ bo: Binary input/ oputput•mbbi/ mbbo: Multi-bit binary input/ output•calc/ calcout: calculation•waveform: waveform•fanout: fanout•…•…•…

Page 7: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Simple Record

record(ai, “myAIRecord”){field(DESC, “sample record”) field(SCAN, “1 second”)field(DTYP, “Soft”)field(VAL, “0.1”) field(INP, “myCalcRecod PP MS”)}

•All record types have DESC, SCAN,DTYP, VAL, etc

Page 8: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Simple Record (cont’d)

field(DESC, “sample record”) # Record Descriptionfield(SCAN, “1 second”)

# SCAN: Record Process Timing# Periodic/IO Intr/Event/Soft

field(DTYP, “Soft”) # DTYPE: Device Type

field(VAL, “0.1”)# VAL: Initial Value

field(INP, “myCalcRecod PP MS”)# INP: Data source# depends on DTYP

Page 9: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

What’s VDCT :Visual Database Configuration Tool

•It began as a project funded by the Swiss Light Source developed by Cosylab (http://www.cosylab.com).•Recent development has been funded by the APS, Diamond and the SNS. The code development is being done by Cosylab. (open source license)

•Visual Tool for database configuration• Java–based application: It’s executable on many environments. (Linux, Windows, etc )

• Useful tools w/ GUI.•Easy to manage the complex database file.

Page 10: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

VDCT GUI Example

Page 11: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

CapFast/EPICS

Page 12: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

<top>/xxxApp/src files EPICS Application name: myExample dbd/myExample.dbd:

Record/ Device definition by EPICS base Record types, device support options, choice menus, and

other configuration options are defined in Database Definition files (.dbd).

During the IOC boot process, one or more .dbd files are loaded.

Page 13: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

xxxApp/xxx/Db/Makefile Database should be described in Makefile

DB += xxx.db After type “make”, xxx.db will be copied to <top>/db.

For many same type of devices, it is convenient for you to use template and substitution files.

Templatefile : yyy.templaterecord(ai,”$(USER):aiExample$(NO)”){… }

Corresponding substitution : yyy.substitutionsfile yyy.template {{USER=“mrk”,NO=“1”}{USER=“mrk”,NO=“2”}}

Page 14: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Template example userHost.substitutions# Example substitutions filefile "db/dbExample1.db" { { user = "masanoriHost" }}file db/dbExample2.db { pattern { user, no, scan } { "masanoriHost", 1, "1 second" } { "masanoriHost", 2, "2 second" } { "masanoriHost", 3, "5 second" }}

dbExample2.dbrecord(calc, "$(user):calcExample$(no)"){ field(DESC, "Counter No. $(no)") field(SCAN,"$(scan)")

field(FLNK, "$(user):aiExample$(no)")….

Page 15: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

iocBoot/iocxxx You can use the script “st.cmd” to start iocsh. The commands to load database:

dbLoadRecordsdbLoadTemplete

A vxWorks st.cmd file looks like

< cdCommands

cd appbinld < iocCore

ld < xxxLib

cd startup

dbLoadDatabase(“../../dbd/xxxApp.dbd”)

dbLoadRecords(“../../db/xxx.db”,”user=mrk”)

dbLoadRecords(“../../db/yyy.db”,”user=bob”)

dbLoadRecords(“../../db/zzz.db”,”user=JO”)

dbLoadTemplate(“../../db/templte_file_name”)

iocInit

Page 16: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

How to Get VDCT Go “cosylab Visual DCT Web page”

http://www.cosylab.com/solutions/particle_accelerators/VisualDCT/

Then download Latest Version: 2.5.1271 *.zip file VisualDCT.jar, VisualDCT-src-2.5.1271.jar, doc folder,

runScript

java -cp VisualDCT.jar -DEPICS_DB_INCLUDE_PATH=$EPICS_DB_INCLUDE_PATH com.cosylab.vdct.VisualDCT $*

In EPICS training CD, you can find it. /opt/epics/extensions/src/VDCT/2.5.1271

Page 17: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Getting started:*.db file configuration w/ VDCT

•To Start up VDCT• You can use runScript/opt/epics/extensions/src/VDCT/2.5.1271• *.dbd file in xxxApp/dbd directoory

(or use vdct xxxApp/dbd/xxxApp.dbd)

Page 18: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

VDCT Command Option

• Options:

• --dbd-file • if this command is followed by the name of a .dbd file, the .dbd file is loaded before database is generated

• --enable-global-macros • enables global macro evaluation

• --disable-global-macros• disable global macro evaluation

• --enable-capfast • enable production of hierarhical names like CapFast

• --disable-capfast• disable production of hierarhical names like CapFast

Page 19: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

VDCT Environment Variables

-DVDCT_DIR=<path> VDCT_DIR: Default working directory

-DVDCT_CONFIG_DIR=<path> VDCT_CONFIG_DIR: Default working directory for plugin

-DEPICS_DB_INCLUDE_PATH=<path> EPICS_DB_INCLUDE_PATH: Database directory

e.g.): java -cp VisualDCT.jar com.cosylab.vdct.VisualDCT -DVDCT_CONFIG_DIR=/users/devl/config/vdct test.dbd test.db

Page 20: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Example:Main Window of Visual DCT

Page 21: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Example:Keyboard shortcuts

Zoom In Shift + Right Out Shift + Left Selection Shift + Space

Move Up Ctrl + Up Down Ctrl + Down Left Ctrl + Left Right Ctrl + Right

Page 22: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Example:Record creation

On workspace, click right button Select “new records…”

Or, Double click right button

Page 23: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Example:Record creation (cont’d)

Select the Record type

Define the Record name e.g.) 「 $(user):ai 」 If name already exists it will report it

Page 24: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Example:Select Multiple Records

Way to select multiple records Left button : Select first record Ctrl +Left button : Select Multiple records Drag left button : Select Multiple records

Page 25: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Example:Move Record

Move record Select record Drag left button and move to any location.

Page 26: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Example:Move Multiple Record

Move Multiple Record Select mutiple records Drag left button and move to …

Page 27: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Example: Link (FLNK)

Page 28: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Example: Link (FLNK)

Page 29: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Example: Link (INLINK)

Page 30: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Example: Alarm Level You can define the Field related to alarm

level. HIHI, HIGH, LOW, LOLO, e.g.)

field(HIHI, "8")

field(HIGH, "6")

field(LOW, "4")

field(LOLO, "2")

field(HHSV, "MAJOR")

field(HSV, "MINOR")

field(LSV, "MINOR")

field(LLSV, "MAJOR")

e.g.) http://www.aps.anl.gov/epics/extensions/alh/index.php

Page 31: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Example: Edit the Field Variables Inspector Windows

Show/Edit Record Field Setting Double click Active Double click speed can be adjusted:

”View -> settings... ->Visual” menu

Object combo box Show record name You can change the selected record.

Property table Show/ Edit: Field name and value Select display order

(Group/ ア Alphabetical/DBD definition Order ) Label: ”Value” and ”Name” are reversed!!!

Comment text area Comment for Record

Status bar Simple description for field functionality

Page 32: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Page 33: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Page 34: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Masanori Satoh/ KEK,Jan. 27-30, 2009

for EPICS seminar at RRCAT, Indore

Database Configuration toolsText editor and VDCT:

Hands-on Instructions

Page 35: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Hands-on (0):Preparation for practice

Set environment variable: USER=Pcname export USER

(*) PCname: your own PC name

Build EPICS application: cd mkdir app cd app makeBaseApp.pl –t example myExample makeBaseApp.pl –i –t example myExample

Page 36: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Hands-on (1)

Start VDCT cd /opt/epics/extensions/src/VDCT/2.5.1271 ./runScript Select dbd file xxx/app/dbd/myExample.dbd

Check the basic functionality Create a new Record Make the link

Page 37: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Hands-on (2) Create two ai records and a calc record:

$(user):aitest1, $(user):aitest2, $(user):calctest1 Modify them so that $(user):aitest2 returns the value of

“2x+3x”. (x: value of $(user):aitest1). Save file as xxx/app/myExampleApp/Db/dbExample3.db At the same place (under Db directory), modify the Makefile so

as to add dbExample3.db. Modify the xxx/app/myExampleApp/Db/userHost.substitutions. e.g.) add the lines like

file "db/dbExample3.db"{ { user = “PCname"} (*) Pcname is your own PC

name.}

Type “make” under myExampleApp directory. Check app/db/*.db files (Can you find dbExample3.db?) Example of result:

caput PCname:aitest1 10 caget PCname:aitest2 50

Page 38: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Hands-on (3) Create a record which counts up from 0 to

20, repeatedly, in dbExample3.db. Edit Alarm level

HIHI: 18 HIGH: 15 LOW: 5 LOLO: 2

Check it by “camonitor” command. Hints:

See dbExample1.db file.

Page 39: EPICS EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009. Masanori Satoh/ KEK, Jan. 27-30, 2009 for EPICS seminar at RRCAT, Indore Database

EPICS

EPICS Seminar 2009, RRCAT, Indor Masanori Satoh, KEK Linac, Jan. 2009.

Hands-on (4) Try to create a Fibonacci progression

record in dbExample3.db. Fibonacci progression can be expressed

by:F0=0, F1=1, Fn+2=Fn+Fn+1

e.g.) 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …

Hints: Use calc record, ai record