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;
443 message TimingMetricsStatus {
447 uint32 min_recorded = 2;
449 uint32 max_recorded = 3;
451 uint32 low_count = 4;
453 uint32 high_count = 5;
456 message PdoInputStatus {
463 message PdoOutputStatus {
467 int64 sent_value = 2;
469 int64 override_value = 3;
471 int64 firmware_value = 4;
473 bool override_enabled = 5;
481 int32 pdo_input_count = 4;
482 int32 pdo_output_count = 5;
485 repeated PdoInputInfo pdo_inputs = 6;
488 repeated PdoOutputInfo pdo_outputs = 7;
490 message PdoInputInfo {
492 AddressInfo address_info = 2;
494 int32 bit_offset = 4;
497 message PdoOutputInfo {
499 AddressInfo sent_value_address = 2;
500 AddressInfo override_value_address = 3;
501 AddressInfo firmware_value_address = 4;
503 int32 bit_offset = 6;
514 RSI.RapidServer.RequestHeader header = 1;
519 optional AxisConfig config = 3;
520 optional AxisAction action = 4;
525message AxisResponse {
527 RSI.RapidServer.ResponseHeader header = 1;
532 optional AxisConfig config = 3;
533 optional AxisAction action = 4;
534 optional AxisInfo info = 5;
535 optional AxisStatus status = 6;
540message AxisBatchRequest {
542 RSI.RapidServer.RequestHeader header = 1;
544 repeated AxisRequest requests = 2;
547message AxisBatchResponse {
549 RSI.RapidServer.ResponseHeader header = 1;
551 repeated AxisResponse responses = 2;
558 bool amp_enabled = 1;
567 string source_name = 4;
570 PositionStatus position = 5;
573 VelocityStatus velocity = 6;
576 AccelerationStatus acceleration = 7;
579 int32 frames_to_execute = 8;
582 uint32 motion_id = 9;
585 uint32 motion_id_executing = 10;
588 int32 element_id_executing = 11;
591 bool gear_enabled = 12;
594 MotorStatusBits motor_status_bits = 13;
597 MotionStatusBits motion_status_bits = 14;
600 Ds402StatusBits ds402_status_bits = 15;
603 DedicatedOutputBits dedicated_output_bits = 16;
606 DedicatedInputBits dedicated_input_bits = 17;
609 bool home_state = 18;
613 uint32 general_input_bits = 20;
616 uint32 general_output_bits = 21;
618 message PositionStatus {
624 double encoder_0 = 6;
625 double encoder_1 = 7;
626 double compensation = 8;
630 message VelocityStatus {
635 message AccelerationStatus {
639 message MotorStatusBits {
641 bool amp_warning = 2;
642 bool feedback_fault = 3;
643 bool limit_position_error = 4;
644 bool limit_torque = 5;
645 bool limit_hardware_negative = 6;
646 bool limit_hardware_positive = 7;
647 bool limit_software_negative = 8;
648 bool limit_software_positive = 9;
651 message MotionStatusBits {
655 bool at_velocity = 4;
656 bool out_of_frames = 5;
657 bool near_target = 6;
662 message Ds402StatusBits {
663 bool ready_to_switch_on = 1;
664 bool switched_on = 2;
665 bool operation_enabled = 3;
667 bool voltage_enabled = 5;
669 bool switch_on_disabled = 7;
671 bool manufacturer_specific_8 = 9;
673 bool target_reached = 11;
674 bool internal_limit_active = 12;
675 bool operation_mode_specific_12 = 13;
676 bool operation_mode_specific_13 = 14;
677 bool manufacturer_specific_14 = 15;
678 bool manufacturer_specific_15 = 16;
681 message DedicatedOutputBits {
683 bool brake_release = 2;
686 message DedicatedInputBits {
688 bool brake_applied = 2;
690 bool limit_hardware_positive = 4;
691 bool limit_hardware_negative = 5;
693 bool index_secondary = 7;
694 bool feedback_fault = 8;
699 bool amp_active = 13;
701 bool drive_status_9 = 15;
702 bool drive_status_10 = 16;
703 bool feedback_fault_primary = 17;
704 bool feedback_fault_secondary = 18;
711 optional Abort abort = 1;
712 optional EStopAbort e_stop_abort = 2;
713 optional EStopModifyAbort e_stop_modify_abort = 3;
714 optional EStopModify e_stop_modify = 4;
715 optional EStop e_stop = 5;
716 optional TriggeredModify triggered_modify = 6;
717 optional Stop stop = 7;
718 optional Resume resume = 8;
720 optional ClearFaults clear_faults = 9;
721 optional AmpEnable amp_enable = 10;
722 optional AmpDisable amp_disable = 11;
723 optional HoldGateSet hold_gate_set = 12;
724 optional PositionSet position_set = 13;
725 optional Move move = 14;
726 optional GearEnable gear_enable = 15;
727 optional GearDisable gear_disable = 16;
728 optional Home home = 17;
729 optional HomeCancel home_cancel = 18;
730 optional OperationMode operation_mode_set = 19;
731 optional OperationMode operation_mode_get = 20;
734 message EStopAbort {}
735 message EStopModifyAbort{}
736 message EStopModify{}
738 message TriggeredModify {}
742 message ClearFaults {}
745 optional int32 timeout_milliseconds = 1;
746 optional int32 duration = 2;
747 optional
bool override_restricted_state = 3;
749 message AmpDisable {}
750 message HoldGateSet {
760 AxisMovePointToPoint point_to_point = 3;
761 AxisMoveVelocity velocity = 4;
762 MoveStreaming streaming = 5;
766 optional uint32 motion_id = 6;
769 optional MotionHold motion_hold = 7;
776 optional int32 master_axis_number = 2;
779 int32 denominator = 5;
781 message GearDisable {}
786 double slow_velocity = 3;
787 double acceleration = 4;
788 double deceleration = 5;
789 optional
double jerk_percent = 6;
790 optional
bool move_to_zero = 7;
791 optional
double offset = 8;
795 message HomeCancel {}
797 message OperationMode {
804 message AxisMovePointToPoint {
809 optional
double velocity = 2;
812 optional
double acceleration = 3;
815 optional
double deceleration = 4;
821 optional
double jerk_percent = 5;
825 optional
double final_velocity = 6;
831message AxisMoveVelocity {
836 double acceleration = 2;
841 double jerk_percent = 3;
844message MoveStreaming {
845 repeated
double positions = 1;
846 repeated
double velocities = 2;
847 repeated
double accelerations = 3;
848 repeated
double jerks = 4;
849 repeated
double times = 5;
850 int32 empty_count = 6;
865 repeated
double feedforwards = 10;
869message MotionHoldGate{
873message MotionHoldAxis {
881 int32 hold_axis_number = 3;
884 double hold_axis_position = 4;
887message MotionHoldUser {
901 MotionHoldGate gate = 2;
902 MotionHoldAxis axis = 3;
903 MotionHoldUser user = 4;
907 optional
double hold_timeout_seconds = 6;
910 optional
double delay_seconds = 7;
916 optional
double user_units = 1;
919 optional
double origin_position = 2;
922 optional
string user_label = 3;
925 optional TrajectoryDefaults defaults = 4;
926 optional HardwareTrigger amp_fault = 5;
927 optional HardwareTrigger home_switch = 6;
928 optional ErrorLimit error_limit = 7;
929 optional HardwareTrigger hardware_negative_limit = 8;
930 optional HardwareTrigger hardware_positive_limit = 9;
931 optional SoftwareTrigger software_negative_limit = 10;
932 optional SoftwareTrigger software_positive_limit = 11;
933 optional Settling settling = 12;
934 optional MotionConfig motion = 13;
935 optional Homing homing = 14;
936 optional int32 frame_buffer_size = 15;
938 optional
double feed_rate = 17;
941 message TrajectoryDefaults
943 optional
double velocity = 1;
944 optional
double acceleration = 2;
945 optional
double deceleration = 3;
946 optional
double jerk_percent = 4;
947 optional
double position1 = 5;
948 optional
double position2 = 6;
949 optional
double relative_increment = 7;
952 message HardwareTrigger {
954 optional
bool trigger_state = 2;
955 optional
double duration = 3;
958 message SoftwareTrigger {
960 optional
double trigger_value = 2;
965 optional
double trigger_value = 2;
966 optional
double duration = 3;
970 optional
double position_tolerance_fine = 1;
971 optional
double position_tolerance_coarse = 2;
972 optional
double velocity_tolerance = 3;
973 optional
double time_seconds = 4;
974 optional
bool on_stop = 5;
975 optional
bool on_estop = 6;
976 optional
bool on_estop_cmd_equals_actual = 7;
979 message MotionConfig {
981 optional
double stop_time = 1;
984 optional
double estop_time = 2;
987 optional
double triggered_modify_deceleration = 3;
990 optional
double triggered_modify_jerk_percent = 4;
993 optional
double estop_modify_deceleration = 5;
996 optional
double estop_modify_jerk_percent = 6;
1010 repeated AddressInfo addresses = 2;
1013 NetworkNodeInfo node_info = 3;
1016 Constants constants = 4;
1019 int32 motion_supervisor_index = 5;
1023 uint32 network_index_invalid = 1;
1026 double amp_enable_amp_fault_timeout_seconds_default = 2;
1034message MultiAxisRequest {
1036 RSI.RapidServer.RequestHeader header = 1;
1041 optional MultiAxisConfig config = 3;
1042 optional MultiAxisAction action = 4;
1047message MultiAxisResponse {
1049 RSI.RapidServer.ResponseHeader header = 1;
1054 optional MultiAxisConfig config = 3;
1055 optional MultiAxisAction action = 4;
1056 optional MultiAxisInfo info = 5;
1057 optional MultiAxisStatus status = 6;
1062message MultiAxisBatchRequest {
1064 RSI.RapidServer.RequestHeader header = 1;
1066 repeated MultiAxisRequest requests = 2;
1069message MultiAxisBatchResponse {
1071 RSI.RapidServer.ResponseHeader header = 1;
1073 repeated MultiAxisResponse responses = 2;
1079message MultiAxisStatus {
1082 string source_name = 3;
1083 bool amp_enabled = 4;
1084 MotionStatusBits motion_status_bits = 5;
1085 repeated AxisStatus axis_statuses = 6;
1088 message MotionStatusBits {
1092 bool at_velocity = 4;
1093 bool out_of_frames = 5;
1099message MultiAxisAction {
1100 optional Abort abort = 1;
1101 optional EStopAbort e_stop_abort = 2;
1102 optional EStopModifyAbort e_stop_modify_abort = 3;
1103 optional EStopModify e_stop_modify = 4;
1104 optional EStop e_stop = 5;
1105 optional TriggeredModify triggered_modify = 6;
1106 optional Stop stop = 7;
1107 optional Resume resume = 8;
1109 optional ClearFaults clear_faults = 9;
1110 optional AmpEnable amp_enable = 10;
1111 optional AmpDisable amp_disable = 11;
1112 optional Move move = 12;
1113 optional RemoveAxes remove_axes = 13;
1114 optional Unmap unmap = 14;
1115 optional Map map = 15;
1116 optional AxisAdd axis_add = 16;
1119 message EStopAbort {}
1120 message EStopModifyAbort{}
1121 message EStopModify{}
1123 message TriggeredModify {}
1127 message ClearFaults {}
1130 optional int32 timeout_milliseconds = 1;
1131 optional int32 duration = 2;
1132 optional
bool override_restricted_state = 3;
1134 message AmpDisable {}
1138 MultiAxisMovePointToPoint point_to_point = 3;
1139 MultiAxisMoveVelocity velocity = 4;
1140 MoveStreaming streaming = 5;
1142 optional uint32 motion_id = 6;
1145 optional MotionHold motion_hold = 7;
1149 message MultiAxisMovePointToPoint {
1150 repeated AxisMovePointToPoint axis_move_point_to_points = 1;
1154 message MultiAxisMoveVelocity {
1155 repeated AxisMoveVelocity axis_move_velocities = 1;
1158 message RemoveAxes {}
1162 int32 axis_index = 1;
1168message MultiAxisConfig {
1169 repeated int32 axes_indices = 1;
1170 optional
string user_label = 2;
1171 optional
double feed_rate = 3;
1172 optional
double stop_time = 4;
1173 optional
double e_stop_time = 5;
1178message MultiAxisInfo {
1183 int32 motion_supervisor_index = 2;
1186 repeated AddressInfo addresses = 3;
1191message NetworkNodeInfo {
1199 int32 axis_count = 3;
1205 IOCounts io_counts = 5;
1208 IOAddresses io_addresses = 6;
1214 uint32 vendor_id = 8;
1217 uint32 product_code = 9;
1220 uint32 hardware_revision = 10;
1223 uint32 station_alias = 11;
1226 string serial_number = 12;
1232 string product_name = 14;
1235 string vendor_name = 15;
1237 Constants constants = 16;
1245 int32 digital_inputs = 1;
1248 int32 digital_outputs = 2;
1251 int32 analog_inputs = 3;
1254 int32 analog_outputs = 4;
1257 message IOAddresses {
1259 repeated AddressInfo digital_inputs = 1;
1262 repeated AddressInfo digital_outputs = 2;
1265 repeated AddressInfo analog_inputs = 3;
1268 repeated AddressInfo analog_outputs = 4;
1273 uint32 sdo_timeout_milliseconds_default = 1;
1279message NetworkNodeStatus {
1281 repeated
bool digital_input_states = 2;
1284 repeated
bool digital_output_states = 3;
1287 repeated int32 analog_input_values = 4;
1290 repeated int32 analog_output_values = 5;
1293 uint32 al_status = 6;
1295 uint32 al_status_code = 7;
1297 uint64 coe_emergency_message = 8;
1299 int32 coe_emergency_message_network_counter = 9;
1306message DigitalOutput {
1308 int32 bit_number = 1;
1318message AnalogOutput {
1337 int32 sub_index = 2;
1340 int32 byte_count = 3;
1344 option allow_alias =
true;
1352 optional ValueType read_type = 4;
1355 optional uint32 timeout_milliseconds = 5;
1363 int32 integer_value = 6;
1366 string string_value = 7;
1369 bytes bytes_value = 8;
1380 optional
string result = 2;
1386message NetworkNodeAction {
1392 repeated DigitalOutput digital_output_sets = 1;
1398 repeated AnalogOutput analog_output_sets = 2;
1403 repeated SDO sdo_writes = 3;
1408 repeated SDO sdo_reads = 4;
1414 repeated AKDASCII akd_asciis = 5;
1419message NetworkNodeConfig {}
1423message NetworkNodeRequest {
1425 RSI.RapidServer.RequestHeader header = 1;
1430 optional NetworkNodeConfig config = 3;
1431 optional NetworkNodeAction action = 4;
1436message NetworkNodeResponse {
1438 RSI.RapidServer.ResponseHeader header = 1;
1443 optional NetworkNodeConfig config = 3;
1444 optional NetworkNodeAction action = 4;
1445 optional NetworkNodeInfo info = 5;
1446 optional NetworkNodeStatus status = 6;
1451message NetworkNodeBatchRequest {
1453 RSI.RapidServer.RequestHeader header = 1;
1455 repeated NetworkNodeRequest requests = 2;
1458message NetworkNodeBatchResponse {
1460 RSI.RapidServer.ResponseHeader header = 1;
1462 repeated NetworkNodeResponse responses = 2;
1468message RecorderRequest {
1470 RSI.RapidServer.RequestHeader header = 1;
1475 optional RecorderConfig config = 3;
1476 optional RecorderAction action = 4;
1482message RecorderResponse {
1484 RSI.RapidServer.ResponseHeader header = 1;
1489 optional RecorderConfig config = 3;
1490 optional RecorderAction action = 4;
1491 optional RecorderInfo info = 5;
1492 optional RecorderStatus status = 6;
1497message RecorderBatchRequest {
1499 RSI.RapidServer.RequestHeader header = 1;
1501 repeated RecorderRequest requests = 2;
1504message RecorderBatchResponse {
1506 RSI.RapidServer.ResponseHeader header = 1;
1508 repeated RecorderResponse responses = 2;
1514message RecorderInfo { }
1518message RecorderStatus {
1520 bool is_recording = 1;
1523 int32 records_available = 2;
1528message RecorderAction {
1530 optional Reset reset = 1;
1531 optional Start start = 2;
1532 optional Stop stop = 3;
1533 optional RetrieveRecords retrieve_records = 4;
1539 message RetrieveRecords {
1541 repeated Record records = 1;
1546 repeated FirmwareValue data = 1;
1554message RecorderConfig {
1556 optional int32 period = 1;
1559 optional
bool circular_buffer = 2;
1562 repeated AddressInfo addresses = 3;
1565 optional RecorderTriggerOnMotion trigger_on_motion = 4;
1568 optional int32 buffer_high_count = 5;
1571 optional int32 record_max_count = 6;
1575 message RecorderTriggerOnMotion {
1577 optional int32 motion_supervisor_index = 1;
1579 optional
bool enable = 2;
1586message UserLimitStatus {
1599message UserLimitAction {
1601 optional Reset reset = 1;
1602 optional Enable enable = 2;
1603 optional Disable disable = 3;
1613message UserLimitInfo {}
1618message UserLimitConfig {
1624 optional UserLimitCondition condition_0 = 2;
1627 optional UserLimitCondition condition_1 = 3;
1630 optional UserLimitOutput output = 4;
1636 optional int32 action_axis = 6;
1639 optional
double duration = 7;
1642 optional
bool is_single_shot = 8;
1645 repeated UserLimitInterruptUserData user_data = 9;
1648 message UserLimitCondition {
1659 optional uint32 mask = 4;
1662 optional int32 integer_limit_value = 5;
1665 optional
double double_limit_value = 6;
1668 message UInt32Masks {
1670 uint32 and_mask = 1;
1676 message UInt64Masks {
1678 uint64 and_mask = 1;
1684 message UserLimitOutput {
1697 UInt32Masks uint32_masks = 6;
1700 int32 int32_value = 7;
1703 UInt64Masks uint64_masks = 8;
1706 double double_value = 9;
1710 uint64 input_address = 10;
1714 message UserLimitInterruptUserData {
1719 optional uint64 address = 2;
1725message UserLimitRequest {
1727 RSI.RapidServer.RequestHeader header = 1;
1732 optional UserLimitConfig config = 3;
1734 optional UserLimitAction action = 4;
1739message UserLimitResponse {
1741 RSI.RapidServer.ResponseHeader header = 1;
1746 optional UserLimitConfig config = 3;
1747 optional UserLimitAction action = 4;
1748 optional UserLimitInfo info = 5;
1749 optional UserLimitStatus status = 6;
1754message UserLimitBatchRequest {
1756 RSI.RapidServer.RequestHeader header = 1;
1758 repeated UserLimitRequest requests = 2;
1761message UserLimitBatchResponse {
1763 RSI.RapidServer.ResponseHeader header = 1;
1765 repeated UserLimitResponse responses = 2;
1770message RTOSConfig {}
1776 string rmp_catalog = 1;
1779 string rmp_network_catalog = 2;
1782 uint32 node_count = 3;
1788 optional Restart restart = 1;
1789 optional Stop stop = 2;
1790 optional Start start = 3;
1806message RTOSRequest {
1808 RSI.RapidServer.RequestHeader header = 1;
1813 optional RTOSConfig config = 3;
1814 optional RTOSAction action = 4;
1819message RTOSResponse {
1821 RSI.RapidServer.ResponseHeader header = 1;
1826 optional RTOSConfig config = 3;
1827 optional RTOSAction action = 4;
1828 optional RTOSInfo info = 5;
1829 optional RTOSStatus status = 6;
1834message RTOSBatchRequest {
1836 RSI.RapidServer.RequestHeader header = 1;
1838 repeated RTOSRequest requests = 2;
1841message RTOSBatchResponse {
1843 RSI.RapidServer.ResponseHeader header = 1;
1845 repeated RTOSResponse responses = 2;
1850message RTTaskCreationParameters {
1852 string function_name = 1;
1855 optional
string library_name = 2;
1856 optional
string library_directory = 3;
1859 optional
string user_label = 4;
1865 optional int32 repeats = 6;
1868 optional int32 period = 7;
1873 optional int32 phase = 8;
1876 optional
bool enable_timing = 9;
1881message RTTaskConfig {}
1886message RTTaskAction {
1888 optional Stop stop = 1;
1891 optional Remove
remove = 2;
1894 optional TimingReset timing_reset = 3;
1897 optional ExecutionCountAbsoluteWait execution_count_absolute_wait = 4;
1900 optional ExecutionCountRelativeWait execution_count_relative_wait = 5;
1904 message TimingReset {}
1906 message ExecutionCountAbsoluteWait {
1908 optional int64 count = 1;
1911 optional int32 timeout_ms = 2;
1914 message ExecutionCountRelativeWait {
1916 optional int64 count = 1;
1919 optional int32 timeout_ms = 2;
1930 int32 manager_id = 2;
1933 Constants constants = 3;
1936 RTTaskCreationParameters creation_parameters = 4;
1940 CreationParameterConstants creation_parameters = 1;
1943 StatusConstants status = 2;
1945 message CreationParameterConstants {
1947 int32 directory_length_maximum = 1;
1950 int32 name_length_maximum = 2;
1953 string library_name_default = 3;
1956 int32 priority_default = 4;
1959 int32 repeat_forever = 5;
1962 int32 repeat_none = 6;
1965 int32 period_default = 7;
1968 int32 phase_default = 8;
1971 int32 enable_timing_default = 9;
1974 message StatusConstants {
1976 int64 invalid_execution_count = 1;
1979 uint64 invalid_execution_time = 2;
1982 uint64 error_message_size_maximum = 3;
1989message RTTaskStatus {
1994 optional int64 execution_count = 2;
1997 optional uint64 execution_time_max = 3;
2000 optional uint64 execution_time_min = 4;
2003 optional
double execution_time_mean = 5;
2006 optional uint64 execution_time_last = 6;
2009 optional uint64 start_time_delta_last = 7;
2012 optional uint64 start_time_delta_max = 8;
2015 optional
double start_time_delta_mean = 9;
2018 optional
string error_message = 10;
2023message RTTaskRequest {
2025 RSI.RapidServer.RequestHeader header = 1;
2031 int32 manager_id = 3;
2033 optional RTTaskConfig config = 4;
2034 optional RTTaskAction action = 5;
2039message RTTaskResponse {
2041 RSI.RapidServer.ResponseHeader header = 1;
2047 int32 manager_id = 3;
2049 optional RTTaskConfig config = 4;
2050 optional RTTaskAction action = 5;
2051 optional RTTaskInfo info = 6;
2052 optional RTTaskStatus status = 7;
2057message RTTaskBatchRequest {
2059 RSI.RapidServer.RequestHeader header = 1;
2061 repeated RTTaskRequest requests = 2;
2064message RTTaskBatchResponse {
2066 RSI.RapidServer.ResponseHeader header = 1;
2068 repeated RTTaskResponse responses = 2;
2073message RTTaskManagerCreationParameters {
2075 optional
string rt_task_directory = 1;
2082 optional
string node_name = 3;
2085 optional int32 cpu_core = 4;
2088 optional
string user_label = 5;
2091 optional
bool no_rmp = 6;
2096message RTTaskManagerConfig {}
2101message RTTaskManagerAction {
2103 optional Create create = 1;
2106 optional Discover discover = 2;
2109 optional Shutdown shutdown = 3;
2112 optional TaskSubmit task_submit = 4;
2115 optional TaskRemove task_remove = 5;
2118 repeated GlobalValueSet global_value_sets = 6;
2122 RTTaskManagerCreationParameters creation_parameters = 1;
2130 repeated int32 manager_ids = 1;
2135 message TaskSubmit {
2137 RTTaskCreationParameters task_creation_parameters = 1;
2140 optional int32 task_id = 2;
2143 message TaskRemove {
2148 message GlobalValueSet {
2150 FirmwareValue value = 1;
2157 optional
string library_name = 3;
2158 optional
string library_directory = 4;
2164message RTTaskManagerInfo {
2169 Constants constants = 2;
2172 RTTaskManagerCreationParameters creation_parameters = 3;
2176 int32 rt_task_manager_count_maximum = 1;
2179 int32 rt_task_count_maximum = 2;
2182 string rt_task_manager_executable_name = 3;
2185 CreationParameterConstants creation_parameters = 4;
2187 message CreationParameterConstants {
2189 int32 directory_length_maximum = 1;
2192 int32 name_length_maximum = 2;
2195 string user_label_default = 3;
2202message RTTaskManagerStatus {
2205 repeated int32 task_ids = 1;
2208 map<string, FirmwareValue> global_values = 2;
2214 optional uint64 task_submission_count = 4;
2217 optional int64 cycle_count = 5;
2220 optional uint64 cycle_time_max = 6;
2223 optional uint64 cycle_time_min = 7;
2226 optional
double cycle_time_mean = 8;
2229 optional uint64 cycle_time_last = 9;
2232 optional uint64 start_time_delta_last = 10;
2235 optional uint64 start_time_delta_max = 11;
2238 optional
double start_time_delta_mean = 12;
2243message RTTaskManagerRequest {
2245 RSI.RapidServer.RequestHeader header = 1;
2248 optional int32
id = 2;
2250 optional RTTaskManagerConfig config = 3;
2251 optional RTTaskManagerAction action = 4;
2256message RTTaskManagerResponse {
2258 RSI.RapidServer.ResponseHeader header = 1;
2261 optional int32
id = 2;
2263 optional RTTaskManagerConfig config = 3;
2264 optional RTTaskManagerAction action = 4;
2265 optional RTTaskManagerInfo info = 5;
2266 optional RTTaskManagerStatus status = 6;
2271message RTTaskManagerBatchRequest {
2273 RSI.RapidServer.RequestHeader header = 1;
2275 repeated RTTaskManagerRequest requests = 2;
2278message RTTaskManagerBatchResponse {
2280 RSI.RapidServer.ResponseHeader header = 1;
2282 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.
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.
RSIAxisMasterType
Sources available to a slave Axis for electronic gearing & camming.