!Prepared by W. Krakar ! DABBEL ON FILE DABWJKAAA.TMP ! BEGIN PASS 1 ! END OF PASS 1 ! BEGIN PASS 2 ADD A:BS403 ( 'A4B3 25A DIPOLE SHUNT' , PBAR , , 7FFFFFE ) ! \/ \/ \/ \/ \/ ! device name 24 character description node sibling ** con. mask ** ! Analog EMC EMX (031B/040B/0000/0000) ! \/\/ \/\/ ! | | | MADC # ! | | channel # ! | node (node number for respective front end) ! |subsystem (Analog MADC) !note: reading is done via an MADC channel, the device itself does not !support the reading property. SSDNHX READNG (0DFF/040B/0000/0000) ! \/\/ \/\/ ! | | | MADC # ! | | channel # ! | camac front end standard driver ** ! driver code ** PRO READNG ( 2 , 2 , 60 ) ! \/ \/ \/ ! | | FTD ! | Max data size - ALWAYS 2 ! default data size - ALWAYS 2 !note: device does support the reading of setting which simply returns the !setting SSDNHX SETTNG (24FF/0151/0004/0000) ! \/\/ \/\/ \/ ! | | | | subaddress(0-5 depending on channel used) ! | | | crate # ! | | slot # ! | camac front end standard driver ** ! driver code ** PRO SETTNG ( 2 , 2 , 60 ) ! \/ \/ \/ ! | | FTD ! | Max data size ** ! default data size ** PDB READNG ( 'VOLT' , 'AMP ' , 0 , 6 , 2 , 0 , 0 , 0 , 2.500000E+01 , ! \/ \/ \/ \/ \/ \/ \/ \/ \/ ! | | | | | | | | common transform 1 ! | | | | | | | motor controller flag ! | | | | | | long or short display ** ! | | | | | decimal or scientific notation ! | | | | input data length ** ! | | | common transform ! | | primary transform ** ! | common units ! primary units ** 1.000000E+01) ! \/ ! common transform 2 PDB SETTNG ( 'VOLT' , 'AMP ' , 0 , 2 , 2 , 0 , 0 , 0 , 2.500000E+01 , ! \/ \/ \/ \/ \/ \/ \/ \/ \/ ! | | | | | | | | common transform 1 ! | | | | | | | motor controller flag ! | | | | | | long or short display ** ! | | | | | decimal or scientific notation ! | | | | input data length ** ! | | | common transform ! | | primary transform ** ! | common units ! primary units ** 2.000000E+01, 1.280000E+01) ! \/ \/ ! | common transform 3 ! common transform 2 SSDNHX ANALBL (0DFF/040B/0000/0000) ! \/\/ \/\/ ! | | | MADC # ! | | channel # ! | camac front end standard driver ** ! driver code for reading from D/A PRO ANALBL ( 2 , 20 , 60 , FFFF9D01 , FFFFB100 , ! \/ \/ \/ \/ \/ ! | | | | maximum ! | | | minimum ! | | ftd ! | max data size ** (standard alarm block size) ! default data size 2 , 2 , 1 , 1 , 0 , 0 , 0 , 1 , ! \/ \/ \/ \/ \/ \/ \/ \/ ! | | | | | | | alarm bypassed bit ! | | | | | | abort allowed ! | | | | | override abort ! | | | | exception or event ! | | | event logging bit ! | | event display bit ! | length of min/max ** ! alarm type ** (minimum maximum) 2 , 0 , 0 ) ! \/ \/ \/ ! | | event 2 ! | event 1 ! tries needed PRO ANALTX ( 5 , '!HL ') ! \/ \/ ! | alarm text ! message priority PRO SAVE( 73 , 0000 , 0000 , READNG , SETTNG , ANALBL ) ! \/ \/ \/ \/ \/ \/ ! | | | save all properties defined ! | | display save code ! | restore save code ! save list id ! !note: ** indicates do not change from value shown ! ! END OF PASS 2 ! 1 DEVICE(S) LISTED Notes from the driver source code: /*----------------------------------------------------------------------------*/ /* /* The 054 card has six channels of 16 bit unipolar DAC, which we support /* with a setting property. /* /* It does not have status, but we do support an F(9)A(0) basic control /* reset function. /* /* SSDN 24FF/nncc/000a/0000 /* a = subaddress (0 to 5) /* /* Setting: F(16)A(n) /* Reading-the-Setting: F(0)A(n) /* Reset: F(9)A(0) /* /* The 054 card is unipolar, 10.24 volt full scale. Thus the raw /* DAC values look like: /* /* Volts Raw DAC /* ----- ------- /* 0 0000 /* <5.12 7FFF /* 5.12 8000 /* <10.24 FFFF /* /* Unfortunately, the upper half of the range looks like negative numbers /* to console scaling services. The solution is that the front end adds /* 8000 to the settings to linearize them. Thus the table can be extended: /* /* /* Volts Raw DAC Raw Console Value /* ----- ------- ----------------- /* 0 0000 8000 /* <5.12 7FFF FFFF /* 5.12 8000 0000 /* <10.24 FFFF 7FFF /* /* In this way, the console sees most-negative is the lowest setting, /* the half-way point is at zero, and most-positive is the highest setting. /* There is a bias, but no discontinuity. /* /* The data base scaling can be linear; you must merely account for the /* bias, and adjust your scale factor for the fact that the normal /* +/- 10.24 volt F.S. is now 0.0 to 20.48 volt F.S. /* /* X' (volts) = X / 3200 (10.24 V Primary Transform) /* Rslt = (X' + 10.24) * SF (Secondary Transform: add in bias) /*