This page describes the device driver and the device window for the Antenna-Management logical device. This device lets you make a motorized antenna follow a satellite based on it's orbit position or ephemeris data. The Antenna-Management device is very similar to the Pointing-Robot device, extends this with a common database which stores the all satellite data like ephemeris data, stored center of box positions and administrative data of the satellite.
If used as a replacement for the legacy Antenna-Pointing device, the Antenna-Management device may be operated in "SIMPLE" mode, which reduces the number of parameter to focus the operation to a simple "mode the antenna to the stored position" for the selected satellite. See "Simple Mode" below for more information about this.
Using the device for recalling data from the database
To use the Antenna-Management device with the database, set the 'tracking data source' parameter to DATABASE. The workflow to track a satellite from the database is as follows:
The Antenna-Management device offers several tracking modes:
| tracking mode | description |
|---|---|
| POINTING | The antenna moves to the pointing stored for the selected satellite in the database and stops. |
| STEPTRACK | The antenna moves to the pointing stored for the selected satellite in the database and then activates step track at the antenna controller. |
| MONOPULSE | The antenna moves to the pointing stored for the selected satellite in the database and then activates monopulse tracking at the antenna controller. |
| TLE | The antenna moves to the pointing calculated from the satellites TLE ephemerides and then tracks the satellite using this data. |
| I11 | The antenna moves to the pointing calculated from the selected I11 ephemerides and then tracks the satellite using this data. |
| TABLETRACK | The antenna moves to the pointing calculated from the selected tracking table and then tracks the satellite using this data. |
| TLE-STEP | The antenna moves to the pointing calculated from the satellite's TLE ephemerides in the database and then activates step track at the antenna controller. |
| I11-STEP | The antenna moves to the pointing calculated from the selected I11 ephemerides in the database and then activates step track at the antenna controller. |
| TABLE-STEP | The antenna moves to the pointing calculated from the selected tracking table and then activates step track at the antenna controller. |
| TLE-MONOPULSE | The antenna moves to the pointing calculated from the satellite's TLE ephemerides in the database and then activates monopulse tracking at the antenna controller. |
| I11-MONOPULSE | The antenna moves to the pointing calculated from the selected I11 ephemerides in the database and then activates monopulse tracking at the antenna controller. |
| TABLE-MONOPULSE | The antenna moves to the pointing calculated from the selected tracking table and then activates monopulse at the antenna controller. |
To stop tracking again click the STOP button.
Simple Mode
In SIMPLE mode only the tracking modes POINTING and STEPTRACK are available. The operation sequence differs from that used in FULL mode: First you select the desired tracking mode, then the satellite. The antenna moves to stored pointing for the satellite as soon as the satellite is selected from the list. No additional click to "start" is necessary.
"actual satellite" displays the satellite which recently has been selected for positioning and/or tracking. This persists over a restart of the sat-nms software.
Tracking file handling
The satellite database stores file names for table tracking. These names are assigned to a pair of satellite and antenna. During the satellite selection process the desired file name may be selected using the 'table tracking file name' parameter. The physical file however is not read from the database, it is read from the ~/robots directory ad the M&C computer. If the selected file is not found there, the Antenna-Management device complains with an error message.
Controlling the antenna without using the database
To use the TLE / I11 / table Track capabilities of the Antenna-Management device for a satellite which is not stored in the database or has no valid ephemeris data stored there, set the 'tracking data source' parameter to MANUAL and enter the tracking data at the 'Pointing Robot' page. The typical workflow there is to copy the ephemeris data from e.g. a webbrowser window and paste it into the 'ephemeris data' field at this page. The paragraphs below describe the various formats the Antenna-Management device can interpret.
Move the antenna along a satellite position calculated from ephemeris data
You can make the pointing robot follow a satellite position computed from usual ephemeris data sets. The robot recognizes the following data formats:
Pointing the antenna to the nominal position of a satellite
If a single floating point number is entered to the ephemeris data field, the pointing robot interprets this as a nominal orbit position of the satellite (°E).
Move the antenna along a path given by a table
The pointing robot is capable to move the antenna along a path defined in a text file table. You either may copy the file to the IDU computer by means of FTP and enter the name of file to the ephemeris field or you may enter or cot/paste the table directly to this field. If you do the latter, the size of the table is limited to 32000 characters.
The Pointing-Robot provides a file selection dropdown widget to select files located in the /home/satnms/robot directory on the M&C&VLC server. To use this feature, select the file from the dropdown list and then click "SELECT". This copies the file name into the ephemeris data field and thus selects the file.
Files in the /home/satnms/robot directory which are no longer used may be deleted by selecting the file do delete from the drop down list and clicking DELETE. A file actually in use cannot be deleted, the request is silently ignored.
Polarization calculation
When calculating the antenna pointing from a orbital model or when interpolating the pointing from the table data, the Pointing-Robot also calculates a polarization angle. As each satellite uses its individual polarization offset, the calculated angle is normally for information only. With table tracking, the pointing robot may also command the calculated polarization angle at the antenna.
Setting "apply pol" to CALCED enables this feature. Setting "apply pol" to SAT-DB makes the devices use the polarization angle stored for this satellite in the database.
Tracking table format
The format of the table must be as follows: It contains the data as a three or four column table. Empty lines are ignored, comments starting with a '#' as well. The numbers in the table are parsed as floating point numbers which only may consist of decimal digits, one decimal point and an optional leading '-' if negative. The columns must be separated by an arbitrary number of space or tabulator characters. They have the following meanings:
Beside this format, the Antenna-Management device accepts MMS files with the following column definitions:
File import
The Pointing Robot GUI offers an import function which permits to copy pointing tables from the client computer to the server and thereby convert the file format to that one internally used by the sat-nms software.
Parsing order
If the pointing robot gets entered a new ephemeris data set, it tries to interpret the data in the following way:
If all of the parsing attempts fail, the pointing robot reports the model type to be UNKNOWN. Mostly this happens due to artifacts of previously entered elements which had not been deleted before the new ephemeris data was entered / pasted.
Remote control
The Pointing-Robot may be updated easily with updated pointing tables or ephemeris data by copying such files to the /home/public directory of the M&C system using the SMB file sharing protocol and then commanding the name of this file to the 'elements.input' variable of the Pointing-Robot using one of the M&C system's remote control ports.
ACU fault monitoring
The device can monitor the ACU's summary fault and show it in the device screen. The parameter 'antenna fault detection' may be set to one of the following settings:
Fault flags
In table tracking mode the Pointing-Robot reports two fault conditions regarding the end of table data:
File expired is reported if the end of the table data is reached.
Some hours before (configurable in the device setup) the File expires soon fault is reported. The latter fault condition appears as a WARNING by default.
Both fault conditions are reported if the Pointing-Robot is in table tracking mode, even if the tracking is stopped. To clear faults concerning an outdated but unused table, simply clear the "ephemeris data" field.
Device window pages
The following table shows which device window pages are available with this individual device type. Tool-bar functions not mentioned here are described at the general description of device windows .
--- The main parameter page lets you select a satellite and make the antenna track along the data read from the database for the selected satellite.
--- The "Pointing Robot" page lets you manually enter ephemeris data for the satellite to track and control the Pointing-Robot integrated into the Antenna-Management directly.
--- The "Create Robot File" lets you create a table tracking file from ephemeris date read from the database for a given time span for offline use.
--- The faults page.
--- The device info page.
--- The maintenance page. The configuration parameters described below are set at this page.Configuration parameters
At the maintenance page of the device window there are a couple of configuration parameters which must be set to make the software talk to the antenna controller.
| parameter | description |
|---|---|
| azId | The parameter ID used to control the antenna's azimuth angle. |
| elId | The parameter ID used to control the antenna's elevation angle. |
| polId | The parameter ID used to control the antenna's polarization angle. |
// the connection may be closed meanwhile
| azStateId | The parameter ID reporting the antenna's actual azimuth angle. | | elStateId | The parameter ID reporting the antenna's actual elevation angle. | | polStateId | The parameter ID reporting the antenna's actual polarization angle. | | posReachedId | A parameter ID reporting the antenna's 'position reached' state as a boolean parameter. | | motorStopId | The parameter ID used to issue a "motor stop" at the antenna. Leave this empty if the antenna controller does not support this | | motorStopVal | The value to be sent to the parameter ID above in order to stop the motors | | memoryClearId | The parameter ID used to make the antenna clear its tracking memory. Leave this empty if the antenna controller does not support this | | memoryClearVal | The value to be sent to the parameter ID above in order to clear the tracking memory | | stepTrackId | The parameter ID used to switch the antenna controller's step track ON/OFF. Leave this empty if the antenna controller does not support step track | | stepTrackOn | The value to be sent to the parameter ID above in order to enable step track at the antenna controller | | stepTrackOff | The value to be sent to the parameter ID above in order to disable step track at the antenna controller | | targetId | This is a special configuration parameter for using the Antenna-Management device with a Vertex 7200 ACU. This ACU requires a target number to be set in order to run a step track. Set this to '
Database configuration
To give the Antenna-Management device access to the satellite database, the database server IP address as well as user name and password must be defined in the vlc.properties file. The property keys used for this are:
db.satlist.host=<IP4-address>
db.satlist.user=<user>
db.satlist.password=<password>
db.satlist.usessl=false
If SSL encryption shall be used for the database communication, set the #usessl' key to 'true'. In this case the M&C application's home directory must contain a hidden '.postgresql' directory with the database server's certificate, key and root certificate files. These files can be obtained from the database administrator, they have to be named postgresql.crt, postgresql.key.der and root.crt.
Changes to the vlc.properties file become effective after the next M&C restart.
Remarks
The accuracy of the calculations made by Pointing-Robot depend on the following:
Variables defined by this device driver
| name | type | flags | range |
|---|---|---|---|
| info.driver | TEXT | R/O | StringRange R/O |
| info.type | TEXT | R/O | StringRange R/O |
| info.frame | TEXT | R/O | StringRange R/O |
| config.azId | TEXT | SAVE SETUP | StringRange |
| config.elId | TEXT | SAVE SETUP | StringRange |
| config.polId | TEXT | SAVE SETUP | StringRange |
| config.azStateId | TEXT | SAVE SETUP | StringRange |
| config.elStateId | TEXT | SAVE SETUP | StringRange |
| config.polStateId | TEXT | SAVE SETUP | StringRange |
| config.posReachedId | TEXT | SAVE SETUP | StringRange |
| config.stepTrackId | TEXT | SAVE SETUP | StringRange |
| config.stepTrackOn | TEXT | SAVE SETUP | StringRange |
| config.stepTrackOff | TEXT | SAVE SETUP | StringRange |
| config.targetId | TEXT | SAVE SETUP | StringRange |
| config.targetNameId | TEXT | SAVE SETUP | StringRange |
| config.monopulseTrackId | TEXT | SAVE SETUP | StringRange |
| config.monopulseTrackOn | TEXT | SAVE SETUP | StringRange |
| config.monopulseTrackOff | TEXT | SAVE SETUP | StringRange |
| config.motorStopId | TEXT | SAVE SETUP | StringRange |
| config.motorStopVal | TEXT | SAVE SETUP | StringRange |
| config.clearMemoryId | TEXT | SAVE SETUP | StringRange |
| config.clearMemoryVal | TEXT | SAVE SETUP | StringRange |
| config.beacon.freqId | TEXT | SAVE SETUP | StringRange |
| config.beacon.levelId | TEXT | SAVE SETUP | StringRange |
| config.beacon.attenId | TEXT | SAVE SETUP | StringRange |
| config.beacon.polId | TEXT | SAVE SETUP | StringRange |
| config.tc.freqId | TEXT | SAVE SETUP | StringRange |
| config.tc.atten1Id | TEXT | SAVE SETUP | StringRange |
| config.tc.atten2Id | TEXT | SAVE SETUP | StringRange |
| config.tc.polId | TEXT | SAVE SETUP | StringRange |
| config.tm1.freqId | TEXT | SAVE SETUP | StringRange |
| config.tm1.attenId | TEXT | SAVE SETUP | StringRange |
| config.tm1.polId | TEXT | SAVE SETUP | StringRange |
| config.tm2.freqId | TEXT | SAVE SETUP | StringRange |
| config.tm2.attenId | TEXT | SAVE SETUP | StringRange |
| config.tm2.polId | TEXT | SAVE SETUP | StringRange |
| config.reserved | CHOICE | SETUP | EnumRange (NO YES) |
| config.reserved.lo.x | CHOICE | SAVE SETUP | EnumRange (NO YES) |
| config.reserved.lo.y | CHOICE | SAVE SETUP | EnumRange (NO YES) |
| config.reserved.hi.x | CHOICE | SAVE SETUP | EnumRange (NO YES) |
| config.reserved.hi.y | CHOICE | SAVE SETUP | EnumRange (NO YES) |
| config.beamwidth | FLOAT | SAVE SETUP | DoubleRange (0.00 .. 0.00) |
| config.diameter | FLOAT | SAVE SETUP | DoubleRange (0.0 .. 0.0) |
| config.latitude | FLOAT | SAVE SETUP | DoubleRange (0.000 .. 0.000) |
| config.longitude | FLOAT | SAVE SETUP | DoubleRange (0.000 .. 0.000) |
| config.altitude | FLOAT | SAVE SETUP | DoubleRange (0 .. 0) |
| config.ephemeris.update | CHOICE | SAVE SETUP | EnumRange (MANUAL AUTO) |
| config.uiMode | CHOICE | SAVE SETUP | EnumRange (FULL SIMPLE) |
| config.fixedAntenna | CHOICE | SAVE SETUP | EnumRange (NO YES) |
| dataSource | CHOICE | SAVE | EnumRange (DATABASE MANUAL) |
| satsort | CHOICE | SAVE | EnumRange (NAME ALIAS ORBIT NORAD FLIGHT) |
| reconnect | TEXT | NOPRESET | StringRange |
| poslist | CHOICE | EnumRange (?) | |
| satlist | CHOICE | EnumRange (?) | |
| satellite | CHOICE | EnumRange (?) | |
| copositioned | TEXT | R/O | StringRange R/O |
| noradNumber | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| intDesignator | TEXT | R/O | StringRange R/O |
| orbit | FLOAT | R/O | DoubleRange R/O (0.00 .. 0.00) |
| inclination | FLOAT | R/O | DoubleRange R/O (0.0000 .. 0.0000) |
| alias | TEXT | R/O | StringRange R/O |
| trackMode | CHOICE | SAVE | EnumRange (POINTING STEPTRACK MONOPULSE TLE I11 TABLETRACK TLE-STEP I11-STEP TABLE-STEP TLE-MONOPULSE I11-MONOPULSE TABLE-MONOPULSE) |
| beacon | CHOICE | EnumRange DIS (?) | |
| tcchan | CHOICE | EnumRange DIS (?) | |
| tmchan | CHOICE | EnumRange DIS (?) | |
| i11 | CHOICE | EnumRange (?) | |
| table | CHOICE | EnumRange (?) | |
| ephemeris | TEXT | R/O | StringRange R/O |
| start | TEXT | NOPRESET | StringRange |
| stop | TEXT | NOPRESET | StringRange |
| reload | TEXT | NOPRESET | StringRange |
| gotoTLE | TEXT | NOPRESET | StringRange |
| mayStart | BOOLEAN | R/O | BooleanRange R/O (true false) |
| mayStop | BOOLEAN | R/O | BooleanRange R/O (true false) |
| azimuth | FLOAT | NOPRESET | DoubleRange (0.000 .. 0.000) |
| elevation | FLOAT | NOPRESET | DoubleRange (0.000 .. 0.000) |
| polarization | FLOAT | NOPRESET | DoubleRange (0.000 .. 0.000) |
| state.az | FLOAT | R/O | DoubleRange R/O (0.000 .. 0.000) |
| state.el | FLOAT | R/O | DoubleRange R/O (0.000 .. 0.000) |
| state.pl | FLOAT | R/O | DoubleRange R/O (0.000 .. 0.000) |
| state.activeFault | BOOLEAN | R/O | BooleanRange R/O (true false) |
| state.latchedFault | BOOLEAN | R/O | BooleanRange R/O (true false) |
| state.level | FLOAT | R/O | DoubleRange R/O (0.00 .. 0.00) |
| state.usePol | TEXT | R/O | StringRange R/O |
| initial.az | FLOAT | R/O | DoubleRange R/O (0.000 .. 0.000) |
| initial.el | FLOAT | R/O | DoubleRange R/O (0.000 .. 0.000) |
| initial.pl | FLOAT | R/O | DoubleRange R/O (0.000 .. 0.000) |
| initial.state | TEXT | R/O | StringRange R/O |
| satoperator.name | TEXT | R/O | StringRange R/O |
| satoperator.contact | TEXT | R/O | StringRange R/O |
| satoperator.exists | BOOLEAN | R/O | BooleanRange R/O (true false) |
| saved.satelliteid | INTEGER | SAVE | IntegerRange (0 .. 0) |
| saved.i11id | INTEGER | SAVE | IntegerRange (0 .. 0) |
| saved.tableid | INTEGER | SAVE | IntegerRange (0 .. 0) |
| saved.trackMode | INTEGER | SAVE | IntegerRange (0 .. 0) |
| tracking | CHOICE | SAVE | EnumRange (OFF ON) |
| interval | INTEGER | SAVE | IntegerRange (0 .. 3600) |
| calculatePol | CHOICE | SAVE | EnumRange (OFF CALCED SAT-DB) |
| antFaultMode | CHOICE | SAVE | EnumRange (IGNORE-ACU-FAULT SHOW-ACU-FAULT STOP-ON-ACU-FAULT) |
| expireWarning | FLOAT | SAVE | DoubleRange (0.0 .. 0.0) |
| elements.input | TEXT | StringRange | |
| eval.az | FLOAT | R/O | DoubleRange R/O (0.000 .. 0.000) |
| eval.el | FLOAT | R/O | DoubleRange R/O (0.000 .. 0.000) |
| eval.pl | FLOAT | R/O | DoubleRange R/O (0.000 .. 0.000) |
| eval.orbit | TEXT | R/O | StringRange R/O |
| state.short | TEXT | R/O | StringRange R/O |
| state.long | TEXT | R/O | StringRange R/O |
| state.time | TEXT | R/O | StringRange R/O |
| state.satellite | TEXT | R/O | StringRange R/O |
| state.alias | TEXT | R/O | StringRange R/O |
| state.intDesignator | TEXT | R/O | StringRange R/O |
| state.noradNumber | INTEGER | R/O | IntegerRange R/O (0 .. 0) |
| state.trackMode | TEXT | R/O | StringRange R/O |
| state.stepTrack | TEXT | R/O | StringRange R/O |
| offset.az | FLOAT | SAVE | DoubleRange (0.000 .. 0.000) |
| offset.el | FLOAT | SAVE | DoubleRange (0.000 .. 0.000) |
| offset.pl | FLOAT | SAVE | DoubleRange (0.000 .. 0.000) |
| hysteresis.az | FLOAT | SAVE | DoubleRange (0.000 .. 10.000) |
| hysteresis.el | FLOAT | SAVE | DoubleRange (0.000 .. 10.000) |
| hysteresis.pl | FLOAT | SAVE | DoubleRange (0.000 .. 10.000) |
| elements.type | TEXT | R/O | StringRange R/O |
| elements.age | FLOAT | R/O | DoubleRange R/O (0.0 .. 0.0) |
| elements.epoch | TEXT | R/O | StringRange R/O |
| elements.validFrom | TEXT | R/O | StringRange R/O |
| elements.validTo | TEXT | R/O | StringRange R/O |
| resetLatched | TEXT | NOPRESET | StringRange |
| files | CHOICE | EnumRange (NONE) | |
| selectFile | TEXT | NOPRESET | StringRange |
| deleteFile | TEXT | NOPRESET | StringRange |
| forceUpdateFileList | TEXT | NOPRESET | StringRange |
| wf.startTime | TEXT | StringRange | |
| wf.endTime | TEXT | StringRange | |
| wf.step | INTEGER | IntegerRange (1 .. 7200) | |
| wf.fileName | TEXT | StringRange | |
| wf.write | TEXT | NOPRESET | StringRange |
| wf.mayWrite | BOOLEAN | R/O | BooleanRange R/O (true false) |
| faults.01 | ALARM | R/O | AlarmFlagRange R/O (Database access) |
| faults.02 | ALARM | R/O | AlarmFlagRange R/O (Antenna Controller) |
| faults.03 | ALARM | R/O | AlarmFlagRange R/O (Beacon Receiver) |
| faults.04 | ALARM | R/O | AlarmFlagRange R/O (Input Device) |
| faults.05 | ALARM | R/O | AlarmFlagRange R/O (File expired) |
| faults.06 | ALARM | R/O | AlarmFlagRange R/O (File expires soon) |
| faults.07 | ALARM | R/O | AlarmFlagRange R/O (ACU Latched) |