User Tools

Site Tools


how_to_access_a_satscada_terminal

How to Access a SatSCADA Terminal

Proxy IP Ports

To connect your host application to a satscada terminal you must connect that application to the proxy using a special IP port numbers. The IP address is of the computer where the proxy is installed (e.g. 127.0.0.1 for the local host).

The host can communicate with a satscada terminal using proxy ip ports 1xyyy, 2xyyy, or 3xyyy. These connect to over-the-air channels 1, 2, and 3 respectively. There are three OTA channels. The terminal must be configured to use one or more of these channels using the SatSCADA GUI.

The 'x' field designates the type of connection:

  • 0: satellite only
  • 1: cell only
  • 2: sat/cell fail-over
  • 3: ip (for virtual serial server via cell)

The 'yyy' field is the terminal number preceded by leading zeros (e.g. 002 is used for terminal 2).

The host can get terminal register values stored in the satscada database by using ip port 5yyy.

<proxy ip>:<port>
proxy ip = ip address of the proxy server
port = <OTA channel: 1-3><connection type: 0-3><device number: 001-999>

Example: To access terminal #12 using terminal OTA channel #1:

  • Satellite only use 10012,
  • Cell only use 11012,
  • Cell with satellite fail over use 12012,
  • Cell with virtual serial server use 13012.

Accessing Modbus RTU Registers in FlowThru Mode

The host can communicate to a satscada terminals Modbus registers in FlowThru mode using ip ports 1xxxx, 2xxxx, or 3xxxx where x is the terminal number preceded by leading zeros (e.g. 10002). These connect to terminal ports 1, 2, and 3 respectively. For example, 10002 connects to terminal 2 and port 1 on that terminal.

Modbus Registers appear in the flowthru map ONLY if they have been associated with external I/O pins or polls in the terminal configuration. The exceptions are registers in the range 'supply voltage' through 'time of day'. These are always available in the flowthru register map.

:!: Float values appear in the register map only if there is an associated tag defined in the configuration. The tag parameters specify the transformation between the integer and float values. The register numbers are shown in the GUI Tags form.

Coils: Digital Outputs (1-9999)
Register Description Data Type
1 Digital output #1 boolean
2 Digital output #2 boolean
3 Digital output #3 boolean
4 Digital output #4 boolean
100-131 Master digital outputs boolean
Status: Digital Inputs (10001-19999)
Register Description Data Type
1 Digital input #1 boolean
2 Digital input #2 boolean
3 Digital input #3 boolean
4 Digital input #4 boolean
5 Accelerometer boolean
100-131 Master digital inputs boolean
200-247 Alarm state boolean
Inputs: Analog Inputs (30001-39999)
Register Description Data Type
1 Analog input #1 int
2 Analog input #2 int
3 Analog input #3 int
4 Analog input #4 int
50-51 Analog input #1 float
52-53 Analog input #2 float
54-55 Analog input #3 float
56-57 Analog input #4 float
100-131 Master analog inputs int
200 Master error flags int
300-363 Master analog inputs float
Holdings: Analog Outputs (40001-49999)
Register Description Data Type
1 Analog input #1 int
2 Analog input #2 int
3 Analog input #3 int
4 Analog input #4 int
5 Supply voltage int
6 Device temperature int
7 Battery voltage int
10-11 Latitude long
12-13 Longitude long
14-15 Altitude long
16-17 Fix time long
18-19 Time of day long
20 No delay pulse value int
21 Delay pulse value int
22-23 Number of pulses long
24-25 Time of pulse #1 long
26-27 Time of pulse #2 long
28-29 Time of pulse #3 long
30-31 Time of pulse #4 long
32-33 Time of pulse #5 long
34-35 Time of pulse #6 long
36-27 Time of pulse #7 long
38-39 Time of pulse #8 long
40-41 Time of pulse #9 long
42-43 Time of pulse #10 long
50-51 Analog input #1 float
52-53 Analog input #2 float
54-55 Analog input #3 float
56-57 Analog input #4 float
58-59 Supply voltage float
60-61 Device temperature float
62-63 Battery voltage float
64-65 Latitude float
66-67 Longitude float
68-69 Altitude float
70-71 Fix time float
72-73 Time of day float
100-131 Master analog outputs int
200 Master error flags int
300-363 Master analog outputs float

Callout Registers via Modbus Protocol

The host can retrieve call out data by connecting to ip port 5xxx, where x is the terminal number with leading zeros, and the ip address of the computer where the client is installed (usually localhost). For example, ip port 5002 is used to get call out registers from terminal 2.

:!: Registers appear in the callout map only if tags have been associated with flowthru registers in the terminal configuration. All analog values in the callout register are floats.

Callout registers are stored in the SatSCADA Server database and are accessed without using air time. Accessing these registers therefore in faster than accessing flowthru registers. A callout transaction takes about 100 msec whereas a flowthru transaction takes about 25 sec by satellite and 5 sec by cell. However callout registers are historical and do not represent the current terminal state as flowthru registers do.

Coils: Digital Outputs (1-9999)
Register Description Data Type
1 Digital output #1 boolean
2 Digital output #2 boolean
3 Digital output #3 boolean
4 Digital output #4 boolean
100-131 Master digital outputs boolean
Status: Digital Inputs (10001-19999)
Register Description Data Type
1 Digital input #1 boolean
2 Digital input #2 boolean
3 Digital input #3 boolean
4 Digital input #4 boolean
5 Accelerometer boolean
100-131 Master digital inputs boolean
200-247 Alarm state boolean
Inputs: Analog Inputs (30001-39999)
Register Description Data Type
50-51 Analog input #1 float
52-53 Analog input #2 float
54-55 Analog input #3 float
56-57 Analog input #4 float
300-363 Master analog inputs float
Holdings: Analog Outputs (40001-49999)
Register Description Data Type
50-51 Analog input #1 float
52-53 Analog input #2 float
54-55 Analog input #3 float
56-57 Analog input #4 float
58-59 Supply voltage float
60-61 Device temperature float
62-63 Battery voltage float
64-65 Latitude float
66-67 Longitude float
68-69 Altitude float
70-71 Fix time float
72-73 Time of day float
300-363 Master analog outputs float

Data Types

boolean One bit that can be 0 or 1.
int 16 bit unsigned integer.
long 32 bit signed integer big endian.
float 32 bit IEEE 754 big endian.

Data Definitions

Accelerometer Available for SAT110 and SAT120 terminals only. If true the terminal is vibrating.
Alarm State Alarm states for configured tags are stored in status registers 200-247. The states are listed in tag index order. There can be from 0 to 48 tags and therefore the same number of states.
Altitude Height above mean sea level in tenths of meters.
Analog Input Analog inputs 1 to 4 correspond to external I/O pins that are configured for that purpose. These appear in the register maps in both the inputs and holdings columns. However they are read only since the external I/O pins cannot be configured for analog output.
Battery Voltage In milli-Volts. Range is 0 to 35000. For example, 30000 = 30 V.
Device Temperature In degrees C.
Digital Input Digital inputs 1 to 4 correspond to external I/O pins that are configured for that purpose.
Digital Output Digital outputs 1 to 4 correspond to external I/O pins that are configured for that purpose. If an external I/O pin is configured as a pulsed digital output then setting the digital output register to 1 will result in a pulse and the digital output register will then be immediately reset to 0. The actual value of the pin will be determined by the base value setting in the configuration. The pulsed pin value will be the inverted base value.
Fix Time Time the last position was obtained, expressed as the number of seconds since the start of 1970 UTC.
Latitude In milli-minutes in the range -5400000 to 5400000.
Longitude In milli-minutes in the range -10800000 to 10800000.
Master Analog These registers correspond to analog registers that are referenced by polls configured on the terminal. Registers in the range 300-363 are floating point tag values obtained by tranforming registers in the 100-131 range using the Tag sub-forms conversion parameters. For example, a tag associated with register 100 will have its float value stored at registers 300-301.
Master Digital These registers correspond to digital registers that are referenced by polls configured on the terminal.
Master Error Flags A register that contains the status of the 16 polls as a bitset. The first poll is in the highest order bit of the 16 bit unsigned integer register.
No Delay Pulse Value Value of detected pulse after inversion, if specified, but before stretching.
Number of Pulses Count of the number of pulses received since last terminal reset.
Supply Voltage In milli-Volts. Range is 0 to 35000. For example, 30000 = 30 V.
Time of Day The current date and time, expressed as the number of seconds since the start of 1970 UTC.
Time of Pulse The pulse date and time, expressed as the number of seconds since the start of 1970 UTC. Pulse times are ordered from most recent to oldest.
how_to_access_a_satscada_terminal.txt · Last modified: 2019/10/10 14:18 by dmeier