Breadcrumbs

SMCC

The SMCC protocol is an NMEA 0183-compatible string used for connecting to helideck monitoring systems and other related systems.

Data:

  • Roll, pitch, heading

  • Surge, sway, heave

  • Surge velocity, sway velocity, heave velocity

  • x acceleration, y acceleration, z acceleration

Format:

$PSMCC,±xx.xx, ±yy.yy, ±zzz.z, ±ss.ss, ±ww.ww, ±hh.hh, ±sv.sv , ±sw.sw, ±hv. hv, ±ax.axa, ±ay.aya, ±az.aza*cs<CR><LF>

SMCC protocol description

FIELD N.

FIELD

DESCRIPTION

UNIT

TYPE

NOTE

0

$PSMCCG

identifier

-

string

Telegram identifier.

1

±xx.xx

roll

[deg]

DBL

Sign: Positive (+) when port up.

xx.xx : ‘xx' is the integer part of the roll represented by two digits in range [-99,99], ‘.’ is decimal separator and 'xx’ is the fractional part of the roll represented by two positive digits in range [0,99].

2

±yy.yy

pitch

[deg]

DBL

Sign: Positive (+) when bow down.

yy.yy: ‘yy' is the integer part of the pitch represented by two digits in range [-99,99], ‘.’ is decimal separator and 'yy’ is the fractional part of the pitch represented by two positive digits in range [0,99].

3

±zzz.z

heading

[deg]

DBL

Heading increase in clockwise direction.

zzz.z: ‘zzz' is the integer part of the heading represented by three positive digits in range [0,359], ‘.’ is decimal separator and 'z’ is the fractional part of the heading represented by one positive digit in range [0,9].

4

±ss.ss

surge

[m]

DBL

Sign: Positive (+) in forward (bow) direction.

ss.ss: ‘ss' is the integer part of the surge represented by two digits in range [-99,99], ‘.’ is decimal separator and 'ss’ is the fractional part of the surge represented by two positive digits in range [0,99].

5

±ww.ww

sway

[m]

DBL

Sign: Positive (+) in right (starboard) direction.

ww.ww: ‘ww' is the integer part of the sway represented by two digits in range [-99,99], ‘.’ is decimal separator and 'ww’ is the fractional part of the sway represented by two positive digits in range [0,99].

6

±hh.hh

heave

[m]

DBL

Sign: Positive (+) when elevated.

hh.hh: ‘hh' is the integer part of the heave represented by two digits in range [-99,99], ‘.’ is decimal separator and 'hh’ is the fractional part of the heave represented by two positive digits in range [0,99]. Note that hh.hh is a decimal number with leading zeroes where appropriate.

7

±sv.sv

surge velocity

[m/s]

DBL

Sign: Positive (+) in forward (bow) direction.

sv.sv: ‘sv' is the integer part of the surge velocity represented by two digits in range [-99,99], ‘.’ is decimal separator and 'sv’ is the fractional part of the surge velocity represented by two positive digits in range [0,99].

8

±sw.sw

sway velocity

[m/s]

DBL

Sign: Positive (+) in right (starboard) direction.

sw.sw: ‘sw' is the integer part of the sway velocity represented by two digits in range [-99,99], ‘.’ is decimal separator and 'sw’ is the fractional part of the sway velocity represented by two positive digits in range [0,99].

9

±hv.hv

heave velocity

[m/s]

DBL

Sign: Positive (+) when elevated.

hv.hv: ‘hv' is the integer part of the heave velocity represented by two digits in range [-99,99], ‘.’ is decimal separator and 'hv’ is the fractional part of the heave velocity represented by two positive digits in range [0,99].

10

±ax.axa

acceleration x

[m/s²]

DBL

ax.axa: ‘ax' is the integer part of the acceleration (x) represented by two digits in range [-99,99], ‘.’ is the decimal separator and 'axa’ is the fractional part of the acceleration (x) represented by three positive digits in range [0,999].

11

±ay.aya

acceleration y

[m/s²]

DBL

ay.aya: ‘ay' is the integer part of the acceleration (y) represented by two digits in range [-99,99], ‘.’ is the decimal separator and 'aya’ is the fractional part of the acceleration (y) represented by three positive digits in range [0,999].

12

±az.aza

acceleration z

[m/s²]

DBL

az.aza: ‘az' is the integer part of the acceleration (z) represented by two digits in range [-99,99], ‘.’ is the decimal separator and 'aza’ is the fractional part of the acceleration (z) represented by three positive digits in range [0,999].

13

CS

checksum

-

HEX

XOR of characters between $ and *

Example:

SMCC frame with raw example data is listed below.

$PSMCCG,+00.28,-02.08,+106.0,-00.30,+00.08,-00.17,-00.06,+00.01,-00.02,-00.365,-00.046,-00.003*70<CR><LF>

Field 0

Field 1

Field 2

Field 3

Field 4

Field 5

Field 6

Field 7

Field 8

Field 9

Field 10

Field 11

Field 12

Field 13

PSMCCG

+00.28

-02.08

+106.0

-00.30

+00.08

-00.17

-00.06

+00.01

-00.02

-00.365

-00.046

-00.003

70

Decoded values:

  • Roll

    • Raw value: +00.28, decoded roll angle: 0.28 degrees

  • Pitch

    • Raw value: -02.08, decoded pitch angle: 2.08 degrees

  • Heading

    • Raw value: +106.0, decoded heading angle: 106.0 degrees

  • Surge

    • Raw value: -00.30, decoded surge: -0.3 m

  • Sway

    • Raw value: +00.08, decoded sway: 0.08 m

  • Heave

    • Raw value: -00.17, decoded heave: -0.17 m

  • Surge velocity

    • Raw value: -00.06, decoded surge velocity: 0.06 m/s

  • Sway velocity

    • Raw value: +00.01, decoded sway velocity: 0.01 m/s

  • Heave velocity

    • Raw value: -00.02, decoded heave velocity: -0.02 m/s

  • Acceleration x

    • Raw value: -00.365, decoded acceleration x: -0.365 m/s²

  • Acceleration y

    • Raw value: -00.046, decoded acceleration y: -0.046 m/s²

  • Acceleration z

    • Raw value: -00.003, decoded acceleration z: -0.003 m/s²

  • Checksum

    • Created from XOR operations of characters between $ and * in the example frame.


Note 1

The fields of data (e.g., ‘xx.xx’) are decimal numbers with leading zeroes where appropriate.

Note 2

The reference frame for data (e.g., roll) is configurable in the SMCC protocol. Also, the data's location (e.g., MRU or MP1) is configurable.