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:
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> Port = <OTA channel/port: 1-3><connection type: 0-5><device number: 001-999>
Example: To access terminal #12 using terminal OTA channel #1:
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 |
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 |
| 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. |
| 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 3500. 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 -10000 to 200000. |
| 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 3500. 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. |