🔹 RPCs
rpc NetworkNode (NetworkNodeRequest) returns (NetworkNodeResponse) {};
rpc NetworkNodeBatch (NetworkNodeBatchRequest) returns (NetworkNodeBatchResponse) {};
🔹 Request
message NetworkNodeRequest {
RSI.RapidServer.RequestHeader header = 1;
int32 index = 2;
optional NetworkNodeConfig config = 3;
optional NetworkNodeAction action = 4;
}
🔹 Response
message NetworkNodeResponse {
RSI.RapidServer.ResponseHeader header = 1;
int32 index = 2;
optional NetworkNodeConfig config = 3;
optional NetworkNodeAction action = 4;
optional NetworkNodeInfo info = 5;
optional NetworkNodeStatus status = 6;
}
🔹 Batch Request and Response
message NetworkNodeBatchRequest {
RSI.RapidServer.RequestHeader header = 1;
repeated NetworkNodeRequest requests = 2;
}
message NetworkNodeBatchResponse {
RSI.RapidServer.ResponseHeader header = 1;
repeated NetworkNodeResponse responses = 2;
}
🔹 Config
🔹 Action
message DigitalOutput {
int32 bit_number = 1;
bool state = 2;
}
message AnalogOutput {
int32 channel = 1;
int32 value = 2;
}
message SDO {
int32 index = 1;
int32 sub_index = 2;
int32 byte_count = 3;
optional bool is_string_value = 4;
optional uint32 timeout_milliseconds = 5;
oneof value {
int32 integer_value = 6;
string string_value = 7;
}
}
message AKDASCII {
string command = 1;
optional string result = 2;
}
message NetworkNodeAction {
repeated DigitalOutput digital_output_sets = 1;
repeated AnalogOutput analog_output_sets = 2;
repeated SDO sdo_writes = 3;
repeated SDO sdo_reads = 4;
repeated AKDASCII akd_asciis = 5;
}
🔹 Info
message NetworkNodeInfo {
bool exists = 1;
int32 index = 2;
int32 axis_count = 3;
bool has_io = 4;
IOCounts io_counts = 5;
IOAddresses io_addresses = 6;
uint32 vendor_id = 8;
uint32 product_code = 9;
uint32 hardware_revision = 10;
uint32 station_alias = 11;
string serial_number = 12;
string name = 13;
string product_name = 14;
string vendor_name = 15;
Constants constants = 16;
message IOCounts {
int32 digital_inputs = 1;
int32 digital_outputs = 2;
int32 analog_inputs = 3;
int32 analog_outputs = 4;
}
message IOAddresses {
repeated AddressInfo digital_inputs = 1;
repeated AddressInfo digital_outputs = 2;
repeated AddressInfo analog_inputs = 3;
repeated AddressInfo analog_outputs = 4;
}
message Constants {
uint32 sdo_timeout_milliseconds_default = 1;
}
}
🔹 Status
message NetworkNodeStatus {
repeated bool digital_input_states = 2;
repeated bool digital_output_states = 3;
repeated int32 analog_input_values = 4;
repeated int32 analog_output_values = 5;
}