1.45 Antenna-Management

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:

  1. Select the satellite from the 'satellite' list. You may enter partial satellite names to filter the list. There are several sort modes available for the satellite list, the list may be sorted by name, alias, orbit position and other satellite properties.
  2. If the Antenna-Management device is setup to control a beacon receiver, select the satellite beacon to use.
  3. If the Antenna-Management device is setup to control a TT&C equipment, select the telemetry and telecommand channels to use.
  4. If you want to position or track following a tracking table, select the table file name set to use.
  5. If you want to position or track following Intelsat I11 ephemerides, select the I11 data set to use.
  6. Select the tracking mode to use (see below)
  7. Click START to point the antenna to the satellite and to start tracking

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:

  1. It checks if the first line of the data specifies an existing file (residing on the IDU computer, therefore the file path should use Unix-style ('/') directory separators if necessary. If there is the specified file, it gets read an interpreted in a way, its file extension suggests: '*.tle' or '*.TLE': NASA 2-line ephemeris data. '*.i11' or '*.I11': Intelsat ephemeris data. Files with other extensions are interpreted as table data as described above.
  2. It checks if the data is a valid NASA 2-line data set. A satellite name before the 2-line data is accepted and parsed separately if present.
  3. It checks if the data contains valid Intelsat ephemeris data.
  4. It checks if the first number in the first line of the data is a valid Julian date in the range 2005 .. 2050. In this case the robot assumes, that the ephemeris data contain a pointing table.
  5. Finally, if nothing of the above mentioned formats did match, the robot tries to interpret the first line of the data as the nominal orbit position of the satellite.

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 .

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 '.selectTarget' when controlling a Vertex-7200 ACU. | | monopulseTrackId | The parameter ID used to switch the antenna controller's monopulse tracking ON/OFF. Leave this empty if the antenna controller does not support monopulse tracking | | monopulseTrackOn | The value to be sent to the parameter ID above in order to enable monopulse tracking at the antenna controller | | monopulseTrackOff | The value to be sent to the parameter ID above in order to disable monopulse tracking at the antenna controller | | targetNameId | If set, the Antenna-Management device sends the name and orbit position of the satellite actually tracked to this parameter. This can be used, to display the actually tracked satellite in the device screen of an ACU supporting such a parameter | | beacon.freqId | The parameter ID used to control the beacon receiver's frequency. The value sent is the receive frequency in MHz as the true RF frequency of the signal. Leave this empty if the Antenna-Management device shall not control a beacon receiver | | beacon.attenId | The parameter ID used to control the beacon receiver's attenuation. The parameter value is sent in dB as a floating point value | | beacon.levelId | The parameter ID reporting the beacon level. The parameter addressed by this ID should report the level as a dB value (either absolute or relative) | | beacon.polId | The parameter ID used to control the beacon polarization pane. | | tc.freqId | The parameter ID used to control the telecommand transmit frequency. The value sent is the transmit frequency in MHz as the true RF frequency of the signal. Leave this empty if the Antenna-Management device shall not control a telecommand transmitter | | tc.attenId | The parameter ID used to control the telecommand transmitter attenuation. The parameter value is sent in dB as a floating point value | | tc.polId | The parameter ID used to control the telecommand signal polarization pane. | | tm1.freqId | The parameter ID used to control the primary telemetry receiver's frequency. The value sent is the receive frequency in MHz as the true RF frequency of the signal. Leave this empty if the Antenna-Management device shall not control a telemetry receiver | | tm1.attenId | The parameter ID used to control the primary telemetry receiver attenuation. The parameter value is sent in dB as a floating point value | | tm1.polId | The parameter ID used to control the primary telemetry receiver polarization pane. | | tm2.freqId | The parameter ID used to control the secondary telemetry receiver's frequency. The value sent is the receive frequency in MHz as the true RF frequency of the signal. Leave this empty if the Antenna-Management device shall not control a telemetry receiver | | tm2.attenId | The parameter ID used to control the secondary telemetry receiver attenuation. The parameter value is sent in dB as a floating point value | | tm2.polId | The parameter ID used to control the secondary telemetry receiver polarization pane. | | reserved | Used by a RX-Channel device to lock the antenna. | | reserved.lo.x | Used by a RX-Channel device to lock one RX band of the antenna. | | reserved.lo.y | Used by a RX-Channel device to lock one RX band of the antenna. | | reserved.hi.x | Used by a RX-Channel device to lock one RX band of the antenna. | | reserved.hi.y | Used by a RX-Channel device to lock one RX band of the antenna. | | beamwidth | The antenna's half 3dB beam width in °. | | diameter | The antenna diameter in m. | | latitude | The antenna's geodetic location (latitude, °N). | | longitude | The antenna's geodetic location (longitude, °E). | | altitude | The antenna's altitude over sea level in m. | | ephemeris.update | If this is set to MANUAL, TLE and I11 data sets are read once from the database when tracking is started. If set to AUTO, TLE and I11 parameter are updated automatically while tracking is active and the data gets updated in the database. |

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)