How to bring GPS signals into a controller

Procedure to connect a GPS received to a Q.series controller and read the signals

The Q.series controllers have the option to connect a GPS receiver for

  • time synchronization
  • live position data

A Gantner controller such as a Q.station has drivers for NMEA 0183 protocol or Garmin USB devices. The NMEA 0183 standard defines the communication between a GPS receiver and the device. The NMEA data sets used in the controller are:

  • $GPRMC (Recommended Minimum Sentence C)
  • $GPGGA (includes position information, number of satellites, …)

GPS receivers with an RS232 interface require a USB-to-Serial converter for connecting the Q.series controller.

Recommended GPS receivers

The following GPS receivers are recommended:

Navilock USB 2.0 Multi GNSS Receiver u-blox 8
  • The Navilock 62531 can be mounted on a roof of a cabinet or vehicle.
    GPS-ontvanger / u-blox 8 / USB / dakmontage  4,50 m NAVILOCK 62531  GPS-ontvanger / u-blox 8 / USB / dakmontage  4,50 m NAVILOCK 62531
  • The Navilock 62523 looks like a PC mouse and can be placed anywhere. It also has a magnetic bottom to fix it to a metal part.

    Navilock NL-8002U USB Zwart GPS ontvanger

Controller configuration

  1. Connect the GPS receiver to the USB port on the controller
  2. In GI.bench, double-click the controller to open the Controller Settings window
  3. Enter a Device count of 1
  4. Select the port the GPS receiver is connected to
  5. Select the type (NMEA-0183 receiver or Garmin USB-GPS receiver)
  6. Enter the appropriate parameters for baud rate and format based on the GPS receiver
  7. If you would like to synchronize the controller's time to the GPS clock, check the box for Enable time sync
  8. Click OK and write updates to the controller
GPS time is in UTC (Coordinated Universal Time), which equals GMT (Greenwich Mean Time) but without daylight saving time. Use a time zone offset to adjust the controller's time to the time zone location it is at.

Get positioning data

Create arithmetic virtual variables using the function GetPositioningData() it is possible to get some more information out of the GPS signal:

GetPositioningData(Selector;InfoSelector)

Selector: defines the USB port to which the device is connected. 

Code

Port

Description

100

USB0

left port

101

USB0 Hub Port0

left port

102

USB0 Hub Port1

left port

103

USB0 Hub Port2

left port

104

USB0 Hub Port3

left port

200

USB1

right port

201

USB1 Hub Port0

right port

202

USB1 Hub Port1

right port

203

USB1 Hub Port2

right port

204

USB1 Hub Port3

right port


If there is a USB hub connected at USB port 1 the first port on the hub is 101, and the second is 102. If the hub is connected to USB port 2 the first port on the hub is 201, the second 202, and so on.


InfoSelector

Code

Meaning

Description

Device / Command

0

Time

as TimeOLE2 (days since 01.01.1900)

Garmin GPS / GGL, GGA, RMC

1

Latitude

as degrees and minutes

Garmin GPS / GGL, GGA, RMC

2

Longitude

as degrees and minutes

Garmin GPS / GGL, GGA, RMC

3

Speed

in [m/s]

Garmin GPS / RMC

4

Heading

in [°]
0° … North
90° … East
180° … South
270° … West

Garmin GPS / RMC

5

Number of satellites

Number of satellites being tracked

Garmin GPS / GSV, GGA

6

Altitude above NN

in [m]

Garmin GPS / GGA

7

Quality

state
0 … invalid
1 … GPS
2 … DGPS
6 … estimated

GGA

8

Horizontal dilution of position

 

GGA

9

Rate and direction of turn

 

ROT

10

Longitudinal water speed

 

VBW

11

Transverse water speed

 

VBW

12

Longitudinal ground speed

 

VBW

13

Transverse ground speed

 

VBW

14

Track degrees: true

 

VTG

15

Track degrees: magnetic

 

VTG

16

Depth below transducer

in [feet]

DBT

17

Depth below transducer

in [m]

DBT

18

Depth below transducer

in [fathoms]

DBT

19

Water: depth

in [m]

DPT

20

Water: offset from the transducer

 

DPT

21

Wind: angle

in [°]

MWV

22

Wind: speed

 

MWV

23

Water: temperature

in [°C]

MTW

24

Own ship data: heading

in [°]

OSD

25

Own ship data: vessel course

in [°]

OSD

26

Own ship data: vessel speed

 

OSD

27

Own ship data: vessel set

in [°]

OSD

28

Own ship data: vessel drift

 

OSD

29

RADAR system data: cursor range

 

RSD

30

RADAR system data: cursor bearing

in [°]

RSD

31

RADAR system data: range scale

 

RSD

32

Heading degrees: true

in [°]

HDT

33

Speed

in [knots]

VTG

34

Speed

in [km/h]

VTG

35

Latitude (Decimal)

in decimal [°]

GGL, GGA

36

Longitude (Decimal)

in decimal [°]

GGL, GGA

100

Error states

state
0 … invalid char format
1 … invalid baud rate
2 … invalid port configuration
3 … invalid sentence format

 

Info: conversion of latitude/longitude

XXYY.ZZZZ ⇒ XX° + (YY.ZZZZ / 60)° or XXYY.ZZZZ ⇒ XX° YY’ (0.ZZZZ * 60)’’