The RMP Motion Controller APIs

RPCs

rpc Network(NetworkRequest) returns (NetworkResponse) {};

Request

message NetworkRequest {
// Common request header.
RSI.RapidServer.RequestHeader header = 1;
optional NetworkConfig config = 2;
optional NetworkAction action = 3;
}

Response

message NetworkResponse {
// Common response header. Always check the response header for errors.
RSI.RapidServer.ResponseHeader header = 1;
optional NetworkConfig config = 2;
optional NetworkAction action = 3;
optional NetworkInfo info = 4;
optional NetworkStatus status = 5;
}

Config

message NetworkConfig {}

Action

message NetworkAction {
// Shutdown the network.
optional Shutdown shutdown = 1;
// Start the network.
optional NetworkStart start = 2;
// Evaluate network reliability.
optional TimingMetrics timing_metrics = 3;
// Used to override firmware values with your custom outputs.
repeated NetworkOutput network_output = 4;
// Creating the object does the job.
message Shutdown { }
message NetworkStart {
// Default: RSINetworkStartModeOPERATIONAL.
optional RSINetworkStartupMethod method = 1;
// Default: RSINetworkStartupMethodNORMAL.
optional RSINetworkStartMode mode = 2;
// Default: MotionController::NetworkStartTimeoutMillisecondsDefault which is 30000 ms.
optional uint32 timeout_milliseconds = 3;
}
message TimingMetrics {
// Determines when low_count increases.
optional uint32 low_threshold = 1;
// Determines when high_count increases.
optional uint32 high_threshold = 2;
// Clears counts and min_recorded/max_recorded.
optional bool clear = 3;
// Start or stop feature.
optional bool enable = 4;
}
message NetworkOutput {
// Index of the output.
int32 index = 1;
// Turn on or off overriding of the firmware value with the override_value.
optional bool override = 2;
// Your custom value rather than our intended firmware value.
optional int64 override_value = 3;
}
}

Info

message NetworkInfo {
RSINetworkType type = 1;
int32 node_count = 2;
bool network_synchronized = 3;
int32 network_input_count = 4;
int32 network_output_count = 5;
// Collection of all Network Inputs.
repeated NetworkInputInfo network_inputs = 6;
// Collection of all Network Outputs.
repeated NetworkOutputInfo network_outputs = 7;
message NetworkInputInfo {
int32 index = 1;
string name = 2;
int64 address = 3;
int32 bit_size = 4;
int32 bit_offset = 5;
string data_type = 6;
}
message NetworkOutputInfo {
int32 index = 1;
string name = 2;
int64 sent_value_address = 3;
int64 override_value_address = 4;
int64 firmware_value_address = 5;
int32 bit_size = 6;
int32 bit_offset = 7;
string data_type = 8;
}
}

Status

message NetworkStatus {
RSINetworkState state = 1;
int32 network_counter = 2;
RSINetworkStartError last_start_error = 3;
string network_log = 4;
// NetworkTiming in RapidCode. Used to evaluate stability.
TimingMetricsStatus timing_metrics = 5;
// Collection of all Network Inputs.
repeated NetworkInputStatus network_inputs = 6;
// Collection of all Network Outputs.
repeated NetworkOutputStatus network_outputs = 7;
message TimingMetricsStatus {
// Most recent value.
uint32 delta = 1;
// Lowest recorded since last clear.
uint32 min_recorded = 2;
// Highest recorded since last clear.
uint32 max_recorded = 3;
// Count below low_threshold since last clear.
uint32 low_count = 4;
// Count above high_threshold since last clear.
uint32 high_count = 5;
}
message NetworkInputStatus {
int32 index = 1;
int64 value = 2;
}
message NetworkOutputStatus {
int32 index = 1;
int64 sent_value = 2;
int64 override_value = 3;
int64 firmware_value = 4;
bool override_enabled = 5;
}
}
RSI::RapidCode::RSINetworkType
RSINetworkType
Type of Network topology.
Definition: rsienums.h:607
RSI::RapidCode::RSINetworkStartError
RSINetworkStartError
Network start errors.
Definition: rsienums.h:582
RSI::RapidCode::RSINetworkState
RSINetworkState
State of network.
Definition: rsienums.h:557
RSI
RSI::RapidCode::RSINetworkStartupMethod
RSINetworkStartupMethod
Network startup methods.
Definition: rsienums.h:569
RSI::RapidCode::RSINetworkStartMode
RSINetworkStartMode
Network start modes.
Definition: rsienums.h:576