Ornl Serial Software: A User’s View
description
Transcript of Ornl Serial Software: A User’s View
Ornl Serial Software:A User’s View
Ray Juras, ornlNovember 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:
Associated Device Manager Unit Number Definitions
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 encodeCmdCalled 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.
Aids Make Debugging Serial Modules Easy
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).