Home

Iram Document Template

image

Contents

1. Create Date November 2001 Author A Perrigouard NCSControl doc Page 16 of 19 IRAM 3 Some Results 3 1 Tracking in cascade mode 3 1 1 9 020407 T T 9 019e 07 9 018e 07 9 017e 07 9 0160 07 9 015e 07 9 014e 07 H 9 013e 07 9 012e 07 xReference 9 0116 07 640000 645000 650000 30000 655000 660000 665000 20000 10000 N 10000 20000 30000 64 dXintegral 0000 645000 650000 655000 660000 665000 12000 T 10000 8000 6000 4000 2000 vReference o L L 640000 645000 650000 Create Date November 2001 NCSControl doc 655000 660000 665000 1500 NCS Antenna Mount Drive Control Azimuth step from 220deg to 220 2deg in cascade mode 1000 500 1000 1500 xDelta 640000 16000 645000 650000 655000 660000 665000 14000 12000 10000 8000 6000 4000 2000 2000 4000 6000 cVintermediate 640000 16000 645000 650000 655000 660000 665000 14000 12000 10000 8000 6000 4000 2000 o 2000 4000 FAMAM LAIMA i mVelocity 6000 640000 Page 17 of 19 645000 650000 655000 660000 665000 Author A Perrigouard IRAM 15000 T 10000 5000 TOT o 5000 10000 F
2. cVelocity A il von TT V Il 15000 640000 645000 4000 650000 655000 660000 66 3000 2000 1000 o F MLT 1000 2000 3000 i MA torque eet Nes Is N IT i A LL LU i 4000 640000 645000 4000 650000 655000 660000 66 3000 2000 1000 fy o 1000 2000 3000 f eee D j Y 4000 n 640000 645000 3 1 2 Elevation step from 45deg to 45 2deg in cascade mode 1 8520 07 T 650000 655000 660000 665000 1 8516 07 F 1 856 07 1 8496 07 F 1 8480 07 1 8476 07 1 8460 07 1 845 07 1 8440 07 xFeference 1 8430 07 1 036406 1 035606 1 040406 1 045606 1 056406 1 055606 Create Date November 2001 NCSControl doc 150000 NCS Antenna Mount Drive Control 100000 50000 50000 F 100000 cVintegral 150000 640000 800 660000 665000 600 F 200 H 200 H 400 600 fricti
3. ambert Define offsets to be applied to the next source not the current or active source sourceOffset xOffset lt yOffset gt lt systemOffset gt The next source has to be already defined The 3 arguments are mandatory xOffset offset along x in radians yOffset offset along y in radians ci systemOffset one number 0 7 among the enum systemOffsetEnum 0 PROJECTION 1 DESCRIPTIVE descriptive coordinates 2 BASIS basis system 3 EQUATORIALOFF mean equatorial J2000 0 4 HADECOFF apparent hour angle and declination 5 HORIZONTALTRUE az with 1 cos el factor and el 6 HORIZONTALOFF azimuth and elevation 7 NASMYTH systemOffset can be PROJECTION if source projection NOPROJECTION systemOffset can be DESCRIPTIVE if source descriptiveSystem NODESCRIPTIVE PROJECTION DESCRIPTIVE and BASIS are mutually execlusive and the last accepted command with one of these systemOffsets clears the other related offsets HORIZONTALTRUE and HORIZONTALOFF are mutually exclusive 2 3 3 setNextSubscanTrack ABSTRACT Define a subscan track setNextSubscanTrack lt time gt lt traceFlag gt lt subscanId gt The 3 arguments are mandatory time duration of tracking in seconds double traceFlag add flag to trace a number 0 18 among the enum traceFlagsEnum subscanId subscan identifier int A passive source should be already def
4. Newcomb FK4 system equinoxSystem equinoxYear year of the equinox lambda source longitude radian beta source latitude radian descriptiveSystem one number among the descriptiveSystemEnum 0 NODESCRIPTIVE no descriptive system 1 ORIGIN origin definition of descriptive sys 2 POLAR polar definition of descriptive system 3 EULER Euler definition of descriptive system alphaD 1st angle for descriptive system radian betaD 2nd angle for descriptive system radian gammaD 3rd angle for descriptive system radian projection one number among the projectionEnum choice 0 NOPROJECTION no projection RADIO radio convention with 1 cos beta TAN gnomonic SIN orthographic STG stereographic ARC zenithal equidistant ZEA zenithal equal area 0X OE F OE F OE OE EE F OE 0E F F X OE E 0X X OE EE xo XR F XR F F X OF 0X OE F OE FF F OE F F X OE F F X X F F X X F F F KF 0X X F F OF Do PUNH Create Date November 2001 Author A Perrigouard NCSControl doc Page 11 of 19 IRAM OE F F X NCS Antenna Mount Drive Control 7 CAR cartesian plate caree 8 MER mercator 9 CEA cylindrical equal area L 10 GLS Sanson Flansteed 11 AIT Hammer Aitoff lambdaProjection lst angle for projection radian betaProjection 2nd angle for projection radian kappaProjection 3rd angle for projection radian sourceName not archived 2 3 2 sourceOffsets ABSTRACT
5. azimuth elevation in radians Speed Speed in radians second traceFlag add flag to trace a number 0 18 among the enum traceFlagsEnum subscanId subscan identifier int A passive source should be already defined In case no passive Source exists an active source should exists The subscanId is not a string 2 3 6 setNextSubscanOtf ABSTRACT Define a subscan On The Fly setNextSubscanOtf systemOffset subscan The 2 arguments are mandatory Id SystemOffset one number 0 7 among the enum systemOffsetEnum 0 PROJECTION DESCRIPTIVE descriptive c BASIS basis system EQUATORIALOFF mean equato HADECOFF apparent hour HORIZONTALTRUE az with 1 YAO PUNH NASMYTH subscanId subscan identifier int oordinates rial J2000 0 angle and declination cos el factor and el HORIZONTALOFF azimuth and elevation A passive source should be already defined In case no passive Source exists an active source should ex If systemOffset is equal to PROJECTION or LSS DESCRIPTIVE the descriptiveSystem or projection have to b the source The subscanId is not a string 2 3 7 setNextSegmentLinear ABSTRACT Define a linear otf segment setNextSegmentLinear xStart lt yStart gt lt x already defined in End yEend lt speedStart gt lt speedEnd gt traceFlag lt subscanId gt xStart start in x radi
6. executed before installing int ant o If ik320Init is executed the incremental encoders should be re initialized and the axes should be turned enough to pass their init points and to reset the counters ik340Init initializes the motor encoder VME module and can be executed at re installation time 2221 ik320Init The task ik320Init is based on a source code written by Juan Penalver 1k320 c The IK320 VMEbus Counter Card user s manual and in particular the program example are necessary to understand this program executed to initialize the VME module 2 2 2 2 1k340Init The task ik340Init is based on a source code written by Juan Penalver readenc c The IK340 VMEbus Counter Card user s manual is necessary to understand this program executed to initialize the VME module 2 2 2 3 initAntenna Once the kernel module int ant o is installed and the shared memory area described with the structure structs antenna is registered the task initAntenna can initialize the elements of the shared memory area The function antdata returns the address of this area in the user space domain by calling mmap The function mmap is one of the functions implemented in int ant o which is available for the device dev int ant and in particular for its descriptor The struct s antenna describes the content of this shared memory area The struct s antenna is declared in s antenna h This task sets the servo variables to their default values and switches the ser
7. is 7 8ms It differs slightly from the 6ms period used in the Rainer s implementation This difference will not change the overall response of the servo and the power of 2 selected for the frequency of 128Hz simplifies greatly the coding 2 2 1 Kernel module int ant This module provides 3 functions itFast itSlow and encoder to handle 2 periodic interrupts generated by the bc366VME time code processor and the ik320 VME count card completion interrupts The 2 periodic interrupts are the so called heartbeat at 128Hz and the 1 pps generated every second We use the functions bc366 heartbeat action and bc366 pps action from the bc366 module to assign the handlers and the functions itFast and itSlow to these interrupts The 1k320 VME interrupts signals the end of the main axis encoder conversion This interrupt IRQ level 3 vector 0xC1 is handled by this module by calling the function encoder 22 1 4 Heartbeat interrupt The function itFast starts the main axes encoder position latching procedure and requests to the ik320VME module the generation of an interruption for the end of the conversion It reads the 2 motor encoders for the axes azimuth and elevation Then it calculates the motor differential positions and deduces the motor velocities in 9 2 10 s units Create Date November 2001 Author A Perrigouard NCSControl doc Page 7 of 19 IRAM NCS Antenna Mount Drive Control The function has a conditional section com
8. 025 CASAKM KM RBGOFA RBGOFA PI 180 36000 2 15 265 1 14165 1 s gt rad 1 DAC gain gear ratio CASATM Ts TM 0 006 0 18 0 03333 MVFCA 6 35368867 Elevation CASEK K 2 5 CASET Ts T 0 006 0 2s 0 03 CASEKM KM RBGOFE RBGOFE PI 180 36000 2 15 265 1 15727 1 s gt rad 1 DAC gain gear ratio CASETM Ts TM 0 006 0 12 0 05 MVFCE 5 72264259 Create Date November 2001 Author A Perrigouard NCSControl doc Page 5 of 19 IRAM NCS Antenna Mount Drive Control m1Velcaty xReferenoe 9 21 10 Vreference 9 2 10 s cVintermediate xAdual 9 21 10 Figure 4 Cascade controller VME implementation Ts is the loop period Ts 2 7s The axis encoder has a period of 36 and the VME module IK320 interpoles the period by a factor 2 12 1 unit 9 2 10 and ldegree is equivalent to 100 2 12 encoder units The motor encoder has a period of 720 1800 periods rev and the VME module IK340 applies to the period a 256 fold interpolation 1 unit 360 3600 1800 256 Azimuth xkp K 2 let s define cXKp 2 10 xkp gt cXKp 2048 cXKp xDelta overflows for abs xDelta gt 2 31 2048 equivalent to xdelta gt 2 31 2048 9 2 10 9216 2 56deg OK xki K Rey T SY 2 7 924 let s define 2 cXKi xki gt cXKi 4 9 10 9 PI 18000 2 12 215 265 1 14165 33477 KM 9 2 10 rad 1 DAC gain
9. 2 3 8 setNextSegmentCircle ie ee ee Re ee RR eein 14 2 3 9 setNextSegmentCurve se ee aeia 14 2 3 10 pr pareObservation saintes ge DEER GR EA RE GE Ge ee 14 2 3 11 startObservatiof e eter ente elc ertet ge ee Ak ee Gie id 15 2 3 12 haltObserVvatlon inter canali nl 15 2 3 13 setPointingParameters e 15 EN JcLIcim 17 3 1 Tracking in cascade mode 17 3 1 1 Azimuth step from 220deg to 220 2deg in cascade mode 17 3 1 2 Elevation step from 45deg to 45 2deg in cascade mode 18 Create Date November 2001 Author A Perrigouard NCSControl doc Page 2 of 19 IRAM NCS Antenna Mount Drive Control 1 Hardware description To drive the motor amplifiers and to read the encoders a VME chassis replaces the old CAMAC interface in the 30m New Control System Juan Penalver wrote already an extended document 30M Antenna Control with VME Modules To summarize there is a Single Board Computer in slot 1 a Motorola MVME2041 plus a number of modules to interface the hardware e BC366 a VMEbus Time code processor used for generating different interrupts and to feed a NTP server e K320 a VMEbus counter card used to read the Heidenhain ROD800 main axes encoders e IK340 a VMEbus counter card used to read the Heidenhain ROD456 motor encoders 2 Software development 2 1 Servo controllers The implementation of the servo controllers is based on the work of Raine
10. 54 2 7 0 12 let s define 2 cVKi vki gt cVKi 5 dMotl actual motor 1 position IK340 unit previous motor 1 position vkv 1 2 360 3600 1800 256 2 7 1 15727 2 10 9 1 3022 IK340 unit gt 1 Ts gear ratio gt 9 2 10 unit let s define cVKv 2 10 vkv gt cVKv 1333 Overflow for abs CVelocity 2 31 2 10 equivalent to abs cvelocity gt 2 31 1333 9 2 10 14159 s 3 93deg s OK The implementation of the Cascade controller works perfectly in elevation with the above parameters scaled from the values found in the Rainer s documentation and in ELSERVO LIS For the azimuth implementation the coefficients of the cascade position loop are slightly changed The scaled coefficients does not give a stable controller when an azimuth step position is applied The new proposed coefficients are a compromise between stability and low position error for tracking on a fixed position cXKP 4096 and cXKi 6 2 2 Servo implementation Linux powers the Single Board Computer MVME2041 Fast and real time operations are executed in kernel modules In those modules no floating number operations are allowed The servo controller algorithms performed in the fast loop of a kernel module are only coded with integer numbers As a consequence all the operations should be verified carefully to avoid overflow or underflow The implementation is triggered by 2 periodic interrupts at 128Hz and 1Hz The period of the fast interrupt
11. 56406 1 055606 200000 150000 100000 50000 50000 100000 cVintegral 1 03 06 1 035 06 1 048 06 1 045606 1 056406 1 055606 800 600 H 400 H 200 H 200 H 400 H 600 H T friction 800 1 03e 06 1 035e 06 Page 19 of 19 1 04e 06 1 045e 06 1 05e 06 1 055e 06 Author A Perrigouard
12. IRAM PV02 Revision 0 November 5 2001 Contact Author Institut de RadioAstronomie Millim trique Pico Veleta Antenna Mount Drive Control Owners Alain Perrigouard perrigou iram fr Keywords Approved by Date Signature A Perrigouard November 2003 IRAM NCS Antenna Mount Drive Control Change Record REVISION DATE AUTHOR SECTION PAGE REMARKS AFFECTED Content 1 Hardware description cere cni tendente RE DR Ee de nah 3 Software development 3 2 1 Servo Controllers isn 1 alii haga HH ne 3 2 1 1 Basie controller 3 2 2 nal ee nee ea e rte hein 3 2 1 2 Cascade controller 4 2 2 Servo implementation eene 7 2 2 1 Kernel module int_ant ee ee Re Re ee ee ee 7 2 2 2 Initialization tasks 9 2 2 3 Slow and periodic tasks 10 2 3 Observation commands 11 2 3 1 SOUS E 11 2 3 2 sourceOffsets 4 2 Eer M etat uti liano 12 2 3 3 setNextSubscanTrack oein GR Ee AA AA AR ee ee ee 12 2 3 4 setNextSubscanSlewAzimuth 12 2 3 5 setNextSubscanSlewElevation 13 2 3 6 setNexXtSubSCanOTtf Eg ees Re ei ee DR e aa Ge ed 13 2 3 7 setNextSegmentLinear sse 13
13. an yStart start in y radian xEnd end in x radian Create Date November 2001 NCSControl doc Page 13 of 19 Author A Perrigouard Xx OE OE F XX X X F F o F X X ox OE X X F F F F X X F F F X X Xx OE F IRAM NCS Antenna Mount Drive Control yEnd end in y radian x speedStart start with this speed radian second speedEnd end with this speed radian second traceFlag add flag to trace gt subscanid subscan identifier int Adds a segment to an otf subscan identified by subscanId as far this subscan has been defined and still exits The subscanId is not a string traceFlag not implemented 2 3 8 setNextSegmentCircle ABSTRACT Define a circular otf segment K i setNextSegmentLinear lt xStart gt lt yStart gt lt xEnd gt lt yEend gt T lt turnAngle gt lt speedStart gt speedEnd lt traceFlag gt lt subscanId gt E xStart start in x radian yStart start in y radian x xEnd end in x radian 5 yEnd end in y radian x turnAngle turn angle radian SpeedStart start with this speed radian second SpeedEnd end with this speed radian second traceFlag add flag to trace ie subscanid subscan identifier int SE Adds a segment to an otf subscan identified by subscanId as far this subscan has been defined and still exits The subscanId is not a string traceFlag not implemente
14. assed the observation mode is switched to STOP If there is no more subscan or they have not yet been defined the observation mode is switched to READY For the mode STOP the function stopScan is called The function requests the axes to stop immediately and it clears the integration buffers of the cascade servos 2 Observation commands These observation commands correspond to the signatures number of arguments type meaning listed in the document antennaMountDrive h This document edited by W Brunswig A Sievers H Ungerechts and A Perrigouard defines the interface between the coordination and synchronization tasks and the mount drive observation tasks and modules 23 1 source ABSTRACT Define a new source E m Source lt sourName gt basisSystem equinoxSystem equinoxYear lambda beta lt descriptiveSystem gt lt alphaD gt betaD lt gammaD gt projection lambdaProjection betaProjection kappaProjection i All arguments are mandatory sourceName name of the source or NULL basisSystem one number 0 6 among the basisSystemEnum 0 GALATIC galactic 1 EQUATORIAL mean equatorial 2 APPARENTEQUATORIAL apparent equatorial 3 ECLIPTIC mean ecliptic 4 APPARENTECLIPTIC apparent ecliptic 5 6 o HADEC apparent hour angle and declination HORIZONTAL ne number 0 1 among the equinoxSystemEnum 0 J IAU 1976 FK5 Fricke system 1 B Bessel
15. c Controller VME implementation Ts is the loop period Ts 2 7s is the Sum or the integration of the input Kp 3 2 15 100 2 12 0 24 let s define kp 0 24 2 10 246 Ki Kp Ts T 0 24 2 7 5 0 000375 lets define ki such that 2 ki 0 000375 gt ki 11 2 1 2 Cascade controller In the manual Antenna servomechanism page 4 2 there is representation of the cascade controller with the following definition of the variables phiCom reference axis position in rad phi actual axis position in rad phiComDot reference axis velocity in rad s phiMotDot actual axis velocity in rad s deduced from motor encoders and corrected of the gear ratio To torque in mN applied to the antenna axis integral is the normal time integral of the input K 2 s 1 for Az and 2 5 s 1 for El T 0 24s for Az and 0 2s for El KM 9 10 9 mN s rad for Az and 1 5 10 9 mN s rad for TM 0 18s for Az and 0 12s for El Gl nr Bj Create Date November 2001 Author A Perrigouard NCSControl doc Page 4 of 19 IRAM NCS Antenna Mount Drive Control o COM 0 1 s VAWANT 0 1 m RGAOUT MRPA VAM HF VAMAII Figure 3 Cascade controller CAMAC implementation Ts is the loop period Ts 0 006s Y is the Sum or the integration of the input Azimuth CASAK K 2 CASAT Ts T 0 006 0 24s 0
16. d 2 3 9 setNextSegmentCurve ABSTRACT Define a Bezier curve otf segment A setNextSegmentLinear lt xStart gt lt yStart gt lt xEnd gt lt yEend gt 2 T lt turnAngle gt lt speedStart gt speedEnd lt traceFlag gt lt subscanId gt xStart start in x radian yStart start in y radian xEnd end in x radian B 3i yEnd end in y radian xCpStart x of control point at start radian yCpStart y of control point at start radian x xCpEnd x of control point at end radian id i yCpEnd y of control point at end radian a speedStart start with this speed radian second speedEnd end with this speed radian second traceFlag add flag to trace X subscanid subscan identifier int x Adds a segment to an otf subscan identified by subscanId as far this subscan has been defined and still exits The subscanId is not a string traceFlag not implemented 2 3 10 prepareObservation ABSTRACT Request to prepare the next scan next source z Syntax S prepareObservation when The argument is mandatory Create Date November 2001 Author A Perrigouard NCSControl doc Page 14 of 19 IRAM NCS Antenna Mount Drive Control when ISO 8601 date gt X The command cleans all subscans and segments still connected ta to the active scan before switching to the next source x The command prepare has a sense if th
17. e elements of the structure slaInput of type struct s_slaParams Those elements like longitude latitude temperature are needed for calling the slalib functions The task initializes also the roots and the chains of segments and subscans by setting all the variables firstSubscan firstSegment nextSubscan nextSegment to 1 2 2 3 Slow and periodic tasks These slow and periodic tasks are executed to prepare the reference positions and velocities 22 31 SlaParams slaParams calculates every 10s the tables amprms and aoprms which are used in evItSlow for the conversions between mean place and geocentric apparent place and for the conversions between apparent to observed place 2 2 3 2 EvitSlow evItSlow calls first antdata to connect to the memory area shared with the kernel module int ant o Next it opens the file descriptor fd to dev int ant This file descriptor is used later for the 1s synchronization Note that this connection and this open are conditioned to the non definition of the variable PCTCP00 If PCTCPOO0 is defined antdata executes only a connection to a shared memory area identified by ANTE and defined with the same structure struct s antenna PCTPOO is defined only for debugging purpose Next evItSlow calls shm connect to get the pointer of the shared memory area identified by PICO And finally eltSlow implements a loop which is executed every second If the variable PCTCPOO is not def
18. e next source passive has already been defined If the next source is not yet ui T defined the observation mode is set to STOP The command resets the observation start time and stop time i 2 3 41 startObservation ABSTRACT Request to start a scan Syntax ni startObservation lt when gt The argument is mandatory when ISO 8601 date E X When the observation mode becomes READY and the specified date X when is past then the observation starts to proceed through x the subscans The mode is set to RUN If there is no subscan x i the startObservation time slot is forgotten and the observation start time is reset 2 3 12 haltObservation ABSTRACT Request to stop a scan Ed Syntax startObservation when The argument is mandatory when ISO 8601 date x The command stops an observation or scan but don t clean the bi subscans still pending 23 13 setPointingParameters ABSTRACT Define the pointing parameters setPointingParameters pl p2 p3 p4 p5 p7 p8 p9 rxh0 rxve p pl Azimuth encoder zero point error E p2 Collimation error in azimuth p3 Collimation error of axes p4 Inclination 1 B p5 Inclination 2 a p7 Elevation encoder zero point error E p8 Bending term 1 X p9 Bending term 2 Bernd Harald X rxho Horizontal receiver offset in Nasmyth x rxve Vertical receiver offset in Nasmyth The 10 arguments are mandatory Useful test commands config dmpAnte
19. gear ratio let s define cVKp 2 10 vkp gt cVKp 343 overflow for abs cVelocity gt 2731 343 equivalent to abs cvelocity gt 2731 343 9 2 10 55027 s 15 3deg s OK vkp vki vkp Ts TM 33477 2 7 0 18 let s define 2 cVKi vki gt cVKi 6 mlVelocity actual motor 1 position IK340 unit previous motor 1 position m2Velocity actual motor 2 position IK340 unit previous motor 2 position vkv 1 2 360 3600 1800 256 2 7 1 14165 2 10 9 1 4458 IK340 unit gt 1 Ts gear ratio gt 9 2 10 unit let s define cVKv 2 10 vkv gt cVKv 1480 Overflow for abs CVelocity 2 31 2 10 equivalent to abs cvelocity gt 2 31 2 10 9 2 10 18432 s 5 12deg s OK Elevation xkp K 2 5 let s define cXKp 2 10 xkp gt cXKp 2560 cXKp xDelta overflows for abs xDelta gt 2 31 2560 equivalent to xdelta gt 2 31 2560 9 2 10 7373 2 05deg OK Create Date November 2001 Author A Perrigouard NCSControl doc Page 6 of 19 IRAM NCS Antenna Mount Drive Control xki K Ts T 2 5 2 7 0 2 let s define 2 cXKi xki gt cXKi 4 1 5 10 9 PI 18000 2 12 2 15 265 1 15727 50254 KM 9 2 10 rad 1 DAC gain gear ratio let s define cVKp 2 10 vkp gt cVKp 515 overflow for abs cVelocity gt 2731 515 equivalent to abs cvelocity gt 2731 515 9 2 10 36649 s 10 2deg s OK vkp vki vkp Ts TM 502
20. ined In case no passive Source exists an active source should exists The duration is not a string The subscanId is not a string 2 3 4 setNextSubscanSlewAzimuth ABSTRACT Xx Define a subscan slew in azimuth setNextSubscanSlewAzimuth lt azimuthStart gt lt azimuth elevation speed lt traceFlag gt lt subscanId gt The 6 arguments are mandatory azimuthStart azimuth start position in radians Create Date November 2001 NCSControl doc Page 12 of 19 End gt Author A Perrigouard Xx OE F F x F X 0X OE OE F F X X F F F X X OE F x F HF ox F OE Xo F HF Xx F IRAM Xx OE OE F NCS Antenna Mount Drive Control azimuthEnd azimuth end position in radi elevation elevation in radians speed speed in radians second traceFlag add flag to trace a number traceFlagsEnum subscanId subscan identifier int ans 0 18 among the enum A passive source should be already defined In case no passive source exists an active source should ex The subscanId is not a string 2 3 5 setNextSubscanSlewElevation ABSTRACT Define a subscan slew in elevation setNextSubscanSlewElevation elevationSta azimuth speed lt traceFlag gt lt subscanId gt The 6 arguments are mandatory SESE rt elevationEnd elevationStart azimuth start position in radians elevationEnd azimuth end position in radians
21. ined at compilation time the loop is triggered by the call read fd which has for argument fd the file descriptor to the device dev int ant This call synchronizes the execution of the loop to the occurrence of the 1pps interrupts If the variable PCTCPOO is defined there is just a sleep 1 to simulate this 1pps synchronization The variable PCTCPOO is used here for debugging purpose In the loop depending on the different observation modes the commanded positions az command and el command are calculated and finally are converted in encoder units 9 2 10 arc seconds before being assigned to az x2 and el x2 The different observation modes are IDLE HORIZON PREPARE READY RUN and STOP Create Date November 2001 Author A Perrigouard NCSControl doc Page 10 of 19 IRAM NCS Antenna Mount Drive Control For the mode PREPARE the function prepareScan is called If the time to prepare is passed the scan starting position is evaluated and when this starting position is reached the observation mode is switched to READY For the mode READY the function readyScan is called If a time to stop is defined and this time is passed the observation mode is switched to STOP Otherwise if the time to start is passed the observation mode is switched to RUN For the mode RUN the function runScan is called The function calculates the running positions depending on the type of the current subscan If a time to stop is defined and this time 1s p
22. nna dmpObservation initAntenna initObservation horizon record scope stopDrive Create Date November 2001 NCSControl doc Page 15 of 19 Author A Perrigouard Xx Xx F X XX X OE F X OE F OE O ox IRAM NCS Antenna Mount Drive Control Implementation in evItSlow SubscanId are not implemented Not needed to define subscan OTF segments since they follow the declaration of the subscan String subscanId are very too long to be saved Only linear segments for OTF subscans projectionToNative sourceOffsetProjection are not applied in case of subscan OTF otherwise they are added p source lambda and p source gt beta are not used if projection is neither NOPROJECTION nor RADIO Everything implemented except AIT nativeToDescriptive sourceOffsetDescriptive are not applied in case of subscan OTF otherwise they are added Only RADIO implemented descriptiveToBasis ORIGIN POLAR EULER SourceOffsetBasis are not applied in case of subscan OTF otherwise they are added Everything implemented basisToHorizon EQUATORIAL APPARENTEQUATORIAL HORIZONTAL SourceOffsetHORIZONTALTRUE or sourceOffsetsHORIZONTALOFF are not applied in case of subscan OTF otherwise they are added GALACTIC ECLIPTIC APPARENTECLIPTIC HADEC not implemented EQUATORIALOFF HADECOFF and NASMYTH not implemented
23. on 800 640000 1500 660000 665000 1000 500 1000 xDelta 1500 1 03e 06 1 035 06 Page 18 of 19 1 056406 1 055606 Author A Perrigouard IRAM 40000 30000 20000 10000 o 10000 20000 30000 40000 1 03 25000 20000 15000 10000 5000 25000 20000 15000 10000 5000 5000 10000 15000 20000 25000 1 03 15000 10000 5000 5000 10000 1 03 15000 10000 5000 5000 10000 1 03 cXIntegral le 06 1 035606 1 040406 1 045606 1 056406 1 055606 vReference le 06 1 035606 1 040406 1 045606 1 056406 1 055 06 Velocity le 06 1 035606 1 040406 1 045606 1 056406 1 055606 c errare L i torque J I le 06 1 035606 1 046406 1 045606 1 056406 1 055606 T T T TE OR qmm le 06 1 035606 1 040406 1 045606 1 056406 1 055 06 Create Date November 2001 NCSControl doc NCS Antenna Mount Drive Control 30000 25000 20000 SOY 15000 10000 5000 5000 cVintermediate 1 03e 06 30000 1 045 06 1 056406 1 055606 25000 20000 15000 10000 5000 5000 mVelocity 10000 1 03e 06 1 035606 1 040406 1 045606 1 0
24. on as the actual encoder position is read The position error px gt xDelta is calculated and depending on the variable px gt request different algorithms may be applied px gt xDelta is the difference between px gt xReference and px gt xActual The variable px gt request may have the possible values R PRESET R TRACK R SLEW R_STOP or R TRSFER e R TRSFER is foreseen for a session of collecting data and for calculating the drive transfer function It is not tested with the 30m antenna e R PRESET is used to request the drive to reach a given position after a constant acceleration phase a phase of displacement at maximum speed and then a constant deceleration phase For a short distance the phase at constant and maximum speed may not exist This mode is always requested for a medium or long distance displacement to avoid tracking algorithm overshoot When the absolute value of the axis velocity is under a certain threshold px gt xVelocityEpsil and the absolute value of the position error is lower than px gt xDeltaMin the axis request mode is switched to R TRACK e R TRACK is used to track a position The servo mechanism is either in basic mode or in cascade mode depending on the variable px gt track equal to BASIC or CASCADE Note that whatever the value of px gt track the BASIC servo mechanism is used when the axis px gt request is R PRESET e R STOP is used to keep the axis on a fixed position When the axis px gt request is set
25. piled when the variable NOIK320 is defined In a development situation when there is neither main axis encoder nor VME module ik320 the variables az x0 and el x0 are extrapolated here and the function move is also called here instead of being called after the reception of the ik320 interrupt driven by the conversion completion 2 2 1 2 1ppsinterrupt The function itSlow calculates for each axis x0 and x1 x0 is the reference position for this current 1pps interrupt time and x1 is the reference position for the next 1pps interrupt time dx is equal to the difference x1 x0 and sumDx is cleared SumDx is used to accumulate dx every 7 8ms in encoder 2 2 1 3 ik320 interrupt The function encoder reads the 1k320 status register and depending on which axis is ready reads the corresponding latched counters If the condition variable SIMULATION is no defined the variable xActual is calculated from the actual values of the latch counters and 1s saved in the shared memory area If the drive is in remote the variable xReference and vReference are updated sumDx dx xReference x0 dx vReference dx If the variable MOVE TEST is not defined it s the normal situation the function move is called The variable MOVE TEST has been defined once to allow the execution of the task moveTest and the debugging of the function move which is called by moveTest The function move implements the servo code It is called for each axis as so
26. r Bardenheuer and his implementation made 18 years ago Rainer s controller software was executed on a CAMAC microprocessor board and was written in assembler In the present implementation the drives may be in different modes PRESET TRACK INIT STOP etc PRESET and INIT assume that the axes are driven in velocity That means that the servomechanisms receive velocity requests TRACK and STOP mean that the positions of the axes are the controlled variables The servomechanisms may either receive velocity requests or torque requests We call servo controller the part of this new software implementation that implements the servo algorithm and establishes the velocity or the torque requests Two bits per axis in the output register for elevation azimuth and subreflector control are used to switch from one mode of request to the other In the following the 2 cases are named basic and cascade e In basic when the position is controlled in a closed feedback the servo controller implemented in software is a PI controller It is the case when the axis is in TRACK mode variable request TRACK and the servomechanism is in basic variable track BASIC Remark that the servomechanism is also in basic when the axis is in PRESET or INIT mode In PRESET The algorithm checks in a slow loose loop the position error i e the difference between the target and the actual positions in order to reach the target at maximum speed acceleration but withou
27. t overshoot which would be generated inevitably with only a PI filter e In cascade the servo loop always controls the drive position The servo controller is a cascade of 2 PI controllers position and velocity the actual motor positions are feedback and there 1s a mechanism of friction compensation In the following the 2 controllers basic and cascade in their CAMAC and new VME implementations are presented The names of the variables are the names either used in the source codes or in the manual Antenna ServoMechanism from R Bardenheuer of November 20 1985 2 1 1 Basic controller In the manual Antenna servomechanism page 4 2 the proportional gain 1s 3 in azimuth and 2 5 in elevation The integration time is 5s However the same coefficients are used in the CAMAC implementation K 3 for both axes In the VME implementation we do the same choice so the same coefficients are used Create Date November 2001 Author A Perrigouard NCSControl doc Page 3 of 19 IRAM NCS Antenna Mount Drive Control com 0 1 tO PAERR Figure 1 Basic Controller Camac implementation Ts is the loop period Ts 0 006s x is the sum or the integration of the input KPMA 3 2 15 36000 See KPMD in AZSERVO LIS and ELSERVO LIS KIA Ts T 0 006 5 See KID in AZSERVO LIS and ELSERVO LIS xReference 9 21 10 xDelta EO Velodiy ac xAdual 9 2 10 Figure 2 Basi
28. to R STOP while it is moving the axis is slow down and then is requested to track to the reached position by switching px gt request to TRACK Note that the DAC output will increase up to its maximum value if this mode is requested and the axis is locked for any reason brake amplifier switched off etc e R SLEW is used to move the axis in basic mode and at constant speed The axes are in this mode at start time with a requested velocity px gt vReference set to 0 This mode keeps the DAC output to 0 until the antenna is free to move 2 2 1 4 Module installation Before installing this module universe o and bc336 0 have to be installed and the encoder VME modules should be initialized The installation procedure starts with the 2 kernel module installation Create Date November 2001 Author A Perrigouard NCSControl doc Page 8 of 19 IRAM NCS Antenna Mount Drive Control modprobe universe modprobe bc336 We consider that the main axis encoder VME module ik320 has been already initialised and it is running Another initialization of the VME module would cause a re initialization of the incremental encoders As a consequence ik320Init is commented out in the procedure The motor encoder VME module ik340 is initialized by calling ik340Init f control antenna bin ik320Init control antenna bin ik340Init And finally insmod control antenna bin int ant 22 2 Initialization tasks The encoder VME module initialization tasks have to be
29. vo mechanisms azimuth and elevation to basic mode 2 2 2 4 Config The task config is called just after initAntenna in the installation procedure but can be called at anytime later in order to modify some configuration variables The values of the configuration variables are found in the file control antenna config 30m The format of each line of this file is Variable name value For instance az kp 246 Az proportional factor Create Date November 2001 Author A Perrigouard NCSControl doc Page 9 of 19 IRAM NCS Antenna Mount Drive Control If the first string does not correspond to any variable name the line is considered as a comment line All strings following on the same line the configuration value are considered as well as comments The notation for the variable names is obvious For the example az is the element of type struct s_axes of the structure s_antenna and kp is one element of this struct s_axes 2 2 2 5 InitObservation This task initializes the structures needed to define the sources and the subscans for the observations This task should be executed before starting the slow periodic task evItSlow which prepares the position interpolations The task calls the function shm connect to connect to the shared memory area identified by PICO The struct s_observation describes the content of this shared memory area The struct s_observation is declared in s_observation h The task sets to some default values th

Download Pdf Manuals

image

Related Search

Related Contents

    USER MANUAL  manual de instrucciones y especificaciones para fuente de poder  Operating Instructions Optimat SBE 109 K  5012480  Per tornare al - Migros  Samsung SWT70B1 دليل المستخدم  RODEC® - Linearic  950BM_REVISION_ A_E  

Copyright © All rights reserved.
DMCA: DMCA_mwitty#outlook.com.