Device Address - Manual - Industrial Edge - Industrial Edge - Industrial Edge - Documentation of Industrial Edge APIs - CLI tools - Industrial Edge - References - APIs

Industrial Edge Platform Operation - APIs & References

Product
Industrial Edge
Edition
12/2024
Language
en-US (original)
// ------------------------------------------------------------------
// Common Definition of Device Address and Node Address
// ------------------------------------------------------------------

syntax = "proto3";
package siemens.common.address.v1;

//===================================================================
// Address Message Definitions
//===================================================================

message ConnectionCredential {
  // the URI of a Connector schema the credential belongs to
  string schema_uri = 1;
  // Connector specific credentials to establish the connection
  // Could be Token, Username + Password, Certificates, ...
  string credentials = 2;
}

message ConnectionParameterSet {
  // the URI of a specific Connector schema
  string schema_uri = 1;

  // A json string containing the connection parameters according to the
  // path $defs/config_connection/parameters in the base schema
  // 'https://siemens.com/connectivity_suite/schemas/base/1.0.0/config.json'
  // specialized for the specific schema given above with 'schema_uri'
  // providing properties like ip address, ...
  string parameter_json = 2;

  // A json string containing the connection subdriver configuration according to the
  // path $defs/config_connection/subdriver in the base schema
  // 'https://siemens.com/connectivity_suite/schemas/base/1.0.0/config.json'
  string subdriver_json = 3;

  repeated ConnectionCredential credentials = 4;
}

message DatapointConfiguration {
  // the name of the datapoint
  string datapoint_name = 1;

  // The configurations for the datapoints which has to be added
  DatapointParameterSet datapoint_parameter_set = 2;

  // The access mode for this datapoint "r", "w" or "rw"
  string access_mode = 3;

  // The owner of this datapoint
  string owner = 4;

  // A json string containing the datapoint array lower bounds according to the
  // path $defs/connection_datapoint/array_lower_bounds in the base schema
  // 'https://siemens.com/connectivity_suite/schemas/base/1.0.0/config.json'
  // specialized for the specific schema given above with 'schema_uri'
  repeated int32 array_lower_bounds = 5;
}

// Benötigt bei generic read/write, bestandteil von configuration
message DatapointParameterSet {
  // the URI of a specific Connector schema for the parameter
  // must be only set, if the schema is different to the schema uri of the connection
  // string schema_uri = 1;

  // A json string containing the datapoint address according to the
  // path $defs/connection_datapoint/address in the base schema
  // 'https://siemens.com/connectivity_suite/schemas/base/1.0.0/config.json'
  // specialized for the specific schema given by the schema uri of the connection
  string address_json = 2;

  // A json string containing the datapoint specific parameters according to the
  // path $defs/connection_datapoint/parameters in the base schema
  // 'https://siemens.com/connectivity_suite/schemas/base/1.0.0/config.json'
  // specialized for the specific schema given above with 'schema_uri'
  string parameter_json = 3;

  // This is the device specific datatype and not the Connectivity Suite datatype.
  // The types are defined by the driver.
  string connector_specific_datatype = 4;

  // Size of the array dimension(s)
  // Examples:
  // [] ( empty ) - scalar value
  // [2]          - 1-dim array with size 2
  // [0]          - 1-dim array with dynamic size, i.e. size is part of payload
  // [2,3]        - 2-dim array with size 2 x 3
  // [2,0]        - 2-dim array with dynamic size 2 x n, i.e. size of 2nd dimension is part of payload
  repeated int32 array_dimensions = 5;
}

// this is an array of browsenames which together form one browse path
// to identify one Node during browsing (e.g. starting node)
message BrowsePath {
  repeated string names = 1;
}

// Address of the device / instance you want to communicate with
message Destination {
  oneof target {
    // e.g. PROFINET name, IP-Address, PA-Address, ...
    ConnectionParameterSet connection_parameter_set = 1;

    // alternative, if a connection exist and can be referenced by name
    string connection_name = 2;
  }
}

// This is a work-around for "repeated oneof" in protobuf. See https://github.com/protocolbuffers/protobuf/issues/2592
message NodeAddress {
  oneof type {
      // A json string containing the datapoint address according to the
      // path $defs/connection_datapoint/address in the base schema
      // 'https://siemens.com/connectivity_suite/schemas/base/1.0.0/config.json'
      // specialized for the specific schema given by the schema uri of the connection
      string datapoint_json = 1;

      // should work for any browse server
      BrowsePath browse_path = 2;
  }
}
Message Field Type Label Description
ConnectionCredential schema_uri string The URI of a Connector schema the credential belongs to
credentials string Connector specific credentials to establish the connection
ConnectionParameterSet schema_uri string The URI of a specific Connector schema
parameter_json string A json string containing the connection parameters
subdriver_json string A json string containing the connection subdriver configuration
credentials ConnectionCredential repeated
DatapointConfiguration datapoint_name string The name of the datapoint
datapoint_parameter_set DatapointParameterSet The configurations for the datapoints which has to be added
access_mode string The access mode for this datapoint "r", "w" or "rw"
owner string The owner of this datapoint
array_lower_bounds int32 repeated A json string containing the datapoint array lower bounds
DatapointParameterSet address_json string A json string containing the datapoint address
parameter_json string A json string containing the datapoint specific parameters
connector_specific_datatype string This is the device specific datatype and not the Connectivity Suite datatype
array_dimensions int32 repeated Size of the array dimension(s)
BrowsePath names string repeated This is an array of browsenames which together form one browse path
Destination connection_parameter_set ConnectionParameterSet e.g. PROFINET name, IP-Address, PA-Address, ...
connection_name string Alternative, if a connection exist and can be referenced by name
NodeAddress datapoint_json string A json string containing the datapoint address
browse_path BrowsePath Should work for any browse server