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 RTOS(RTOSRequest) returns (RTOSResponse) {};
52 rpc RTOSBatch(RTOSBatchRequest) returns (RTOSBatchResponse) {};
56 rpc RTTask (RTTaskRequest) returns (RTTaskResponse) {};
57 rpc RTTaskBatch(RTTaskBatchRequest) returns (RTTaskBatchResponse) {};
61 rpc RTTaskManager (RTTaskManagerRequest) returns (RTTaskManagerResponse) {};
62 rpc RTTaskManagerBatch(RTTaskManagerBatchRequest) returns (RTTaskManagerBatchResponse) {};
67message MotionControllerConfig {
69 optional int32 axis_count = 1;
72 optional int32 multi_axis_count = 2;
75 optional int32 user_limit_count = 3;
78 optional int32 recorder_count = 4;
81 repeated int32 recorder_buffer_sizes = 5;
84 optional int32 compensator_count = 6;
87 repeated int32 compensator_point_counts = 7;
90 repeated int32 axis_frame_buffer_sizes = 8;
93 optional int32 user_version = 10;
96 optional
double sample_rate = 11;
113 uint64 host_address = 4;
119 uint64 firmware_address = 6;
123 optional int32 index = 7;
126 optional int32 mask = 8;
129message MotionControllerMemory {
131 uint64 host_address = 1;
135 uint64 host_address = 1;
139 uint64 host_address = 1;
150message MotionControllerCreationParameters {
152 optional
string rmp_path = 1;
153 optional
string node_name = 2;
155 optional
string primary_nic = 3;
156 optional
string secondary_nic = 4;
158 optional int32 cpu_affinity = 5;
159 optional int32 rmp_thread_priority_max = 6;
161 optional int32 controller_index = 7;
164message MotionControllerAction {
166 optional MotionControllerCreationParameters create = 1;
168 repeated MotionControllerMemory memory_sets = 2;
169 repeated MotionControllerMemory memory_gets = 3;
170 repeated AddressInfo address_gets = 4;
171 optional Shutdown shutdown = 5;
172 optional ProcessorUsageClear processor_usage_clear = 6;
178 message ProcessorUsageClear {}
185message MotionControllerInfo {
187 uint32 serial_number = 1;
190 string rapid_code_version = 2;
193 string firmware_version = 3;
196 int32 axis_license_count = 4;
198 repeated AddressInfo addresses = 5;
201 Constants constants = 6;
205 uint32 network_start_timeout_milliseconds_default = 1;
208 uint32 axis_count_maximum = 2;
211 uint32 motion_count_maximum = 3;
214 uint32 network_node_count_maximum = 4;
217 uint32 recorder_count_maximum = 5;
220 uint32 compensator_count_maximum = 6;
223 uint32 user_buffer_data_count_maximum = 7;
226 double sample_rate_default = 8;
228 CreationParameters creation_parameters = 9;
230 message CreationParameters {
232 uint32 path_length_maximum = 1;
235 uint32 cpu_affinity_default = 2;
238 uint32 rmp_thread_priority_maximum_default = 3;
241 uint32 rmp_thread_priority_range = 4;
246 MotionControllerCreationParameters creation_parameters = 7;
253message MotionControllerStatus {
255 int32 sample_counter = 1;
258 uint32 network_node_count = 2;
261 double processor_usage = 3;
264 uint32 firmware_timing_delta = 4;
267 int32 external_memory_size = 9;
274message MotionControllerRequest {
276 RSI.RapidServer.RequestHeader header = 1;
278 optional MotionControllerConfig config = 2;
279 optional MotionControllerAction action = 3;
285message MotionControllerResponse {
287 RSI.RapidServer.ResponseHeader header = 1;
289 optional MotionControllerConfig config = 2;
290 optional MotionControllerAction action = 3;
291 optional MotionControllerInfo info = 4;
292 optional MotionControllerStatus status = 5;
297message FirmwareValue {
300 int32 int8_value = 2;
301 uint32 uint8_value = 3;
302 int32 int16_value = 4;
303 uint32 uint16_value = 5;
304 int32 int32_value = 6;
305 uint32 uint32_value = 7;
306 float float_value = 8;
307 double double_value = 9;
308 int64 int64_value = 10;
309 uint64 uint64_value = 11;
315message NetworkConfig {}
319message NetworkAction {
321 optional Shutdown shutdown = 1;
324 optional Discover discover = 2;
325 optional Start start = 3;
326 optional DiscoverAndStart discover_and_start = 4;
329 optional TimingMetricsEnable timing_metrics_enable = 5;
330 optional TimingMetricsDisable timing_metrics_disable = 6;
331 optional TimingMetricsClear timing_metrics_clear = 7;
334 repeated OutputOverride output_override = 8;
337 optional EniGenerate eni_generate = 9;
344 optional uint32 timeout_milliseconds = 3;
350 optional uint32 timeout_milliseconds = 2;
353 message DiscoverAndStart {
357 optional uint32 timeout_milliseconds = 2;
360 message TimingMetricsEnable {
362 optional uint32 low_threshold = 1;
364 optional uint32 high_threshold = 2;
366 message TimingMetricsDisable {}
367 message TimingMetricsClear {}
369 message OutputOverride {
373 optional
bool override = 2;
375 optional int64 override_value = 3;
378 message EniGenerate {
382 optional
string output = 2;
388message NetworkRequest {
390 RSI.RapidServer.RequestHeader header = 1;
392 optional NetworkConfig config = 2;
394 optional NetworkAction action = 3;
399message NetworkResponse {
401 RSI.RapidServer.ResponseHeader header = 1;
403 optional NetworkConfig config = 2;
404 optional NetworkAction action = 3;
405 optional NetworkInfo info = 4;
406 optional NetworkStatus status = 5;
411message NetworkStatus {
413 int32 node_count = 2;
415 bool synchronized = 4;
419 string log_message = 6;
422 TimingMetricsStatus timing_metrics = 7;
425 repeated PdoInputStatus pdo_inputs = 8;
428 repeated PdoOutputStatus pdo_outputs = 9;
431 uint32 al_status = 10;
433 uint32 missed_cyclic_frame_count = 11;
435 uint32 cyclic_frame_period_us = 12;
437 int32 synchronization_error_ns = 13;
439 uint32 active_node_count = 14;
441 message TimingMetricsStatus {
445 uint32 min_recorded = 2;
447 uint32 max_recorded = 3;
449 uint32 low_count = 4;
451 uint32 high_count = 5;
454 message PdoInputStatus {
461 message PdoOutputStatus {
465 int64 sent_value = 2;
467 int64 override_value = 3;
469 int64 firmware_value = 4;
471 bool override_enabled = 5;
479 int32 pdo_input_count = 4;
480 int32 pdo_output_count = 5;
483 repeated PdoInputInfo pdo_inputs = 6;
486 repeated PdoOutputInfo pdo_outputs = 7;
488 message PdoInputInfo {
490 AddressInfo address_info = 2;
492 int32 bit_offset = 4;
495 message PdoOutputInfo {
497 AddressInfo sent_value_address = 2;
498 AddressInfo override_value_address = 3;
499 AddressInfo firmware_value_address = 4;
501 int32 bit_offset = 6;
512 RSI.RapidServer.RequestHeader header = 1;
517 optional AxisConfig config = 3;
518 optional AxisAction action = 4;
523message AxisResponse {
525 RSI.RapidServer.ResponseHeader header = 1;
530 optional AxisConfig config = 3;
531 optional AxisAction action = 4;
532 optional AxisInfo info = 5;
533 optional AxisStatus status = 6;
538message AxisBatchRequest {
540 RSI.RapidServer.RequestHeader header = 1;
542 repeated AxisRequest requests = 2;
545message AxisBatchResponse {
547 RSI.RapidServer.ResponseHeader header = 1;
549 repeated AxisResponse responses = 2;
556 bool amp_enabled = 1;
565 string source_name = 4;
568 PositionStatus position = 5;
571 VelocityStatus velocity = 6;
574 AccelerationStatus acceleration = 7;
577 int32 frames_to_execute = 8;
580 uint32 motion_id = 9;
583 uint32 motion_id_executing = 10;
586 int32 element_id_executing = 11;
589 bool gear_enabled = 12;
592 MotorStatusBits motor_status_bits = 13;
595 MotionStatusBits motion_status_bits = 14;
598 Ds402StatusBits ds402_status_bits = 15;
601 DedicatedOutputBits dedicated_output_bits = 16;
604 DedicatedInputBits dedicated_input_bits = 17;
607 bool home_state = 18;
611 uint32 general_input_bits = 20;
614 uint32 general_output_bits = 21;
616 message PositionStatus {
622 double encoder_0 = 6;
623 double encoder_1 = 7;
624 double compensation = 8;
628 message VelocityStatus {
633 message AccelerationStatus {
637 message MotorStatusBits {
639 bool amp_warning = 2;
640 bool feedback_fault = 3;
641 bool limit_position_error = 4;
642 bool limit_torque = 5;
643 bool limit_hardware_negative = 6;
644 bool limit_hardware_positive = 7;
645 bool limit_software_negative = 8;
646 bool limit_software_positive = 9;
649 message MotionStatusBits {
653 bool at_velocity = 4;
654 bool out_of_frames = 5;
655 bool near_target = 6;
660 message Ds402StatusBits {
661 bool ready_to_switch_on = 1;
662 bool switched_on = 2;
663 bool operation_enabled = 3;
665 bool voltage_enabled = 5;
667 bool switch_on_disabled = 7;
669 bool manufacturer_specific_8 = 9;
671 bool target_reached = 11;
672 bool internal_limit_active = 12;
673 bool operation_mode_specific_12 = 13;
674 bool operation_mode_specific_13 = 14;
675 bool manufacturer_specific_14 = 15;
676 bool manufacturer_specific_15 = 16;
679 message DedicatedOutputBits {
681 bool brake_release = 2;
684 message DedicatedInputBits {
686 bool brake_applied = 2;
688 bool limit_hardware_positive = 4;
689 bool limit_hardware_negative = 5;
691 bool index_secondary = 7;
692 bool feedback_fault = 8;
697 bool amp_active = 13;
699 bool drive_status_9 = 15;
700 bool drive_status_10 = 16;
701 bool feedback_fault_primary = 17;
702 bool feedback_fault_secondary = 18;
709 optional Abort abort = 1;
710 optional EStopAbort e_stop_abort = 2;
711 optional EStopModifyAbort e_stop_modify_abort = 3;
712 optional EStopModify e_stop_modify = 4;
713 optional EStop e_stop = 5;
714 optional TriggeredModify triggered_modify = 6;
715 optional Stop stop = 7;
716 optional Resume resume = 8;
718 optional ClearFaults clear_faults = 9;
719 optional AmpEnable amp_enable = 10;
720 optional AmpDisable amp_disable = 11;
721 optional HoldGateSet hold_gate_set = 12;
722 optional PositionSet position_set = 13;
723 optional Move move = 14;
724 optional GearEnable gear_enable = 15;
725 optional GearDisable gear_disable = 16;
726 optional Home home = 17;
727 optional HomeCancel home_cancel = 18;
728 optional OperationMode operation_mode_set = 19;
729 optional OperationMode operation_mode_get = 20;
732 message EStopAbort {}
733 message EStopModifyAbort{}
734 message EStopModify{}
736 message TriggeredModify {}
740 message ClearFaults {}
743 optional int32 timeout_milliseconds = 1;
744 optional int32 duration = 2;
745 optional
bool override_restricted_state = 3;
747 message AmpDisable {}
748 message HoldGateSet {
758 AxisMovePointToPoint point_to_point = 3;
759 AxisMoveVelocity velocity = 4;
760 MoveStreaming streaming = 5;
764 optional uint32 motion_id = 6;
767 optional MotionHold motion_hold = 7;
774 optional int32 master_axis_number = 2;
777 int32 denominator = 5;
779 message GearDisable {}
784 double slow_velocity = 3;
785 double acceleration = 4;
786 double deceleration = 5;
787 optional
double jerk_percent = 6;
788 optional
bool move_to_zero = 7;
789 optional
double offset = 8;
793 message HomeCancel {}
795 message OperationMode {
802 message AxisMovePointToPoint {
807 optional
double velocity = 2;
810 optional
double acceleration = 3;
813 optional
double deceleration = 4;
819 optional
double jerk_percent = 5;
823 optional
double final_velocity = 6;
829message AxisMoveVelocity {
834 double acceleration = 2;
839 double jerk_percent = 3;
842message MoveStreaming {
843 repeated
double positions = 1;
844 repeated
double velocities = 2;
845 repeated
double accelerations = 3;
846 repeated
double jerks = 4;
847 repeated
double times = 5;
848 int32 empty_count = 6;
863 repeated
double feedforwards = 10;
867message MotionHoldGate{
871message MotionHoldAxis {
879 int32 hold_axis_number = 3;
882 double hold_axis_position = 4;
885message MotionHoldUser {
899 MotionHoldGate gate = 2;
900 MotionHoldAxis axis = 3;
901 MotionHoldUser user = 4;
905 optional
double hold_timeout_seconds = 6;
908 optional
double delay_seconds = 7;
914 optional
double user_units = 1;
917 optional
double origin_position = 2;
920 optional
string user_label = 3;
923 optional TrajectoryDefaults defaults = 4;
924 optional HardwareTrigger amp_fault = 5;
925 optional HardwareTrigger home_switch = 6;
926 optional ErrorLimit error_limit = 7;
927 optional HardwareTrigger hardware_negative_limit = 8;
928 optional HardwareTrigger hardware_positive_limit = 9;
929 optional SoftwareTrigger software_negative_limit = 10;
930 optional SoftwareTrigger software_positive_limit = 11;
931 optional Settling settling = 12;
932 optional MotionConfig motion = 13;
933 optional Homing homing = 14;
934 optional int32 frame_buffer_size = 15;
936 optional
double feed_rate = 17;
939 message TrajectoryDefaults
941 optional
double velocity = 1;
942 optional
double acceleration = 2;
943 optional
double deceleration = 3;
944 optional
double jerk_percent = 4;
945 optional
double position1 = 5;
946 optional
double position2 = 6;
947 optional
double relative_increment = 7;
950 message HardwareTrigger {
952 optional
bool trigger_state = 2;
953 optional
double duration = 3;
956 message SoftwareTrigger {
958 optional
double trigger_value = 2;
963 optional
double trigger_value = 2;
964 optional
double duration = 3;
968 optional
double position_tolerance_fine = 1;
969 optional
double position_tolerance_coarse = 2;
970 optional
double velocity_tolerance = 3;
971 optional
double time_seconds = 4;
972 optional
bool on_stop = 5;
973 optional
bool on_estop = 6;
974 optional
bool on_estop_cmd_equals_actual = 7;
977 message MotionConfig {
979 optional
double stop_time = 1;
982 optional
double estop_time = 2;
985 optional
double triggered_modify_deceleration = 3;
988 optional
double triggered_modify_jerk_percent = 4;
991 optional
double estop_modify_deceleration = 5;
994 optional
double estop_modify_jerk_percent = 6;
1008 repeated AddressInfo addresses = 2;
1011 NetworkNodeInfo node_info = 3;
1014 Constants constants = 4;
1017 int32 motion_supervisor_index = 5;
1021 uint32 network_index_invalid = 1;
1024 double amp_enable_amp_fault_timeout_seconds_default = 2;
1032message MultiAxisRequest {
1034 RSI.RapidServer.RequestHeader header = 1;
1039 optional MultiAxisConfig config = 3;
1040 optional MultiAxisAction action = 4;
1045message MultiAxisResponse {
1047 RSI.RapidServer.ResponseHeader header = 1;
1052 optional MultiAxisConfig config = 3;
1053 optional MultiAxisAction action = 4;
1054 optional MultiAxisInfo info = 5;
1055 optional MultiAxisStatus status = 6;
1060message MultiAxisBatchRequest {
1062 RSI.RapidServer.RequestHeader header = 1;
1064 repeated MultiAxisRequest requests = 2;
1067message MultiAxisBatchResponse {
1069 RSI.RapidServer.ResponseHeader header = 1;
1071 repeated MultiAxisResponse responses = 2;
1077message MultiAxisStatus {
1080 string source_name = 3;
1081 bool amp_enabled = 4;
1082 MotionStatusBits motion_status_bits = 5;
1083 repeated AxisStatus axis_statuses = 6;
1086 message MotionStatusBits {
1090 bool at_velocity = 4;
1091 bool out_of_frames = 5;
1097message MultiAxisAction {
1098 optional Abort abort = 1;
1099 optional EStopAbort e_stop_abort = 2;
1100 optional EStopModifyAbort e_stop_modify_abort = 3;
1101 optional EStopModify e_stop_modify = 4;
1102 optional EStop e_stop = 5;
1103 optional TriggeredModify triggered_modify = 6;
1104 optional Stop stop = 7;
1105 optional Resume resume = 8;
1107 optional ClearFaults clear_faults = 9;
1108 optional AmpEnable amp_enable = 10;
1109 optional AmpDisable amp_disable = 11;
1110 optional Move move = 12;
1111 optional RemoveAxes remove_axes = 13;
1112 optional Unmap unmap = 14;
1113 optional Map map = 15;
1114 optional AxisAdd axis_add = 16;
1117 message EStopAbort {}
1118 message EStopModifyAbort{}
1119 message EStopModify{}
1121 message TriggeredModify {}
1125 message ClearFaults {}
1128 optional int32 timeout_milliseconds = 1;
1129 optional int32 duration = 2;
1130 optional
bool override_restricted_state = 3;
1132 message AmpDisable {}
1136 MultiAxisMovePointToPoint point_to_point = 3;
1137 MultiAxisMoveVelocity velocity = 4;
1138 MoveStreaming streaming = 5;
1140 optional uint32 motion_id = 6;
1143 optional MotionHold motion_hold = 7;
1147 message MultiAxisMovePointToPoint {
1148 repeated AxisMovePointToPoint axis_move_point_to_points = 1;
1152 message MultiAxisMoveVelocity {
1153 repeated AxisMoveVelocity axis_move_velocities = 1;
1156 message RemoveAxes {}
1160 int32 axis_index = 1;
1166message MultiAxisConfig {
1167 repeated int32 axes_indices = 1;
1168 optional
string user_label = 2;
1169 optional
double feed_rate = 3;
1170 optional
double stop_time = 4;
1171 optional
double e_stop_time = 5;
1176message MultiAxisInfo {
1181 int32 motion_supervisor_index = 2;
1184 repeated AddressInfo addresses = 3;
1189message NetworkNodeInfo {
1197 int32 axis_count = 3;
1203 IOCounts io_counts = 5;
1206 IOAddresses io_addresses = 6;
1212 uint32 vendor_id = 8;
1215 uint32 product_code = 9;
1218 uint32 hardware_revision = 10;
1221 uint32 station_alias = 11;
1224 string serial_number = 12;
1230 string product_name = 14;
1233 string vendor_name = 15;
1235 Constants constants = 16;
1243 int32 digital_inputs = 1;
1246 int32 digital_outputs = 2;
1249 int32 analog_inputs = 3;
1252 int32 analog_outputs = 4;
1255 message IOAddresses {
1257 repeated AddressInfo digital_inputs = 1;
1260 repeated AddressInfo digital_outputs = 2;
1263 repeated AddressInfo analog_inputs = 3;
1266 repeated AddressInfo analog_outputs = 4;
1271 uint32 sdo_timeout_milliseconds_default = 1;
1277message NetworkNodeStatus {
1279 repeated
bool digital_input_states = 2;
1282 repeated
bool digital_output_states = 3;
1285 repeated int32 analog_input_values = 4;
1288 repeated int32 analog_output_values = 5;
1291 uint32 al_status = 6;
1293 uint32 al_status_code = 7;
1295 uint64 coe_emergency_message = 8;
1297 int32 coe_emergency_message_network_counter = 9;
1304message DigitalOutput {
1306 int32 bit_number = 1;
1316message AnalogOutput {
1335 int32 sub_index = 2;
1338 int32 byte_count = 3;
1342 option allow_alias =
true;
1350 optional ValueType read_type = 4;
1353 optional uint32 timeout_milliseconds = 5;
1361 int32 integer_value = 6;
1364 string string_value = 7;
1367 bytes bytes_value = 8;
1378 optional
string result = 2;
1384message NetworkNodeAction {
1390 repeated DigitalOutput digital_output_sets = 1;
1396 repeated AnalogOutput analog_output_sets = 2;
1401 repeated SDO sdo_writes = 3;
1406 repeated SDO sdo_reads = 4;
1412 repeated AKDASCII akd_asciis = 5;
1417message NetworkNodeConfig {}
1421message NetworkNodeRequest {
1423 RSI.RapidServer.RequestHeader header = 1;
1428 optional NetworkNodeConfig config = 3;
1429 optional NetworkNodeAction action = 4;
1434message NetworkNodeResponse {
1436 RSI.RapidServer.ResponseHeader header = 1;
1441 optional NetworkNodeConfig config = 3;
1442 optional NetworkNodeAction action = 4;
1443 optional NetworkNodeInfo info = 5;
1444 optional NetworkNodeStatus status = 6;
1449message NetworkNodeBatchRequest {
1451 RSI.RapidServer.RequestHeader header = 1;
1453 repeated NetworkNodeRequest requests = 2;
1456message NetworkNodeBatchResponse {
1458 RSI.RapidServer.ResponseHeader header = 1;
1460 repeated NetworkNodeResponse responses = 2;
1466message RecorderRequest {
1468 RSI.RapidServer.RequestHeader header = 1;
1473 optional RecorderConfig config = 3;
1474 optional RecorderAction action = 4;
1480message RecorderResponse {
1482 RSI.RapidServer.ResponseHeader header = 1;
1487 optional RecorderConfig config = 3;
1488 optional RecorderAction action = 4;
1489 optional RecorderInfo info = 5;
1490 optional RecorderStatus status = 6;
1495message RecorderBatchRequest {
1497 RSI.RapidServer.RequestHeader header = 1;
1499 repeated RecorderRequest requests = 2;
1502message RecorderBatchResponse {
1504 RSI.RapidServer.ResponseHeader header = 1;
1506 repeated RecorderResponse responses = 2;
1512message RecorderInfo { }
1516message RecorderStatus {
1518 bool is_recording = 1;
1521 int32 records_available = 2;
1526message RecorderAction {
1528 optional Reset reset = 1;
1529 optional Start start = 2;
1530 optional Stop stop = 3;
1531 optional RetrieveRecords retrieve_records = 4;
1537 message RetrieveRecords {
1539 repeated Record records = 1;
1544 repeated FirmwareValue data = 1;
1552message RecorderConfig {
1554 optional int32 period = 1;
1557 optional
bool circular_buffer = 2;
1560 repeated AddressInfo addresses = 3;
1563 optional RecorderTriggerOnMotion trigger_on_motion = 4;
1566 optional int32 buffer_high_count = 5;
1569 optional int32 record_max_count = 6;
1573 message RecorderTriggerOnMotion {
1575 optional int32 motion_supervisor_index = 1;
1577 optional
bool enable = 2;
1584message UserLimitStatus {
1597message UserLimitAction {
1599 optional Reset reset = 1;
1600 optional Enable enable = 2;
1601 optional Disable disable = 3;
1611message UserLimitInfo {}
1616message UserLimitConfig {
1622 optional UserLimitCondition condition_0 = 2;
1625 optional UserLimitCondition condition_1 = 3;
1628 optional UserLimitOutput output = 4;
1634 optional int32 action_axis = 6;
1637 optional
double duration = 7;
1640 optional
bool is_single_shot = 8;
1643 repeated UserLimitInterruptUserData user_data = 9;
1646 message UserLimitCondition {
1657 optional uint32 mask = 4;
1660 optional int32 integer_limit_value = 5;
1663 optional
double double_limit_value = 6;
1666 message UInt32Masks {
1668 uint32 and_mask = 1;
1674 message UInt64Masks {
1676 uint64 and_mask = 1;
1682 message UserLimitOutput {
1695 UInt32Masks uint32_masks = 6;
1698 int32 int32_value = 7;
1701 UInt64Masks uint64_masks = 8;
1704 double double_value = 9;
1708 uint64 input_address = 10;
1712 message UserLimitInterruptUserData {
1717 optional uint64 address = 2;
1723message UserLimitRequest {
1725 RSI.RapidServer.RequestHeader header = 1;
1730 optional UserLimitConfig config = 3;
1732 optional UserLimitAction action = 4;
1737message UserLimitResponse {
1739 RSI.RapidServer.ResponseHeader header = 1;
1744 optional UserLimitConfig config = 3;
1745 optional UserLimitAction action = 4;
1746 optional UserLimitInfo info = 5;
1747 optional UserLimitStatus status = 6;
1752message UserLimitBatchRequest {
1754 RSI.RapidServer.RequestHeader header = 1;
1756 repeated UserLimitRequest requests = 2;
1759message UserLimitBatchResponse {
1761 RSI.RapidServer.ResponseHeader header = 1;
1763 repeated UserLimitResponse responses = 2;
1768message RTOSConfig {}
1774 string rmp_catalog = 1;
1777 string rmp_network_catalog = 2;
1780 uint32 node_count = 3;
1786 optional Restart restart = 1;
1787 optional Stop stop = 2;
1788 optional Start start = 3;
1804message RTOSRequest {
1806 RSI.RapidServer.RequestHeader header = 1;
1811 optional RTOSConfig config = 3;
1812 optional RTOSAction action = 4;
1817message RTOSResponse {
1819 RSI.RapidServer.ResponseHeader header = 1;
1824 optional RTOSConfig config = 3;
1825 optional RTOSAction action = 4;
1826 optional RTOSInfo info = 5;
1827 optional RTOSStatus status = 6;
1832message RTOSBatchRequest {
1834 RSI.RapidServer.RequestHeader header = 1;
1836 repeated RTOSRequest requests = 2;
1839message RTOSBatchResponse {
1841 RSI.RapidServer.ResponseHeader header = 1;
1843 repeated RTOSResponse responses = 2;
1849 RTTaskStateUNKNOWN = 0;
1850 RTTaskStateDEAD = 1;
1851 RTTaskStateDISABLED = 2;
1852 RTTaskStateWAITING = 3;
1853 RTTaskStateRUNNING = 4;
1859 RTTaskManagerStateUNKNOWN = 0;
1860 RTTaskManagerStateDEAD = 1;
1861 RTTaskManagerStateRUNNING = 2;
1862 RTTaskManagerStateSTOPPED = 3;
1868 PlatformTypeUNKNOWN = 0;
1869 PlatformTypeNATIVE = 1;
1870 PlatformTypeINTIME = 2;
1871 PlatformTypeLINUX = 3;
1872 PlatformTypeWINDOWS = 4;
1880 TaskPriorityNONREALTIME = 0;
1881 TaskPriorityLOWEST = 1;
1882 TaskPriorityLOW = 2;
1883 TaskPriorityMEDIUMLOW = 3;
1884 TaskPriorityMEDIUM = 4;
1885 TaskPriorityMEDIUMHIGH = 5;
1886 TaskPriorityHIGH = 6;
1887 TaskPriorityHIGHEST = 7;
1892message RTTaskCreationParameters {
1894 string function_name = 1;
1897 optional
string library_name = 2;
1898 optional
string library_directory = 3;
1901 optional
string user_label = 4;
1907 optional int32 repeats = 6;
1910 optional int32 period = 7;
1915 optional int32 phase = 8;
1918 optional
bool enable_timing = 9;
1923message RTTaskConfig {}
1928message RTTaskAction {
1930 optional Stop stop = 1;
1933 optional Remove
remove = 2;
1936 optional TimingReset timing_reset = 3;
1939 optional ExecutionCountAbsoluteWait execution_count_absolute_wait = 4;
1942 optional ExecutionCountRelativeWait execution_count_relative_wait = 5;
1946 message TimingReset {}
1948 message ExecutionCountAbsoluteWait {
1950 optional int64 count = 1;
1953 optional int32 timeout_ms = 2;
1956 message ExecutionCountRelativeWait {
1958 optional int64 count = 1;
1961 optional int32 timeout_ms = 2;
1972 int32 manager_id = 2;
1975 Constants constants = 3;
1978 RTTaskCreationParameters creation_parameters = 4;
1982 CreationParameterConstants creation_parameters = 1;
1985 StatusConstants status = 2;
1987 message CreationParameterConstants {
1989 int32 directory_length_maximum = 1;
1992 int32 name_length_maximum = 2;
1995 string library_name_default = 3;
1998 int32 priority_default = 4;
2001 int32 repeat_forever = 5;
2004 int32 repeat_none = 6;
2007 int32 period_default = 7;
2010 int32 phase_default = 8;
2013 int32 enable_timing_default = 9;
2016 message StatusConstants {
2018 int64 invalid_execution_count = 1;
2021 uint64 invalid_execution_time = 2;
2024 uint64 error_message_size_maximum = 3;
2031message RTTaskStatus {
2036 optional int64 execution_count = 2;
2039 optional uint64 execution_time_max = 3;
2042 optional uint64 execution_time_min = 4;
2045 optional
double execution_time_mean = 5;
2048 optional uint64 execution_time_last = 6;
2051 optional uint64 start_time_delta_last = 7;
2054 optional uint64 start_time_delta_max = 8;
2057 optional
double start_time_delta_mean = 9;
2060 optional
string error_message = 10;
2065message RTTaskRequest {
2067 RSI.RapidServer.RequestHeader header = 1;
2073 int32 manager_id = 3;
2075 optional RTTaskConfig config = 4;
2076 optional RTTaskAction action = 5;
2081message RTTaskResponse {
2083 RSI.RapidServer.ResponseHeader header = 1;
2089 int32 manager_id = 3;
2091 optional RTTaskConfig config = 4;
2092 optional RTTaskAction action = 5;
2093 optional RTTaskInfo info = 6;
2094 optional RTTaskStatus status = 7;
2099message RTTaskBatchRequest {
2101 RSI.RapidServer.RequestHeader header = 1;
2103 repeated RTTaskRequest requests = 2;
2106message RTTaskBatchResponse {
2108 RSI.RapidServer.ResponseHeader header = 1;
2110 repeated RTTaskResponse responses = 2;
2115message RTTaskManagerCreationParameters {
2117 optional
string rt_task_directory = 1;
2124 optional
string node_name = 3;
2127 optional int32 cpu_core = 4;
2130 optional
string user_label = 5;
2133 optional
bool no_rmp = 6;
2138message RTTaskManagerConfig {}
2143message RTTaskManagerAction {
2145 optional Create create = 1;
2148 optional Discover discover = 2;
2151 optional Shutdown shutdown = 3;
2154 optional TaskSubmit task_submit = 4;
2157 optional TaskRemove task_remove = 5;
2160 repeated GlobalValueSet global_value_sets = 6;
2164 RTTaskManagerCreationParameters creation_parameters = 1;
2172 repeated int32 manager_ids = 1;
2177 message TaskSubmit {
2179 RTTaskCreationParameters task_creation_parameters = 1;
2182 optional int32 task_id = 2;
2185 message TaskRemove {
2190 message GlobalValueSet {
2192 FirmwareValue value = 1;
2199 optional
string library_name = 3;
2200 optional
string library_directory = 4;
2206message RTTaskManagerInfo {
2211 Constants constants = 2;
2214 RTTaskManagerCreationParameters creation_parameters = 3;
2218 int32 rt_task_manager_count_maximum = 1;
2221 int32 rt_task_count_maximum = 2;
2224 string rt_task_manager_executable_name = 3;
2227 CreationParameterConstants creation_parameters = 4;
2229 message CreationParameterConstants {
2231 int32 directory_length_maximum = 1;
2234 int32 name_length_maximum = 2;
2237 string user_label_default = 3;
2244message RTTaskManagerStatus {
2247 repeated int32 task_ids = 1;
2250 map<string, FirmwareValue> global_values = 2;
2256 optional uint64 task_submission_count = 4;
2259 optional int64 cycle_count = 5;
2262 optional uint64 cycle_time_max = 6;
2265 optional uint64 cycle_time_min = 7;
2268 optional
double cycle_time_mean = 8;
2271 optional uint64 cycle_time_last = 9;
2274 optional uint64 start_time_delta_last = 10;
2277 optional uint64 start_time_delta_max = 11;
2280 optional
double start_time_delta_mean = 12;
2285message RTTaskManagerRequest {
2287 RSI.RapidServer.RequestHeader header = 1;
2290 optional int32
id = 2;
2292 optional RTTaskManagerConfig config = 3;
2293 optional RTTaskManagerAction action = 4;
2298message RTTaskManagerResponse {
2300 RSI.RapidServer.ResponseHeader header = 1;
2303 optional int32
id = 2;
2305 optional RTTaskManagerConfig config = 3;
2306 optional RTTaskManagerAction action = 4;
2307 optional RTTaskManagerInfo info = 5;
2308 optional RTTaskManagerStatus status = 6;
2313message RTTaskManagerBatchRequest {
2315 RSI.RapidServer.RequestHeader header = 1;
2317 repeated RTTaskManagerRequest requests = 2;
2320message RTTaskManagerBatchResponse {
2322 RSI.RapidServer.ResponseHeader header = 1;
2324 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.
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.
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.
RSIAxisMasterType
Sources available to a slave Axis for electronic gearing & camming.