Download presentation
Presentation is loading. Please wait.
Published bySilvia Arline Woods Modified over 9 years ago
1
1 1999/Ph 514: Lab #3A : SNL Lab#3B : Development Environment EPICS Lab #3a State Notation Language
2
2 1999/Ph 514: Lab #3A : SNL Lab#3B : Development Environment EPICS Lab #3 State Notation Language u Real Life Example #3 : It is apparent from previous studies that the cathode temperature requires stabilization. Although this has been accomplished via closed-loop control from the workstation, a better permanent solution is to implement the closed loop control on the ioc using the sequencer. u Create a sequence program that : u Monitors the state studnt_:OP:stabilizerC u When studnt_:OP:stabilizerC changes from 0 to 1, use the current reading of studnt_:cathodeTempM as the setpoint and maintain that setpoint by varying studnt_:cathodeCurrentC. Proportional Control Algorithm : CTL[T+1] = CTL[T] + (GAIN * (SETPOINT - MEASURED)) u Stop the algorithm when studnt_:OP:stabilizerC goes to 0. u Print messages to studnt_:OP:stabilizerMsg to inform the operator of sequence status. u Test your results using the StripTool.
3
3 1999/Ph 514: Lab #3A : SNL Lab#3B : Development Environment EPICS SNL Development and Test A skeleton program has been provided for you in ~/ioc/linac/linacApp/src/stabilizer.st. After editing this file, type gnumake to compile it. u Edit the startup file to remove the # in front of the following lines : #ld < stabilizer.o #seq &stabilizer, "user=studnt_" u The first time the sequence program runs, you will get the following error : 0xnnnnn (stabilizer): 3 of 4 assigned channels have connected Use seqShow, seqShow, and seqChanShow to debug this problem
4
4 1999/Ph 514: Lab #3A : SNL Lab#3B : Development Environment EPICS SNL Development and Test u To load a new version of the state program, use the following commands from the ioc console (instead of rebooting) : u seqShow u td u ld < stabilizer.o u seq &stabilizer, "user=studnt_" u Additional helps for the vxWorks shell u Esc k/Esc j - cycles through previous commands u vi commands can be used to edit command line u i - insert; x - delete char u l - move cursor right; h - move cursor left u r - replace single character; R - replace characters
5
5 1999/Ph 514: Lab #3A : SNL Lab#3B : Development Environment EPICS Lab #3b Development Environment
6
6 1999/Ph 514: Lab #3A : SNL Lab#3B : Development Environment EPICS Development Environment u Create a new development area as follows : u Execute the commands cd ~/ioc mkdir example cd example /makeBaseApp.pl -t example example /makeBaseApp.pl -i -t example example where = /usr/local/epics/baseR3.13.1.1/bin/solaris
7
7 1999/Ph 514: Lab #3A : SNL Lab#3B : Development Environment EPICS Development Environment u The first command creates: / Makefile config/... exampleApp src/... Db/... u The second command creates: /iocBoot Makefile iocexample/ …
8
8 1999/Ph 514: Lab #3A : SNL Lab#3B : Development Environment EPICS Development Environment u Each command can be issued multiple times to create additional iocxxx or xxxApp directories u Examine the following … u example/config/RELEASE u exampleApp/src/baseLIBOBJS u exampleApp/src/base.dbd u exampleApp/src/exampleInclude.dbd u exampleApp/src/Makefile.Host u exampleApp/src/Makefile.Vx u exampleApp/Db/dbExample* u exampleApp/Db/ Makefile.Host
9
9 1999/Ph 514: Lab #3A : SNL Lab#3B : Development Environment EPICS Development Environment u Boot your ioc from this area and familiarize yourself with the example databases and sequence program. u example/iocBoot/iocexample/st.cmd
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.