4package RSI.RapidCodeRemote;
5import "rsienums.proto";
6import "rapidgrpc.proto";
16 rpc MotionController(MotionControllerRequest) returns (MotionControllerResponse) {};
21 rpc Network(NetworkRequest) returns (NetworkResponse) {};
25 rpc Axis (AxisRequest) returns (AxisResponse) {};
26 rpc AxisBatch (AxisBatchRequest) returns (AxisBatchResponse) {};
31 rpc MultiAxis (MultiAxisRequest) returns (MultiAxisResponse) {};
32 rpc MultiAxisBatch (MultiAxisBatchRequest) returns (MultiAxisBatchResponse) {};
36 rpc NetworkNode (NetworkNodeRequest) returns (NetworkNodeResponse) {};
37 rpc NetworkNodeBatch (NetworkNodeBatchRequest) returns (NetworkNodeBatchResponse) {};
41 rpc Recorder (RecorderRequest) returns (RecorderResponse) {};
42 rpc RecorderBatch(RecorderBatchRequest) returns (RecorderBatchResponse) {};
46 rpc UserLimit (UserLimitRequest) returns (UserLimitResponse) {};
47 rpc UserLimitBatch(UserLimitBatchRequest) returns (UserLimitBatchResponse) {};
51 rpc MathBlock (MathBlockRequest) returns (MathBlockResponse) {};
52 rpc MathBlockBatch(MathBlockBatchRequest) returns (MathBlockBatchResponse) {};
56 rpc RTOS(RTOSRequest) returns (RTOSResponse) {};
57 rpc RTOSBatch(RTOSBatchRequest) returns (RTOSBatchResponse) {};
61 rpc RTTask (RTTaskRequest) returns (RTTaskResponse) {};
62 rpc RTTaskBatch(RTTaskBatchRequest) returns (RTTaskBatchResponse) {};
66 rpc RTTaskManager (RTTaskManagerRequest) returns (RTTaskManagerResponse) {};
67 rpc RTTaskManagerBatch(RTTaskManagerBatchRequest) returns (RTTaskManagerBatchResponse) {};
72message MotionControllerConfig {
74 optional int32 axis_count = 1;
77 optional int32 multi_axis_count = 2;
80 optional int32 user_limit_count = 3;
83 optional int32 recorder_count = 4;
86 repeated int32 recorder_buffer_sizes = 5;
89 optional int32 compensator_count = 6;
92 repeated int32 compensator_point_counts = 7;
95 repeated int32 axis_frame_buffer_sizes = 8;
98 optional int32 math_block_count = 9;
101 optional int32 user_version = 10;
104 optional
double sample_rate = 11;
121 uint64 host_address = 4;
127 uint64 firmware_address = 6;
131 optional int32 index = 7;
134 optional int32 mask = 8;
137message MotionControllerMemory {
139 uint64 host_address = 1;
143 uint64 host_address = 1;
147 uint64 host_address = 1;
158message MotionControllerCreationParameters {
160 optional
string rmp_path = 1;
161 optional
string node_name = 2;
163 optional
string primary_nic = 3;
164 optional
string secondary_nic = 4;
166 optional int32 cpu_affinity = 5;
167 optional int32 rmp_thread_priority_max = 6;
169 optional int32 controller_index = 7;
172message MotionControllerAction {
174 optional MotionControllerCreationParameters create = 1;
176 repeated MotionControllerMemory memory_sets = 2;
177 repeated MotionControllerMemory memory_gets = 3;
178 repeated AddressInfo address_gets = 4;
179 optional Shutdown shutdown = 5;
180 optional ProcessorUsageClear processor_usage_clear = 6;
186 message ProcessorUsageClear {}
193message MotionControllerInfo {
195 uint32 serial_number = 1;
198 string rapid_code_version = 2;
201 string firmware_version = 3;
204 int32 axis_license_count = 4;
206 repeated AddressInfo addresses = 5;
209 Constants constants = 6;
213 uint32 network_start_timeout_milliseconds_default = 1;
216 uint32 axis_count_maximum = 2;
219 uint32 motion_count_maximum = 3;
222 uint32 network_node_count_maximum = 4;
225 uint32 recorder_count_maximum = 5;
228 uint32 compensator_count_maximum = 6;
231 uint32 user_buffer_data_count_maximum = 7;
234 double sample_rate_default = 8;
236 CreationParameters creation_parameters = 9;
239 uint32 math_block_count_maximum = 10;
241 message CreationParameters {
243 uint32 path_length_maximum = 1;
246 uint32 cpu_affinity_default = 2;
249 uint32 rmp_thread_priority_maximum_default = 3;
252 uint32 rmp_thread_priority_range = 4;
257 MotionControllerCreationParameters creation_parameters = 7;
264message MotionControllerStatus {
266 int32 sample_counter = 1;
269 uint32 network_node_count = 2;
272 double processor_usage = 3;
275 uint32 firmware_timing_delta = 4;
278 int32 external_memory_size = 9;
285message MotionControllerRequest {
287 RSI.RapidServer.RequestHeader header = 1;
289 optional MotionControllerConfig config = 2;
290 optional MotionControllerAction action = 3;
296message MotionControllerResponse {
298 RSI.RapidServer.ResponseHeader header = 1;
300 optional MotionControllerConfig config = 2;
301 optional MotionControllerAction action = 3;
302 optional MotionControllerInfo info = 4;
303 optional MotionControllerStatus status = 5;
308message FirmwareValue {
311 int32 int8_value = 2;
312 uint32 uint8_value = 3;
313 int32 int16_value = 4;
314 uint32 uint16_value = 5;
315 int32 int32_value = 6;
316 uint32 uint32_value = 7;
317 float float_value = 8;
318 double double_value = 9;
319 int64 int64_value = 10;
320 uint64 uint64_value = 11;
326message NetworkConfig {}
330message NetworkAction {
332 optional Shutdown shutdown = 1;
335 optional Discover discover = 2;
336 optional Start start = 3;
337 optional DiscoverAndStart discover_and_start = 4;
340 optional TimingMetricsEnable timing_metrics_enable = 5;
341 optional TimingMetricsDisable timing_metrics_disable = 6;
342 optional TimingMetricsClear timing_metrics_clear = 7;
345 repeated OutputOverride output_override = 8;
348 optional EniGenerate eni_generate = 9;
355 optional uint32 timeout_milliseconds = 3;
361 optional uint32 timeout_milliseconds = 2;
364 message DiscoverAndStart {
368 optional uint32 timeout_milliseconds = 2;
371 message TimingMetricsEnable {
373 optional uint32 low_threshold = 1;
375 optional uint32 high_threshold = 2;
377 message TimingMetricsDisable {}
378 message TimingMetricsClear {}
380 message OutputOverride {
384 optional
bool override = 2;
386 optional FirmwareValue override_value = 3;
389 message EniGenerate {
393 optional
string output = 2;
399message NetworkRequest {
401 RSI.RapidServer.RequestHeader header = 1;
403 optional NetworkConfig config = 2;
405 optional NetworkAction action = 3;
410message NetworkResponse {
412 RSI.RapidServer.ResponseHeader header = 1;
414 optional NetworkConfig config = 2;
415 optional NetworkAction action = 3;
416 optional NetworkInfo info = 4;
417 optional NetworkStatus status = 5;
422message NetworkStatus {
424 int32 node_count = 2;
426 bool synchronized = 4;
430 string log_message = 6;
433 TimingMetricsStatus timing_metrics = 7;
436 repeated PdoInputStatus pdo_inputs = 8;
439 repeated PdoOutputStatus pdo_outputs = 9;
442 uint32 al_status = 10;
444 uint32 missed_cyclic_frame_count = 11;
446 uint32 cyclic_frame_period_us = 12;
448 int32 synchronization_error_ns = 13;
450 uint32 active_node_count = 14;
455 uint64 eoe_host_to_node_frame_count = 16;
457 uint64 eoe_node_to_host_frame_count = 17;
459 message TimingMetricsStatus {
463 uint32 min_recorded = 2;
465 uint32 max_recorded = 3;
467 uint32 low_count = 4;
469 uint32 high_count = 5;
474 message PdoInputStatus {
478 FirmwareValue value = 2;
481 message PdoOutputStatus {
485 FirmwareValue sent_value = 2;
487 bool override_enabled = 3;
489 FirmwareValue override_value = 4;
491 FirmwareValue firmware_value = 5;
499 int32 pdo_input_count = 4;
500 int32 pdo_output_count = 5;
503 repeated PdoInputInfo pdo_inputs = 6;
506 repeated PdoOutputInfo pdo_outputs = 7;
508 message PdoInputInfo {
510 AddressInfo address_info = 2;
512 int32 bit_offset = 4;
513 string data_type_name = 5;
516 message PdoOutputInfo {
518 AddressInfo sent_value_address = 2;
519 AddressInfo override_value_address = 3;
520 AddressInfo firmware_value_address = 4;
522 int32 bit_offset = 6;
523 string data_type_name = 7;
534 RSI.RapidServer.RequestHeader header = 1;
539 optional AxisConfig config = 3;
540 optional AxisAction action = 4;
545message AxisResponse {
547 RSI.RapidServer.ResponseHeader header = 1;
552 optional AxisConfig config = 3;
553 optional AxisAction action = 4;
554 optional AxisInfo info = 5;
555 optional AxisStatus status = 6;
560message AxisBatchRequest {
562 RSI.RapidServer.RequestHeader header = 1;
564 repeated AxisRequest requests = 2;
567message AxisBatchResponse {
569 RSI.RapidServer.ResponseHeader header = 1;
571 repeated AxisResponse responses = 2;
578 bool amp_enabled = 1;
587 string source_name = 4;
590 PositionStatus position = 5;
593 VelocityStatus velocity = 6;
596 AccelerationStatus acceleration = 7;
599 int32 frames_to_execute = 8;
602 uint32 motion_id = 9;
605 uint32 motion_id_executing = 10;
608 int32 element_id_executing = 11;
611 bool gear_enabled = 12;
614 MotorStatusBits motor_status_bits = 13;
617 MotionStatusBits motion_status_bits = 14;
620 Ds402StatusBits ds402_status_bits = 15;
623 DedicatedOutputBits dedicated_output_bits = 16;
626 DedicatedInputBits dedicated_input_bits = 17;
629 bool home_state = 18;
633 uint32 general_input_bits = 20;
636 uint32 general_output_bits = 21;
638 message PositionStatus {
644 double encoder_0 = 6;
645 double encoder_1 = 7;
646 double compensation = 8;
650 message VelocityStatus {
655 message AccelerationStatus {
659 message MotorStatusBits {
661 bool amp_warning = 2;
662 bool feedback_fault = 3;
663 bool limit_position_error = 4;
664 bool limit_torque = 5;
665 bool limit_hardware_negative = 6;
666 bool limit_hardware_positive = 7;
667 bool limit_software_negative = 8;
668 bool limit_software_positive = 9;
671 message MotionStatusBits {
675 bool at_velocity = 4;
676 bool out_of_frames = 5;
677 bool near_target = 6;
682 message Ds402StatusBits {
683 bool ready_to_switch_on = 1;
684 bool switched_on = 2;
685 bool operation_enabled = 3;
687 bool voltage_enabled = 5;
689 bool switch_on_disabled = 7;
691 bool manufacturer_specific_8 = 9;
693 bool target_reached = 11;
694 bool internal_limit_active = 12;
695 bool operation_mode_specific_12 = 13;
696 bool operation_mode_specific_13 = 14;
697 bool manufacturer_specific_14 = 15;
698 bool manufacturer_specific_15 = 16;
701 message DedicatedOutputBits {
703 bool brake_release = 2;
706 message DedicatedInputBits {
708 bool brake_applied = 2;
710 bool limit_hardware_positive = 4;
711 bool limit_hardware_negative = 5;
713 bool index_secondary = 7;
714 bool feedback_fault = 8;
719 bool amp_active = 13;
721 bool drive_status_9 = 15;
722 bool drive_status_10 = 16;
723 bool feedback_fault_primary = 17;
724 bool feedback_fault_secondary = 18;
731 optional Abort abort = 1;
732 optional EStopAbort e_stop_abort = 2;
733 optional EStopModifyAbort e_stop_modify_abort = 3;
734 optional EStopModify e_stop_modify = 4;
735 optional EStop e_stop = 5;
736 optional TriggeredModify triggered_modify = 6;
737 optional Stop stop = 7;
738 optional Resume resume = 8;
740 optional ClearFaults clear_faults = 9;
741 optional AmpEnable amp_enable = 10;
742 optional AmpDisable amp_disable = 11;
743 optional HoldGateSet hold_gate_set = 12;
744 optional PositionSet position_set = 13;
745 optional Move move = 14;
746 optional GearEnable gear_enable = 15;
747 optional GearDisable gear_disable = 16;
748 optional Home home = 17;
749 optional HomeCancel home_cancel = 18;
750 optional OperationMode operation_mode_set = 19;
751 optional OperationMode operation_mode_get = 20;
757 repeated AxisNetworkIndex network_index_sets = 21;
760 message EStopAbort {}
761 message EStopModifyAbort{}
762 message EStopModify{}
764 message TriggeredModify {}
768 message ClearFaults {}
771 optional int32 timeout_milliseconds = 1;
772 optional int32 duration = 2;
773 optional
bool override_restricted_state = 3;
775 message AmpDisable {}
776 message HoldGateSet {
786 AxisMovePointToPoint point_to_point = 3;
787 AxisMoveVelocity velocity = 4;
788 MoveStreaming streaming = 5;
792 optional uint32 motion_id = 6;
795 optional MotionHold motion_hold = 7;
802 optional int32 master_axis_number = 2;
805 int32 denominator = 5;
807 message GearDisable {}
812 double slow_velocity = 3;
813 double acceleration = 4;
814 double deceleration = 5;
815 optional
double jerk_percent = 6;
816 optional
bool move_to_zero = 7;
817 optional
double offset = 8;
821 message HomeCancel {}
823 message OperationMode {
830 message AxisMovePointToPoint {
835 optional
double velocity = 2;
838 optional
double acceleration = 3;
841 optional
double deceleration = 4;
847 optional
double jerk_percent = 5;
851 optional
double final_velocity = 6;
857message AxisMoveVelocity {
862 double acceleration = 2;
867 double jerk_percent = 3;
870message MoveStreaming {
871 repeated
double positions = 1;
872 repeated
double velocities = 2;
873 repeated
double accelerations = 3;
874 repeated
double jerks = 4;
875 repeated
double times = 5;
876 int32 empty_count = 6;
891 repeated
double feedforwards = 10;
895message MotionHoldGate{
899message MotionHoldAxis {
907 int32 hold_axis_number = 3;
910 double hold_axis_position = 4;
913message MotionHoldUser {
927 MotionHoldGate gate = 2;
928 MotionHoldAxis axis = 3;
929 MotionHoldUser user = 4;
933 optional
double hold_timeout_seconds = 6;
936 optional
double delay_seconds = 7;
942 optional
double user_units = 1;
945 optional
double origin_position = 2;
948 optional
string user_label = 3;
951 optional TrajectoryDefaults defaults = 4;
952 optional HardwareTrigger amp_fault = 5;
953 optional HardwareTrigger home_switch = 6;
954 optional ErrorLimit error_limit = 7;
955 optional HardwareTrigger hardware_negative_limit = 8;
956 optional HardwareTrigger hardware_positive_limit = 9;
957 optional SoftwareTrigger software_negative_limit = 10;
958 optional SoftwareTrigger software_positive_limit = 11;
959 optional Settling settling = 12;
960 optional MotionConfig motion = 13;
961 optional Homing homing = 14;
962 optional int32 frame_buffer_size = 15;
964 optional
double feed_rate = 17;
967 message TrajectoryDefaults
969 optional
double velocity = 1;
970 optional
double acceleration = 2;
971 optional
double deceleration = 3;
972 optional
double jerk_percent = 4;
973 optional
double position1 = 5;
974 optional
double position2 = 6;
975 optional
double relative_increment = 7;
978 message HardwareTrigger {
980 optional
bool trigger_state = 2;
981 optional
double duration = 3;
984 message SoftwareTrigger {
986 optional
double trigger_value = 2;
991 optional
double trigger_value = 2;
992 optional
double duration = 3;
996 optional
double position_tolerance_fine = 1;
997 optional
double position_tolerance_coarse = 2;
998 optional
double velocity_tolerance = 3;
999 optional
double time_seconds = 4;
1000 optional
bool on_stop = 5;
1001 optional
bool on_estop = 6;
1002 optional
bool on_estop_cmd_equals_actual = 7;
1005 message MotionConfig {
1007 optional
double stop_time = 1;
1010 optional
double estop_time = 2;
1013 optional
double triggered_modify_deceleration = 3;
1016 optional
double triggered_modify_jerk_percent = 4;
1019 optional
double estop_modify_deceleration = 5;
1022 optional
double estop_modify_jerk_percent = 6;
1036 repeated AddressInfo addresses = 2;
1039 NetworkNodeInfo node_info = 3;
1042 Constants constants = 4;
1045 int32 motion_supervisor_index = 5;
1049 int32 drive_index = 6;
1057 repeated AxisNetworkIndex network_indexes = 7;
1061 uint32 network_index_invalid = 1;
1064 double amp_enable_amp_fault_timeout_seconds_default = 2;
1073message AxisNetworkIndex {
1079message MultiAxisRequest {
1081 RSI.RapidServer.RequestHeader header = 1;
1086 optional MultiAxisConfig config = 3;
1087 optional MultiAxisAction action = 4;
1092message MultiAxisResponse {
1094 RSI.RapidServer.ResponseHeader header = 1;
1099 optional MultiAxisConfig config = 3;
1100 optional MultiAxisAction action = 4;
1101 optional MultiAxisInfo info = 5;
1102 optional MultiAxisStatus status = 6;
1107message MultiAxisBatchRequest {
1109 RSI.RapidServer.RequestHeader header = 1;
1111 repeated MultiAxisRequest requests = 2;
1114message MultiAxisBatchResponse {
1116 RSI.RapidServer.ResponseHeader header = 1;
1118 repeated MultiAxisResponse responses = 2;
1124message MultiAxisStatus {
1127 string source_name = 3;
1128 bool amp_enabled = 4;
1129 MotionStatusBits motion_status_bits = 5;
1130 repeated AxisStatus axis_statuses = 6;
1133 message MotionStatusBits {
1137 bool at_velocity = 4;
1138 bool out_of_frames = 5;
1144message MultiAxisAction {
1145 optional Abort abort = 1;
1146 optional EStopAbort e_stop_abort = 2;
1147 optional EStopModifyAbort e_stop_modify_abort = 3;
1148 optional EStopModify e_stop_modify = 4;
1149 optional EStop e_stop = 5;
1150 optional TriggeredModify triggered_modify = 6;
1151 optional Stop stop = 7;
1152 optional Resume resume = 8;
1154 optional ClearFaults clear_faults = 9;
1155 optional AmpEnable amp_enable = 10;
1156 optional AmpDisable amp_disable = 11;
1157 optional Move move = 12;
1158 optional RemoveAxes remove_axes = 13;
1159 optional Unmap unmap = 14;
1160 optional Map map = 15;
1161 optional AxisAdd axis_add = 16;
1164 message EStopAbort {}
1165 message EStopModifyAbort{}
1166 message EStopModify{}
1168 message TriggeredModify {}
1172 message ClearFaults {}
1175 optional int32 timeout_milliseconds = 1;
1176 optional int32 duration = 2;
1177 optional
bool override_restricted_state = 3;
1179 message AmpDisable {}
1183 MultiAxisMovePointToPoint point_to_point = 3;
1184 MultiAxisMoveVelocity velocity = 4;
1185 MoveStreaming streaming = 5;
1187 optional uint32 motion_id = 6;
1190 optional MotionHold motion_hold = 7;
1194 message MultiAxisMovePointToPoint {
1195 repeated AxisMovePointToPoint axis_move_point_to_points = 1;
1199 message MultiAxisMoveVelocity {
1200 repeated AxisMoveVelocity axis_move_velocities = 1;
1203 message RemoveAxes {}
1207 int32 axis_index = 1;
1213message MultiAxisConfig {
1214 repeated int32 axes_indices = 1;
1215 optional
string user_label = 2;
1216 optional
double feed_rate = 3;
1217 optional
double stop_time = 4;
1218 optional
double e_stop_time = 5;
1223message MultiAxisInfo {
1228 int32 motion_supervisor_index = 2;
1231 repeated AddressInfo addresses = 3;
1236message NetworkNodeInfo {
1244 int32 axis_count = 3;
1250 IOCounts io_counts = 5;
1253 IOAddresses io_addresses = 6;
1259 uint32 vendor_id = 8;
1262 uint32 product_code = 9;
1265 uint32 hardware_revision = 10;
1268 uint32 station_alias = 11;
1271 string serial_number = 12;
1277 string product_name = 14;
1280 string vendor_name = 15;
1282 Constants constants = 16;
1285 IONetworkIndexes io_network_indexes = 17;
1293 int32 digital_inputs = 1;
1296 int32 digital_outputs = 2;
1299 int32 analog_inputs = 3;
1302 int32 analog_outputs = 4;
1305 message IOAddresses {
1307 repeated AddressInfo digital_inputs = 1;
1310 repeated AddressInfo digital_outputs = 2;
1313 repeated AddressInfo analog_inputs = 3;
1316 repeated AddressInfo analog_outputs = 4;
1319 message IONetworkIndexes {
1321 repeated int32 digital_inputs = 1;
1324 repeated int32 digital_outputs = 2;
1327 repeated int32 analog_inputs = 3;
1330 repeated int32 analog_outputs = 4;
1335 uint32 sdo_timeout_milliseconds_default = 1;
1341message NetworkNodeStatus {
1343 repeated
bool digital_input_states = 2;
1346 repeated
bool digital_output_states = 3;
1349 repeated int32 analog_input_values = 4;
1352 repeated int32 analog_output_values = 5;
1355 uint32 al_status = 6;
1357 uint32 al_status_code = 7;
1359 uint64 coe_emergency_message = 8;
1361 int32 coe_emergency_message_network_counter = 9;
1363 uint64 eoe_host_to_node_frame_count = 10;
1365 uint64 eoe_node_to_host_frame_count = 11;
1372message DigitalOutput {
1374 int32 bit_number = 1;
1384message AnalogOutput {
1403 int32 sub_index = 2;
1406 int32 byte_count = 3;
1410 option allow_alias =
true;
1418 optional ValueType read_type = 4;
1421 optional uint32 timeout_milliseconds = 5;
1429 int32 integer_value = 6;
1432 string string_value = 7;
1435 bytes bytes_value = 8;
1446 optional
string result = 2;
1452message NetworkNodeAction {
1458 repeated DigitalOutput digital_output_sets = 1;
1464 repeated AnalogOutput analog_output_sets = 2;
1469 repeated SDO sdo_writes = 3;
1474 repeated SDO sdo_reads = 4;
1480 repeated AKDASCII akd_asciis = 5;
1485message NetworkNodeConfig {}
1489message NetworkNodeRequest {
1491 RSI.RapidServer.RequestHeader header = 1;
1496 optional NetworkNodeConfig config = 3;
1497 optional NetworkNodeAction action = 4;
1502message NetworkNodeResponse {
1504 RSI.RapidServer.ResponseHeader header = 1;
1509 optional NetworkNodeConfig config = 3;
1510 optional NetworkNodeAction action = 4;
1511 optional NetworkNodeInfo info = 5;
1512 optional NetworkNodeStatus status = 6;
1517message NetworkNodeBatchRequest {
1519 RSI.RapidServer.RequestHeader header = 1;
1521 repeated NetworkNodeRequest requests = 2;
1524message NetworkNodeBatchResponse {
1526 RSI.RapidServer.ResponseHeader header = 1;
1528 repeated NetworkNodeResponse responses = 2;
1534message RecorderRequest {
1536 RSI.RapidServer.RequestHeader header = 1;
1541 optional RecorderConfig config = 3;
1542 optional RecorderAction action = 4;
1548message RecorderResponse {
1550 RSI.RapidServer.ResponseHeader header = 1;
1555 optional RecorderConfig config = 3;
1556 optional RecorderAction action = 4;
1557 optional RecorderInfo info = 5;
1558 optional RecorderStatus status = 6;
1563message RecorderBatchRequest {
1565 RSI.RapidServer.RequestHeader header = 1;
1567 repeated RecorderRequest requests = 2;
1570message RecorderBatchResponse {
1572 RSI.RapidServer.ResponseHeader header = 1;
1574 repeated RecorderResponse responses = 2;
1580message RecorderInfo { }
1584message RecorderStatus {
1586 bool is_recording = 1;
1589 int32 records_available = 2;
1594message RecorderAction {
1596 optional Reset reset = 1;
1597 optional Start start = 2;
1598 optional Stop stop = 3;
1599 optional RetrieveRecords retrieve_records = 4;
1605 message RetrieveRecords {
1607 repeated Record records = 1;
1612 repeated FirmwareValue data = 1;
1620message RecorderConfig {
1622 optional int32 period = 1;
1625 optional
bool circular_buffer = 2;
1628 repeated AddressInfo addresses = 3;
1631 optional RecorderTriggerOnMotion trigger_on_motion = 4;
1634 optional int32 buffer_high_count = 5;
1637 optional int32 record_max_count = 6;
1641 message RecorderTriggerOnMotion {
1643 optional int32 motion_supervisor_index = 1;
1645 optional
bool enable = 2;
1652message UserLimitStatus {
1665message UserLimitAction {
1667 optional Reset reset = 1;
1668 optional Enable enable = 2;
1669 optional Disable disable = 3;
1679message UserLimitInfo {}
1684message UserLimitConfig {
1690 optional UserLimitCondition condition_0 = 2;
1693 optional UserLimitCondition condition_1 = 3;
1696 optional UserLimitOutput output = 4;
1702 optional int32 action_axis = 6;
1705 optional
double duration = 7;
1708 optional
bool is_single_shot = 8;
1711 repeated UserLimitInterruptUserData user_data = 9;
1714 message UserLimitCondition {
1725 optional uint32 mask = 4;
1728 optional int32 integer_limit_value = 5;
1731 optional
double double_limit_value = 6;
1734 message UInt32Masks {
1736 uint32 and_mask = 1;
1742 message UInt64Masks {
1744 uint64 and_mask = 1;
1750 message UserLimitOutput {
1763 UInt32Masks uint32_masks = 6;
1766 int32 int32_value = 7;
1769 UInt64Masks uint64_masks = 8;
1772 double double_value = 9;
1776 uint64 input_address = 10;
1780 message UserLimitInterruptUserData {
1785 optional uint64 address = 2;
1791message UserLimitRequest {
1793 RSI.RapidServer.RequestHeader header = 1;
1798 optional UserLimitConfig config = 3;
1800 optional UserLimitAction action = 4;
1805message UserLimitResponse {
1807 RSI.RapidServer.ResponseHeader header = 1;
1812 optional UserLimitConfig config = 3;
1813 optional UserLimitAction action = 4;
1814 optional UserLimitInfo info = 5;
1815 optional UserLimitStatus status = 6;
1820message UserLimitBatchRequest {
1822 RSI.RapidServer.RequestHeader header = 1;
1824 repeated UserLimitRequest requests = 2;
1827message UserLimitBatchResponse {
1829 RSI.RapidServer.ResponseHeader header = 1;
1831 repeated UserLimitResponse responses = 2;
1836message MathBlockConfig {
1838 optional uint64 input_address_0 = 1;
1844 optional uint64 input_address_1 = 3;
1853 optional uint64 output_address = 6;
1864message MathBlockAction {
1866 optional ProcessValueGet process_value_get = 1;
1868 message ProcessValueGet {
1870 optional FirmwareValue value = 1;
1876message MathBlockInfo {
1878 optional uint64 process_value_host_address = 1;
1881 optional uint64 process_value_firmware_address = 2;
1889message MathBlockStatus {
1894 optional FirmwareValue process_value = 2;
1899message MathBlockRequest {
1901 RSI.RapidServer.RequestHeader header = 1;
1906 optional MathBlockConfig config = 3;
1907 optional MathBlockAction action = 4;
1912message MathBlockResponse {
1914 RSI.RapidServer.ResponseHeader header = 1;
1919 optional MathBlockConfig config = 3;
1920 optional MathBlockAction action = 4;
1921 optional MathBlockInfo info = 5;
1922 optional MathBlockStatus status = 6;
1927message MathBlockBatchRequest {
1929 RSI.RapidServer.RequestHeader header = 1;
1931 repeated MathBlockRequest requests = 2;
1934message MathBlockBatchResponse {
1936 RSI.RapidServer.ResponseHeader header = 1;
1938 repeated MathBlockResponse responses = 2;
1943message RTOSConfig {}
1949 string rmp_catalog = 1;
1952 string rmp_network_catalog = 2;
1955 uint32 node_count = 3;
1961 optional Restart restart = 1;
1962 optional Stop stop = 2;
1963 optional Start start = 3;
1979message RTOSRequest {
1981 RSI.RapidServer.RequestHeader header = 1;
1986 optional RTOSConfig config = 3;
1987 optional RTOSAction action = 4;
1992message RTOSResponse {
1994 RSI.RapidServer.ResponseHeader header = 1;
1999 optional RTOSConfig config = 3;
2000 optional RTOSAction action = 4;
2001 optional RTOSInfo info = 5;
2002 optional RTOSStatus status = 6;
2007message RTOSBatchRequest {
2009 RSI.RapidServer.RequestHeader header = 1;
2011 repeated RTOSRequest requests = 2;
2014message RTOSBatchResponse {
2016 RSI.RapidServer.ResponseHeader header = 1;
2018 repeated RTOSResponse responses = 2;
2023message RTTaskCreationParameters {
2025 string function_name = 1;
2028 optional
string library_name = 2;
2029 optional
string library_directory = 3;
2032 optional
string user_label = 4;
2038 optional int32 repeats = 6;
2041 optional int32 period = 7;
2046 optional int32 phase = 8;
2049 optional
bool enable_timing = 9;
2054message RTTaskConfig {}
2059message RTTaskAction {
2061 optional Stop stop = 1;
2064 optional Remove
remove = 2;
2067 optional TimingReset timing_reset = 3;
2070 optional ExecutionCountAbsoluteWait execution_count_absolute_wait = 4;
2073 optional ExecutionCountRelativeWait execution_count_relative_wait = 5;
2077 message TimingReset {}
2079 message ExecutionCountAbsoluteWait {
2081 optional int64 count = 1;
2084 optional int32 timeout_ms = 2;
2087 message ExecutionCountRelativeWait {
2089 optional int64 count = 1;
2092 optional int32 timeout_ms = 2;
2103 int32 manager_id = 2;
2106 Constants constants = 3;
2109 RTTaskCreationParameters creation_parameters = 4;
2113 CreationParameterConstants creation_parameters = 1;
2116 StatusConstants status = 2;
2118 message CreationParameterConstants {
2120 int32 directory_length_maximum = 1;
2123 int32 name_length_maximum = 2;
2126 string library_name_default = 3;
2129 int32 priority_default = 4;
2132 int32 repeat_forever = 5;
2135 int32 repeat_none = 6;
2138 int32 period_default = 7;
2141 int32 phase_default = 8;
2144 int32 enable_timing_default = 9;
2147 message StatusConstants {
2149 int64 invalid_execution_count = 1;
2152 uint64 invalid_execution_time = 2;
2155 uint64 error_message_size_maximum = 3;
2162message RTTaskStatus {
2167 optional int64 execution_count = 2;
2170 optional uint64 execution_time_max = 3;
2173 optional uint64 execution_time_min = 4;
2176 optional
double execution_time_mean = 5;
2179 optional uint64 execution_time_last = 6;
2182 optional uint64 start_time_delta_last = 7;
2185 optional uint64 start_time_delta_max = 8;
2188 optional
double start_time_delta_mean = 9;
2191 optional
string error_message = 10;
2196message RTTaskRequest {
2198 RSI.RapidServer.RequestHeader header = 1;
2204 int32 manager_id = 3;
2206 optional RTTaskConfig config = 4;
2207 optional RTTaskAction action = 5;
2212message RTTaskResponse {
2214 RSI.RapidServer.ResponseHeader header = 1;
2220 int32 manager_id = 3;
2222 optional RTTaskConfig config = 4;
2223 optional RTTaskAction action = 5;
2224 optional RTTaskInfo info = 6;
2225 optional RTTaskStatus status = 7;
2230message RTTaskBatchRequest {
2232 RSI.RapidServer.RequestHeader header = 1;
2234 repeated RTTaskRequest requests = 2;
2237message RTTaskBatchResponse {
2239 RSI.RapidServer.ResponseHeader header = 1;
2241 repeated RTTaskResponse responses = 2;
2246message RTTaskManagerCreationParameters {
2248 optional
string rt_task_directory = 1;
2255 optional
string node_name = 3;
2258 optional int32 cpu_core = 4;
2261 optional
string user_label = 5;
2264 optional
bool no_rmp = 6;
2269message RTTaskManagerConfig {}
2274message RTTaskManagerAction {
2276 optional Create create = 1;
2279 optional Discover discover = 2;
2282 optional Shutdown shutdown = 3;
2285 optional TaskSubmit task_submit = 4;
2288 optional TaskRemove task_remove = 5;
2291 repeated GlobalValueSet global_value_sets = 6;
2295 RTTaskManagerCreationParameters creation_parameters = 1;
2303 repeated int32 manager_ids = 1;
2308 message TaskSubmit {
2310 RTTaskCreationParameters task_creation_parameters = 1;
2313 optional int32 task_id = 2;
2316 message TaskRemove {
2321 message GlobalValueSet {
2323 FirmwareValue value = 1;
2330 optional
string library_name = 3;
2331 optional
string library_directory = 4;
2337message RTTaskManagerInfo {
2342 Constants constants = 2;
2345 RTTaskManagerCreationParameters creation_parameters = 3;
2349 int32 rt_task_manager_count_maximum = 1;
2352 int32 rt_task_count_maximum = 2;
2355 string rt_task_manager_executable_name = 3;
2358 CreationParameterConstants creation_parameters = 4;
2360 message CreationParameterConstants {
2362 int32 directory_length_maximum = 1;
2365 int32 name_length_maximum = 2;
2368 string user_label_default = 3;
2375message RTTaskManagerStatus {
2378 repeated int32 task_ids = 1;
2381 map<string, FirmwareValue> global_values = 2;
2387 optional uint64 task_submission_count = 4;
2390 optional int64 cycle_count = 5;
2393 optional uint64 cycle_time_max = 6;
2396 optional uint64 cycle_time_min = 7;
2399 optional
double cycle_time_mean = 8;
2402 optional uint64 cycle_time_last = 9;
2405 optional uint64 start_time_delta_last = 10;
2408 optional uint64 start_time_delta_max = 11;
2411 optional
double start_time_delta_mean = 12;
2416message RTTaskManagerRequest {
2418 RSI.RapidServer.RequestHeader header = 1;
2421 optional int32
id = 2;
2423 optional RTTaskManagerConfig config = 3;
2424 optional RTTaskManagerAction action = 4;
2429message RTTaskManagerResponse {
2431 RSI.RapidServer.ResponseHeader header = 1;
2434 optional int32
id = 2;
2436 optional RTTaskManagerConfig config = 3;
2437 optional RTTaskManagerAction action = 4;
2438 optional RTTaskManagerInfo info = 5;
2439 optional RTTaskManagerStatus status = 6;
2444message RTTaskManagerBatchRequest {
2446 RSI.RapidServer.RequestHeader header = 1;
2448 repeated RTTaskManagerRequest requests = 2;
2451message RTTaskManagerBatchResponse {
2453 RSI.RapidServer.ResponseHeader header = 1;
2455 repeated RTTaskManagerResponse responses = 2;
TaskPriority
Enum representing the priority levels for a real-time task.
RTTaskManagerState
Enum representing the possible states of an RTTaskManager.
RTTaskState
Enum representing the possible states of a real-time task.
PlatformType
Enum representing the platform type for an RTTaskManager.
RSINetworkEniResult
NetworkEniGenerate return values.
RSIMathBlockOperation
MathBlock operations.
RSINetworkStartMode
Network start modes.
RSINetworkState
State of network.
RSIControllerAddressType
Used to get firmware address used in User Limits, Recorders, etc.
RSIMotorDisableAction
Action for when a motor is disabled.
RSIMotionType
PT and PVT streaming motion types.
RSIDataType
Data types for User Limits and other triggers.
RSIUserLimitLogic
Logic options for User Limits.
RSIAction
Action to perform on an Axis.
RSIAxisAddressType
Used to get firmware address used in User Limits, Recorders, etc.
RSINetworkInterfaceType
Network host interface type used for EtherCAT frame I/O.
RSINetworkStartError
Network start errors.
RSIMultiAxisAddressType
Used to get firmware address used in User Limits, Recorders, etc.
RSIUserLimitTriggerType
Trigger types for UserLimits.
INtimeStatus
INtime status values.
RSIHomeStage
Predefined Homing Stage sections.
RSINetworkType
Type of Network topology.
RSINodeType
Valid Node types.
RSISource
Possible sources that have caused an Error state.
RSIOperationMode
DS402 modes of operation.
RSINetworkIndexType
Network PDO index types for configuring axis input/output mappings.
RSIAxisMasterType
Sources available to a slave Axis for electronic gearing & camming.