Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 1999/Ph 514: Lab #3A : SNL Lab#3B : Development Environment EPICS Lab #3a State Notation Language.

Similar presentations


Presentation on theme: "1 1999/Ph 514: Lab #3A : SNL Lab#3B : Development Environment EPICS Lab #3a State Notation Language."— Presentation transcript:

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


Download ppt "1 1999/Ph 514: Lab #3A : SNL Lab#3B : Development Environment EPICS Lab #3a State Notation Language."

Similar presentations


Ads by Google