PolyScience 4x00 Chiller Instrument Support

This support module consists of a simple StreamDevice protocol file and database which communicates with PolyScience Model 4100 and Model 4200 chillers over an RS-232 serial line.  An example IOC and EDM screen are also provided.

Database Development

The example application distributed with this support module comes with a database containing all the following records and EDM screens to display them.  All record names begin with the macros $(P)$(R).  Only the portion of the record names following this prefix are shown in the following tables.  All I/O records have DTYP=stream and INP or OUT="@devPolyScience4100.proto xxx ($(PORT) yyy)", where $(PORT) expands to the port name in the ASYN serial port configuration command and xxx is a numeric value as described below.  The serial port should be configured as 9600-8N1, no flow control.

Control Records

Name
Record Type
Description
OffOn
bo
Turn unit off or on.  This record is currently not added to the autosave requests.
Setpoint
longout
Set the chiller temperature setpoint.  The units are either °F or °C as selected from the front panel of the chiller.  The UnitsRbk monitor record holds the unit selection.

Monitor Records

All names end with 'Rbk' to indicate that these are readback values.

Name
Record Type
Description
UnitsRbk bi The single character F or C indicating the temperature units selected from the chiller front panel.
TemperatureRbk ai Chiller output temperature.
SetpointRbk
ai
Readback of temperature setpoint.
PressureRbk
ai
Pump pressure (PSI).
FlowRbk
ai
Flow rate (GPM).
BoardTempRbk
ai
Chiller internal temperature.

Internal Records

These records contain no I/O values and are used to assist the operation of the support module.

Name
Record Type Description
init_
bo
Sends commands required before other I/O operations can proceed.
Readback_
fanout
Initiates processing of all monitoring input records.  Since there are more input records than can be referenced in a single fanout record this record also forward links to another fanout record ReadbackA_.  Typically PINI="YES" and SCAN="10 second".
connCheck_
calcout
Monitors the status readback record and processes the reconn_ record when the chiller is (re)connected to the IOC.
reconn_
fanout
Initiate processing of all control records to push settings to chiller when it is (re)connected to the IOC.

Using PolyScience 4x00 Chiller support in an application

Several files need minor modifications to use this support in an application.

  1. Add the full path to the PolyScience4x00, Stream Device and ASYN support directories to the application configure/RELEASE file:
    STREAMDEVICE = xxxx/modules/soft/stream<release>
    ASYN         = xxxx/modules/soft/asyn<release>
    CHILLER4X00  = xxxx/modules/analog/PolyScience4x00<release>
    Where <release> is the release number of of the support.
  2. Add support to application database definition file
    The application database definition file must include the database definition files for the Stream Device and ASYN support.  There are two ways that this can be done:
  3. Add the Stream Device and ASYN support libraries to the application by adding the  lines
    xxx_LIBS += stream
    xxx_LIBS += asyn
    before the 
    xxx_LIBS += $(EPICS_BASE_IOC_LIBS)
    in the application Makefile.
  4. In the application startup script specify the serial port to which the chiller is connected by adding a drvAsynSerialPortConfigure or drvAsynIPPortConfigureline command:
    drvAsynIPPortConfigure("<PORT>","<Serial/LANaddress>:<Serial/LANport> COM",0,0,0)
  5. Set the serial port parameters:
    asynSetOption("<PORT>", -1, "baud", "19200")
    asynSetOption("<PORT>", -1, "bits", "8")
    asynSetOption("<PORT>", -1, "parity", "none")
    asynSetOption("<PORT>", -1, "stop", "1")
    asynSetOption("<PORT>", -1, "crtscts", "N")
  6. This support module provides a Stream Device protocol file which must be placed in a spot where it can be found.  I put protocol files into my application “db” directory by adding a line like this
    DB_INSTALLS += $(CHILLER4X00)/db/devPolyScience4100.proto
    to the application xxx/Db/Makefile.
  7. This support module provides an example database.  To use this add
    DB_INSTALLS += $(CHILLER4X00)/db/devPolyScience4100.db
    to the application xxx/Db/Makefile and add
    dbLoadRecords("db/devPolyScience4100.db,"P=<P>,R=<R>,PORT=<PORT>")
    to the application startup script.  You'll have to provide appropriate values for the PV name prefixes (<P> and <R>) and the port name(<PORT>). The port name must match the value specified in the drvAsynIPPortConfigure command (or drvAsynSerialPortConfigure if you're using a direct serial port connection).