Skip to main content

Network Services

The IEEE 1451.0 define the network structure for messaging exchange insuring interoperability. Its defines the services allowing to send commands and replays in a WAN or user network.

info

The Network Structure is defined in the 10 Network Services. Check this IEEE 1451.0-2024.

Messages Type

The message exhange uses octets arrays reads from left to right. The message structure is defined as follows:

[octet 1] [octet 2] [octet N]

Message Types between APP and NCAP

  • Discovery
  • Transducer Access
  • TEDS Access
  • Event Notification

Client -> Server

Scenario 1

Scenario 2

Publisher -> Subscriber

Scenario 1

Scenario 2

Messages Structure

Table 54 - Network service message structure

  • Network service type
  • Network service Id
  • Message type
  • Length (most significant octet)
  • Length (least significant octet)

netSvcType: Network service type

Table 52 - Network service type

  • Discovery services: (1)
  • Transducer access services: (2)
  • TEDS access services: (3)
  • Event notification services: (4)

netSvcIds: Network Service Id

Discovery services

Table 55 - Discovery services

  • NetSvcType: (1)
    • NCAPAnnouncement: (1)
    • NCAPDeparture: (2)
    • NCAPAbandonment: (3)
    • NCAPTIMAnnouncement: (4)
    • NCAPTIMDeparture: (5)
    • NCAPTIMTransducerAnnouncement: (6)
    • NCAPTIMTransducerDeparture: (7)
    • NCAPDiscovery: (8)
    • NCAPTIMDiscovery: (9)
    • NCAPTIMTransducerDiscovery: (10)
    • GeneralPurposeService: (11)

Transducer Access Service

Table 58 - Transducer Access Service

  • NetSvcType: (2)
    • SyncReadTransducerSampleDataFromAChannelOfATIM: (1)
    • SyncReadTransducerBlockDataFromAChannelOfATIM: (2)
    • SyncReadTransducerSampleDataFromMulitipleChannelsOfATIM: (3)
    • SyncReadTransducerBlockDataFromMulitipleChannelsOfATIM: (4)
    • SyncReadTransducerSampleDataFromMultipleChannelsOfMultipleTIMs: (5)
    • SyncReadTransducerBlockDataFromMultipleChannelsOfMultipleTIMs: (6)
    • SyncWriteTransducerSampleDataFromAChannelOfATIM: (7)
    • SyncWriteTransducerBlockDataFromAChannelOfATIM: (8)
    • SyncWriteTransducerSampleDataFromMulitipleChannelsOfATIM: (9)
    • SyncWriteTransducerBlockDataFromMulitipleChannelsOfATIM: (10)
    • SyncWriteTransducerSampleDataFromMultipleChannelsOfMultipleTIMs: (11)
    • SyncReadTransducerSampleDataFromMulitipleChannelsOfATIM: (12)
    • AsyncReadTransducerBlockDataFromAChannelOfATIM: (13)
    • CallbackAsyncReadTransducerBlockDataFromAChannelOfATIM: (14)
    • AsyncReadTransducerStreamDataFromAChannelOfATIM: (15)
    • CallbackAsyncReadTransducerStreamDataFromAChannelOfATIM: (16)
    • AsyncReadTransducerBlockDataFromMultipleChannelsOfATIM: (17)
    • AsyncReadTransducerBlockDataFromMultipleChannelsOfATIM: (18)
    • AsyncReadTransducerBlockDataFromMultipleChannelOfMultipleTIMs: (19)
    • CallbackAsyncReadTransducerBlockDataFromMultipleChannelOfMultipleTIMs: (20)

TEDS Access Service Id

Table 59 - TEDS Access service Id

  • NetSvcType: (3)
    • Query TEDS : (1)
    • Read TEDS : (2)
    • Write TEDS : (3)
    • Update TEDS : (4)

Event Notification Services

Table 60 - Event notification services

  • NetSvcType: (4)
    • SubscribeTransducerEventFromOneChannelOfOneTIM: (1)
    • NotifyTransducerEventFromOneChannelOfOneTIM: (2)
    • UnsubscribeTransducerEventFromOneChannelOfOneTIM: (3)
    • SubscribeTransducerEventFromMultipleChannelsOfOneTIM: (4)
    • NotifyTransducerEventFromMultipleChannelsOfOneTIM: (5)
    • UnsubscribeTransducerEventFromMultipleChannelsOfOneTIM: (6)
    • SubscribeTransducerEventFromMultipleChannelsOfMultipleTIMs: (7)
    • NotifyTransducerEventFromMultipleChannelsOfMultipleTIMs: (8)
    • UnsubscribeTransducerEventFromMultipleChannelsOfMultipleTIMs: (9)
    • SubscribeNCAPHeartbeat: (10)
    • NotifyNCAPHeartbeat: (11)
    • UnsubscribeNCAPHeartbeat: (12)

msgType: Network Service Message Type

Table 53 - Network service message type

  • Commands: (1)
  • Reply: (2)
  • Announcement: (3)
  • Notification: (4)
  • Callback: (5)

Body

  • ncapId: (UUID)
  • timId: (UUID)
  • command-dependent: (variable type and size)

Replay

-Header

-ErrorCode (UInt16)

  • Source: (Table 102 - Error code source enumeration)
    • Error from the local IEEE 1451.0 layer: (0)
    • Error from the local IEEE 1451.X or P1451.5.X layer: (1)
    • Error from the remote IEEE 1451.X or P1451.5.X layer: (2)
    • Error from the remote IEEE 1451.0 layer: (3)
    • Error from the remote application layer: (4)
  • Enumeration: (Table 102 - Error code source enumeration)
    • NO_ERROR: (0)
    • INVALID_COMMID: (1)
    • UNKNOWN_DESTID: (2)
    • TIMEOUT: (3)
    • NETWORK_FAILURE: (4)
    • NETWORK_CORRUPTION: (5)
    • MEMORY: (6)
    • QOS_FAILURE: (7)
    • MCAST_NOT_SUPPORTED: (8)
    • UNKNOWN_GROUPID: (9)
    • UNKNOWN_MODULEID: (10)
    • UNKNOWN_MSGID: (11)
    • NOT_GROUP_MEMBER: (12)
    • ILLEGAL_MODE: (13)
    • LOCKED_RESOURCE: (14)
    • FATAL_TEDS_ERROR: (15)
    • NON_FATAL_TEDS_ERROR: (16)
    • CLOSE_ON_LOCKED_RESOURCE: (17)
    • LOCK_BROKEN: (18)
    • NETWORK_RESOURCE_EXCEEDED: (19)
    • MEMORY_RESOURCE_EXCEEDED: (20)

-Body

Messages Playground

Header

Body