 
















          AAF01/VMS Subroutine Library
          User's and Installation Guide


          Order Number: AA-GI29D-TE












          Revision/Update Information:

          Operating system
          and version:       VMS V5.0 or later

          Software version:  AAF01/VMS Subroutine Library V2.0

 





          ________________________
          October 1988

          __________
          The information in this document is subject to change
          without notice and should not be construed as a
          commitment by Digital Equipment Corporation. Digital
          Equipment Corporation assumes no responsibility for
          any errors that may appear in this document.

          The software described in this document is furnished
          under a license and may be used or copied only in
          accordance with the terms of such license.

          No responsibility is assumed for the use or
          reliability of software on equipment that is not
          supplied by Digital Equipment Corporation or its
          affiliated companies.

          Restricted Rights: Use, duplication, or disclosure
          by the U.S. Government is subject to restrictions as
          set forth in subparagraph (c)(1)(ii)  of the Rights in
          Technical Data and Computer Software clause at DFARS
          252.227-7013.

          __________
          Copyright ©1988 Digital Equipment Corporation

          All Rights Reserved.
          Printed in U.S.A.

          __________
          The postpaid Reader's Comments forms at the end of
          this document request your critical evaluation to
          assist in preparing future documentation.

          The following are trademarks of Digital Equipment
          Corporation:

          DEC             DIBOL         UNIBUS
          DEC/CMS         EduSystem     VAX
          DEC/MMS         IAS           VAXcluster
          DECnet          MASSBUS       VMS
          DECsystem-10    PDP           VT
          DECSYSTEM-20    PDT
          DECUS           RSTS
          DECwriter       RSX           DIGITAL

          This document was prepared using VAX DOCUMENT, Version
          1.2

 






          _______________________________________________________

          Contents

                _________________________________________________
                PREFACE                                        ix

          _______________________________________________________
          CHAPTER 1  INTRODUCTION                             1-1

                _________________________________________________
                1.1   HARDWARE REQUIREMENTS                   1-2

                _________________________________________________
                1.2   SOFTWARE REQUIREMENTS                   1-2

                _________________________________________________
                1.3   AAF01 HARDWARE SUMMARY                  1-3

                1.3.1     The AAF01 Registers  ___________    1-3
                1.3.1.1     The AAF01 Command and Status
                            Register (ACS), 1-3
                1.3.1.2     The Control Table Address Register
                            (CTA), 1-4
                1.3.1.3     The Control Word Register (CWR), 1-4
                1.3.1.4     The Programmable Clock Register
                            (PCR), 1-4
                1.3.1.5     The Data Buffer Register (DBF), 1-5

                1.3.2     Converter Codes  _______________    1-5

                1.3.3     D/A Conversion Sequence  _______    1-6

          _______________________________________________________
          CHAPTER 2  AVAILABLE SUBROUTINES                    2-1

                _________________________________________________
                2.1   ASSIGN CHANNEL AND DATAPATH             2-2

                _________________________________________________
                2.2   AAF$SETCHA SET CHANNEL                  2-4

                                                              iii

 


          Contents



                _________________________________________________
                2.3   AAF$FREAST: READ STATUS OF AAF01        2-5

                _________________________________________________
                2.4   AAF$FREACO: READ COMMAND OUTPUT BIT     2-7

                _________________________________________________
                2.5   AAF$FSETCO: SET COMMAND OUTPUT BIT      2-8

                _________________________________________________
                2.6   AAF$FRESET: RESET AAF01 AND DRX11-C     2-9

                _________________________________________________
                2.7   AAF$FSTSBE: ENABLE SEQUENCE BREAK      2-10

                _________________________________________________
                2.8   AAF$FCLSBE: DISABLE SEQUENCE BREAK     2-11

                _________________________________________________
                2.9   AAF$FENECE: ENABLE EXTERNAL CLOCK      2-12

                _________________________________________________
                2.10  AAF$FDSECE: DISABLE EXTERNAL CLOCK     2-13

                _________________________________________________
                2.11  AAF$FENMET: ENABLE MEMORY TRANSFER     2-14

                _________________________________________________
                2.12  AAF$FDSMET: DISABLE MEMORY TRANSFER    2-15

                _________________________________________________
                2.13  AAF$FRECTA: READ FROM CTA              2-16

                _________________________________________________
                2.14  AAF$FLOCTA: WRITE TO CTA               2-17

                _________________________________________________
                2.15  AAF$FSTPCR: WRITE TO PCR               2-18



          iv

 


                                                         Contents



                _________________________________________________
                2.16  AAF$FLOCWT: WRITE CONTROL TABLE        2-19

                _________________________________________________
                2.17  AAF$FRECWT: READ CONTROL TABLE         2-21

                _________________________________________________
                2.18  AAF$FANOUT: ANALOGUE OUTPUT            2-23

                _________________________________________________
                2.19  AAF$FCVERT: START CONVERSION           2-24

                _________________________________________________
                2.20  AAF$CONLAR START LARGE BUFFER ADC
                      CONVERSION                             2-31

                _________________________________________________
                2.21  IO$_NOTIFY CLEAR LARGE BUFFER
                      OVERFLOW CONDITION                     2-35

                _________________________________________________
                2.22  AAF$FUNSOL: ENABLE/DISABLE
                      ATTENTION AST                          2-37

                _________________________________________________
                2.23  AAF$FAEXIT: RELEASE AAF01              2-40

                _________________________________________________
                2.24  AAF$FSIGNL: SIGNAL ERROR               2-41

                _________________________________________________
                2.25  AAF$FCVCOD: CALCULATE CONVERTER
                      CODE                                   2-43

                _________________________________________________
                2.26  AAF$FAAFID: IDENTIFY AAF01             2-44

                _________________________________________________
                2.27  AAF$STATUS GET THE STATUS OF
                      DRX11-C INTERFACE                      2-45

                                                                v

 


          Contents



                _________________________________________________
                2.28  SYS$WAITFR WAIT FOR EVENT FLAG         2-47

                _________________________________________________
                2.29  SYS$CLREF CLEAR EVENT FLAG             2-48


          _______________________________________________________
          CHAPTER 3  PROGRAMMING THE AAF01                    3-1

                _________________________________________________
                3.1   AAF01$CWT.COM                           3-1

                _________________________________________________
                3.2   PROGRAMMING THE AAF01                   3-4

                _________________________________________________
                3.3   AAF01$LINK.COM                          3-5


          _______________________________________________________
          CHAPTER 4  PREPARING TO INSTALL THE AAF01/VMS
                     SUBROUTINE LIBRARY                       4-1

                _________________________________________________
                4.1   REQUIRED OPERATING SYSTEM
                      COMPONENTS                              4-1

                _________________________________________________
                4.2   PREREQUISITE AND OPTIONAL SOFTWARE      4-2

                4.2.1     Prerequisite Software  _________    4-2

                4.2.2     Optional Software  _____________    4-2

                _________________________________________________
                4.3   PREREQUISITE HARDWARE                   4-3

                _________________________________________________
                4.4   VMS LICENSE MANAGEMENT FACILITY         4-3

          vi

 


                                                         Contents



                _________________________________________________
                4.5   VAXCLUSTER CONSIDERATIONS               4-4

                _________________________________________________
                4.6   INSTALLATION PROCEDURE REQUIREMENTS     4-4

                4.6.1     Time  __________________________    4-4

                4.6.2     Privileges  ____________________    4-5

                4.6.3     Disk Space  ____________________    4-5

                4.6.4     System Parameters  _____________    4-5

                4.6.5     Process Account Quotas  ________    4-6

                4.6.6     VMSINSTAL Requirements  ________    4-6

                4.6.7     Backing Up Your System Disk  ___    4-6

                4.6.8     License Management Utility
                          Requirements  __________________    4-7

          _______________________________________________________
          CHAPTER 5  INSTALLING THE AAF01/VMS SUBROUTINE
                     LIBRARY                                  5-1

                _________________________________________________
                5.1   GENERAL INFORMATION                     5-1

                5.1.1     Accessing the Online Release
                          Notes  _________________________    5-1

                5.1.2     Determining the
                          Directories/Files Added
                          to the System  _________________    5-2

                5.1.3     Running the Installation
                          Verification Procedure (IVP)  __    5-2

                5.1.4     Aborting the Installation  _____    5-2

                _________________________________________________
                5.2   THE INSTALLATION PROCEDURE              5-3

                5.2.1     Invoking VMSINSTAL  ____________    5-3

                5.2.2     Installation Questions  ________    5-4

                                                              vii

 


          Contents



                5.2.3     Informational Messages  ________    5-9

                5.2.4     Running the Installation
                          Verification Procedure  ________    5-9

                5.2.5     Completing the Installation
                          Procedure  _____________________    5-9

                _________________________________________________
                5.3   ERROR RECOVERY                         5-10

          _______________________________________________________
          CHAPTER 6  AFTER INSTALLING THE AAF01/VMS
                     SUBROUTINE LIBRARY                       6-1

                _________________________________________________
                6.1   CLUSTER CONSIDERATIONS                  6-1

                _________________________________________________
                6.2   TAILORING YOUR SYSTEM                   6-1

                _________________________________________________
                6.3   DETERMINING AND REPORTING PROBLEMS      6-2

          _______________________________________________________
          APPENDIX A  SAMPLE INSTALLATION                     A-1


          _______________________________________________________
          APPENDIX B  DIRECTORIES/FILES INSTALLED ON YOUR
                      SYSTEM                                  B-1










          viii

 


                                                         Contents



          _______________________________________________________
          APPENDIX C  EXAMPLE PROGRAMS                        C-1

                _________________________________________________
                C.1   AAF01$SNGL (SINGLE BUFFER MODE)         C-1

                _________________________________________________
                C.2   AAF01$DOBL (ALTERNATE BUFFER MODE)      C-4


          _______________________________________________________
          APPENDIX D  AAF01 EXERCISER (ONLINE DIAGNOSTIC)     D-1

                _________________________________________________
                D.1   AAF01 LOGIC TEST                        D-3

                _________________________________________________
                D.2   AAF01 LINEARITY TEST                   D-17

                _________________________________________________
                D.3   AAF01 CALIBRATION TEST                 D-18

                _________________________________________________
                D.4   AAF01 SELECTABLE OUTPUT TEST           D-19


          _______________________________________________________
          APPENDIX E  TABLE OF ABBREVIATIONS                  E-1


          _______________________________________________________
          APPENDIX F  READER'S COMMENTS                       F-1









                                                               ix

 


          Contents



          _______________________________________________________
          FIGURES

                1-1       AAF01 Command and Status
                          Register (ACS) Format  _________    1-7

                1-2       AAF01 Control Table Address
                          Register (CTA) Format  _________    1-7

                1-3       AAF01 Control Word Register
                          (CWR) Format  __________________    1-7

                1-4       AAF01 Programmable Clock
                          Register (PCR) Format  _________    1-8

                1-5       AAF01 Data Buffer FIFO (DBF)
                          Format  ________________________    1-9

                1-6       AAF01 Control Table Layout  ____   1-11

          _______________________________________________________
          TABLES

                1-1       Programmable Clock Frequencies
                          and Conversion Rates  __________   1-10

                1-2       Conversion Table for Unipolar
                          Operation  _____________________   1-10

                1-3       Conversion Table for Bipolar
                          Operation  _____________________   1-11

                4-1       Disk Space Requirements  _______    4-5








          x

 





          _______________________________________________________

          Preface


          DOCUMENT OBJECTIVES

          This manual describes the installation procedures for
          the AAF01/VMS Subroutine Library, and the routines
          available in that library. The available example and
          test programs are described as well.

          INTENDED AUDIENCE

          This manual is intended as guide for users performing
          the installation of the AAF01/VMS Subroutine Library,
          and as reference manual for programming the AAF01.


          ASSOCIATED DOCUMENTS

          The following documents are associated with this
          manual:

          o  AAF01 Digital/Analogue Conversion Subsystem For
             DRX11-C Family Of DMA Interfaces, Order number
             YG-C03ZC-00

          o  DRX11-C/VMS Driver User's and Installation Guide,
             Order number AA-HV08A-TE

          PREREQUISITES

          Readers of this manual are assumed to be familiar
          with the VMS operating system. Programmers using this
          manual are assumed to have FORTRAN knowledges.






                                                               ix

 






          _______________________________________________________

   1      INTRODUCTION




          AAF01/VMS Subroutine Library

          The AAF01/VMS Subroutine Library provides to the
          high level language user a simple interface to the
          AAF01 Digital/Analogue Conversion Subsystem with its
          functionality.

          The AAF01 device has 16 single ended analogue
          output channels. The interface is controlled by a
          programmable conversion rate and by a 1K words Control
          Table RAM. Control Table loading is done either by
          program or by DMA. The conversion rate can be defined
          either by the internal clock which is programmable
          in the range of 400 kHz (2.5 microseconds) through
          2.5 kHz (400 microseconds) in steps of 100 nsec, or
          through an external signal.

          General Description:

          1  The sequence of the data output is determined by
             the Control Table (1024 words RAM). This table
             can be generated by the indirect command procedure
             AAF01$CWT.COM, or directly in user program.

          2  One Control Word consists of the channel address
             and the operation mode for the respective
             conversion.

          3  The start of the conversion is initiated by calling
             the subroutine AAF$FCVERT or AAF$CONLAR.

          4  The conversion rate is determined by the internal
             programmable clock unless the external clock input
             is used.

                                                              1-1

 


          INTRODUCTION



          5  The set up of the AAF01 (loading the registers
             and the Control Table) is achieved by using the
             routines described in Chapter 2.

          6  The conversion sequence can also be started through
             the SEQ CONT L input signal, provided mode 3 in the
             Control Word is selected (see Figure 1-3).


          Performance:

          A transfer rate of 400 Kwords/sec can be achieved.
          Saving the data may slow down the transfer rate,
          depending on the hardware and software used.



          __________________________________________________________________

   1.1    Hardware Requirements

          The AAF01 is a high-speed, multichannel analogue
          output subsystem. It is connected to a VAX UNIBUS
          or Q-BUS via the DRX11-C interface. For proper
          installation read the manual AAF01 Digital/Analogue
          Conversion Subsystem For DRX11-C Family Of DMA
          Interfaces (order no. YG-C03ZC-00).



          __________________________________________________________________

   1.2    Software Requirements

          The AAF01/VMS Subroutine Library uses the
          functionality of the DRX11-C/VMS driver.

          The driver has to be generated and loaded
          successfully. For details on how to generate and
          load the driver see the DRX11-C/VMS Driver User's and
          Installation Guide (order no. AA-HV08A-TE).

          1-2

 


                                                     INTRODUCTION







          __________________________________________________________________

   1.3    AAF01 Hardware Summary

          The following summarizes the layout of the AAF01
          Registers, Converter Codes and the sequence for
          execution of D/A conversion.


          ___________________________

   1.3.1  The AAF01 Registers

          The registers available on the AAF01 are summarized in
          the following table.

          _______________________________________________________
          Register_name__________________________Mnemonic________

          AAF01 Data Buffer Register             DBF

          AAF01 Command and Status Register      ACS

          AAF01 Control Table Address Register   CTA

          AAF01 Control Word Register            CWR

          AAF01_Programmable_Clock_Register______PCR_____________

                 _____________________
                 1.3.1.1  The AAF01 Command and Status Register
                          (ACS)
          The ACS is a 12 bit read/write register (see Figure
          1-1) used to control and indicate the status for the
          various functions of the data output system.


                                                              1-3

 


          INTRODUCTION


                 _____________________
                 1.3.1.2  The Control Table Address Register
                          (CTA)
          The CTA is a 10 bit read/write counter register (see
          Figure 1-2). It contains the address of the current
          control word in the 1K by 12 bit Control Table memory.
          The location in the Control Table memory (RAM) which
          is addressed by the CTA can be written or read via the
          Control Word Register (see Figure 1-6).


                 _____________________
                 1.3.1.3  The Control Word Register (CWR)
          The CWR is a 12 bit read/write register (see Figure
          1-3). It is one of 1024 registers in the Control
          Table. When a conversion is started, the Control Word
          Register addressed by the CTA register at this time is
          used.

                 _____________________
                 1.3.1.4  The Programmable Clock Register (PCR)
          The PCR is a 12 bit write-only register (see Figure
          1-4). The content of the PCR is moved in a 12 bit
          counter which is clocked by a quartz generator of 10
          MHz (cf. Table 1-1).

          The counter and the clock are only enabled when a
          conversion is started and if the current Control Word
          Mode CWM does not contain mode 3 (see Figure 1-3).

          The clock is also available as output signal "RATE CLK
          OUT" (see Chapter 2.9 and Figure 1-1).










          1-4

 


                                                     INTRODUCTION


                 _____________________
                 1.3.1.5  The Data Buffer Register (DBF)
          The DBF is a 12 bit wide and 64 bit deep write-only
          silo (FIFO) (see Figure 1-5), in which the converter
          data are temporarily stored until being transferred to
          the D/A channel buffer.




          ___________________________

   1.3.2  Converter Codes

          The D/A converter is loaded with the following 12 bit
          digital codes (4096 states):

          o  In unipolar operation (range 0V to +10V)
             complementary binary code (see Figure Table 1-2);

          o  In bipolar operation (range -10V to +10V)
             complementary offset binary code (see Table 1-3).

          These operation modes are selectable using switch S1
          on the AAF01 module (A6009). A new calibration must be
          done if the operation mode is changed.

          For more information on switch settings and I/O signal
          description (RATE CLK OUT, SEQ CONT L, COUT L) see the
          manual AAF01 Digital/Analogue Conversion Subsystem For
          DRX11-C Family Of DMA Interfaces (order no. YG-C03ZC-
          00).










                                                              1-5

 


          INTRODUCTION


          ___________________________

   1.3.3  D/A Conversion Sequence

          A digital to analogue conversion sequence is
          performed, using the AAF01/VMS Subroutine Library,
          in the following steps:

          o  Prepare the Control Table (using the indirect
             command procedure AAF01$CWT.COM). The control table
             can also be build in user program.

          o  Prepare the buffer with the analogue output data
             (using the subroutine AAF$FCVCOD to calculate the
             converter codes);

          o  Load the Control Table to the AAF01 (using the
             subroutine AAF$FLOCWT);

          o  Set the Control Table address CTA to the beginning
             of the Control Table (using the subroutine
             AAF$FLOCTA);

          o  Load the Programmable Clock Register PCR (using the
             subroutine AAF$FSTPCR);

          o  Start the conversion (using the subroutine
             AAF$FCVERT or AAF$CONLAR);

          o  Wait for the end of the conversion (using the VMS
             directive WAITFR and the subroutine AAF$FREAST).

             The End of Conversion Sequence bit EOC gives more
             information on the conversion end. If the EOC bit
             is cleared, it was a regular end of the conversion
             sequence. If the EOC bit is set, then one of the
             two bits, either the DBE (Data Buffer Empty) bit
             or the SBR (Sequence Break) bit, is set, too, thus
             indicating the reason for the (abnormal) end of
             conversion.

          Please note that setting up the AAF01, i.e. loading
          the registers and the Control Table, can be done by
          program or by DMA.

          1-6

 


                                                     INTRODUCTION



          _______________________________________________________

          _______________________________________________________

          _______________________________________________________




































                                                              1-7

 


          INTRODUCTION



          CWM   Control Word Mode; the meaning of the different
          possible values is given in the following list:

          0  Conversion and increment CTA for next Control Word

          1  Conversion and go to Control Word 0

          2  Dummy cycle for current channel

          3  as mode 2, but additionally wait for sequence start
             pulse and go to next Control Word (SEQ CONT L input
             signal must be used)

          4  as mode 2, but additionally the SYS IN PROG L
             output signal is deasserted during this conversion

          5  as modes 2 and 4, but additionally the Control
             Table starts at Control Word 0 again after this
             conversion

          6  as modes 2 and 4, but the complement of the 12 bit
             PCR is used as cycle time for this conversion

          7  as modes 2 and 4, but additionally the COUT L
             output signal is asserted during this conversion


          CHA  Channel Address for selection of one of the 16
          output channels of the AAF01; bit 4 and 5 are provided
          for expansion to 48 channels via a MUX connector


          _______________________________________________________








          1-8

 


                                                     INTRODUCTION



          _______________________________________________________








































                                                              1-9

 


          INTRODUCTION




          Table 1-1  Programmable Clock Frequencies and
          ___________Conversion_Rates____________________________

          Number of Steps  Frequency        Conversion Time
          (decimal)________(kHz)____________(microsec)___________

            25             400                2.5
            30             333.33             3.0
            40             250                4
            50             200                5
            60             100                6
           100              10              10
          1000               2.5            100
          4000______________________________400__________________

          (Generator 10 MHz; 1 step is 100 nsec)




          Table_1-2__Conversion_Table_for_Unipolar_Operation_____

                           Complementary Binary
          Range                            Coding
          0_to_+10V________MSB__________________LSB______________

          +9.9976          000    000    000    000
          +7.5000          001    111    111    111
          +5.0000          011    111    111    111
          +2.5000          101    111    111    111
          +0.0024          111    111    111    110
          +0.0000__________111____111____111____111______________








          1-10

 


                                                     INTRODUCTION





          Table_1-3__Conversion_Table_for_Bipolar_Operation______

                            Complementary Offset Binary
          Range                             Coding
          -10V_to_+10V______MSB__________________LSB_____________

          +9.9951           000    000    000    000
          +7.5000           000    111    111    111
          +5.0000           001    111    111    111
          +0.0049           011    111    111    110
            0.0000          011    111    111    111
          - 0.0049          100    000    000    000
          - 5.0000          101    111    111    111
          - 9.9951          111    111    111    110
          -10.0000__________111____111____111____111_____________




          _______________________________________________________

          The Control Table Address Register (CTA) contains the
          address of one of the 12-bit Control Word Registers in
          the Control Table.















                                                             1-11

 






          _______________________________________________________

   2      AVAILABLE SUBROUTINES




          Software Restrictions

          The AAF01/VMS Subroutine Library supports the entire
          functionality of the AAF01 Digital/Analogue Conversion
          Subsystem.

          Programming the AAF01

          The subroutines available in the AAF01 Subroutine
          Library will be described detailed in this chapter.
          The steps of a sequence for a digital to analogue
          conversion are given in Chapter 1.3.3. The programming
          will be described in Chapter 4, and in Appendix C and
          Appendix D are sample programs.




















                                                              2-1

 


          AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.1    ASSIGN CHANNEL AND DATAPATH

          The subroutine AAF$FAINIT assigns a channel number for
          the specified logical or physical device and chooses
          the data path.

          If you wish to access multiple devices, you must also
          specify a channel number to be associated with the
          device.

          Calling Sequence:

          CALL AAF$FAINIT (IND, %DESCR(DEVNAM), PATH, ICHA)

          Input Parameters:

          DEVNAM  Type = longword (unsigned)
                  Call mechanism: by description
                  Address of a character string descriptor
                  pointing to the device name. The string may
                  be either a physical device name or a logical
                  name. If the device name contains a colon,
                  the colon and the characters that follow it
                  are ignored. If the first character in the
                  string is an underscore character (_), the
                  name is considered a physical device name.
                  Otherwise, the name is considered a logical
                  name. A logical name translation is performed
                  until either a physical device name is found
                  or the system default number of translation
                  has been performed.

          PATH    Type = longword (unsigned)
                  Call mechanism = by reference
                  Data Path

                  1     = Buffered Data Path
                  else  = Direct Data Path


          2-2

 


                                            AVAILABLE SUBROUTINES




          ICHA    Type = longword (unsigned)
                  Call mechanism = by reference
                  (Optional) Specifies a channel number, 1
                  through 8, to be associated with the device.


          Output Parameters:

          IND     Type = longword (unsigned)
                  Call mechanism = by reference

                  Returns the success or failure status

                  1     = successful completion
                  nnn   = VAX/VMS status code

                  SS$_IVCHAN = ICHA<1 or ICHA>8.























                                                              2-3

 


          AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.2    AAF$SETCHA SET CHANNEL

          This routine sets the channel to be used by subsequent
          calls to AAF01 subroutines. The channel must have been
          initialized with the AAF$FAINIT call.


          Calling Sequence:

          CALL AAF$SETCHA (IND,ICHA,IPRE)


          Input Parameters:

          ICHA    Type = longword (unsigned)
                  Call mechanism = by reference
                  Number of the channel which is to be the
                  current channel.

          Output Parameters:

          IPRE    Type = longword (unsigned)
                  Call mechanism = by reference
                  (Optional) Number of the channel before the
                  call. If the current channel is changed in an
                  AST routine, then it should be "reset" to IPRE
                  before AST routine exit.

          IND     Type = longword (unsigned)
                  Call mechanism = by reference
                  Return status.
                  SS$_NORMAL = Success.
                  SS$_IVCHAN = Invalid channel number,either
                  ICHA<1 or ICHA>8 or ICHA not initialized.






          2-4

 


                                            AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.3    AAF$FREAST: Read Status of AAF01

          Calling this routine of the AAF01/VMS Subroutine
          Library will allow to read the read-only bits of the
          AAF01 Command and Status Register, ACS:

          UNI    - Unipolar Operation bit

          CMP    - Comparator Input bit

          EOC    - End of Conversion Sequence bit

          DBE    - Data Buffer Empty bit

          SBR    - Sequence Break bit

          Calling sequence:

          CALL AAF$FREAST (JUNI, JCMP, JEOC, JDBE, JSBR)

          Input parameters:

          None

          Output parameters:

          JUNI  Type = word (unsigned)
                Call mechanism = by reference
                Unipolar Operation bit; indicates the position
                of switch S1:
                JUNI = 1 means unipolar operation (0V to +10V)
                JUNI = 0 means bipolar operation (-10V to +10V)








                                                              2-5

 


          AVAILABLE SUBROUTINES




          JCMP  Type = word (unsigned)
                Call mechanism = by reference
                Comparator Input bit
                JCMP = 1 means that the COMP IN line is more
                negative than the output of channel 0 of the
                AAF01

          JEOC  Type = word (unsigned)
                Call mechanism = by reference
                End of Conversion Sequence bit
                JEOC = 0 means a regular end of the conversion

                JEOC = 1 means an abnormal end of the conversion
                sequence; in this case the DBE bit or the SBR
                bit gives more information.

          JDBE  Type = word (unsigned)
                Call mechanism = by reference
                Data Buffer Empty bit
                JDBE = 1 means that the buffer with the data for
                output was empty during the conversion sequence

          JSBR  Type = word (unsigned)
                Call mechanism = by reference
                Sequence Break bit
                JSBR = 1 means that the SEQ CONT L input signal
                was set

          More information on these bits may be found in the
          manual AAF01 Digital/Analogue Conversion Subsystem
          For DRX11-C Family of DMA Interfaces (order number
          YG-C03ZC-00).








          2-6

 


                                            AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.4    AAF$FREACO: Read Command Output Bit

          Calling this routine will allow to read the Command
          Output bit COUT of the AAF01 Command and Status
          Register, ACS.

          Calling sequence:

          CALL AAF$FREACO (JNDEX)

          Input parameters:

          None


          Output parameters:

          JNDEX  Type = word (unsigned)
                 Call mechanism = by reference
                 Command Output bit
                 JNDEX = 1 means that COUT is set
                 JNDEX = 0 means that COUT is not set


















                                                              2-7

 


          AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.5    AAF$FSETCO: Set Command Output Bit

          Calling this routine will allow to set the Command
          Output bit COUT of the AAF01 Command and Status
          Register, ACS.

          Calling sequence:

          CALL AAF$FSETCO

          Input parameters:

          None


          Output parameters:

          None






















          2-8

 


                                            AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.6    AAF$FRESET: Reset AAF01 and DRX11-C

          Calling this routine will allow to reset the AAF01:
          the registers ACS (AAF01 Command and Status Register),
          PCR (Programmable Clock Register) and DBF (Data Buffer
          Register) will be reset as well as the analogue output
          channels.

          Calling sequence:

          CALL AAF$FRESET (IND,IFNCT0)

          Input parameters:

          IFNCT0  Type = longword (unsigned)
                  Call mechanism = by reference

                  DRX11-C Reset modifier
                     0 = without FNCT0
                     1 = with FNCT0


          Output parameters:

          IND   Type = longword (unsigned)
                Call mechanism = by reference

                VMS return status












                                                              2-9

 


          AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.7    AAF$FSTSBE: Enable Sequence Break

          Calling this routine will allow to set the Sequence
          Break Enable bit SBE of the AAF01 Command and Status
          Register, ACS.

          Calling sequence:

          CALL AAF$FSTSBE

          Input parameters:

          None


          Output parameters:

          None

          For more information on this bit please refer to the
          manual AAF01 Digital/Analogue Conversion Subsystem
          For DRX11-C Family Of DMA Interfaces (order number
          YG-C03ZC-00).

















          2-10

 


                                            AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.8    AAF$FCLSBE: Disable Sequence Break

          Calling this routine will allow to clear the Sequence
          Break Enable bit SBE of the AAF01 Command and Status
          Register, ACS.

          Calling sequence:

          CALL AAF$FCLSBE

          Input parameters:

          None


          Output parameters:

          None






















                                                             2-11

 


          AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.9    AAF$FENECE: Enable External Clock

          Calling this routine will allow to set the External
          Clock Enable bit ECE of the AAF01 Command and Status
          Register, ACS.

          Calling sequence:

          CALL AAF$FENECE

          Input parameters:

          None


          Output parameters:

          None






















          2-12

 


                                            AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.10   AAF$FDSECE: Disable External Clock

          Calling this routine will allow to clear the External
          Clock Enable bit ECE of the AAF01 Command and Status
          Register, ACS.

          Calling sequence:

          CALL AAF$FDSECE

          Input parameters:

          None


          Output parameters:

          None






















                                                             2-13

 


          AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.11   AAF$FENMET: Enable Memory Transfer

          Calling this routine will allow to set the Memory
          Transfer bit MET of the AAF01 Command and Status
          Register, ACS. The DMA-cycle contains the 12-bit
          contents of the control word which belongs to the
          following conversion. This affects the conversion data
          rate by requiring another DMA-cycle.

          data buffer:

          buffer header

          1. control word
          1. data word
          2. control word
          2. data word

          etc ...

          Calling sequence:

          CALL AAF$FENMET

          Input parameters:

          None

          Output parameters:

          None









          2-14

 


                                            AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.12   AAF$FDSMET: Disable Memory Transfer

          Calling this routine will allow to clear the Memory
          Transfer bit MET of the AAF01 Command and Status
          Register, ACS.

          Calling sequence:

          CALL AAF$FDSMET

          Input parameters:

          None


          Output parameters:

          None






















                                                             2-15

 


          AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.13   AAF$FRECTA: Read From CTA

          Calling this routine will allow to read the AAF01
          Control Table Address Register CTA.

          Calling sequence:

          CALL AAF$FRECTA (JNDEX)

          Input parameters:

          None


          Output parameters:

          None

          JNDEX   Type = word (unsigned)
                  Call mechanism = by reference

                  Actual position within the 1K Control Table,
                  i.e.
                  0 # JNDEX # 1023
















          2-16

 


                                            AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.14   AAF$FLOCTA: Write To CTA

          Calling this routine will allow to write to the AAF01
          Control Table Address Register CTA.

          Calling sequence:

          CALL AAF$FLOCTA (JSTAT, JNDEX)

          Input parameters:

          JNDEX   Type = word (unsigned)
                  Call mechanism = by reference

                  Position within the 1K Control Table,
                  i.e.0 # JNDEX # 1023


          Output parameters:

          JSTAT   Type = word (unsigned)
                  Call mechanism = by reference

                  Return status
















                                                             2-17

 


          AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.15   AAF$FSTPCR: Write To PCR

          Calling this routine will allow to write to the AAF01
          Programmable Clock Register PCR.

          Calling sequence:

          CALL AAF$FSTPCR (JSTAT, JCOUNT)

          Input parameters:

          JCOUNT  Type = word (unsigned)
                  Call mechanism = by reference

                  Number of steps (in multiple of 100
                  nanoseconds);
                  25 # JCOUNT # 4095 (cf. Table 1-1)


          Output parameters:

          JSTAT   Type = word (unsigned)
                  Call mechanism = by reference

                  Return status















          2-18

 


                                            AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.16   AAF$FLOCWT: Write Control Table

          Calling this routine will allow to write the AAF01
          Control Word Register CWR, one or several of them, to
          the Control Table.

          Calling sequence:

          CALL AAF$FLOCWT (JSTAT, JTAB, JLOW, JHIGH, JCTA)

          Input parameters:

          JTAB    Type = word (unsigned)
                  Call mechanism = by reference
                  Integer array containing the Control Table

          JLOW    Type = word (unsigned)
                  Call mechanism = by reference
                  Low position within JTAB where the transfer
                  starts;
                  0 # JLOW # 1023

          JHIGH   Type = word (unsigned)
                  Call mechanism = by reference
                  High position within JTAB where the transfer
                  ends;
                  0 # JHIGH # 1023

          JCTA    Type = word (unsigned)
                  Call mechanism = by reference
                  First position within the Control Table where
                  loading starts;
                  0 # JCTA # 1023







                                                             2-19

 


          AVAILABLE SUBROUTINES



          Output parameters:

          JSTAT   Type = word (unsigned)
                  Call mechanism = by reference
                  Return status

          JCTA    Type = word (unsigned)
                  Call mechanism = by reference
                  Position within the Control Table after the
                  transfer of the Control Words; 0 # JCTA # 1023































          2-20

 


                                            AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.17   AAF$FRECWT: Read Control Table

          Calling this routine will allow to read the AAF01
          Control Word Register CWR, one or several of them,
          from the Control Table.

          Calling sequence:

          CALL AAF$FRECWT (JSTAT, JTAB, JLEN, JLOW, JHIGH)

          Input parameters:

          JLEN    Type = word (unsigned)
                  Call mechanism = by reference
                  Length in bytes of JTAB

          JLOW    Type = word (unsigned)
                  Call mechanism = by reference
                  Low position within the Control Table where to
                  start the transfer;
                  0 # JLOW # 1023

          JHIGH   Type = word (unsigned)
                  Call mechanism = by reference
                  High position within the Control Table where
                  to end the transfer;
                  0 # JHIGH # 1023


          Output parameters:

          JSTAT   Type = word (unsigned)
                  Call mechanism = by reference
                  Return status






                                                             2-21

 


          AVAILABLE SUBROUTINES




          JTAB    Type = word (unsigned)
                  Call mechanism = by reference
                  Integer array into which the Control Word
                  Registers are read

          JLOW    Type = word (unsigned)
                  Call mechanism = by reference
                  Position + 1 (INTEGER*2) within the Control
                  Table where the transfer ended; 1 # JLOW #
                  1024






























          2-22

 


                                            AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.18   AAF$FANOUT: Analogue Output

          Calling this routine will allow to output a volt value
          to one of the analogue output channels of the AAF01.

          Calling sequence:

          CALL AAF$FANOUT (JSTAT, VOLT, JCHN)

          Input parameters:

          VOLT    Type = D_Floating
                  Call mechanism = by reference
                  Value of the voltage to be output

          JCHN    Type = word (unsigned)
                  Call mechanism = by reference
                  Channel of the AAF01 to which the output is to
                  be made


          Output parameters:

          JSTAT  Type = word (unsigned)
                 Call mechanism = by reference
                 Return status














                                                             2-23

 


          AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.19   AAF$FCVERT: Start Conversion

          Calling this routine will allow to start the
          conversion of the AAF01, that is to set up the
          necessary QIO parameters and enable the data transfer.

          Calling sequence:

          CALL AAF$FCVERT (IEFN, JIOST, JTAB1, JLEN1,
                       JTAB2, JLEN2, JBLK, JTIME, JBURST

          Input parameters:

          IEFN    Type = longword (unsigned)
                  Call mechanism = by reference
                  Number of the event flag to be set each time
                  when one buffer is transferred.

          JTAB1   Type = word (unsigned)
                  Call mechanism = by reference
                  Address of the first data buffer (word
                  aligned). The first longword of the buffer is
                  used as the bufferheader. Each time the buffer
                  is wtitten, the DRX11-C/VMS driver writes the
                  current buffercount in this header.
                  The driver decrements the buffercount by
                  one each time a buffer is written. After the
                  buffer is filled/processed by the user, he has
                  to indicate this by clearing the bufferheader.
                  Each time a new buffer is started, the driver
                  checks if the buffer header is zero. If at
                  this time the header is not zero, the driver
                  assumes that the user was not able to process
                  the data. The current transfer is terminated
                  and a SS$_DATAOVERRUN error is returned.





          2-24

 


                                            AVAILABLE SUBROUTINES




          JLEN1   Type = longword (unsigned)
                  Call mechanism = by reference
                  Size of the first buffer in bytes excluding
                  the bufferheader. The size must be greater
                  than 0 and even. The maximum size is 129020
                  bytes.

                  Note: The buffer should have a reasonable size
                  for proper synchronization, which will heavily
                  depend on the data transfer rate.

          JTAB2   Type = word (unsigned)
                  Call mechanism = by reference
                  Address of the second data buffer (word
                  aligned). See description of JTAB1.

          JLEN2   Type = longword (unsigned)
                  Call mechanism = by reference
                  Size of the second buffer in bytes excluding
                  the bufferheader. The size must be greater
                  than 0 and even. The maximum size is 129020
                  bytes.


















                                                             2-25

 


          AVAILABLE SUBROUTINES




          JBLK    Type = longword (unsigned)
                  Call mechanism = by reference

                  Buffer count
                  Setting the buffer count to 1 means a request
                  to transfer only buffer JTAB1 to the AAF01
                  (single buffer mode).
                  Setting the buffer count to >= 2 means a
                  request to transfer buffer JTAB1 and buffer
                  JTAB2 in alternate mode (alternate buffer
                  mode), that is transfer first buffer JTAB1,
                  then buffer JTAB2, then again buffer JTAB1 and
                  so on, until the buffer count is exhausted.
                  Setting the buffer count to 0 means a request
                  to transfer the two buffers JTAB1 and JTAB2
                  in alternate mode indefinitely; only an error
                  condition or a $CANCEL I/O request may stop
                  the transfer.

          JTIME   Type = longword (unsigned)
                  Call mechanism = by reference
                  Timeout count specifying the timeout in
                  seconds; this will be the maximum time
                  period within which an interrupt must occur,
                  i.e. one buffer will be output. This is the
                  maximum time allowed to write one buffer. An
                  unspecified timeout or a timeout value of zero
                  will set the timeout to 65536 seconds.

          JBURST  Type = longword (unsigned)
                  Call mechanism = by reference
                  Burst mode modifier
                  0   = no burst mode
                  1   = burst mode






          2-26

 


                                            AVAILABLE SUBROUTINES



          Output parameters:

          JIOST   Type = longword (unsigned)
                  Call mechanism = by reference
                  A 2 longword integer array which is to
                  receive the I/O status of the QIO call done by
                  using this subroutine; this I/O status block
                  contains the following information:

                  first word of first longword:   return status
                  second word of first longword:  buffermark
                  second longword:                byte count

          The DRX11-C/VMS I/O status block (two longwords) has
          the following format:


























                                                             2-27

 


          AVAILABLE SUBROUTINES



          Buffermark:

          This is the Block number of the last block being
          transferred. The buffermark is updated at the
          completion of each block.


          Byte Count:

          The byte count of the last block being transferred up
          to the point of termination of the I/O function.

          The maximum total size of the two buffers is 251900
          bytes.



























          2-28

 


                                            AVAILABLE SUBROUTINES



          When transferring data in alternate buffer mode,
          the user program must acknowledge the completion of
          each buffer. The user program must also define an I/O
          status block.

          Description of alternate buffer data transfer and how
          to synchronize the user program with it,


          1  The data transfer is started using buffer 1.

          2  The hardware completes buffer 1 and switches
             automatically to buffer 2.

          3  The value 1 will be written to the buffermark of
             the I/O status block. The event flag will be set,
             and the status SYSTEM$_FACILITY will be returned.

          4  The user program recognizes the event flag (and/or
             the change in the buffermark) and prepares buffer
             1 for the next data transfer. Meanwhile the data
             transfer is continuing using buffer 2.

          5  The user program signals that buffer 1 is ready for
             being transferred by clearing the buffer header in
             buffer 1 and the event flag.

          6  The hardware completes buffer 2 and switches
             automatically to buffer 1.

          7  The value 2 will be written to the buffermark of
             the I/O status block. The event flag will be set
             and the status SYSTEM$_FACILITY will be returned.

          8  The user program recognizes the event flag (and/or
             the change in the buffermark) and prepares buffer
             2 for the next data transfer. Meanwhile the data
             transfer is continuing using buffer 1.

          9  The user program signals that buffer 2 is ready for
             being transferred by clearing the buffer header in
             buffer 2 and the event flag.

                                                             2-29

 


          AVAILABLE SUBROUTINES



          10 The steps 2 through 9 will be repeated until the
             specified buffer count is exhausted. Prior to the
             last buffer transfer the device will switch back to
             single buffer mode and the status SS$_NORMAL will
             be returned.


          If during step 3 and step 7 the driver detects that
          the bufferheader was not cleared by the user program,
          the transfer is terminated with the return status
          code SS$_DATAOVERUN (data overrun). In this case the
          buffermark points to the last buffer used and the byte
          count is set to the number of bytes transferred from
          this buffer.

          For more details on this please refer to the DRX11-
          C/VMS Driver User's and Installation Guide (order
          number AA-HV08A-TE).

          Note: The data buffers contain four additional bytes
          allocated to the "buffer header". This header must be
          zero at the beginning of the transfer. The driver will
          write the current block count into the buffer header
          at the end of each block. The driver, in turn, expects
          the user program to clear this count in order to mark
          the buffer available for another transfer.















          2-30

 


                                            AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.20   AAF$CONLAR Start large buffer ADC Conversion

          The subroutine AAF$CONLAR loads the QIO parameters
          and sets the GO bit in the AAF01 Command and Status
          Register to start the large buffer conversion.

          The DIAGNOSE privilege is needed to use this
          subroutine.

          Calling Sequence:

          CALL
          AAF$CONLAR (IND,%VAL(IEFN),IOST,LARBUF,%VAL(LARLEN),
          %VAL(SUBLEN),%VAL(SUBBUFS),%VAL(TIMEOUT),
          %VAL(IBURST))

          Input Parameters:

          IEFN     Type = longword (unsigned)
                   Call mechanism = by value
                   Number of the event flag that is to be set
                   when one sub-buffer is full.

          LARBUF   Type = word (unsigned)
                   Call mechanism = by reference
                   Address of the large buffer (word aligned)
                   for the data to be written to the AAF01.

          LARLEN   Type = longword (unsigned)
                   Call mechanism = by value
                   Length of the large buffer in bytes (must
                   not be 0 or odd). Maximum size is restricted
                   only by the free physical memory available.
                   The length must be an even multiple of the
                   sub-buffer length.





                                                             2-31

 


          AVAILABLE SUBROUTINES




          SUBLEN   Type = longword (unsigned)
                   Call mechanism = by value
                   Length of one sub-buffer in bytes (must not
                   be 0 or odd). Maximum size is 125442 bytes.

                   Note: The sub-buffer should have a reasonable
                   size for proper synchronization, which will
                   heavily depend on the data transfer rate.

          SUBBUFS  Type = longword (unsigned)
                   Call mechanism = by value
                   Number of sub-buffers (greater than 0).
                   The large buffer can also be transferred
                   partially, if the subbuffer to largebuffer
                   ratio is N, then the number of subbuffers can
                   be from 1 to N (where N subbuffers is the one
                   large buffer).
                   If the large buffer should be transferred
                   more than once give a subbuffer count greater
                   than N (ie. 3*N means three times). After
                   N subbuffers a IO$_NOTIFY must be issued to
                   clear the large buffer overflow condition.

          TIMEOUT  Type = longword (unsigned)
                   Call mechanism = by value
                   Time-out count is seconds

          IBURST   Type = longword (unsigned)
                   Call mechanism = by value
                   Burst mode modifier
                   0   = no burst mode
                   1   = burst mode








          2-32

 


                                            AVAILABLE SUBROUTINES



          Output Parameters:

          IND     Type = longword (unsigned)
                  Call mechanism = by reference
                  Returns the success or failure status
                  1   = successful completion
                  nnn = VAX/VMS status code

          IOST    Type = longword (unsigned)
                  Call mechanism = by reference
                  Address of a quadword I/O status block that is
                  to receive final completion status.





























                                                             2-33

 


          AVAILABLE SUBROUTINES



          The size of the large buffer must be an even multiple
          of the sub-buffer:

          large buffer size = n * sub-buffer size (where
          n=2,4,6...)


          Format of I/O status block:

          First word of first longword:   Return Status

          Second word of first longword:  Buffermark

          Second longword:                Byte Count

          The byte count is the size (or a part of it) of the
          last large buffer being transferred up to the point of
          termination of the I/O function.

          For more details of large buffer transfers refer to
          the DRX11-C/VMS driver manual.




















          2-34

 


                                            AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.21   IO$_NOTIFY Clear large buffer overflow condition

          This function allows a large buffer transfer to wrap
          around to the beginning of the large buffer.
          If the large buffer should be transferred more than
          once, after N (where N sub-buffers is one large
          buffer) subbuffers a IO$_NOTIFY must be issued to
          clear the large buffer overflow condition.

          IND = SYS$QIOW (%VAL(IEFN),%VAL(ICHAN),
          %VAL(IO$_NOTIFY),IOSB,,,,,,,,,)

          Input Parameters:

          IEFN  Type= longword (unsigned)
                Call mechanism = by value
                Number of the event flag to be set when the
                request is completed.

                Note: Must be different from the IEFN used by
                AAF$CONLAR.


          ICHAN Type = longword (unsigned)
                Call mechanism = by value
                Number of the I/O channel assigned to the device
                to which the request is directed.


          Output Parameters:

          IOSB Type = word (unsigned)
               Call mechanism = by reference
               Address of a qudword I/O status block that is to
               receive the first completion status.

               Note: Must be different from the IOST used by
               AAF$CONLAR.


                                                             2-35

 


          AVAILABLE SUBROUTINES






          IND  Returns the success or failure status
               1   = successful completion
               nnn = VAX/VMS status code


          The current I/O-channel is stored in ICHAN. To obtain
          it define the following in your FORTRAN program:

               INTEGER*2   IOST(4)
               INTEGER*4   ICHAN

               COMMON  /AAF_DATA/ IOST,ICHAN


























          2-36

 


                                            AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.22   AAF$FUNSOL: Enable/Disable Attention AST

          Calling this routine will allow to enable/disable
          attention AST recognition.

          Calling sequence:

          CALL AAF$FUNSOL (JASTAD,ASTPRM)

          Input parameters:






























                                                             2-37

 


          AVAILABLE SUBROUTINES




          JASTAD  Type = longword (unsigned)
                  Call mechanism = by reference

                  Depending on the value of this parameter, two
                  different functions of the call are possible:


                  1  JASTAD = Address of the attention AST
                     routine, then the function of the call is
                     to connect to unsolicited interrupts. The
                     attention AST routine will be executed
                     upon receipt of one of the following
                     interrupting conditions: momentary STAT0
                     input received or already set, AAF01 is
                     offline, non existent memory trap (faulty
                     DRX11-C hardware).

                     Upon entry of the attention AST routine,
                     the ASTPRM contains the SCR register
                     content of the DRX11-C interface at the
                     time of the interrupt.

                     While a conversion is running the AST
                     notification is disabled. If one of the
                     above mentioned interrupt conditions occurs
                     the conversion is stopped and the status
                     SS$_ ENDOFFILE is returned to the calling
                     program.

                     The function is disabled by issuing a
                     disconnect from unsolicited interrupt, by
                     issuing a $CANCEL system service or by exit
                     of the user program.

                  2  JASTAD = 0, then the function of the
                     call is to disconnect from unsolicited
                     interrupts. (Disable the unsolicited
                     interrupts.)


          2-38

 


                                            AVAILABLE SUBROUTINES



          Output parameters:

          ASTPRM  Type = word (unsigned)
                  Call mechanism = by reference

                  Upon entry of the attention AST routine,
                  the ASTPRM contains the SCR register content
                  of the DRX11-C interface at the time of the
                  interrupt.
































                                                             2-39

 


          AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.23   AAF$FAEXIT: Release AAF01

          Calling this routine will allow to reset the DRX11-C.

          Calling sequence:

          CALL AAF$FAEXIT(MASK)

          Input parameters:

          MASK    Type = word (unsigned)
                  Call mechanism = by reference

                  Mask to be placed into the DBR register of
                  DRX11-C


          Output parameters:

          None




















          2-40

 


                                            AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.24   AAF$FSIGNL: Signal Error

          Calling this routine will allow to analyze an error
          code returned by one of the other routines of the
          AAF01.

          Calling sequence:

          CALL AAF$FSIGNL (JERR)

          Input parameters:

          JERR    Type = word (unsigned)
                  Call mechanism = by reference

                  Integer value of an error code encountered
                  by one of the AAF01 subroutines, see below


          Output parameters:

          None

          Depending on the value of the error code JERR, error
          messages may be output to an implicit logical unit (as
          is done by the FORTRAN statement: TYPE *,list):


          List of error messages:

          _______________________________________________________
          Error
          code___Error_message___________________________________

           - 2   AAF01-AAF$FLOCWT/AAF$FRECWT: Low limit is out
                 of range




                                                             2-41

 


          AVAILABLE SUBROUTINES


          _______________________________________________________
          Error
          code___Error_message___________________________________

           - 3   AAF01-AAF$FLOCWT/AAF$FRECWT: High limit is out
                 of range

           - 4   AAF01-AAF$FLOCWT/AAF$FRECWT: Low limit larger
                 than high limit

           - 5   AAF01-AAF$FRECWT: Length parameter is too small

           - 6   Reserved

           - 7   AAF01-AAF$FCVCOD: Voltage value is out of range

           - 8   AAF01-AAF$FSTPCR: Clock counter is out of range

           - 9   Reserved

           - 10  AAF01-AAF$FLOCTA: CTA address is out of range

           - 11  AAF01-AAF$FANOUT: Channel number is out of
                 range

          <-12___AAF01-AAF$FSIGNL:_Error_code_is_not_yet_defined_
















          2-42

 


                                            AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.25   AAF$FCVCOD: Calculate Converter Code

          Calling this routine will allow to calculate the
          converter code for a desired voltage value.

          Calling sequence:

          CALL AAF$FCVCOD (JSTAT, VOLT, JCOD)

          Input parameters:

          VOLT    Type = D_Floating
                  Call mechanism = by reference

                  Voltage value


          Output parameters:

          JSTAT   Type = word (unsigned)
                  Call mechanism = by reference
                  Return status

          JCOD    Type = word (unsigned)
                  Call mechanism = by reference
                  Converter code corresponding to the voltage
                  value VOLT for the actual AAF01

          This routine will read the Unipolar Operation bit of
          the AAF01 in order to choose the proper conversion
          algorithm.









                                                             2-43

 


          AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.26   AAF$FAAFID: Identify AAF01

          Calling this routine will allow to get the version
          number and the patch level of the current AAF01
          Subroutine Library.

          Calling sequence:

          CALL AAF$FAAFID (IVERSN, IPATCH)

          Input parameters:

          None


          Output parameters:

          IVERSN  Type = word (unsigned)
                  Call mechanism = by reference
                  Version number of the current AAF01 Subroutine
                  Library

          IPATCH  Type = word (unsigned)
                  Call mechanism = by reference
                  Patch level of the current AAF01 Subroutine
                  Library

          As an example, for the AAF01 Subroutine Library V2.0,
          the values returned by the routine AAF$FAAFID are:
          IVERSN = 2, IPATCH = 0 .










          2-44

 


                                            AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.27   AAF$STATUS GET THE STATUS OF DRX11-C INTERFACE

          The subroutine AAF$STATUS will get the contents of the
          DRX11-C hardware registers.

          Calling Sequence:

          CALL AAF$STATUS (IND,BUFFER)

          Input Parameters:

          None


          Output Parameters:

          IND     Type = longword (unsigned)
                  Call mechanism = by reference
                  Returns the success or failure status
                  1   = successful completion
                  nnn = VAX/VMS status code

          BUFFER  Type = word (unsigned)
                  Call mechanism = by reference
                  18-byte long array to get the DRX11-C register
                  contents

                  WORD 0:   - SCR contents
                  WORD 1:   - COR contents
                  WORD 2:   - BAR1 contents
                  WORD 3:   - WCR1 contents
                  WORD 4:   - BAR2 contents
                  WORD 5:   - WCR2 contents
                  WORD 6:   - Current WCO
                  WORD 7:   - Current ACO
                  WORD 8:   - XA22 contents (DRQ11-C only)




                                                             2-45

 


          AVAILABLE SUBROUTINES



          For detailed information see the "DRX11-C/VMS Driver
          User's and Installation Guide" (document no. AA-HV08A-
          TE).






































          2-46

 


                                            AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.28   SYS$WAITFR Wait for Event Flag

          The system service SYS$WAITFR waits for a specific
          event flag and returns immediately if the flag is set.
          Otherwise, the process is placed in a wait state until
          the event flag is set.


          Calling Sequence:

          CALL SYS$WAITFR (%VAL(IEFN))


          Input Parameter:

          IEFN   Type = longword (unsigned)
                 Call mechanism = by value

                 Number of the event flag for which to wait

          More information is available from the SYSTEM SERVICE
          REFERENCE MANUAL.


















                                                             2-47

 


          AVAILABLE SUBROUTINES


          __________________________________________________________________

   2.29   SYS$CLREF Clear Event Flag

          The system service SYS$CLREF sets a specific event
          flag in a local or common event flag cluster to 0.


          Calling Sequence:

          CALL SYS$CLREF (%VAL(IEFN))


          Input Parameter:

          IEFN   Type = longword (unsigned)
                 Call mechanism = by value

                 Number of the event flag to be cleared

          More information is available in the SYSTEM SERVICES
          REFERENCE MANUAL.




















          2-48

 






          _______________________________________________________

   3      PROGRAMMING THE AAF01



          __________________________________________________________________

   3.1    AAF01$CWT.COM

          This indirect command procedure may be used to create
          the Control Table. For each desired channel the
          channel number and the Control Word mode will be
          inserted in one Control Word. The created Control
          Table will be assembled to have a object file.

          A sample run of the indirect command procedure:

               $ @AAF01$CWT

                Generation of the AAF01 control word table

                Input parameter are:
                 Channel: channel address
                   for selection of one of the
                   16 input channels.

                 Control word mode:

                The Control Word mode specifies one of these modes:











                                                              3-1

 


          PROGRAMMING THE AAF01



                0  Conversion and increment CTA for next Control Word
                1  Conversion and go to Control Word 0
                2  Dummy cycle for current channel
                3  as mode 2, but additionally wait for sequence start
                   pulse and go to next Control Word (SEQ CONT L input
                   signal must be used)
                4  as mode 2, but additionally the SYS IN PROG L output
                   signal is deasserted during this conversion
                5  as modes 2 and 4, but additionally the Control Table
                   starts at Control Word 0 again after this conversion
                6  as modes 2 and 4, but the complement of the 12 bit
                   PCR is used as cycle time for this conversion
                7  as modes 2 and 4, but additionally the COUT L output
                   signal is asserted during this conversion

                -------------------------------------------------------

                     NAME FOR THE AAF01 CONTROL WORD TABLE FILE
                     E.G. CONTROL
               name: CONTROL1
               channel: 0
               control word mode: 0
               channel: 1
               control word mode: 0
               channel: 2
               control word mode: 0
               channel: 3
               control word mode: 0
               channel: 4
               control word mode: 1
               channel:
               $
               $ MACRO CONTROL1/LIS
               $ SET NOVERIFY
               $






          3-2

 


                                            PROGRAMMING THE AAF01



          Example of a control table

                       .TITLE CONTROLTABLE
               ;
               ;        AAF01 control word table
               ;
                       .PSECT AAF_CONTROLTABLE PIC,GBL,SHR,OVR,NOEXE,LONG
               ;
               AAF_CONTROLTABLE:
               ;
                       .WORD 0          ; CHAN = 0 MODE = 0
                       .WORD 1          ; CHAN = 1 MODE = 0
                       .WORD 2          ; CHAN = 2 MODE = 0
                       .WORD 3          ; CHAN = 3 MODE = 0
                       .WORD 68         ; CHAN = 4 MODE = 1
               ;
                       .END
























                                                              3-3

 


          PROGRAMMING THE AAF01


          __________________________________________________________________

   3.2    Programming the AAF01

          A digital to analogue conversion sequence is
          performed, using the AAF01/VMS Subroutine Library,
          in the following steps:

          o  Prepare the Control Table (using the indirect
             command procedure AAF01$CWT.COM), or build it
             directly in program.

          o  Prepare the buffer with the analogue output data
             (using the subroutine AAF$FCVCOD to calculate the
             converter codes);

          o  Load the Control Table to the AAF01 (using the
             subroutine AAF$FLOCWT);

          o  Set the Control Table address CTA to the beginning
             of the Control Table (using the subroutine
             AAF$FLOCTA);

          o  Load the Programmable Clock Register PCR (using the
             subroutine AAF$FSTPCR);

          o  Start the conversion (using the subroutine
             AAF$FCVERT or AAF$CONLAR);

          o  Wait for the end of the conversion (using the VMS
             directive WAITFR and the subroutine AAF$FREAST).

          The End of Conversion Sequence bit EOC gives more
          information on the conversion end. If the EOC bit
          is cleared, it was a regular end of the conversion
          sequence. If the EOC bit is set, then one of the two
          bits, either the DBE (Data Buffer Empty) bit or the
          SBR (Sequence Break) bit, is set, too, thus indicating
          the reason for the (abnormal) end of conversion.

          Further information on programming the AAF01 may be
          found in the example programs which are listed in the
          distribution kit.

          3-4

 


                                            PROGRAMMING THE AAF01



          Every FORTRAN user program which is to access the
          Control Table created by the indirect command
          procedure AAF01$CWT.COM must have the following
          specification statements:

          INTEGER*2     TAB(M)

          COMMON /AAF_CONTROLTABLE/TAB

          AAF_CONTROLTABLE  PSECT of the Control Word Table
                            (Defined by using AAF01$CWT.COM).

          M                 Is the number of elements in the
                            Control Word Table
                            1 less or equal to M less or equal
                            to 1024

          If unsolicited interrupt recognition is desired, the
          subroutine AAF$FUNSOL for enabling the attention AST
          has to be called in the user program right after the
          initialization of the AAF01.


          __________________________________________________________________

   3.3    AAF01$LINK.COM

          Program listing of command file AAF01$LINK.COM:

               $ GOTO START
               !
               ! AAF01$LINK.COM  COMMAND FILE TO LINK THE CONTROL TABLE FILE
               !           AND THE USER PROGRAM WITH THE AAF01/VMS SUBROUTINE 
               !           LIBRARY
               !
               ! E.G.: @AAF01$LINK AAF01$CONTAB USERPROGRAM
               !
               $ START:
               $ SET VERIFY
               $ LINK 'P1','P2'/EXE,AAF01$LIB/LIB
               $ SET NOVERIFY

                                                              3-5

 


          PROGRAMMING THE AAF01





          Example to link the program USERPROGRAM with the
          control table CONTROL1.

               $ @AAF01$LINK CONTROL1 USERPROGRAM
               $ LINK CONTROL1, USERPROGRAM/EXE, AAF01$LIB/LIB


































          3-6

 






          _______________________________________________________

   4      PREPARING TO INSTALL THE AAF01/VMS SUBROUTINE LIBRARY




          This chapter discusses the preparations and
          requirements necessary for installing the AAF01/VMS
          Subroutine Library.

          This manual applies to Version 2.0 of the AAF01/VMS
          Subroutine Library and all subsequent maintenance
          releases up to the next major product release.

          Your bill of materials (BOM) and indented bills report
          (BIL) specify the number and contents of your media.
          Be sure to verify the contents of your kit with
          this information. If your kit is damaged or if you
          find that parts of the kit are missing, contact your
          DIGITAL representative.

          The AAF01/VMS distribution kit provides online Release
          Notes. DIGITAL strongly recommends that you read the
          Release Notes before proceeding with the installation.

          __________________________________________________________________

   4.1    Required Operating System Components

          For VMS V5.x systems, the following VMS classes
          are required for full functionality of this layered
          product:

                    o BASE    Base System

                    o PROG    Programming Support

                    o SYSP    System Programming Support


                                                              4-1

 


          PREPARING TO INSTALL THE AAF01/VMS SUBROUTINE LIBRARY


          __________________________________________________________________

   4.2    Prerequisite and Optional Software

          This section discusses the software you must have
          installed on your system before installing the
          AAF01/VMS Subroutine Library. The section also
          includes information about software that you can use
          together with the AAF01/VMS Subroutine Library. Please
          refer to the System Software Addendum (SSA) for the
          required versions of these prerequisites. The SSA is
          part of the Software Product Description (SPD).

          ___________________________

   4.2.1  Prerequisite Software

          A valid version of the VMS V5.x Full
          Kit, a loaded DRX11-C/VMS Device Driver
          (with valid license and with the file
          SYS$SYSROOT:[SYSHLP.EXAMPLES.DRX11C]DRX11C$DEFINC.FOR)
          and the registered and loaded AAF01-SUBROUTINE-LIBRARY
          authorization key are needed in order to install the
          AAF01/VMS Subroutine Library.

          Please refer to the System Software Addendum (SSA) for
          the required versions of these prerequisites. The SSA
          is part of the Software Product Description (SPD).

          ___________________________

   4.2.2  Optional Software

          o  VAX FORTRAN (FORSYSDEF.TLB has also to be build)

          o  or any other VAX/VMS high level languages

          Please refer to the System Software Addendum (SSA) for
          the required versions of these optional products. The
          SSA is part of the Software Product Description (SPD).


          4-2

 


            PREPARING TO INSTALL THE AAF01/VMS SUBROUTINE LIBRARY


          __________________________________________________________________

   4.3    Prerequisite Hardware

          o  one DRE11-C or DRQ11-C interface

          o  one AAF01 interface

          o  test connector for running the IVP

          __________________________________________________________________

   4.4    VMS License Management Facility

          The VMS License Management Facility is available with
          Version 5.0 of the VMS operating system. If you are
          installing the AAF01/VMS Subroutine Library on a
          VMS V5.0 system, you have to register your software
          license first.

          The Product Authorization Key (PAK), which is shipped
          with the AAF01/VMS distribution, contains the
          necessary license registration information. The PAK
          is a paper certificate that contains information about
          the license.

          It is required that the the AAF01-SUBROUTINE-LIBRARY
          license has been registered before you perform the
          installation. During the installation, you are asked
          if you have registered and loaded the the AAF01-
          SUBROUTINE-LIBRARY license. If you have not already
          done so, please answer "NO". Once you have performed
          the license registration and loaded, you may restart
          the installation.

          To register a license under VMS V5.0, first log in to
          the system manager's account, SYSTEM, offering you two
          different possibilities to perform the registration:

          o  Invoke the SYS$UPDATE:VMSLICENSE.COM procedure.
             When it prompts you for information, respond with
             data from your Product Authorization Key (PAK).

                                                              4-3

 


          PREPARING TO INSTALL THE AAF01/VMS SUBROUTINE LIBRARY



          o  Issue the DCL command "LICENSE REGISTER" with
             the appropriate qualifiers that correspond to
             information on the PAK.

          For complete information on using LMF, see the manual
          on the License Management Utility in the VMS V5.0
          documentation set.

          __________________________________________________________________

   4.5    VAXcluster Considerations

          This layered product is fully supported when installed
          on any valid and licensed VAXcluster configuration.
          The software components of the product will be
          installed common to all accessing systems. Due to
          the fact, that this product is hardware dependent, the
          application programs accessing the DRX11-C/AAF01 have
          to run on the specific node, where the DRX11-C and the
          AAF01 interfaces are installed.

          __________________________________________________________________

   4.6    Installation Procedure Requirements

          The following sections discuss various requirements
          for installing the AAF01/VMS Subroutine Library.

          ___________________________

   4.6.1  Time

          The installation should take approximately between
          5 to 40 minutes, depending on your type of media and
          your system configuration.

          Installing the AAF01/VMS Subroutine Library and
          running the IVP on a standalone VAX 11/780 system
          takes approximately 10 minutes.


          4-4

 


            PREPARING TO INSTALL THE AAF01/VMS SUBROUTINE LIBRARY


          ___________________________

   4.6.2  Privileges

          To install the AAF01/VMS Subroutine Library, you have
          to be logged in to the SYSTEM account.

          Note that VMSINSTAL turns off BYPASS privilege at the
          start of the installation.

          ___________________________

   4.6.3  Disk Space

          Installing the AAF01/VMS Subroutine Library requires a
          certain amount of free storage disk space during the
          installation. Once the AAF01/VMS Subroutine Library is
          installed, less storage space is required. Table 4-1
          summarizes the storage requirements for the AAF01/VMS
          Subroutine Library.

          Table_4-1__Disk_Space_Requirements_____________________

                           Blocks During         Blocks After
          Kit______________Installation__________Installation____

          AAF01/VMS        850                   550
          Subroutine
          Library Version
          2.0____________________________________________________

          To determine the number of free disk blocks on the
          current system disk, enter the following command at
          the DCL prompt:

               $ SHOW DEVICE SYS$SYSDEVICE

          ___________________________

   4.6.4  System Parameters

          The required system parameter values are the standard
          parameter values for the installation. Depending on
          the kinds of programs and applications running at your
          site, you might need some higher value settings.

                                                              4-5

 


          PREPARING TO INSTALL THE AAF01/VMS SUBROUTINE LIBRARY


          ___________________________

   4.6.5  Process Account Quotas

          The account you use to install the AAF01/VMS
          Subroutine Library needs to have sufficient quotas
          enabling you to perform the installation. The required
          quotas for the installation are equal to those with
          the standard SYSTEM account.

          ___________________________

   4.6.6  VMSINSTAL Requirements

          When you invoke VMSINSTAL, the following will be
          checked:

          o  Whether you have set your default device and
             directory to SYS$UPDATE

          o  Whether you are logged in to the SYSTEM account

          o  Whether you have adequate quotas for installation

          o  Whether DECnet is up and running

          o  Whether any users are logged in to the system

          If VMSINSTAL detects any problems during the
          installation, it notifies you of the problem and asks
          if you want to continue the installation. In some
          instances, you can enter "YES" to continue. To stop
          the installation process and correct the situation,
          enter "NO" or press RETURN. Then solve the problem and
          restart the installation.

          ___________________________

   4.6.7  Backing Up Your System Disk

          At the beginning of the installation, VMSINSTAL asks
          if you have backed up your system disk. DIGITAL
          recommends that you do a system disk backup before
          installing any software on top of the operating
          system.

          4-6

 


            PREPARING TO INSTALL THE AAF01/VMS SUBROUTINE LIBRARY



          Use the backup procedures that have been established
          at your site. For details on performing a system disk
          backup, see the section on the Backup Utility in the
          VMS documentation set.

          ___________________________

   4.6.8  License Management Utility Requirements

          You will need to register and load your license for
          the AAF01/VMS Subroutine Library before you start
          the installation. Refer to the VMS documentation on
          the License Management Utility for information about
          registering your license.

          For more information on the VMS License Management
          Facility, see the VMS documentation set.
























                                                              4-7

 






          _______________________________________________________

   5      INSTALLING THE AAF01/VMS SUBROUTINE LIBRARY




          This chapter describes how to install the AAF01/VMS
          Subroutine Library. Section 5.2 contains a step-by-
          step description of the installation procedure.

          __________________________________________________________________

   5.1    General Information

          This section includes information about accessing
          Release Notes, determining files added to your system,
          running the Installation Verification Procedure (IVP),
          and aborting the installation.

          ___________________________

   5.1.1  Accessing the Online Release Notes

          The AAF01/VMS Subroutine Library provides online
          Release Notes. If you specify OPTIONS N when you
          invoke VMSINSTAL, the installation procedure asks
          you if you want to display or print the Release Notes.
          The Release Notes question comes near the beginning of
          the installation. You should review the Release Notes
          in every case.

          After the AAF01/VMS Subroutine Library has been
          installed, the Release Notes are located in the
          following file:

               SYS$HELP:AAF01$020.RELEASE_NOTES.




                                                              5-1

 


          INSTALLING THE AAF01/VMS SUBROUTINE LIBRARY


          ___________________________

   5.1.2  Determining the Directories/Files Added to the System

          See Appendix B for the directories/files added to the
          system.

          ___________________________

   5.1.3  Running the Installation Verification Procedure (IVP)

          The Installation Verification Procedure (IVP) for
          the AAF01/VMS Subroutine Library verifies the
          installation. During the installation, you are
          asked if you want to run the IVP as part of the
          installation. If you respond YES, VMSINSTAL runs
          the IVP. This is recommended to make sure that the
          AAF01/VMS Subroutine Library has been installed
          correctly.

          After the AAF01/VMS Subroutine Library has been
          installed, you can run the IVP independently. You
          might also want to run the IVP after a system failure
          to make sure that the AAF01/VMS Subroutine Library
          remains executable.

                               $ @SYS$SYSROOT:[SYSTEST.AAF01]AAF01$IVP.COM

          Note: Due to the fact, that the product is hardware
          dependent, the IVP have to run seperately only on
          that specific node, where the DRX11-C and the AAF01
          interface are installed.

          ___________________________

   5.1.4  Aborting the Installation

          To abort the installation procedure at any time,
          press CTRL/Y. When you press CTRL/Y, the installation
          procedure deletes all files it has created up to that
          point and exits. You can then start the installation
          again.

          5-2

 


                      INSTALLING THE AAF01/VMS SUBROUTINE LIBRARY


          __________________________________________________________________

   5.2    The Installation Procedure

          The the AAF01/VMS Subroutine Library installation
          process consists of a series of questions and
          informational messages.

          ___________________________

   5.2.1  Invoking VMSINSTAL

          To start the installation, invoke the VMSINSTAL
          command procedure from a privileged account, such
          as the SYSTEM account. Next, invoke VMSINSTAL. You use
          the following syntax to invoke VMSINSTAL:

              @SYS$UPDATE:VMSINSTAL product-name device-name OPTIONS N

          product-name

          The installation name for the component. For the
          AAF01/VMS Subroutine Library, use the following
          installation name:

               AAF01

          device-name

          The name of the device on which you plan to mount the
          media. For example, DUA2: is the device name for a
          disk drive. It is not necessary to use the console
          drive for this installation. However, if you do use
          the console drive, you should replace any media you
          removed once the installation is completed.

          OPTIONS N

          An optional parameter that indicates you want to be
          prompted to display or print the Release Notes. If you
          do not include the OPTIONS N parameter, VMSINSTAL does
          not prompt you to display or print the Release Notes.
          You are strongly recommended to read the Release Notes
          before proceeding with this installation.

          VMSINSTAL has several other options; for information,
          see the VMS documentation on Software Installation.

                                                              5-3

 


          INSTALLING THE AAF01/VMS SUBROUTINE LIBRARY



          The following example displays the command to invoke
          VMSINSTAL to install the AAF01/VMS Subroutine Library
          from disk drive DUA2: and the system response. This
          example uses the OPTIONS N parameter for printing or
          displaying Release Notes.

               $ @SYS$UPDATE:VMSINSTAL AAF01 DUA2: OPTIONS N

                     VAX/VMS Software Product Installation Procedure V5.0

               It is 24-JUN-1988 at 10:19.
               Enter a question mark (?) at any time for help.

          If you do not supply either the product name or
          the device name, VMSINSTAL prompts you for this
          information later on in the installation procedure.
          VMSINSTAL does not prompt you for any options,
          so be sure to include OPTIONS N on the VMSINSTAL
          command line to access the Release Notes during the
          installation.

          ___________________________

   5.2.2  Installation Questions

          This section discusses the questions that appear
          during the installation. See Appendix A for a sample
          installation procedure.

          Each question in the installation is marked with
          an asterisk (*) at the beginning of the line. Some
          questions show the default response in brackets,
          for example [YES]. If you want to give the default
          response, press the RETURN key.

          1  DECnet status

             VMSINSTAL notifies you if DECnet is running and
             displays a list of all active processes. It then
             asks if you want to continue the installation. You
             should install the AAF01/VMS Subroutine Library
             on a standalone system or cluster with DECnet shut
             down. "NO" is the default response to the question.

          5-4

 


                      INSTALLING THE AAF01/VMS SUBROUTINE LIBRARY



                  %VMSINSTAL-W-DECNET, Your DECnet network is up and running.
                     .
                     .
                     .
                  * Do you want to continue anyway [NO]?

          2  System backup

             VMSINSTAL asks if you are satisfied with your
             system backup. You should always back up your
             system disk before performing an installation.
             If you are satisfied with the backup of your
             system disk, press RETURN. Otherwise, enter "NO"
             to discontinue the installation. After you back up
             your system disk, you can restart the installation.

                  * Are you satisfied with the backup of your system disk [YES]?

          3  Mounting the media

             You should now mount the first distribution volume
             on the device you specified when you invoked
             VMSINSTAL. The device name appears in the line
             preceding the question. VMSINSTAL then asks you if
             you are ready to continue with the installation.

             If you respond "YES" to indicate that you are
             ready, VMSINSTAL displays a message that the media
             containing the AAF01/VMS Subroutine Library has
             been mounted on the specified device and that the
             installation has begun. For example:

                  Please mount the first volume of the set on DUA2:.
                  * Are you ready? YES
                  %MOUNT-I-MOUNTED, AAF01 MOUNTED ON _$$DUA2:  (NODE 1)
                  The following products will be processed:
                     AAF01 V2.0

                      Beginning installation of the AAF01 V2.0 at 20:01

                  %VMSINSTAL-I-RESTORE, Restoring product saveset A...

                                                              5-5

 


          INSTALLING THE AAF01/VMS SUBROUTINE LIBRARY



             If you entered the wrong device name when you
             invoked VMSINSTAL and need to restart the
             installation, enter NO in response to the "Are
             you ready?" question. To abort the installation for
             other reasons, press CTRL/Y.

          4  Additional media volumes

             If your installation kit contains more than one
             volume, VMSINSTAL prompts you to insert the
             additional volumes and then asks you to indicate
             that you are ready for the installation to proceed.

                  %BACKUP-I-READYREAD, mount volume 2 on _DUA2: for reading

                  Enter "YES" when ready:

          5  Release Notes

             If you specified OPTIONS N when you invoked
             VMSINSTAL, you are now given five options for
             reviewing the Release Notes.

                  Release Notes Options:

                      1. Display Release Notes
                      2. Print Release Notes
                      3. Both 1 and 2
                      4. Copy Release Notes to SYS$HELP
                      5. Do not display, print or copy Release Notes

                  * Select option [2]:

             If you select option 1, VMSINSTAL displays the
             Release Notes immediately on the console terminal.
             You can terminate the display at any time by
             pressing CTRL/C.

             If you select option 2, VMSINSTAL prompts you for
             the name of the print queue that you want to use:

                  * Queue name [SYS$PRINT]:

             You can enter a queue name or press RETURN to send
             the file to the default output print device.

          5-6

 


                      INSTALLING THE AAF01/VMS SUBROUTINE LIBRARY



             If you select option 3, VMSINSTAL displays the
             Release Notes immediately on the console terminal
             and then prompts you for a queue name for the
             printed version.

          6  Continuing the installation

             The installation procedure now asks if you want
             to continue the installation. To continue, enter
             YES. Otherwise, press RETURN. In either case, the
             Release Notes are copied to a file in the SYS$HELP
             directory. For example:

                  * Do you want to continue the installation [N]?: YES
                  %VMSINSTAL-I-RELMOVED, The products Release Notes have been
                  successfully moved to SYS$HELP.

             The Release Notes are located in the following
             file:.

                  SYS$HELP:AAF01$020.RELEASE_NOTES.

             Note: The name of the Release Notes file installed
             by VMSINSTAL consists of the current product name
             and version number. Do not delete Release Notes
             for previous versions of the AAF01/VMS Subroutine
             Library.

          7  License Registration

             If you have already registered and loaded the
             PAK, the specific information for this particular
             license will be displayed:

                  Product:  AAF01-SUBROUTINE-LIBRARY
                  Producer: DEC
                  Version:  2.0
                  Release Date: 1-MAY-1988

             The installation procedure asks if you have
             registered and loaded your authorization key for
             the AAF01/VMS Subroutine Library.

                                                              5-7

 


          INSTALLING THE AAF01/VMS SUBROUTINE LIBRARY



                  * Does this product have an authorization key 
                    registered and loaded?

             If you have not registered and loaded your
             authorization key, you have to answer "NO" to
             this question. A successful installation of the
             AAF01/VMS Subroutine Library depends upon an
             authorization key being registered and loaded.
             Please be certain that this has been completed
             before proceeding with the installation.

          8  Choosing to purge files

             You have the option to purge files from previous
             versions of the AAF01/VMS Subroutine Library that
             are superseded by this installation. Purging is
             recommended; however, if you need to keep files
             from the previous version, enter "NO" in response
             to the question.

                  * Do you want to purge files replaced by this 
                    installation [YES]?

          9  Choosing to run the Installation Verification
             Procedure (IVP)

             The installation procedure now asks if you want to
             run the Installation Verification Procedure. The
             IVP for the AAF01/VMS Subroutine Library checks
             to be sure that the installation was succesful. It
             is recommended that you run the IVP. The loopback
             cable must be installed on the AAF01 interface
             to successfully run the IVP. If the cable is not
             installed then do not request execution of the IVP.

                  * Do you want to run the IVP after the installation [YES]?







          5-8

 


                      INSTALLING THE AAF01/VMS SUBROUTINE LIBRARY


          ___________________________

   5.2.3  Informational Messages

          At this point, the installation procedure displays a
          number of informational messages that report on the
          progress of the installation. There are no further
          questions to answer. VMSINSTAL moves the files to
          their target directories, updates help files, and
          updates DCL tables, if necessary. The following
          message is displayed:

               %VMSINSTAL-I-MOVEFILES, Files will now be moved to their target
               directories...

          ___________________________

   5.2.4  Running the Installation Verification Procedure

          If you chose to run the IVP, VMSINSTAL runs it now.
          When the IVP runs successfully, you see the following
          display:

               %AAF01-I-SUCCESS, The IVP of the AAF01 V2.0 was successful...

                The AAF01/VMS Subroutine Library Installation Verification 
                Procedure AAF01$IVP can be run again using the following 
                command:

                $ @SYS$SYSROOT:[SYSTEST.AAF01]AAF01$IVP

          ___________________________

   5.2.5  Completing the Installation Procedure

          The following messages indicate that the entire
          installation procedure has completed:

                  Installation of AAF01 V2.0 completed at 10:49

                  VMSINSTAL procedure done at 11:04

          You can now log out of the privileged account:

               $ LOGOUT
               SYSTEM     logged out at 24-JUN-1988 11:05:00.00

                                                              5-9

 


          INSTALLING THE AAF01/VMS SUBROUTINE LIBRARY



          Note that VMSINSTAL deletes or changes entries in
          the process symbol tables during the installation.
          Therefore, if you are going to continue using the
          system manager's account and you want to restore these
          symbols, you should log out and log in again.

          __________________________________________________________________

   5.3    Error Recovery

          If errors occur during the installation itself or
          when the IVP is running, VMSINSTAL displays failure
          messages. If the installation fails, the following
          message is displayed:

               %VMSINSTAL-E-INSFAIL, The installation of the AAF01 V2.0
               has failed.

          If the IVP fails, the following messages are
          displayed:

               %VMSINSTAL-E-IVPFAIL, The IVP for the AAF01 V2.0 has failed.

          Errors can occur during the installation if any of the
          following conditions exist:

          o  The operating system version is incorrect.

          o  Quotas necessary for successful installation are
             insufficient.

          o  System parameter values for successful installation
             are insufficient.

          o  The product is not properly licensed.

          o  The product is not supported on this processor.

          For descriptions of the error messages generated
          by these conditions, see the VMS documentation on
          system messages, recovery procedures, and VMS software
          installation. If you are notified that any of these
          conditions exist, you should take the appropriate
          action as described in the message. (You might need to
          change a system parameter or increase an authorized

          5-10

 


                      INSTALLING THE AAF01/VMS SUBROUTINE LIBRARY



          quota value.) For information on installation
          requirements, see Chapter 1. The product specific
          installation errors, warnings and information messages
          are listed below:

          1.   Error     -  %AAF01-E-BADVMSV1,
                            This kit requires VMS Version V5.0
                            (or later) for correct installation.

                         -  %AAF01-E-BADVMSV2,
                            Please install VMS V5.0 (or later)
                            before installing
                            AAF01 V2.0.

               Solution  -  Operating System must have at least
                            version V5.0 prior to the AAF01/VMS
                            Subroutine Library installation.

          2.   Error     -  %AAF01-E-NOSPACE,
                            The system disk does not contain
                            enough free blocks to install AAF01
                            V2.0

               Solution  -  See section 3.4 in this manual for
                            disk space requirements.

          3.   Error     -  %AAF01-E-NOLICENSE1,
                            The AAF01 V2.0 installation requires
                            a valid license.

                         -  %AAF01-E-NOLICENSE2,
                            Install the Product Authorization
                            Key (PAK) and retry.

               Solution  -  Restart the installation after the
                            license is registered and loaded.





                                                             5-11

 


          INSTALLING THE AAF01/VMS SUBROUTINE LIBRARY




          4.   Error     -  %AAF01-E-NOLICENSE3,
                            The AAF01 V2.0 installation requires
                            a valid DRX11C-DRIVER license.

                         -  %AAF01-E-NOLICENSE4,
                            Install the Product Authorization
                            Key (PAK) for DRX11C-DRIVER and
                            retry.

               Solution  -  Restart the installation after the
                            DRX11C-DRIVER license is registered
                            and loaded.

          5.   Error     -  %AAF01-E-NO_UUDRIVER,
                            The DRX11-C/VMS Driver V6.0 (or
                            later) must be present before AAF01
                            V2.0 can be installed.

               Solution  -  The current operating system does
                            not have the UUDRIVER.EXE V6.0 (or
                            later) in the SYS$LOADABLE_IMAGES
                            directory. Restart the installation
                            after the prerequisite software
                            DRX11-C/VMS Driver is installed
                            successfully.

          6.   Warning   -  %AAF01-W-NO_IVP
                            The IVP will not be executed because
                            the DRX11-C/VMS Driver is not
                            loaded.










          5-12

 


                      INSTALLING THE AAF01/VMS SUBROUTINE LIBRARY




               Solution  -  Complete installation is performed
                            only if the prerequisite software,
                            the DRX11-C/VMS Driver is loaded.
                            The installation continues, but the
                            Installation Verification Procedure
                            (IVP) will not be started. In this
                            case, after loading (installing)
                            the driver, it is absolutely
                            necessary to run IVP and some of the
                            distributed demonstration programs.

          7.   Warning   -  %AAF01-W-NO_FOR,
                            AAF01/VMS FORTRAN demo programs not
                            built because of missing FORTRAN
                            V4.8 (or later) Compiler.

                         -  %AAF01-W-NO_TLB,
                            AAF01/VMS FORTRAN demo programs
                            not build because of missing
                            FORSYSDEF.TLB.

               Solution  -  The current operating system does
                            not have the FORTRAN.EXE V4.8
                            (or later) in the SYS$SYSTEM
                            directory or the FORSYSDEF.TLB
                            in the SYS$LIBRARY directory. The
                            installation continues, the prebuild
                            version of FORTRAN demo programs
                            will be copied from the distribution
                            kit to the appropriate directory.

          8.   Warning   -  %AAF01-W-NO_FILE
                            AAF01 FORTRAN demo programs
                            not build because of missing
                            DRX11C$DEFINC.FOR





                                                             5-13

 


          INSTALLING THE AAF01/VMS SUBROUTINE LIBRARY




               Solution  -  The current operating system has
                            the prerequisite software DRX11-
                            C/VMS Driver installed, but the
                            include file DRX11C$DEFINC.FOR
                            is not present in the
                            SYS$SYSROOT:[SYSHLP.EXAMPLES.DRX11C]
                            directory. The installation
                            continues, the prebuild version of
                            FORTRAN demo programs will be copied
                            from the distribution kit to the
                            appropriate directory.

          9.   Informatio-  There are some information messages
                            printed by VMSINSTAL about the
                            status of the installation (what
                            is currently being done), about
                            new directories created, how to
                            start the successfully built example
                            programs, which directories were
                            used and some information for the
                            system manager.

               Solution  -  No immediate action is needed on
                            information messages.
















          5-14

 






          _______________________________________________________

   6      AFTER INSTALLING THE AAF01/VMS SUBROUTINE LIBRARY




          After installing the AAF01/VMS Subroutine Library, you
          need not to perform any tasks.

          __________________________________________________________________

   6.1    Cluster Considerations

          You can use the product on any other nodes, where
          a DRE11-C/DRQ11-C and the AAF01 interface is
          installed, in the VAXcluster. The application programs
          accessing the DRX11-C/AAF01 interfaces have to run
          on the specific node where the required hardware is
          installed.

          __________________________________________________________________

   6.2    Tailoring Your System

          This section provides information about special system
          arrangements and cleanup procedures that you can
          perform after installing the AAF01/VMS Subroutine
          Library. All source files and example programs located
          in SYS$SYSROOT:[SYSHLP.EXAMPLES.AAF01] are independent
          of the AAF01/VMS Subroutine Library, except the
          AAF01$CWT.COM, AAF01$LINK.COM, AAF01$DEF.MAR and
          AAF01$PARINC.FOR. If it is needed to recover disk
          space, these files can be deleted without any effect
          upon the use of the product.






                                                              6-1

 


          AFTER INSTALLING THE AAF01/VMS SUBROUTINE LIBRARY


          __________________________________________________________________

   6.3    Determining and Reporting Problems

          If an error occurs while the AAF01/VMS Subroutine
          Library is being used and you believe that the error
          is caused by a problem with the AAF01/VMS Subroutine
          Library, take one of the following actions:

          o  If you have a BASIC or DECsupport Software
             Agreement, you should call your Customer Support
             Center. (With these services, you receive telephone
             support that provides high-level advisory and
             remedial assistance.)

          o  If you have a Self-Maintenance Software Agreement,
             you can submit a Software Performance Report (SPR).

          o  If you purchased the AAF01/VMS Subroutine Library
             within the past 90 days and you think the problem
             is caused by a software error, you can submit a
             Software Performance Report (SPR).

          When you prepare to submit an SPR, please do the
          following:

          1  Provide a description of the problem as complete
             as possible, trying not to overlook any details.
             Include in the description the version number of
             the AAF01/VMS Subroutine Library, the current VMS
             system and the CPU type.

          2  Reduce the problem to a size as small as possible,
             preferably to a program of 200 source lines or
             less, including user INCLUDE files.

          3  Submit program sources on machine-readable media
             (floppy diskette or streamer tape), if possible.
             All media will be returned when the SPR is
             answered.

          4  Provide a listing of the program using AAF01/VMS
             Subroutine Library, compiled with the command
             switches: /LIST/CROSS_REFERENCE/SHOW=ALL

          6-2

 


                AFTER INSTALLING THE AAF01/VMS SUBROUTINE LIBRARY



          5  Remember to include listings of any command files,
             linker maps, relevant data files, and so on.

          If you find an error in the the AAF01/VMS Subroutine
          Library documentation, you should fill out and submit
          the Reader's Comments form at the back of the document
          in which the error was found. Include the section and
          page number where the error was found.

































                                                              6-3

 






          _______________________________________________________

   A      SAMPLE INSTALLATION




          This appendix contains a sample installation of the
          AAF01/VMS Subroutine Library. This sample was run on a
          system that had no previous version of the AAF01/VMS
          Subroutine Library installed. Depending on which
          layered products you have on your system, you might
          see additional messages and questions when you perform
          your installation.

          The sample installation assumes that DECnet has been
          shut down, that no users are logged on to your system,
          and that OPTIONS N is specified to print the Release
          Notes. The Installation Verification Procedure (IVP)
          runs at the end of the installation.





                       Welcome to VAX/VMS V5.0

               Username: SYSTEM
               Password:
                       Welcome to VAX/VMS version V5.0 on node CSSSE2
                   Last interactive login on Tuesday, 28-JUN-1988 11:19

               $ @sys$update:vmsinstal aaf01 dua1: options n

                       VAX/VMS Software Product Installation Procedure V5.0

               It is 28-JUN-1988 at 11:20.
               Enter a question mark (?) at any time for help.
               * Are you satisfied with the backup of your system disk [YES]? y <CR>


                                                              A-1

 


          SAMPLE INSTALLATION



               Please mount the first volume of the set on DUA1:.
               * Are you ready? yes
               %MOUNT-I-MOUNTED, AAF01      mounted on _DUA1:
               The following products will be processed:

                 AAF01 V2.0

                       Beginning installation of AAF01 V2.0 at 11:20

               %VMSINSTAL-I-RESTORE, Restoring product saveset A ...

                   Release Notes Options:

               1.   Display release notes
               2.   Print release notes
               3.   Both 1 and 2
               4.   Copy release notes to SYS$HELP
               5.   Do not display, print or copy release notes

               * Select option [2]: 4

               %VMSINSTAL-I-RELMOVED , The product's release notes have 
                been successfully moved to SYS$HELP.
               * Do you want to continue the installation? yes
                       Product:      AAF01-SUBROUTINE_LIBRARY
                       Product:      DEC
                       Version:      2.0
                       Release Date: 1-MAY-1988
               * Does this product have an authorization key registered 
                 and loaded? yes
               * Do you want to purge files replaced by this 
                 installation [YES]? ? <CR>

                 During this installation, new files will be provided 
                 to replace existing versions. You may purge these older 
                 versions to save disk space,
                 or keep them if you feel they may be of use. 
                 Purging is recommended.

               * Do you want to purge files replaced by this 
                 installation [YES]? Y <CR>

                   The test connector must be installed on the AAF01 interface
                   to successfully run the IVP. If the test connector is not
                   installed then do not request execution of the IVP.

               * Do you want to run the IVP after the installation [YES]? ? <CR>
                           
          A-2

 


                                              SAMPLE INSTALLATION



                   The  Installation Verification Procedure (IVP)  verifies the
                   installation of the product.  It is recommended to  run  the
                   IVP to ensure that the  AAF01  Subroutine Library is working
                   correctly.

               * Do you want to run the IVP after the installation [YES]? Y <CR>

                   The installation will now proceed with no further questions.
                   A few more messages will be printed that contain information
                   about the progress of the installation; the text of this
                   information is duplicated in the installation section of the
                   AAF01/VMS Subroutine Library User's and Installation Guide.

                   If no errors occur, the installation will be completed in
                   5 to 40 minutes depending on your configuration.

               %VMSINSTAL-I-RESTORE, Restoring product saveset B ...
               %AAF01-I-BUILDING, Building the AAF01/VMS FORTRAN demo 
                                  programs ...

                   The AAF01/VMS FORTRAN demo programs can be run using a
                   DCL command like:

                       $ RUN SYS$SYSROOT:[SYSHLP.EXAMPLES.AAF01]AAF01$SNGL

                   This installation creates the following directories/files:

            SYS$HELP:   AAF01$020.RELEASE_NOTES ; Release notes file
            SYS$LIBRARY:AAF01$LIB.OLB           ; AAF01/VMS Subroutine Library
            SYS$SYSROOT:[SYSHLP.EXAMPLES.AAF01] ;
                        AAF01$CWT.COM           ; Control Word Table generation
                        AAF01$CONTROL.MAR       ;    indirect command and MACRO
                                                ;    file
                        AAF01$T3.EXE            ; AAF01/VMS FORTRAN test program
                        AAF01$T3.FOR            ;    source and image files
                        AAF01$T24.EXE           ; AAF01/VMS FORTRAN test program
                        AAF01$T24.FOR           ;    source and image files
                        AAF01$T25.EXE           ; AAF01/VMS FORTRAN test program
                        AAF01$T25.FOR           ;    source and image files
                        AAF01$DOBL.EXE          ; AAF01/VMS FORTRAN demo program
                        AAF01$DOBL.FOR          ;    source and image files
                        AAF01$SNGL.FOR          ; Installation Verification
                        AAF01$DOU.FOR           ;    Program (IVP) source
                        AAF01$BIG.FOR           ;       files
                        AAF01$LINK.COM          ; File to link a user program

                                                              A-3

 


          SAMPLE INSTALLATION



                         AAF01$DEF.MAR           ; AAF01/VMS MACRO definitions
                         AAF01$PARINC.FOR        ; AAF01/VMS FORTRAN definitions
                         DRX11C$DEFINC.FOR       ; DRX11-C/VMS FORTRAN function
                                                 ;    codes
             SYS$SYSROOT:[SYSTEST.AAF01]         ;
                         AAF01$IVP.COM           ; Command procedure to run IVP
                         AAF01$SNGL.EXE          ; Installation Verification
                         AAF01$DOU.EXE           ;    Procedure (IVP) image
                         AAF01$BIG.EXE           ;       files
                         AAF01$DIAG.EXE          ; AAF01/VMS ONLINE DIAGNOSTIC

               %VMSINSTAL-I-SYSDIR, This product creates system disk directory
                VMI$ROOT:[SYSHLP.EXAMPLES.AAF01].
               %VMSINSTAL-I-SYSDIR, This product creates system disk directory
                VMI$ROOT:[SYSTEST.AAF01].
               %VMSINSTAL-I-MOVEFILES, Files will now be moved to their target
                directories...
               %AAF01-I-RUNNING, Running the Installation Verification Procedure...

               $ !                                                     
               $ !     AAF01$IVP.COM  27-jun-1988
               $ !
               $ !     Installation Verification Procedure for AAF01/VMS
            $ !     Subroutine Library using the programs AAF01$SNGL, AAF01$DOU
               $ !     and AAF01$BIG.
               $ !
               $ RUN SYS$SYSROOT:[SYSTEST.AAF01]AAF01$SNGL

               ***  Program example for single buffer mode for the AAF01  ***

               AAF01 Subroutine Library, Version  2.0

               Copyright (C) 1984

               Digital Equipment GmbH, CSS-SW, Munich, Germany

                Device name e.g.: _UUA0:
               UUA0:
          DRE11-C status =   200   2020  26030  166170  54450  166170  0 100170
               Conversion time as number of 100 nsec steps
                    (range: 25 ... 4095, default: 100)               ?:
               100

          A-4

 


                                              SAMPLE INSTALLATION



               AAF01$SNGL: Operation mode on AAF01 at UUA0:    is bipolar

               First value of volts to be output
                    (range: -10.0000 ... 9.9951, default: -10.0000)  ?:
               -10.0
               Second value of volts to be output
                    (range: -10.0000 ... 9.9951, default:   9.9951)  ?:
               9.9

               AAF01$SNGL: Return status  = (decimal)      1
                           Buffer pointer = (decimal)      1
                           Byte count = (decimal)      64000

               AAF01$SNGL
               $ !
               $ RUN SYS$SYSROOT:[SYSTEST.AAF01]AAF01$DOU
               Device name [Default : _UUA0:  ]
               UUA0:

                Buffered data path, yes=1, no=0
               0
       DRE11-C status =   300     0   26004  101400   54450  11610     0     0
                ENTER NUMBER OF CONVERSIONS, THE NUMBER MUST BE
                A MULTIPLE OF 2,  DEF=50000
               25000
                Burst mode yes=1, no=0
               0
                Control table transfer, yes=1, no=0
               0
                ENTER AAF01 THROUGHPUT TIME IN MULTIPLES OF 100 NANOSECONDS
                25 TO 4095   (E.G. 100 = 10 MICROSECONDS) D:50
               100

               DMA speed =    100.000 kHz

                NUMBER OF BUFFERS TO TRANSFER DEF=10
               10

               AAF01$DOBL: Return status  = (decimal)   2104
                           Buffer pointer = (decimal)      1
                           Byte count = (decimal)       1896
               %SYSTEM-W-DATAOVERUN, data overrun

                                                              A-5

 


          SAMPLE INSTALLATION



               DMA speed =    100.000 kHz

               $ !
               $ RUN SYS$SYSROOT:[SYSTEST.AAF01]AAF01$BIG
                Device name e.g.: _UUA0:
               UUA0:
                Enter size of large buffer in bytes ', def=1000000
                Note that large buffer must be an even multiple of sub-buffer
               60000
                Enter size of sub-buffer in bytes, D:100000 (max 125442)
               10000
                Burst mode yes=1, no=0
               0
                Enter AAF01 throughput time in multiples of 100 nanoseconds
                25 TO 4095   (e.g. 100 = 10 microseconds) D:100
               100

               DMA speed =    100.000 kHz

                Number of sub-buffers to transfer def=           6
               6
                    1      2 Bytes:       60000
               %SYSTEM-S-NORMAL, normal successful completion

               DMA speed =    100.000 kHz

               $ VERIFY = F$VERIFY(VERIFY)

               %AAF01-I-SUCCESS, The IVP of AAF01 V2.0 was successful...

                   The AAF01/VMS Installation Verification Procedure AAF01$IVP
                   can be run again using the following command:

                       $ @SYS$SYSROOT:[SYSTEST.AAF01]AAF01$IVP

                       Installation of AAF01 V2.0 completed at 12:00

                       VMSINSTAL procedure done at 12:01



          A-6

 






          _______________________________________________________

   B      DIRECTORIES/FILES INSTALLED ON YOUR SYSTEM




          The AAF01/VMS Subroutine Library installation
          procedure installs a number of files on your
          system. This installation creates the following
          directories/files:


          SYS$SYSROOT:[SYSTEST.AAF01]:

               AAF01$IVP.COM                 Command file to start IVP
               AAF01$SNGL.EXE                Installation Verification
               AAF01$DOU.EXE                 Procedure (IVP) image
               AAF01$BIG.EXE                 files

               AAF01$DIAG.EXE                AAF01/VMS online diagnostic


          SYS$HELP:

               AAF01$020.RELEASE_NOTES


          SYS$LIBRARY:

               AAF01$LIB.OLB                 AAF01/VMS Subroutine Library

          SYS$SYSROOT:[SYSHLP.EXAMPLES.AAF01]:


               AAF01$CWT.COM                 Control Word Table generation
               AAF01$CONTROL.MAR             indirect command and MACRO file




                                                              B-1

 


          DIRECTORIES/FILES INSTALLED ON YOUR SYSTEM



               AAF01$T3.EXE                  AAF01/VMS Fortran test program
               AAF01$T3.FOR                  source and image files
               AAF01$T24.EXE
               AAF01$T24.FOR
               AAF01$T25.EXE
               AAF01$T25.FOR

               AAF01$DOBL.EXE                AAF01/VMS Fortran demo program
               AAF01$DOBL.FOR                source and image files

               AAF01$SNGL.FOR                Installation Verification
               AAF01$DOU.FOR                 Program (IVP) source files
               AAF01$BIG.FOR

               AAF01$LINK.COM                File to link a user program

               AAF01$DEF.MAR                 AAF01/VMS MACRO definitions
               AAF01$PARINC.FOR              AAF01/VMS FORTRAN definitions























          B-2

 






          _______________________________________________________

   C      EXAMPLE PROGRAMS




          The AAF01 Subroutine Library provides also some
          example programs which are intended to be used for
          demonstration of the capabilities of the AAF01. One
          example program demonstrates how to program the AAF01
          for use in single buffer mode, the other one how to
          do it for alternate buffer mode. Both programs refer
          to an attention AST routine in order to recognize
          unsolicited interrupts.




          __________________________________________________________________

   C.1    AAF01$SNGL (Single Buffer Mode)

          This FORTRAN program demonstrates how to program the
          AAF01 for use in single buffer mode. The program
          source code is provided thereafter, together with a
          functional description of the program.

          Please note that this program AAF01$SNGL.FOR uses a
          Control Table which is set up by the program itself,
          thus without using the indirect command procedure
          AAF01$CWT.COM for its generation. The Control Table
          contains the channel addresses 0 through 15, and
          Control Word mode 0 for all but the last channel (i.e.
          channel 15), the mode for that one being 1.

          The first voltage value will be output repeatedly to
          the even numbered channels, i.e. channels 0, 2, ...,
          14. The second voltage value will be output repeatedly
          to the odd numbered channels, i.e. channels 1, 3, ...,
          15.

                                                              C-1

 


          EXAMPLE PROGRAMS



          Compiling and linking for this example program
          AAF01$SNGL is done in the following way .

               $FORT AAF01$SNGL

               $LINK AAF01$SNGL,AAF01$LIB/LIB

          Please note that this example program AAF01$SNGL
          will be compiled and linked when installing the AAF01
          Subroutine Library.

          A sample run of this example program AAF01$SNGL
          follows.




























          C-2

 


                                                 EXAMPLE PROGRAMS



               $RUN AAF01$SNGL

               ***  Program example for single buffer mode for the AAF01  ***

               AAF01 Subroutine Library, Version  2.0

               Copyright (C) 1985

               Digital Equipment GmbH, CSS-SW, Munich, Germany

                Device name e.g.: _UUA0:
                UUA0:

             AAF01 status = 200    0   50010  101400   50004  1014000   0    0

               Conversion time as number of 100 nsec steps
                    (range: 25 ... 4095, default: 100)               ?:

               AAF01$SNGL: Operation mode on AAF01 at UUA0: is bipolar

               First value of volts to be output
                    (range: -10.0000 ... 9.9951, default: -10.0000)  ?:
               Second value of volts to be output
                    (range: -10.0000 ... 9.9951, default:   9.9951)  ?:

               AAF01$SNGL: Return status = (octal)         1
                           Buffermark    = (decimal)       1
                           Byte count    = (decimal)   12800

               AAF01$SNGL

               $









                                                              C-3

 


          EXAMPLE PROGRAMS


          __________________________________________________________________

   C.2    AAF01$DOBL (Alternate Buffer Mode)

          This FORTRAN program demonstrates how to program the
          AAF01 for use in alternate buffer mode. The program
          source code is provided thereafter, together with a
          functional description of the program.

          Please note that this program AAF01$DOBL uses a
          Control Table which is set up by the program itself,
          thus without using the indirect command procedure
          AAF01$CWT.COM for its generation. The Control Table
          contains the channel addresses 0 through 15, and
          Control Word mode 0 for all but the last channel (i.e.
          channel 15), the mode for that one being 1.

          The first voltage value will be output repeatedly to
          the even numbered channels, i.e. channels 0, 2, ...,
          14. The second voltage value will be output repeatedly
          to the odd numbered channels, i.e. channels 1, 3, ...,
          15.

          Compiling and linking for this example program
          AAF01$DOBL is done in the following way

               $FORT AAF01$DOBL

               $LINK AAF01$DOBL,AAF01$LIB/LIB

          Please note that this example program AAF01$DOBL
          will be compiled and linked when installing the AAF01
          Subroutine Library.

          A sample run of this example program AAF01$DOBL
          follows.

               $RUN AAF01$DOBL

               ***  Program example for alternate buffer mode for the AAF01  ***

               AAF01 Subroutine Library, Version  2.0

               Copyright (C) 1985

               Digital Equipment GmbH, CSS-SW, Munich, Germany

          C-4

 


                                                 EXAMPLE PROGRAMS



                Device name e.g.: _UUA0:
                UUA0:

             AAF01 status = 200    0   50010  101400   50004  1014000   0    0

               Conversion time as number of 100 nsec steps
                    (range: 25 ... 4095, default: 100)               ?:

               AAF01$DOBL: Operation mode on AAF01 at UUA0: is bipolar

               First value of volts to be output
                    (range: -10.0000 ... 9.9951, default: -10.0000)  ?:
               Second value of volts to be output
                    (range: -10.0000 ... 9.9951, default:   9.9951)  ?:

               Number of conversions
                    (range: 2 ... 32767, default: 20)              ?:

               AAF01$DOBL: Number of transfers done is   1000

               AAF01$DOBL: Return status = (octal)         1
                           Buffermark    = (decimal)       1
                           Byte count = (decimal)       6400

               AAF01$DOBL

               $














                                                              C-5

 






          _______________________________________________________

   D      AAF01 EXERCISER (Online Diagnostic)




          The AAF01 Subroutine Library provides a test program
          which is intended to be used for checkout of the
          AAF01. This exerciser, written in VAX FORTRAN, runs
          under the VAX/VMS operating system. Before it can
          be started, the AAF01/VMS Subroutine Library must
          be installed. A further prerequisite for running
          the program is that the user must have the LOG_IO
          privilege.

          The AAF01 exerciser is started by typing the command
          RUN, followed by a space and the name of the test
          program, which is AAF01$DIAG.

          After starting the program, the user is required to
          enter the desired AAF01 controller identification
          letter, e.g. A for the device UUA0:, B for UUB0: and
          so on. If the device connected to the AAF01 is not
          an AAF01, or if it is not recognizable as such (e.g.
          because of wrongly connected cables), the following
          error messages will appear:

               Error #9999: This is either not an AAF01, or it is defective.

               End of AAF01 Exerciser

          and the program will exit.

          Bit 11 of the ACS register is read and a message is
          displayed to show whether it indicates unipolar or
          bipolar output mode e.g.:

               AAF01 is switched to unipolar operation.


                                                              D-1

 


          AAF01 EXERCISER (Online Diagnostic)



          The program AAF01$DIAG consists of four separate
          tests: a logic test, a linearity test, a calibration
          test and a selectable output test. Each of these
          tests can be selected separately, or they can be
          run consecutively in the listed order. The following
          prompt will be displayed:

               Test numbers are 0, 1, 2, 3 and 4.
               0 selects all tests in sequential order
               1 selects the AAF01 logic test
               2 selects the AAF01 linearity test
               3 selects the AAF01 calibration test
               4 selects the AAF01 selectable output test
               Enter test number, default is 0 (ie. all tests):

          The tests are described in detail below.

























          D-2

 


                              AAF01 EXERCISER (Online Diagnostic)


          __________________________________________________________________

   D.1    AAF01 LOGIC TEST

          The AAF01 logic test consists of 21 separate subtests
          to make sure that the module functions normally.
          The test connector 2G-M00FA must be installed. The
          following text will appear:

               This is the AAF01 logic test.

               To run this test, the test connector must be installed.
               Use 2G-M00FA on module A6009.
               Exerciser will continue only, if the next answer is "Y".
               Is the test connector installed (Y/N)? [Y]:

               Conversion times are expressed in multiples of 100 nanoseconds 
               and range from 25 to 4095.
               Enter conversion time, default is 200 (ie. 20 microseconds):

               The AAF01 logic test will start now. It wil take up to 5 minutes.

          All subtests begin with a AAF01 reset to put the
          module into a known state prior to testing. Some
          subtests are executed more than once.

          The 21 subtests that make up the logic test are
          listed below, with their associated error messages.
          In addition to these messages, there may also be
          some VAX/VMS system messages. For an explanation of
          these, consult the AAF01/VMS Subroutine Library User's
          and Installation Guide and/or the appropriate VMS
          documentation.

          Note: All register error messages (e.g. ACS) are
          supplemented by the following information (expressed
          in octal values):
           Expected: xxxx      Was: yyyy




                                                              D-3

 


          AAF01 EXERCISER (Online Diagnostic)



          Test 1: AAF01 reset test

          This test checks that the AAF01 ACS register is
          correctly set or reset after a AAF01 reset and after a
          data system reset.

          The following errors may be output:

               Error #10: ACS register incorrect after AAF01 reset

               Error #11: ACS register incorrect after AXF01 reset

               AAF01 reset test failed


          Test 2: AAF01 ACS read/write test

          This test checks that the read/write bits of the ACS
          register can all be set, all cleared and individually
          set.

          The following errors may be printed:

               Error #20: ACS read/write bits could not be set

               Error #21: ACS read/write bits could not be cleared

               Error #22: ACS read/write bits could not be individually set

               AAF01 ACS read/write test failed

          Test 3: AAF01 CTA read/write test

          This test checks that the read/write bits of the CTA
          register can all be set, all cleared and individually
          set. The following errors may be printed:





          D-4

 


                              AAF01 EXERCISER (Online Diagnostic)



               Error #30: CTA read/write bits could not be set

               Error #31: CTA read/write bits could not be cleared

               Error #32: CTA read/write bits could not be individually set

               AAF01 CTA read/write test failed


          Test 4: AAF01 control table data test

          This test checks that bits 0 to 8 of each control word
          can all be set, all cleared, and individually set. The
          following errors may be printed:

               Error #40: Control word bits could not be set

               Error #41: Control word bits could not be cleared

               Error #42: Control word bits could not be individually set

               AAF01 control table data test failed


          Test 5: AAF01 control table address test

          This checks for interaction between different words of
          the control table.

          To check the address logic bits 0 to 8, all 1024
          control words are loaded with a modulo 511 count. The
          entire control table is then read and the contents of
          each word compared with the data which was written to
          it.

          To check bit 9 of the address logic, the first half
          of the control table is loaded with all zeroes and the
          second half with all ones. The table is again read to
          check that the data was correctly written.


                                                              D-5

 


          AAF01 EXERCISER (Online Diagnostic)



          The following errors may be printed:

               Error #50: Control table addressing error, bit 0-8

               Error #51: Control table addressing error, bit 9

               AAF01 control table address test failed


































          D-6

 


                              AAF01 EXERCISER (Online Diagnostic)



          Test 6: AAF01 COUT and SEQ CONT L interrupt test

          This checks that the command output (COUT) signal can
          be set and that the SEQ CONT L input signal can be
          used to generate an interrupt.

          The interrupt enable bit (6) of the AAF01 SCR register
          is set and in the AAF01 ACS register SBE is set. COUT
          is then set and cleared. COUT is looped back to the
          SEQ CONT L input signal via the test connector, and
          the trailing edge sets SBR in the ACS register. This
          in turn sets EOC and STAT0 in the AAF01 SCR causing an
          interrupt.

          The following errors may be printed:

               Error #60: Interrupt timeout after COUT loopback

               Error #61: ACS register incorrect after COUT loopback

               Error #62: AAF01 SCR register incorrect after COUT loopback

               AAF01 COUT and SEQ CONT L interrupt test failed

          Test 7: AAF01 DMA to registers test

          This test performs a DMA write to the ACS and CTA
          registers. The register contents are then read back
          under program control and checked.

          The following errors may be printed:

               Error #70: No interrupt after DMA to registers

               Error #71: ACS register incorrect after DMA write

               Error #72: CTA register incorrect after DMA write

               AAF01 DMA to registers test failed


                                                              D-7

 


          AAF01 EXERCISER (Online Diagnostic)



          Test 8: AAF01 DMA to control table test

          This test performs a single block DMA to all 1024
          words of the control table. The control table contents
          are then read back under program control and checked.

          The following errors may be printed:

               Error #80: No interrupt after DMA to control table

               Error #81: Control table word incorrect after DMA
                          Address: ....   Expected: xxxx   Was: yyyy

               AAF01 DMA to control table test failed


          Test 9: AAF01 CWR mode 0 test

          This tests that after each conversion in mode
          0, the CTA register is incremented. Conversions
          are initiated; after they are completed, the CTA
          register is checked to ensure that it was correctly
          incremented.

          The following errors may be output:

              Error #90: DRX11-C SCR register incorrect after mode 0 conversions

              Error #91: ACS register incorrect after mode 0 conversions

              Error #92: CTA register incorrect after mode 0 conversions

              AAF01 CWR mode 0 test failed








          D-8

 


                              AAF01 EXERCISER (Online Diagnostic)



          Test 10: AAF01 CWR mode 1 test

          This tests that after a conversion sequence in mode
          1, the CTA register is reset to 0. Conversions are
          initiated; after they are completed, the CTA register
          is checked to ensure that it was correctly reset.

          The following errors may be output:

             Error #100: DRX11-C SCR register incorrect after mode 1 conversions

             Error #101: ACS register incorrect after mode 1 conversions

             Error #102: CTA register incorrect after mode 1 conversions

             AAF01 CWR mode 1 test failed

          Test 11: AAF01 CWR mode 2 test

          This tests that dummy control table loads can be made
          by using mode 2. The SCR interrupt enable bit is set
          and the DMA is started. Conversions are then initiated
          and the program waits for them to complete.

          The following errors may be printed:

             Error #110: DRX11-C SCR register incorrect after mode 2 conversions

             Error #111: ACS register incorrect after mode 2 conversions

             Error #112: CTA register incorrect after mode 2 conversions

             AAF01 CWR mode 2 test failed








                                                              D-9

 


          AAF01 EXERCISER (Online Diagnostic)



          Test 12: AAF01 CWR mode 3, RATE CLOCK OUT and SEQ CONT
          test

          This tests that the SEQ CONT signal can initiate and
          reinitiate conversions in mode 3. The SCR interrupt
          enable bit is set and the DMA is started. The RATE CLK
          OUT signal is connected to the SEQ CONT input via the
          test connector and so triggers the conversions. The
          CTA register is checked to ensure that this occurred.

          The following errors may be printed:

           Error #120: DRX11-C SCR register incorrect after SEQ CONT conversions

           Error #121: ACS register incorrect after SEQ CONT conversions

           Error #122: CTA register incorrect after SEQ CONT conversions

           AAF01 CWR mode 3, RATE CLOCK OUT and SEQ CONT test failed

          Test 13: AAF01 programmable clock test

          This tests the speed and count functionality of
          the programmable clock. The PCR is loaded with
          the value 4000 to give a conversion time of 400
          microseconds. The control table is set up to perform
          2048 conversions at this rate and a check is made that
          the conversions require between 0.8 and 1.3 seconds to
          complete.

          The conversions are made in mode 0 (except last CTA
          word, using
          mode 1).

          The following errors may be output:

               Error #130: Conversion is too fast in clock test

               Error #131: Conversion is too slow in clock test

               Error #132: ACS register incorrect in clock test

               Error #133: CTA register incorrect in clock test

          D-10

 


                              AAF01 EXERCISER (Online Diagnostic)



               AAF01 Programmable clock test failed




          Test 14: AAF01 CWR mode 4 test

          This tests that dummy control table loads can be made
          by using mode 4. The SCR interrupt enable bit is set
          and the DMA is started. Conversions are then initiated
          and the program waits for them to complete.

          The following errors may be printed:

            Error #140: DRX11-C SCR register incorrect after mode 4 conversions

            Error #141: ACS register incorrect after mode 4 conversions

            Error #142: CTA register incorrect after mode 4 conversions

            AAF01 CWR mode 4 test failed

          Test 15: AAF01 CWR mode 5 test

          This tests that dummy control table loads can be made
          by using mode 5. The SCR interrupt enable bit is set
          and the DMA is started. Conversions are then initiated
          and the program waits for them to complete.

          The following errors may be printed:

            Error #150: DRX11-C SCR register incorrect after mode 5 conversions

            Error #151: ACS register incorrect after mode 5 conversions

            Error #152: CTA register incorrect after mode 5 conversions

            AAF01 CWR mode 5 test failed



                                                             D-11

 


          AAF01 EXERCISER (Online Diagnostic)



          Test 16: AAF01 CWR mode 6 test

          This tests that dummy control table loads can be made
          by using mode 6. The PCR is loaded with a conversion
          time of 400 microseconds. The control table is then
          set up to perform 1024 conversions. All except the
          first and last conversions are made in mode 6. The
          first and last are made in mode 0 and mode 1.

          The SCR interrupt enable bit is set and a DMA is
          started. Conversions are then initiated and the
          program checks that the conversions require between
          0.3 and 0.5 seconds to complete.

          The following errors may be printed:

               Error #160: Conversions too fast in CWR mode 6

               Error #161: Conversions too slow in CWR mode 6

               Error #162: ACS register incorrect after mode 6 DMA output

               Error #163: CTA register incorrect after mode 6 DMA output

               AAF01 CWR mode 6 test failed

          Test 17: AAF01 CWR mode 7 test

          This tests that dummy control table loads can be made
          by using mode 7. The SCR interrupt enable and ACS SBE
          bits are set and the DMA is started. Conversions are
          then initiated. As the second conversion completes,
          COUT goes low, causing the input SEQ CONT L to go
          low. The program checks that an SBR interrupt then
          occurs and that conversions stop with the CTA register
          pointing to the desired control word.





          D-12

 


                              AAF01 EXERCISER (Online Diagnostic)



          The following errors may be printed:

             Error #170: DRX11-C SCR register incorrect after mode 7 conversions

             Error #171: ACS register incorrect after mode 7 conversions

             Error #172: CTA register incorrect after mode 7 conversions

             AAF01 CWR mode 7 test failed


          Test 18: AAF01 data buffer empty test

          This tests that an interrupt can be generated when the
          AAF01 data buffer becomes empty.

          First the ACS external clock enable bit is set to
          prevent conversion. The control table is then set up
          for conversions in mode 0.

          The DMA is then initiated. DRX11-C COR maintenance
          and run bits are set and the SCR wait bit is 64
          times cleared to get the FIFO fully loaded. The
          last data word is also written into the ACS to allow
          conversions. A check is made that the DBE bit causes
          an interrupt and that the CTA register indicates the
          correct number of conversions took place.

          The following errors may be printed:

               Error #180: No data buffer empty interrupt

         Error #181: DRX11-C SCR register incorrect after data buffer empty test

               Error #182: ACS register incorrect after data buffer empty test

               Error #183: CTA register incorrect after data buffer empty test

               AAF01 data buffer empty test failed


                                                             D-13

 


          AAF01 EXERCISER (Online Diagnostic)



          Test 19: AAF01 external clock test

          This checks that the RATE CLOCK IN/OUT line can be
          used to trigger conversions. The external clock enable
          and maintenance bits are set and a DMA is enabled.
          The program then waits for the data to be loaded into
          the FIFO, after which COUT is set and cleared the
          required number of times. This signal is looped back
          to the RATE CLOCK IN/OUT line via the test connector.
          After the last pulse a check is made that an end of
          conversion interrupt occurred and that the SCR and ACS
          registers are correct.

          The following errors may be printed:

               Error #190: No interrupt after external clock test

               Error #191: ACS register incorrect after external clock test

               AAF01 external clock test failed


          Test 20: AAF01 DMA output comparison test

          This checks that conversions can be made under DMA
          control. The control table is set up to perform 2
          outputs, on channels 0 and 15. An internal buffer
          is set up to contain the data 1777 and 3777. These
          are selected so that the ACS CMP bit will be set.
          The AAF01 is then set up for a 2 word DMA and
          conversions are initiated by setting the GO bit of
          the ACS register. After the DMA has completed, the
          ACS register CMP bit is checked to be set. The test is
          then repeated but with the data words interchanged so
          that the ACS CMP bit is not set.






          D-14

 


                              AAF01 EXERCISER (Online Diagnostic)



          The following errors may be printed:

          Error #200: DRX11-C SCR register incorrect after DMA output comparison

               Error #201: ACS register incorrect after DMA output comparison

               AAF01 DMA output comparison test failed



          Test 21: AAF01 memory transfer conversion test

          This tests DMA conversions in memory transfer mode.
          At the end of the conversions, the ACS CMP bit will be
          set.

          The AAF01 is set up to start a DMA. The GO and MET
          bits of the ACS register are then set. After the DMA
          has completed, the ACS register MET and CMP bits are
          checked to be set.

          The check is then repeated but differently, so that
          after the conversions the ACS CMP bit is not set.

          The following errors may be printed:

      Error#210: DRX11-C SCR register incorrect after memory mode DMA conversion

      Error#211: ACS register incorrect after memory mode DMA conversion

      AAF01 memory transfer conversion test failed

          If one or more of the subtests fail, the following
          error messages are also displayed at the end of the
          logic test:

               AAF01 logic test failed

               AAF01 Exerciser failed


                                                             D-15

 


          AAF01 EXERCISER (Online Diagnostic)



          In some circumstances, the next error message can
          appear:

               Error starting conversion.
               Expected number of conversions: xxxx  Was: yyyy

          This message is always displayed in addition to a
          numbered message, to provide supplemental information.

          If a small conversion time is selected and any errors
          appear, the following remark is displayed:

               NOTE: Since the selected conversion time is smaller than
                     60 steps (6 microseconds), the AAF01 logic test error(s)
                     probably indicate(s) only that the AAF01 cannot supply
                     the data quickly enough.
                     You can increase the conversion time until this test
                     runs without error; that conversion time will give the
                     maximum throughput of the system for this test.






















          D-16

 


                              AAF01 EXERCISER (Online Diagnostic)


          __________________________________________________________________

   D.2    AAF01 LINEARITY TEST

          This test checks the linearity of the AAF01.

          First the operator will be asked if the test connector
          is installed. After that, the next question will
          appear:

             The +/- tolerance of the conversion accuracy ranges from 0 to 4095.
             An error occurs if the deviation from the desired value is greater.
             Enter +/- tolerance, default is 7:

          Then each possible value is output to channel 15. For
          each of these outputs, two outputs are made on channel
          0, the first using a value "tolerance" greater than
          that on channel 15, and the second, "tolerance" lower.
          A check is made that the first output on channel 0
          results in a logical 0 from the comparator logic, and
          that the second results in a 1.

          All outputs are made by program using the DBF
          register.

          At the range boundaries, only one comparison with
          channel 0 is made.

          The following errors may be printed:

          Error#220: ACS register incorrect after DBF output comparison at octal
                          output value xxxx on channel 15 and yyyy on channel 0.

                          AAF01 linearity test failed

          If an error message occurs, the following text is also
          displayed:

                             AAF01 Exerciser failed



                                                             D-17

 


          AAF01 EXERCISER (Online Diagnostic)


          __________________________________________________________________

   D.3    AAF01 CALIBRATION TEST

          This test allows the AAF01 analogue output to be
          calibrated. The user will be asked if a digital
          voltmeter is connected, then for the channels to be
          tested on the following way:

               Select the channel numbers which should be tested (0 - 15).
               Enter first channel, default is 0:
               Enter last channel, default is 15:

          These allow the user to concentrate testing on a
          single channel or on a group of channels. By default,
          16 channels will be tested. If the last channel number
          is smaller than that of the first channel, it will be
          used as the first channel instead.

          Calibrating for BIPOLAR mode:

          In bipolar mode each of the selected channel is loaded
          with the value 7777 and the user is asked to check
          that the DVM reads -10.000 volts +/- 4.88 millivolts
          on the selected channel(s). If the output is not
          within this tolerance, the user is asked to adjust
          the offset potentiometer RV1 until the outputs are
          correct.

          Each channel is then loaded with the value 0000
          and the user asked to check that the DVM now reads
          9.9951 volts +/- 4.88 millivolts. If the output is not
          within this tolerance, he is asked to adjust the gain
          potentiometer RV2 until the output is correct.

          Calibrating for UNIPOLAR mode:

          In unipolar mode, each of the channels selected is
          loaded with the value 7777 and the user is asked
          to check that the DVM reads 0.0000 volts +/- 4.88
          millivolts on the selected channel(s). If the output
          is not within this tolerance, the user is asked to

          D-18

 


                              AAF01 EXERCISER (Online Diagnostic)



          adjust the offset potentiometer RV1 until outputs are
          correct.

          Each channel is then loaded with the value 0000
          and the user asked to check that the DVM now reads
          9.9976 volts +/- 4.88 millivolts. If the output is not
          within this tolerance, he is asked to adjust the gain
          potentiometer RV2 until the output is correct.

          All outputs are made directly through the DBF
          register.

          There are no error messages for this test.



          __________________________________________________________________

   D.4    AAF01 SELECTABLE OUTPUT TEST

          This test allows the user to select output patterns
          for oscilloscope monitoring.

          The test begins with the questions about the
          conversion time and the channels to be used, as
          described under the logic test and the calibration
          test.

          Then two output voltages will be requested (default:
          0 V). After the user has typed in each value, the
          program displays the actual value which will be output
          and its equivalent bit pattern.

          Two outputs are made on each of the channels selected.
          Either both values are output for each channel or the
          values switch with each new channel according to the
          response to the next question:

               Either both values alternate on each channel or
               they appear as levels on successive channels.
               Use both values for each channel (Y/N)? [Y]:

                                                             D-19

 


          AAF01 EXERCISER (Online Diagnostic)



          The control table is set up to make all outputs except
          the last in mode 0. The last is in mode 1 to force a
          return back to the begining of the table. Continuous
          outputs are made with the AAF01 in double buffer mode
          until the user types control C ( CTRL/C ).

          Note: Because this test must be stopped with CTRL/C, it
          can only be run interactively.

          Note: All register error messages (e.g. ACS) are
          supplemented by the following information (expressed
          in octal values):
           Expected: xxxx     Was: yyyy

          The following errors may be printed:

        Error#240: DRX11-C SCR attention bit set during double buffer DMA output

               Error#241: Interrupt timeout during double buffer DMA output

               AAF01 selectable output test failed

          If an error message occurs, the following text is also
          displayed:

                          AAF01 Exerciser failed

          If a small conversion time is selected and any errors
          appear, the following remark is displayed:

               NOTE: Since the selected conversion time is small, the last
                     error is probably only an indication that the AAF01
                     cannot supply the data quickly enough.
                     You can increase the conversion time until this test
                     runs without error; that conversion time will give the
                     maximum throughput of the system for this test.

          A sample run of the test program follows.



          D-20

 


                              AAF01 EXERCISER (Online Diagnostic)



               $ RUN AAF01$DIAG

               This is the AAF01 Exerciser.
               AAF01 Subroutine Library, Version 2.0
               Copyright (C) 1988 Digital Equipment GmbH, CSS, Munich, Germany.

         To all of the following questions you can respond with Ctrl-Z for exit
               (ie. return to test selection if already in a test,
               exit the AAF01 Exerciser otherwise).

           The controller identification is one character between A and Z and
           selects the AAF01 (_UUA0: to _UUZ0:) to which the AAF01 is connected.
           Enter controller identification letter, default is A (ie. _UUA0:): B

               AAF01 is switched to bipolar operation.

               Test numbers are 0, 1, 2, 3 and 4.
               0 selects all tests in sequential order
               1 selects the AAF01 logic test
               2 selects the AAF01 linearity test
               3 selects the AAF01 calibration test
               4 selects the AAF01 selectable output test
               Enter test number, default is 0 (ie. all tests): 0

               This is the AAF01 logic test.

               To run this test, the test connector must be installed.
               Use 2G-M00FA on module A6009.
               Exerciser will continue only, if the next answer is "Y".
               Is the test connector installed (Y/N)? [Y]: Y

            Conversion times are expressed in multiples of 100 nanoseconds and
               range from 25 to 4095.
               Enter conversion time, default is 200 (ie. 20 microseconds): 400

             The AAF01 logic test will start now. It will take up to 5 minutes.





                                                             D-21

 


          AAF01 EXERCISER (Online Diagnostic)



               AAF01 reset test running
               AAF01 ACS read/write test running
               AAF01 CTA read/write test running
               AAF01 control table data test running
               AAF01 control table address test running
               AAF01 COUT and SEQ CONT L interrupt test running
               AAF01 DMA to registers test running
               AAF01 DMA to control table test running
               AAF01 CWR mode 0 test running
               AAF01 CWR mode 1 test running
               AAF01 CWR mode 2 test running
               AAF01 CWR mode 3, RATE CLOCK OUT and SEQ CONT test running
               AAF01 programmable clock test running
               AAF01 CWR mode 4 test running
               AAF01 CWR mode 5 test running
               AAF01 CWR mode 6 test running
               AAF01 CWR mode 7 test running
               AAF01 data buffer empty test running
               AAF01 external clock test running
               AAF01 DMA output comparison test running
               AAF01 memory transfer conversion test running

               This is the AAF01 linearity test.

             The +/- tolerance of the conversion accuracy ranges from 0 to 4095.
             An error occurs if the deviation from the desired value is greater.
             Enter +/- tolerance, default is 7:

          The AAF01 linearity test will start now. It will take up to 7 minutes.

               This is the AAF01 calibration test.

               To run this test, a digital voltmeter must be
               connected to the ANA OUT and ANA RTN signals.
               Exerciser will continue only, if the next answer is "Y".
               Is the voltmeter connected (Y/N)? [Y]: Y

               Select the channel numbers which should be tested (0 - 15).
               Enter first channel, default is 0: 1
               Enter last channel, default is 15: 10

               Calibrating for bipolar  operation.

          D-22

 


                              AAF01 EXERCISER (Online Diagnostic)



               Check each channel output is -10.0000 volts +/- 4.88 millivolts.
               Are the outputs within the allowed tolerance? (Y/N) [Y]: Y

               Check each channel output is  9.9951 volts +/- 4.88 millivolts.
               Are the outputs within the allowed tolerance? (Y/N) [Y]: Y

               This is the AAF01 selectable output test.

               This test allows you to select output patterns for
               monitoring with an oscilloscope.

               Conversion times are expressed in multiples of 100 nanoseconds 
               and range from 25 to 4095.
               Enter conversion time, default is 200 (ie. 20 microseconds): 200

               Select the channel numbers which should be tested (0 - 15).
               Enter first channel, default is 0: 0
               Enter last channel, default is 15: 15

               Next two output voltages will be requested.
               Specify any voltage between -10.0000 and  9.9951 V.

               Enter desired voltage, default is 0.0000: 5
               Actual output voltage (V):   5.0000
               The octal output value is:  1777

               Enter desired voltage, default is 0.0000: -3
               Actual output voltage (V):  -2.9980
               The octal output value is:  5145

               Either both values alternate on each channel or
               they appear as levels on successive channels.
               Use both values for each channel (Y/N)? [Y]: Y

               AAF01 selectable output test running. Type CTRL/C to return to
               the Exerciser.

                    (User typed CTRL/C)



                                                             D-23

 


          AAF01 EXERCISER (Online Diagnostic)



               Test numbers are 0, 1, 2, 3 and 4.
               0 selects all tests in sequential order
               1 selects the AAF01 logic test
               2 selects the AAF01 linearity test
               3 selects the AAF01 calibration test
               4 selects the AAF01 selectable output test
               Enter test number, default is 0 (ie. all tests): ^Z

               End of AAF01 Exerciser

               $






























          D-24

 






          _______________________________________________________

   E      TABLE OF ABBREVIATIONS






































                                                              E-1

 


          TABLE OF ABBREVIATIONS




          ACS            AAF01 Command and Status Register
          AST            Asynchronous System Trap
          CHA            Channel Address in CTA Register
          CMP            Comparator Input bit in ACS Register
          COUT           Command Output bit in ACS Register
          COUT L         User output signal corresponding to the
                         COUT bit in the ACS Register
          CTA            Control Table Address Register
          CWA            Control Word Address in CTA Register
          CWM            Control Word Mode in CWR Register
          CWR            Control Word Register
          DBE            Data Buffer Empty bit in ACS Register
          DBF            Data Buffer Silo (FIFO)
          DMA            Direct Memory Access
          DSR            Data Acquisition Reset bit in ACS
          ECE            Register
          EOC            External Clock Enable bit in ACS
          GO             Register
          MET            End of Conversion Sequence bit in ACS
          MHz            Register
          MNT            Go bit to enable conversion in ACS
          PCR            Register
          RATE CLK OUT   Memory Transfer bit in ACS Register
          SBE            Megahertz
          SBR            Maintenance bit in ACS Register
          SCR            Programmable Clock Register
          SEQ CONT L     User output signal RATE CLOCK OUTPUT
          SYS IN PROG L  Sequence Break Enable bit in ACS
          UNI            Register
                         Sequence Break bit in ACS Register
                         Status Control Register of the AAF01
                         Sequence Control Input Signal
                         User output signal System In Progress
                         Unipolar Operation bit in ACS Register






          E-2

 






          _______________________________________________________

   F      READER'S COMMENTS






































                                                              F-1

 


          READER'S COMMENTS












































          F-2

 


                                                READER'S COMMENTS



                      AAF/VMS Subroutine Library  V2.0
                       User's and Installation Guide
                       Documentation No. AA-GI29D-TE
                       Last revision: September 1988


          READER'S COMMENTS

          Note: This form is for documents only. Digital will
          use comments submitted on this form at the company's
          discretion. If you require a written reply and are
          eligible to receive one under Software Performance
          Report (SPR) service, submit your comments on an SPR
          form.

          Did you find this manual understandable, usable,
          and well organized? Please make suggestions for
          improvement.





          Did you find errors in this manual? If so, specify the
          error and the page number.







          Please indicate the type of user/reader that you most
          nearly represent.

          ____  Assembly language programmer
          ____  Higher-level language programmer
                (language: ___________   )
          ____  Occasional programmer (experienced)
          ____  User with little programming experience

                                                              F-3

 


          READER'S COMMENTS



          ____  Student programmer
          ____  Other (please specify) __________________


          Name __________________________      Date
          ________________

          Organization
          __________________________________________


          Street ________________________________________________

          City __________________    Zip Code
          _____________________


          State _________________    Country
          ______________________






















          F-4

 


                                                READER'S COMMENTS



                           DIGITAL EQUIPMENT GMBH
                          COMPUTER SPECIAL SYSTEMS
                            Software Engineering


                           Freischuetzstrasse 91
                             D-8000 MUENCHEN 81
                          German Federal Republic

































                                                              F-5
