Title: EPICS Collaboration
1EPICS Collaboration
David Kline April 27, 2005
2Contents
- Overview,
- Hardware Configurations,
- Communication protocol,
- Software Architecture,
- loveApp standalone application,
- Reporting (dbior),
- MEDM screens,
- Distribution,
- Improvements,
- Acknowledgements,
3Overview
- Love Controller,
- Instrument to measure voltage, current, pressure,
or temperature, - Support models 1600 and 16A,
- Communication is through 2-wire RS485,
- Device support,
- Part of synApps,
- Old support based on MPF,
- New support based on Asyn,
- The echoServer and devMPC were departure points,
- Includes an interpose interface,
- Standalone application is available,
- IP-Octal RS232 and RS485 modules can be used,
- Purpose of the new device support,
- Use as a learning tool for Asyn-based device
support, - Migrate from the unsupported MPF to Asyn,
- Appoint one as the owner of the module,
- Provide OS independence,
4Hardware Configuration RS232 lt-gt RS485
SBS XM-Octal-IO
RS485
RS232
BB Electronics485LDRC Converter
Love Controller Model 16001
Love Controller Model 16A2
Love Controller Model 1600n-1
Love Controller Model 1600n
5Hardware Configuration RS485
IP-OCTAL
SBS 626 (TVME200)
SBS XM-Octal-IO
A(-)
B()
Love Controller Model 16001
Love Controller Model 16A2
Love Controller Model 1600n-1
Love Controller Model 1600n
6Communication
- 2-wire RS485,
- Master/slave protocol, command, response
messages, - Message format (simple),
- Sent and received as ASCII hex,
- Command
- Read ltSTXgtLltADDRgtltCMDgtltCSgtltETXgt
- Write ltSTXgtLltADDRgtltCMDgtltVALUEgtltCSgtltETXgt
- Response
- Data ltSTXgtLltADDRgtltDATAgtltCSgtltACKgt
- Error ltSTXgtLltADDRgtNltCODEgtltACKgt
- How does device support know commands?
- INP/OUT fields,
- _at_asyn(PORT,ADDR) CMD MODEL,
7Software Architecture
devAsynLove
interposeLovelink
asynOctet
drvAsynSerialPort
interposeEos
asynOctetBase
8loveApp standalone application
- Sample application,
- New with the release (R3-0-1),
- Supports vxWorks and Linux,
- Database with PVs for each command,
9Reporting (dbior)
10MEDM screens
11Distribution
- Standard directories,
- Configuration,
- Requires Asyn 4-2 and Ipac 2-8,
- Documentation,
- Controller and converter Information,
- Release notes, known issues,
- Wiring diagram,
- Database, record instance files,
- iocBoot for Linux and vxWorks (startup scripts),
- MEDM displays,
- Contains the sources,
- devAsynLove.c,
- interposeLovelink.c,
- devLove.cc,
- loveServer.cc,
12Improvements
- Current issues,
- Cannot easily debug an individual controller,
- Tight coupling between device support and model
type (i.e. INP/OUT), - Device support controls the command / response
processing, - Solutions,
- Develop a multidevice driver,
- Employ different approach to reduce coupling,
13Improvements Multidevice port driver
- Develop a multidevice port driver,
- Replaces the existing interposeLovelink layer,
- Placed on top of drvAsynSerialPort,
- Creates multiple connections to an Asyn port,
- Allows connections to individual controllers,
- Monitor individual controller communication,
14Improvements Multidevice port driver
devLove
drvLove
asynOctetBase
asynOctet
asynCommon
drvAsynSerialPort
15Improvements Different approach
- Modify the information supplied to INP/OUT,
- _at_asyn(PORT,ADDR) function,
- Employ the drvAsynSerialPort and drvLove drivers,
- Implement an interface layer to,
- Define a specific interface (i.e. ifaceLove),
- Provide a methods to,
- Associate the controller address with a model
type, - Read and write a value, setup during record
initialization, - Reduces the need for conditional statements,
- Introducing new model type is cleaner,
16Improvements Different approach, cont
devLove
Interface Love
ifaceLove
17Acknowledgements
- Marty Kraimer,
- John Maclean,
- Ron Sluiter,
18 - Thank You
- EPICS Collaboration
- Beamline Controls and Data Acquisition
- APS Operations Division