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 int64 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;
454 message TimingMetricsStatus {
458 uint32 min_recorded = 2;
460 uint32 max_recorded = 3;
462 uint32 low_count = 4;
464 uint32 high_count = 5;
467 message PdoInputStatus {
474 message PdoOutputStatus {
478 int64 sent_value = 2;
480 int64 override_value = 3;
482 int64 firmware_value = 4;
484 bool override_enabled = 5;
492 int32 pdo_input_count = 4;
493 int32 pdo_output_count = 5;
496 repeated PdoInputInfo pdo_inputs = 6;
499 repeated PdoOutputInfo pdo_outputs = 7;
501 message PdoInputInfo {
503 AddressInfo address_info = 2;
505 int32 bit_offset = 4;
508 message PdoOutputInfo {
510 AddressInfo sent_value_address = 2;
511 AddressInfo override_value_address = 3;
512 AddressInfo firmware_value_address = 4;
514 int32 bit_offset = 6;
525 RSI.RapidServer.RequestHeader header = 1;
530 optional AxisConfig config = 3;
531 optional AxisAction action = 4;
536message AxisResponse {
538 RSI.RapidServer.ResponseHeader header = 1;
543 optional AxisConfig config = 3;
544 optional AxisAction action = 4;
545 optional AxisInfo info = 5;
546 optional AxisStatus status = 6;
551message AxisBatchRequest {
553 RSI.RapidServer.RequestHeader header = 1;
555 repeated AxisRequest requests = 2;
558message AxisBatchResponse {
560 RSI.RapidServer.ResponseHeader header = 1;
562 repeated AxisResponse responses = 2;
569 bool amp_enabled = 1;
578 string source_name = 4;
581 PositionStatus position = 5;
584 VelocityStatus velocity = 6;
587 AccelerationStatus acceleration = 7;
590 int32 frames_to_execute = 8;
593 uint32 motion_id = 9;
596 uint32 motion_id_executing = 10;
599 int32 element_id_executing = 11;
602 bool gear_enabled = 12;
605 MotorStatusBits motor_status_bits = 13;
608 MotionStatusBits motion_status_bits = 14;
611 Ds402StatusBits ds402_status_bits = 15;
614 DedicatedOutputBits dedicated_output_bits = 16;
617 DedicatedInputBits dedicated_input_bits = 17;
620 bool home_state = 18;
624 uint32 general_input_bits = 20;
627 uint32 general_output_bits = 21;
629 message PositionStatus {
635 double encoder_0 = 6;
636 double encoder_1 = 7;
637 double compensation = 8;
641 message VelocityStatus {
646 message AccelerationStatus {
650 message MotorStatusBits {
652 bool amp_warning = 2;
653 bool feedback_fault = 3;
654 bool limit_position_error = 4;
655 bool limit_torque = 5;
656 bool limit_hardware_negative = 6;
657 bool limit_hardware_positive = 7;
658 bool limit_software_negative = 8;
659 bool limit_software_positive = 9;
662 message MotionStatusBits {
666 bool at_velocity = 4;
667 bool out_of_frames = 5;
668 bool near_target = 6;
673 message Ds402StatusBits {
674 bool ready_to_switch_on = 1;
675 bool switched_on = 2;
676 bool operation_enabled = 3;
678 bool voltage_enabled = 5;
680 bool switch_on_disabled = 7;
682 bool manufacturer_specific_8 = 9;
684 bool target_reached = 11;
685 bool internal_limit_active = 12;
686 bool operation_mode_specific_12 = 13;
687 bool operation_mode_specific_13 = 14;
688 bool manufacturer_specific_14 = 15;
689 bool manufacturer_specific_15 = 16;
692 message DedicatedOutputBits {
694 bool brake_release = 2;
697 message DedicatedInputBits {
699 bool brake_applied = 2;
701 bool limit_hardware_positive = 4;
702 bool limit_hardware_negative = 5;
704 bool index_secondary = 7;
705 bool feedback_fault = 8;
710 bool amp_active = 13;
712 bool drive_status_9 = 15;
713 bool drive_status_10 = 16;
714 bool feedback_fault_primary = 17;
715 bool feedback_fault_secondary = 18;
722 optional Abort abort = 1;
723 optional EStopAbort e_stop_abort = 2;
724 optional EStopModifyAbort e_stop_modify_abort = 3;
725 optional EStopModify e_stop_modify = 4;
726 optional EStop e_stop = 5;
727 optional TriggeredModify triggered_modify = 6;
728 optional Stop stop = 7;
729 optional Resume resume = 8;
731 optional ClearFaults clear_faults = 9;
732 optional AmpEnable amp_enable = 10;
733 optional AmpDisable amp_disable = 11;
734 optional HoldGateSet hold_gate_set = 12;
735 optional PositionSet position_set = 13;
736 optional Move move = 14;
737 optional GearEnable gear_enable = 15;
738 optional GearDisable gear_disable = 16;
739 optional Home home = 17;
740 optional HomeCancel home_cancel = 18;
741 optional OperationMode operation_mode_set = 19;
742 optional OperationMode operation_mode_get = 20;
748 repeated AxisNetworkIndex network_index_sets = 21;
751 message EStopAbort {}
752 message EStopModifyAbort{}
753 message EStopModify{}
755 message TriggeredModify {}
759 message ClearFaults {}
762 optional int32 timeout_milliseconds = 1;
763 optional int32 duration = 2;
764 optional
bool override_restricted_state = 3;
766 message AmpDisable {}
767 message HoldGateSet {
777 AxisMovePointToPoint point_to_point = 3;
778 AxisMoveVelocity velocity = 4;
779 MoveStreaming streaming = 5;
783 optional uint32 motion_id = 6;
786 optional MotionHold motion_hold = 7;
793 optional int32 master_axis_number = 2;
796 int32 denominator = 5;
798 message GearDisable {}
803 double slow_velocity = 3;
804 double acceleration = 4;
805 double deceleration = 5;
806 optional
double jerk_percent = 6;
807 optional
bool move_to_zero = 7;
808 optional
double offset = 8;
812 message HomeCancel {}
814 message OperationMode {
821 message AxisMovePointToPoint {
826 optional
double velocity = 2;
829 optional
double acceleration = 3;
832 optional
double deceleration = 4;
838 optional
double jerk_percent = 5;
842 optional
double final_velocity = 6;
848message AxisMoveVelocity {
853 double acceleration = 2;
858 double jerk_percent = 3;
861message MoveStreaming {
862 repeated
double positions = 1;
863 repeated
double velocities = 2;
864 repeated
double accelerations = 3;
865 repeated
double jerks = 4;
866 repeated
double times = 5;
867 int32 empty_count = 6;
882 repeated
double feedforwards = 10;
886message MotionHoldGate{
890message MotionHoldAxis {
898 int32 hold_axis_number = 3;
901 double hold_axis_position = 4;
904message MotionHoldUser {
918 MotionHoldGate gate = 2;
919 MotionHoldAxis axis = 3;
920 MotionHoldUser user = 4;
924 optional
double hold_timeout_seconds = 6;
927 optional
double delay_seconds = 7;
933 optional
double user_units = 1;
936 optional
double origin_position = 2;
939 optional
string user_label = 3;
942 optional TrajectoryDefaults defaults = 4;
943 optional HardwareTrigger amp_fault = 5;
944 optional HardwareTrigger home_switch = 6;
945 optional ErrorLimit error_limit = 7;
946 optional HardwareTrigger hardware_negative_limit = 8;
947 optional HardwareTrigger hardware_positive_limit = 9;
948 optional SoftwareTrigger software_negative_limit = 10;
949 optional SoftwareTrigger software_positive_limit = 11;
950 optional Settling settling = 12;
951 optional MotionConfig motion = 13;
952 optional Homing homing = 14;
953 optional int32 frame_buffer_size = 15;
955 optional
double feed_rate = 17;
958 message TrajectoryDefaults
960 optional
double velocity = 1;
961 optional
double acceleration = 2;
962 optional
double deceleration = 3;
963 optional
double jerk_percent = 4;
964 optional
double position1 = 5;
965 optional
double position2 = 6;
966 optional
double relative_increment = 7;
969 message HardwareTrigger {
971 optional
bool trigger_state = 2;
972 optional
double duration = 3;
975 message SoftwareTrigger {
977 optional
double trigger_value = 2;
982 optional
double trigger_value = 2;
983 optional
double duration = 3;
987 optional
double position_tolerance_fine = 1;
988 optional
double position_tolerance_coarse = 2;
989 optional
double velocity_tolerance = 3;
990 optional
double time_seconds = 4;
991 optional
bool on_stop = 5;
992 optional
bool on_estop = 6;
993 optional
bool on_estop_cmd_equals_actual = 7;
996 message MotionConfig {
998 optional
double stop_time = 1;
1001 optional
double estop_time = 2;
1004 optional
double triggered_modify_deceleration = 3;
1007 optional
double triggered_modify_jerk_percent = 4;
1010 optional
double estop_modify_deceleration = 5;
1013 optional
double estop_modify_jerk_percent = 6;
1027 repeated AddressInfo addresses = 2;
1030 NetworkNodeInfo node_info = 3;
1033 Constants constants = 4;
1036 int32 motion_supervisor_index = 5;
1040 int32 drive_index = 6;
1048 repeated AxisNetworkIndex network_indexes = 7;
1052 uint32 network_index_invalid = 1;
1055 double amp_enable_amp_fault_timeout_seconds_default = 2;
1064message AxisNetworkIndex {
1070message MultiAxisRequest {
1072 RSI.RapidServer.RequestHeader header = 1;
1077 optional MultiAxisConfig config = 3;
1078 optional MultiAxisAction action = 4;
1083message MultiAxisResponse {
1085 RSI.RapidServer.ResponseHeader header = 1;
1090 optional MultiAxisConfig config = 3;
1091 optional MultiAxisAction action = 4;
1092 optional MultiAxisInfo info = 5;
1093 optional MultiAxisStatus status = 6;
1098message MultiAxisBatchRequest {
1100 RSI.RapidServer.RequestHeader header = 1;
1102 repeated MultiAxisRequest requests = 2;
1105message MultiAxisBatchResponse {
1107 RSI.RapidServer.ResponseHeader header = 1;
1109 repeated MultiAxisResponse responses = 2;
1115message MultiAxisStatus {
1118 string source_name = 3;
1119 bool amp_enabled = 4;
1120 MotionStatusBits motion_status_bits = 5;
1121 repeated AxisStatus axis_statuses = 6;
1124 message MotionStatusBits {
1128 bool at_velocity = 4;
1129 bool out_of_frames = 5;
1135message MultiAxisAction {
1136 optional Abort abort = 1;
1137 optional EStopAbort e_stop_abort = 2;
1138 optional EStopModifyAbort e_stop_modify_abort = 3;
1139 optional EStopModify e_stop_modify = 4;
1140 optional EStop e_stop = 5;
1141 optional TriggeredModify triggered_modify = 6;
1142 optional Stop stop = 7;
1143 optional Resume resume = 8;
1145 optional ClearFaults clear_faults = 9;
1146 optional AmpEnable amp_enable = 10;
1147 optional AmpDisable amp_disable = 11;
1148 optional Move move = 12;
1149 optional RemoveAxes remove_axes = 13;
1150 optional Unmap unmap = 14;
1151 optional Map map = 15;
1152 optional AxisAdd axis_add = 16;
1155 message EStopAbort {}
1156 message EStopModifyAbort{}
1157 message EStopModify{}
1159 message TriggeredModify {}
1163 message ClearFaults {}
1166 optional int32 timeout_milliseconds = 1;
1167 optional int32 duration = 2;
1168 optional
bool override_restricted_state = 3;
1170 message AmpDisable {}
1174 MultiAxisMovePointToPoint point_to_point = 3;
1175 MultiAxisMoveVelocity velocity = 4;
1176 MoveStreaming streaming = 5;
1178 optional uint32 motion_id = 6;
1181 optional MotionHold motion_hold = 7;
1185 message MultiAxisMovePointToPoint {
1186 repeated AxisMovePointToPoint axis_move_point_to_points = 1;
1190 message MultiAxisMoveVelocity {
1191 repeated AxisMoveVelocity axis_move_velocities = 1;
1194 message RemoveAxes {}
1198 int32 axis_index = 1;
1204message MultiAxisConfig {
1205 repeated int32 axes_indices = 1;
1206 optional
string user_label = 2;
1207 optional
double feed_rate = 3;
1208 optional
double stop_time = 4;
1209 optional
double e_stop_time = 5;
1214message MultiAxisInfo {
1219 int32 motion_supervisor_index = 2;
1222 repeated AddressInfo addresses = 3;
1227message NetworkNodeInfo {
1235 int32 axis_count = 3;
1241 IOCounts io_counts = 5;
1244 IOAddresses io_addresses = 6;
1250 uint32 vendor_id = 8;
1253 uint32 product_code = 9;
1256 uint32 hardware_revision = 10;
1259 uint32 station_alias = 11;
1262 string serial_number = 12;
1268 string product_name = 14;
1271 string vendor_name = 15;
1273 Constants constants = 16;
1276 IONetworkIndexes io_network_indexes = 17;
1284 int32 digital_inputs = 1;
1287 int32 digital_outputs = 2;
1290 int32 analog_inputs = 3;
1293 int32 analog_outputs = 4;
1296 message IOAddresses {
1298 repeated AddressInfo digital_inputs = 1;
1301 repeated AddressInfo digital_outputs = 2;
1304 repeated AddressInfo analog_inputs = 3;
1307 repeated AddressInfo analog_outputs = 4;
1310 message IONetworkIndexes {
1312 repeated int32 digital_inputs = 1;
1315 repeated int32 digital_outputs = 2;
1318 repeated int32 analog_inputs = 3;
1321 repeated int32 analog_outputs = 4;
1326 uint32 sdo_timeout_milliseconds_default = 1;
1332message NetworkNodeStatus {
1334 repeated
bool digital_input_states = 2;
1337 repeated
bool digital_output_states = 3;
1340 repeated int32 analog_input_values = 4;
1343 repeated int32 analog_output_values = 5;
1346 uint32 al_status = 6;
1348 uint32 al_status_code = 7;
1350 uint64 coe_emergency_message = 8;
1352 int32 coe_emergency_message_network_counter = 9;
1359message DigitalOutput {
1361 int32 bit_number = 1;
1371message AnalogOutput {
1390 int32 sub_index = 2;
1393 int32 byte_count = 3;
1397 option allow_alias =
true;
1405 optional ValueType read_type = 4;
1408 optional uint32 timeout_milliseconds = 5;
1416 int32 integer_value = 6;
1419 string string_value = 7;
1422 bytes bytes_value = 8;
1433 optional
string result = 2;
1439message NetworkNodeAction {
1445 repeated DigitalOutput digital_output_sets = 1;
1451 repeated AnalogOutput analog_output_sets = 2;
1456 repeated SDO sdo_writes = 3;
1461 repeated SDO sdo_reads = 4;
1467 repeated AKDASCII akd_asciis = 5;
1472message NetworkNodeConfig {}
1476message NetworkNodeRequest {
1478 RSI.RapidServer.RequestHeader header = 1;
1483 optional NetworkNodeConfig config = 3;
1484 optional NetworkNodeAction action = 4;
1489message NetworkNodeResponse {
1491 RSI.RapidServer.ResponseHeader header = 1;
1496 optional NetworkNodeConfig config = 3;
1497 optional NetworkNodeAction action = 4;
1498 optional NetworkNodeInfo info = 5;
1499 optional NetworkNodeStatus status = 6;
1504message NetworkNodeBatchRequest {
1506 RSI.RapidServer.RequestHeader header = 1;
1508 repeated NetworkNodeRequest requests = 2;
1511message NetworkNodeBatchResponse {
1513 RSI.RapidServer.ResponseHeader header = 1;
1515 repeated NetworkNodeResponse responses = 2;
1521message RecorderRequest {
1523 RSI.RapidServer.RequestHeader header = 1;
1528 optional RecorderConfig config = 3;
1529 optional RecorderAction action = 4;
1535message RecorderResponse {
1537 RSI.RapidServer.ResponseHeader header = 1;
1542 optional RecorderConfig config = 3;
1543 optional RecorderAction action = 4;
1544 optional RecorderInfo info = 5;
1545 optional RecorderStatus status = 6;
1550message RecorderBatchRequest {
1552 RSI.RapidServer.RequestHeader header = 1;
1554 repeated RecorderRequest requests = 2;
1557message RecorderBatchResponse {
1559 RSI.RapidServer.ResponseHeader header = 1;
1561 repeated RecorderResponse responses = 2;
1567message RecorderInfo { }
1571message RecorderStatus {
1573 bool is_recording = 1;
1576 int32 records_available = 2;
1581message RecorderAction {
1583 optional Reset reset = 1;
1584 optional Start start = 2;
1585 optional Stop stop = 3;
1586 optional RetrieveRecords retrieve_records = 4;
1592 message RetrieveRecords {
1594 repeated Record records = 1;
1599 repeated FirmwareValue data = 1;
1607message RecorderConfig {
1609 optional int32 period = 1;
1612 optional
bool circular_buffer = 2;
1615 repeated AddressInfo addresses = 3;
1618 optional RecorderTriggerOnMotion trigger_on_motion = 4;
1621 optional int32 buffer_high_count = 5;
1624 optional int32 record_max_count = 6;
1628 message RecorderTriggerOnMotion {
1630 optional int32 motion_supervisor_index = 1;
1632 optional
bool enable = 2;
1639message UserLimitStatus {
1652message UserLimitAction {
1654 optional Reset reset = 1;
1655 optional Enable enable = 2;
1656 optional Disable disable = 3;
1666message UserLimitInfo {}
1671message UserLimitConfig {
1677 optional UserLimitCondition condition_0 = 2;
1680 optional UserLimitCondition condition_1 = 3;
1683 optional UserLimitOutput output = 4;
1689 optional int32 action_axis = 6;
1692 optional
double duration = 7;
1695 optional
bool is_single_shot = 8;
1698 repeated UserLimitInterruptUserData user_data = 9;
1701 message UserLimitCondition {
1712 optional uint32 mask = 4;
1715 optional int32 integer_limit_value = 5;
1718 optional
double double_limit_value = 6;
1721 message UInt32Masks {
1723 uint32 and_mask = 1;
1729 message UInt64Masks {
1731 uint64 and_mask = 1;
1737 message UserLimitOutput {
1750 UInt32Masks uint32_masks = 6;
1753 int32 int32_value = 7;
1756 UInt64Masks uint64_masks = 8;
1759 double double_value = 9;
1763 uint64 input_address = 10;
1767 message UserLimitInterruptUserData {
1772 optional uint64 address = 2;
1778message UserLimitRequest {
1780 RSI.RapidServer.RequestHeader header = 1;
1785 optional UserLimitConfig config = 3;
1787 optional UserLimitAction action = 4;
1792message UserLimitResponse {
1794 RSI.RapidServer.ResponseHeader header = 1;
1799 optional UserLimitConfig config = 3;
1800 optional UserLimitAction action = 4;
1801 optional UserLimitInfo info = 5;
1802 optional UserLimitStatus status = 6;
1807message UserLimitBatchRequest {
1809 RSI.RapidServer.RequestHeader header = 1;
1811 repeated UserLimitRequest requests = 2;
1814message UserLimitBatchResponse {
1816 RSI.RapidServer.ResponseHeader header = 1;
1818 repeated UserLimitResponse responses = 2;
1823message MathBlockConfig {
1825 optional uint64 input_address_0 = 1;
1831 optional uint64 input_address_1 = 3;
1840 optional uint64 output_address = 6;
1851message MathBlockAction {
1853 optional ProcessValueGet process_value_get = 1;
1855 message ProcessValueGet {
1857 optional FirmwareValue value = 1;
1863message MathBlockInfo {
1865 optional uint64 process_value_host_address = 1;
1868 optional uint64 process_value_firmware_address = 2;
1876message MathBlockStatus {
1881 optional FirmwareValue process_value = 2;
1886message MathBlockRequest {
1888 RSI.RapidServer.RequestHeader header = 1;
1893 optional MathBlockConfig config = 3;
1894 optional MathBlockAction action = 4;
1899message MathBlockResponse {
1901 RSI.RapidServer.ResponseHeader header = 1;
1906 optional MathBlockConfig config = 3;
1907 optional MathBlockAction action = 4;
1908 optional MathBlockInfo info = 5;
1909 optional MathBlockStatus status = 6;
1914message MathBlockBatchRequest {
1916 RSI.RapidServer.RequestHeader header = 1;
1918 repeated MathBlockRequest requests = 2;
1921message MathBlockBatchResponse {
1923 RSI.RapidServer.ResponseHeader header = 1;
1925 repeated MathBlockResponse responses = 2;
1930message RTOSConfig {}
1936 string rmp_catalog = 1;
1939 string rmp_network_catalog = 2;
1942 uint32 node_count = 3;
1948 optional Restart restart = 1;
1949 optional Stop stop = 2;
1950 optional Start start = 3;
1966message RTOSRequest {
1968 RSI.RapidServer.RequestHeader header = 1;
1973 optional RTOSConfig config = 3;
1974 optional RTOSAction action = 4;
1979message RTOSResponse {
1981 RSI.RapidServer.ResponseHeader header = 1;
1986 optional RTOSConfig config = 3;
1987 optional RTOSAction action = 4;
1988 optional RTOSInfo info = 5;
1989 optional RTOSStatus status = 6;
1994message RTOSBatchRequest {
1996 RSI.RapidServer.RequestHeader header = 1;
1998 repeated RTOSRequest requests = 2;
2001message RTOSBatchResponse {
2003 RSI.RapidServer.ResponseHeader header = 1;
2005 repeated RTOSResponse responses = 2;
2010message RTTaskCreationParameters {
2012 string function_name = 1;
2015 optional
string library_name = 2;
2016 optional
string library_directory = 3;
2019 optional
string user_label = 4;
2025 optional int32 repeats = 6;
2028 optional int32 period = 7;
2033 optional int32 phase = 8;
2036 optional
bool enable_timing = 9;
2041message RTTaskConfig {}
2046message RTTaskAction {
2048 optional Stop stop = 1;
2051 optional Remove
remove = 2;
2054 optional TimingReset timing_reset = 3;
2057 optional ExecutionCountAbsoluteWait execution_count_absolute_wait = 4;
2060 optional ExecutionCountRelativeWait execution_count_relative_wait = 5;
2064 message TimingReset {}
2066 message ExecutionCountAbsoluteWait {
2068 optional int64 count = 1;
2071 optional int32 timeout_ms = 2;
2074 message ExecutionCountRelativeWait {
2076 optional int64 count = 1;
2079 optional int32 timeout_ms = 2;
2090 int32 manager_id = 2;
2093 Constants constants = 3;
2096 RTTaskCreationParameters creation_parameters = 4;
2100 CreationParameterConstants creation_parameters = 1;
2103 StatusConstants status = 2;
2105 message CreationParameterConstants {
2107 int32 directory_length_maximum = 1;
2110 int32 name_length_maximum = 2;
2113 string library_name_default = 3;
2116 int32 priority_default = 4;
2119 int32 repeat_forever = 5;
2122 int32 repeat_none = 6;
2125 int32 period_default = 7;
2128 int32 phase_default = 8;
2131 int32 enable_timing_default = 9;
2134 message StatusConstants {
2136 int64 invalid_execution_count = 1;
2139 uint64 invalid_execution_time = 2;
2142 uint64 error_message_size_maximum = 3;
2149message RTTaskStatus {
2154 optional int64 execution_count = 2;
2157 optional uint64 execution_time_max = 3;
2160 optional uint64 execution_time_min = 4;
2163 optional
double execution_time_mean = 5;
2166 optional uint64 execution_time_last = 6;
2169 optional uint64 start_time_delta_last = 7;
2172 optional uint64 start_time_delta_max = 8;
2175 optional
double start_time_delta_mean = 9;
2178 optional
string error_message = 10;
2183message RTTaskRequest {
2185 RSI.RapidServer.RequestHeader header = 1;
2191 int32 manager_id = 3;
2193 optional RTTaskConfig config = 4;
2194 optional RTTaskAction action = 5;
2199message RTTaskResponse {
2201 RSI.RapidServer.ResponseHeader header = 1;
2207 int32 manager_id = 3;
2209 optional RTTaskConfig config = 4;
2210 optional RTTaskAction action = 5;
2211 optional RTTaskInfo info = 6;
2212 optional RTTaskStatus status = 7;
2217message RTTaskBatchRequest {
2219 RSI.RapidServer.RequestHeader header = 1;
2221 repeated RTTaskRequest requests = 2;
2224message RTTaskBatchResponse {
2226 RSI.RapidServer.ResponseHeader header = 1;
2228 repeated RTTaskResponse responses = 2;
2233message RTTaskManagerCreationParameters {
2235 optional
string rt_task_directory = 1;
2242 optional
string node_name = 3;
2245 optional int32 cpu_core = 4;
2248 optional
string user_label = 5;
2251 optional
bool no_rmp = 6;
2256message RTTaskManagerConfig {}
2261message RTTaskManagerAction {
2263 optional Create create = 1;
2266 optional Discover discover = 2;
2269 optional Shutdown shutdown = 3;
2272 optional TaskSubmit task_submit = 4;
2275 optional TaskRemove task_remove = 5;
2278 repeated GlobalValueSet global_value_sets = 6;
2282 RTTaskManagerCreationParameters creation_parameters = 1;
2290 repeated int32 manager_ids = 1;
2295 message TaskSubmit {
2297 RTTaskCreationParameters task_creation_parameters = 1;
2300 optional int32 task_id = 2;
2303 message TaskRemove {
2308 message GlobalValueSet {
2310 FirmwareValue value = 1;
2317 optional
string library_name = 3;
2318 optional
string library_directory = 4;
2324message RTTaskManagerInfo {
2329 Constants constants = 2;
2332 RTTaskManagerCreationParameters creation_parameters = 3;
2336 int32 rt_task_manager_count_maximum = 1;
2339 int32 rt_task_count_maximum = 2;
2342 string rt_task_manager_executable_name = 3;
2345 CreationParameterConstants creation_parameters = 4;
2347 message CreationParameterConstants {
2349 int32 directory_length_maximum = 1;
2352 int32 name_length_maximum = 2;
2355 string user_label_default = 3;
2362message RTTaskManagerStatus {
2365 repeated int32 task_ids = 1;
2368 map<string, FirmwareValue> global_values = 2;
2374 optional uint64 task_submission_count = 4;
2377 optional int64 cycle_count = 5;
2380 optional uint64 cycle_time_max = 6;
2383 optional uint64 cycle_time_min = 7;
2386 optional
double cycle_time_mean = 8;
2389 optional uint64 cycle_time_last = 9;
2392 optional uint64 start_time_delta_last = 10;
2395 optional uint64 start_time_delta_max = 11;
2398 optional
double start_time_delta_mean = 12;
2403message RTTaskManagerRequest {
2405 RSI.RapidServer.RequestHeader header = 1;
2408 optional int32
id = 2;
2410 optional RTTaskManagerConfig config = 3;
2411 optional RTTaskManagerAction action = 4;
2416message RTTaskManagerResponse {
2418 RSI.RapidServer.ResponseHeader header = 1;
2421 optional int32
id = 2;
2423 optional RTTaskManagerConfig config = 3;
2424 optional RTTaskManagerAction action = 4;
2425 optional RTTaskManagerInfo info = 5;
2426 optional RTTaskManagerStatus status = 6;
2431message RTTaskManagerBatchRequest {
2433 RSI.RapidServer.RequestHeader header = 1;
2435 repeated RTTaskManagerRequest requests = 2;
2438message RTTaskManagerBatchResponse {
2440 RSI.RapidServer.ResponseHeader header = 1;
2442 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.