1st PANDA - EPICS tutorial & workshop - September 10, 2009
Date and Location
- Location:
- PANDA XXXth Collaboration Meeting, IKP Seminar Room Schulungsraum DVEE, Forschungszentrum Jülich
- Time and Date:
- September 10, 2009, 14 - 18:30
Organizers:
- Peter Zumbruch, ITEE/KS, GSI
- Dan Protopopescu, Glasgow, UK
Topic
- EPICS tutorial
- 4 hour class introduction to EPICS - Experimental Physics and Industrial Control System
Introductory talks
- EPICS (PZ)
- EPICSOverview.ppt: EPICS Overview - originally from EPICS Training at Legnaro
- Experimental Physics and Industrial Control System
- What to do with it?
- How to use it?
- How to write EPICS?
- collaboration:
- Channel Access Introduction
- EPICS Database (PZ)
- EPICS_Database_in_one_hour_KK.ppt: Database introduction - originally from EPICS Training at Legnaro
- What is it?
- Record Types (ai, ao, bi, bo, mbbi, seq, (d)fanout, genSub)
- vdct
- sequencer vs database records
- Big Systems - Design and Maintenance - outlook (maybe)
- Device Support - outlook stream device
- EPICS Clients:
- CSS Control System Suite: Download CSS from http:\\css.desy.de for your system, if windows then also the TestIoc
Hands-On
Examples
StreamDevice / ASYN driver
- Agilent Power supply (BK)
- http://cp.literature.agilent.com/litweb/pdf/5989-1330EN.pdf
- asynDriver
- streamDevice
-
.db files field (OUT, "@Agilent.proto debug ps002 ")
field (DTYP, "stream")
- protocol - file
Agilent.proto: #
# Agilent.proto (stream device protocol file)
#
# Genesys/Agilent/Lambda DC Power Supply
# Connect a stringout record to this to get
# a generic command interface.
# After processing finishes, the record contains the reply.
debug {
ExtraInput = Ignore;
out "%s"; in "%39c"}
-
st.cmd ...
epicsEnvSet ("STREAM_PROTOCOL_PATH","...some path...")
...
- Motor driver
- corvus.proto: CBM protocol for stream device driving corvus motors
- protocol - file
corvus.proto: InTerminator="\r\n";
OutTerminator=" ";
debug {
ExtraInput=Ignore;
out "%s"; in "%39c";
}
status {
out "st"; in "%d";
}
getpos {
out "pos"; in "%(\$1.VAL)f" "%f";
}
setpos {
out "%(\$1.VAL)f %(\$2.VAL)f move";
}
# get number of axes
getdim {
out "getdim"; in "%d";
}
zero {
out "cal";
}
range {
out "rm";
}
more complex example of HADControl general purpose access via serial device
from ( http://wiki.gsi.de/pub/EE/EEMeetVortragArch/Vortrag-08-06-2009.pdf )
CSS - CBM synoptic displays
-- PeterZumbruch - 30 Nov 2011

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding GSI Wiki?
Send feedback |
Legal notice |
Privacy Policy (german)