// ------------------------------------------------------------------
// 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