120 likes | 215 Views
Ornl Serial Software: A User’s View. Ray Juras, ornl November 14, 2000. Topics:. Motivation What was done Details of device-specific module creation Summary. Motivation. The HRIBF control system is being moved from Vsystem to EPICS. All serial device interfaces must be migrated.
E N D
Ornl Serial Software:A User’s View Ray Juras, ornl November 14, 2000
Topics: • Motivation • What was done • Details of device-specific module creation • Summary
Motivation • The HRIBF control system is being moved from Vsystem to EPICS. All serial device interfaces must be migrated. • We chose to use VxWorks/x86 with SBS serial IndustryPacks (existing system used VME, but PC’s are less expensive allowing deployment nearer controlled equipment). Appropriate VxWorks driver was needed. • One serial device (Omega cn76000) requires checksum generation. We did not see how to implement this using devAscii. New serial device support, ornlSerial, was created. • Other serial devices also require special treatment. Some require inter-character and inter-command delays.
Support Software • John Sinclair developed the following: • VxWorks driver for x86/PCI SBS IndustryPack. • Serial driver support. • Device-independent serial device support. • Device manager to configure devices (baud, etc.) at start time. • Each serial device requires a device-dependent module
Database Fields • The database fields related to ornlSerial are as shown below:
Module Functions • Each device-specific module must provide the following functions: • init Called once per manf/model • create Called once per pv • encodeVal Called before a write operation • decodeRsp Called after a write operation • encodeCmd Called before a read operation • decodeVal Called after a read operation
Module Functions • For a particular pv, code only needs to be added to a subset of functions. Often, only “create” definitions are needed. • For example, a pv to turn a power supply on may only need code in “create” to define the ascii send string (including termination). • A pv to read current from a power supply may only require code in “create” to define the command and code in “decodeVal” to decode the returned value.
Serial Devices Interfaced • Omega CN76000 temperature controller. • Varian Multigauge vacuum controller. • Granville-Phillips GP307 vacuum controller • Danfysik models 8000 and 8800 power supplies. • Group3 Digital Teslameters (Hall Probes). • Metrolab PT2025 NMR.
Summary • VxWorks/x86/PCI driver developed for IndustryPack I/O. • Ornl serial device support developed • Useful for cases when devAscii is not flexible enough (for example, checksums required). • But, requires (simple) programming of device-specific modules. • Device Manager for configuration (Baud, parity, etc).