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;
745 message EStopAbort {}
746 message EStopModifyAbort{}
747 message EStopModify{}
749 message TriggeredModify {}
753 message ClearFaults {}
756 optional int32 timeout_milliseconds = 1;
757 optional int32 duration = 2;
758 optional
bool override_restricted_state = 3;
760 message AmpDisable {}
761 message HoldGateSet {
771 AxisMovePointToPoint point_to_point = 3;
772 AxisMoveVelocity velocity = 4;
773 MoveStreaming streaming = 5;
777 optional uint32 motion_id = 6;
780 optional MotionHold motion_hold = 7;
787 optional int32 master_axis_number = 2;
790 int32 denominator = 5;
792 message GearDisable {}
797 double slow_velocity = 3;
798 double acceleration = 4;
799 double deceleration = 5;
800 optional
double jerk_percent = 6;
801 optional
bool move_to_zero = 7;
802 optional
double offset = 8;
806 message HomeCancel {}
808 message OperationMode {
815 message AxisMovePointToPoint {
820 optional
double velocity = 2;
823 optional
double acceleration = 3;
826 optional
double deceleration = 4;
832 optional
double jerk_percent = 5;
836 optional
double final_velocity = 6;
842message AxisMoveVelocity {
847 double acceleration = 2;
852 double jerk_percent = 3;
855message MoveStreaming {
856 repeated
double positions = 1;
857 repeated
double velocities = 2;
858 repeated
double accelerations = 3;
859 repeated
double jerks = 4;
860 repeated
double times = 5;
861 int32 empty_count = 6;
876 repeated
double feedforwards = 10;
880message MotionHoldGate{
884message MotionHoldAxis {
892 int32 hold_axis_number = 3;
895 double hold_axis_position = 4;
898message MotionHoldUser {
912 MotionHoldGate gate = 2;
913 MotionHoldAxis axis = 3;
914 MotionHoldUser user = 4;
918 optional
double hold_timeout_seconds = 6;
921 optional
double delay_seconds = 7;
927 optional
double user_units = 1;
930 optional
double origin_position = 2;
933 optional
string user_label = 3;
936 optional TrajectoryDefaults defaults = 4;
937 optional HardwareTrigger amp_fault = 5;
938 optional HardwareTrigger home_switch = 6;
939 optional ErrorLimit error_limit = 7;
940 optional HardwareTrigger hardware_negative_limit = 8;
941 optional HardwareTrigger hardware_positive_limit = 9;
942 optional SoftwareTrigger software_negative_limit = 10;
943 optional SoftwareTrigger software_positive_limit = 11;
944 optional Settling settling = 12;
945 optional MotionConfig motion = 13;
946 optional Homing homing = 14;
947 optional int32 frame_buffer_size = 15;
949 optional
double feed_rate = 17;
952 message TrajectoryDefaults
954 optional
double velocity = 1;
955 optional
double acceleration = 2;
956 optional
double deceleration = 3;
957 optional
double jerk_percent = 4;
958 optional
double position1 = 5;
959 optional
double position2 = 6;
960 optional
double relative_increment = 7;
963 message HardwareTrigger {
965 optional
bool trigger_state = 2;
966 optional
double duration = 3;
969 message SoftwareTrigger {
971 optional
double trigger_value = 2;
976 optional
double trigger_value = 2;
977 optional
double duration = 3;
981 optional
double position_tolerance_fine = 1;
982 optional
double position_tolerance_coarse = 2;
983 optional
double velocity_tolerance = 3;
984 optional
double time_seconds = 4;
985 optional
bool on_stop = 5;
986 optional
bool on_estop = 6;
987 optional
bool on_estop_cmd_equals_actual = 7;
990 message MotionConfig {
992 optional
double stop_time = 1;
995 optional
double estop_time = 2;
998 optional
double triggered_modify_deceleration = 3;
1001 optional
double triggered_modify_jerk_percent = 4;
1004 optional
double estop_modify_deceleration = 5;
1007 optional
double estop_modify_jerk_percent = 6;
1021 repeated AddressInfo addresses = 2;
1024 NetworkNodeInfo node_info = 3;
1027 Constants constants = 4;
1030 int32 motion_supervisor_index = 5;
1034 int32 drive_index = 6;
1038 uint32 network_index_invalid = 1;
1041 double amp_enable_amp_fault_timeout_seconds_default = 2;
1049message MultiAxisRequest {
1051 RSI.RapidServer.RequestHeader header = 1;
1056 optional MultiAxisConfig config = 3;
1057 optional MultiAxisAction action = 4;
1062message MultiAxisResponse {
1064 RSI.RapidServer.ResponseHeader header = 1;
1069 optional MultiAxisConfig config = 3;
1070 optional MultiAxisAction action = 4;
1071 optional MultiAxisInfo info = 5;
1072 optional MultiAxisStatus status = 6;
1077message MultiAxisBatchRequest {
1079 RSI.RapidServer.RequestHeader header = 1;
1081 repeated MultiAxisRequest requests = 2;
1084message MultiAxisBatchResponse {
1086 RSI.RapidServer.ResponseHeader header = 1;
1088 repeated MultiAxisResponse responses = 2;
1094message MultiAxisStatus {
1097 string source_name = 3;
1098 bool amp_enabled = 4;
1099 MotionStatusBits motion_status_bits = 5;
1100 repeated AxisStatus axis_statuses = 6;
1103 message MotionStatusBits {
1107 bool at_velocity = 4;
1108 bool out_of_frames = 5;
1114message MultiAxisAction {
1115 optional Abort abort = 1;
1116 optional EStopAbort e_stop_abort = 2;
1117 optional EStopModifyAbort e_stop_modify_abort = 3;
1118 optional EStopModify e_stop_modify = 4;
1119 optional EStop e_stop = 5;
1120 optional TriggeredModify triggered_modify = 6;
1121 optional Stop stop = 7;
1122 optional Resume resume = 8;
1124 optional ClearFaults clear_faults = 9;
1125 optional AmpEnable amp_enable = 10;
1126 optional AmpDisable amp_disable = 11;
1127 optional Move move = 12;
1128 optional RemoveAxes remove_axes = 13;
1129 optional Unmap unmap = 14;
1130 optional Map map = 15;
1131 optional AxisAdd axis_add = 16;
1134 message EStopAbort {}
1135 message EStopModifyAbort{}
1136 message EStopModify{}
1138 message TriggeredModify {}
1142 message ClearFaults {}
1145 optional int32 timeout_milliseconds = 1;
1146 optional int32 duration = 2;
1147 optional
bool override_restricted_state = 3;
1149 message AmpDisable {}
1153 MultiAxisMovePointToPoint point_to_point = 3;
1154 MultiAxisMoveVelocity velocity = 4;
1155 MoveStreaming streaming = 5;
1157 optional uint32 motion_id = 6;
1160 optional MotionHold motion_hold = 7;
1164 message MultiAxisMovePointToPoint {
1165 repeated AxisMovePointToPoint axis_move_point_to_points = 1;
1169 message MultiAxisMoveVelocity {
1170 repeated AxisMoveVelocity axis_move_velocities = 1;
1173 message RemoveAxes {}
1177 int32 axis_index = 1;
1183message MultiAxisConfig {
1184 repeated int32 axes_indices = 1;
1185 optional
string user_label = 2;
1186 optional
double feed_rate = 3;
1187 optional
double stop_time = 4;
1188 optional
double e_stop_time = 5;
1193message MultiAxisInfo {
1198 int32 motion_supervisor_index = 2;
1201 repeated AddressInfo addresses = 3;
1206message NetworkNodeInfo {
1214 int32 axis_count = 3;
1220 IOCounts io_counts = 5;
1223 IOAddresses io_addresses = 6;
1229 uint32 vendor_id = 8;
1232 uint32 product_code = 9;
1235 uint32 hardware_revision = 10;
1238 uint32 station_alias = 11;
1241 string serial_number = 12;
1247 string product_name = 14;
1250 string vendor_name = 15;
1252 Constants constants = 16;
1255 IONetworkIndexes io_network_indexes = 17;
1263 int32 digital_inputs = 1;
1266 int32 digital_outputs = 2;
1269 int32 analog_inputs = 3;
1272 int32 analog_outputs = 4;
1275 message IOAddresses {
1277 repeated AddressInfo digital_inputs = 1;
1280 repeated AddressInfo digital_outputs = 2;
1283 repeated AddressInfo analog_inputs = 3;
1286 repeated AddressInfo analog_outputs = 4;
1289 message IONetworkIndexes {
1291 repeated int32 digital_inputs = 1;
1294 repeated int32 digital_outputs = 2;
1297 repeated int32 analog_inputs = 3;
1300 repeated int32 analog_outputs = 4;
1305 uint32 sdo_timeout_milliseconds_default = 1;
1311message NetworkNodeStatus {
1313 repeated
bool digital_input_states = 2;
1316 repeated
bool digital_output_states = 3;
1319 repeated int32 analog_input_values = 4;
1322 repeated int32 analog_output_values = 5;
1325 uint32 al_status = 6;
1327 uint32 al_status_code = 7;
1329 uint64 coe_emergency_message = 8;
1331 int32 coe_emergency_message_network_counter = 9;
1338message DigitalOutput {
1340 int32 bit_number = 1;
1350message AnalogOutput {
1369 int32 sub_index = 2;
1372 int32 byte_count = 3;
1376 option allow_alias =
true;
1384 optional ValueType read_type = 4;
1387 optional uint32 timeout_milliseconds = 5;
1395 int32 integer_value = 6;
1398 string string_value = 7;
1401 bytes bytes_value = 8;
1412 optional
string result = 2;
1418message NetworkNodeAction {
1424 repeated DigitalOutput digital_output_sets = 1;
1430 repeated AnalogOutput analog_output_sets = 2;
1435 repeated SDO sdo_writes = 3;
1440 repeated SDO sdo_reads = 4;
1446 repeated AKDASCII akd_asciis = 5;
1451message NetworkNodeConfig {}
1455message NetworkNodeRequest {
1457 RSI.RapidServer.RequestHeader header = 1;
1462 optional NetworkNodeConfig config = 3;
1463 optional NetworkNodeAction action = 4;
1468message NetworkNodeResponse {
1470 RSI.RapidServer.ResponseHeader header = 1;
1475 optional NetworkNodeConfig config = 3;
1476 optional NetworkNodeAction action = 4;
1477 optional NetworkNodeInfo info = 5;
1478 optional NetworkNodeStatus status = 6;
1483message NetworkNodeBatchRequest {
1485 RSI.RapidServer.RequestHeader header = 1;
1487 repeated NetworkNodeRequest requests = 2;
1490message NetworkNodeBatchResponse {
1492 RSI.RapidServer.ResponseHeader header = 1;
1494 repeated NetworkNodeResponse responses = 2;
1500message RecorderRequest {
1502 RSI.RapidServer.RequestHeader header = 1;
1507 optional RecorderConfig config = 3;
1508 optional RecorderAction action = 4;
1514message RecorderResponse {
1516 RSI.RapidServer.ResponseHeader header = 1;
1521 optional RecorderConfig config = 3;
1522 optional RecorderAction action = 4;
1523 optional RecorderInfo info = 5;
1524 optional RecorderStatus status = 6;
1529message RecorderBatchRequest {
1531 RSI.RapidServer.RequestHeader header = 1;
1533 repeated RecorderRequest requests = 2;
1536message RecorderBatchResponse {
1538 RSI.RapidServer.ResponseHeader header = 1;
1540 repeated RecorderResponse responses = 2;
1546message RecorderInfo { }
1550message RecorderStatus {
1552 bool is_recording = 1;
1555 int32 records_available = 2;
1560message RecorderAction {
1562 optional Reset reset = 1;
1563 optional Start start = 2;
1564 optional Stop stop = 3;
1565 optional RetrieveRecords retrieve_records = 4;
1571 message RetrieveRecords {
1573 repeated Record records = 1;
1578 repeated FirmwareValue data = 1;
1586message RecorderConfig {
1588 optional int32 period = 1;
1591 optional
bool circular_buffer = 2;
1594 repeated AddressInfo addresses = 3;
1597 optional RecorderTriggerOnMotion trigger_on_motion = 4;
1600 optional int32 buffer_high_count = 5;
1603 optional int32 record_max_count = 6;
1607 message RecorderTriggerOnMotion {
1609 optional int32 motion_supervisor_index = 1;
1611 optional
bool enable = 2;
1618message UserLimitStatus {
1631message UserLimitAction {
1633 optional Reset reset = 1;
1634 optional Enable enable = 2;
1635 optional Disable disable = 3;
1645message UserLimitInfo {}
1650message UserLimitConfig {
1656 optional UserLimitCondition condition_0 = 2;
1659 optional UserLimitCondition condition_1 = 3;
1662 optional UserLimitOutput output = 4;
1668 optional int32 action_axis = 6;
1671 optional
double duration = 7;
1674 optional
bool is_single_shot = 8;
1677 repeated UserLimitInterruptUserData user_data = 9;
1680 message UserLimitCondition {
1691 optional uint32 mask = 4;
1694 optional int32 integer_limit_value = 5;
1697 optional
double double_limit_value = 6;
1700 message UInt32Masks {
1702 uint32 and_mask = 1;
1708 message UInt64Masks {
1710 uint64 and_mask = 1;
1716 message UserLimitOutput {
1729 UInt32Masks uint32_masks = 6;
1732 int32 int32_value = 7;
1735 UInt64Masks uint64_masks = 8;
1738 double double_value = 9;
1742 uint64 input_address = 10;
1746 message UserLimitInterruptUserData {
1751 optional uint64 address = 2;
1757message UserLimitRequest {
1759 RSI.RapidServer.RequestHeader header = 1;
1764 optional UserLimitConfig config = 3;
1766 optional UserLimitAction action = 4;
1771message UserLimitResponse {
1773 RSI.RapidServer.ResponseHeader header = 1;
1778 optional UserLimitConfig config = 3;
1779 optional UserLimitAction action = 4;
1780 optional UserLimitInfo info = 5;
1781 optional UserLimitStatus status = 6;
1786message UserLimitBatchRequest {
1788 RSI.RapidServer.RequestHeader header = 1;
1790 repeated UserLimitRequest requests = 2;
1793message UserLimitBatchResponse {
1795 RSI.RapidServer.ResponseHeader header = 1;
1797 repeated UserLimitResponse responses = 2;
1802message MathBlockConfig {
1804 optional uint64 input_address_0 = 1;
1810 optional uint64 input_address_1 = 3;
1819 optional uint64 output_address = 6;
1830message MathBlockAction {
1832 optional ProcessValueGet process_value_get = 1;
1834 message ProcessValueGet {
1836 optional FirmwareValue value = 1;
1842message MathBlockInfo {
1844 optional uint64 process_value_host_address = 1;
1847 optional uint64 process_value_firmware_address = 2;
1855message MathBlockStatus {
1860 optional FirmwareValue process_value = 2;
1865message MathBlockRequest {
1867 RSI.RapidServer.RequestHeader header = 1;
1872 optional MathBlockConfig config = 3;
1873 optional MathBlockAction action = 4;
1878message MathBlockResponse {
1880 RSI.RapidServer.ResponseHeader header = 1;
1885 optional MathBlockConfig config = 3;
1886 optional MathBlockAction action = 4;
1887 optional MathBlockInfo info = 5;
1888 optional MathBlockStatus status = 6;
1893message MathBlockBatchRequest {
1895 RSI.RapidServer.RequestHeader header = 1;
1897 repeated MathBlockRequest requests = 2;
1900message MathBlockBatchResponse {
1902 RSI.RapidServer.ResponseHeader header = 1;
1904 repeated MathBlockResponse responses = 2;
1909message RTOSConfig {}
1915 string rmp_catalog = 1;
1918 string rmp_network_catalog = 2;
1921 uint32 node_count = 3;
1927 optional Restart restart = 1;
1928 optional Stop stop = 2;
1929 optional Start start = 3;
1945message RTOSRequest {
1947 RSI.RapidServer.RequestHeader header = 1;
1952 optional RTOSConfig config = 3;
1953 optional RTOSAction action = 4;
1958message RTOSResponse {
1960 RSI.RapidServer.ResponseHeader header = 1;
1965 optional RTOSConfig config = 3;
1966 optional RTOSAction action = 4;
1967 optional RTOSInfo info = 5;
1968 optional RTOSStatus status = 6;
1973message RTOSBatchRequest {
1975 RSI.RapidServer.RequestHeader header = 1;
1977 repeated RTOSRequest requests = 2;
1980message RTOSBatchResponse {
1982 RSI.RapidServer.ResponseHeader header = 1;
1984 repeated RTOSResponse responses = 2;
1989message RTTaskCreationParameters {
1991 string function_name = 1;
1994 optional
string library_name = 2;
1995 optional
string library_directory = 3;
1998 optional
string user_label = 4;
2004 optional int32 repeats = 6;
2007 optional int32 period = 7;
2012 optional int32 phase = 8;
2015 optional
bool enable_timing = 9;
2020message RTTaskConfig {}
2025message RTTaskAction {
2027 optional Stop stop = 1;
2030 optional Remove
remove = 2;
2033 optional TimingReset timing_reset = 3;
2036 optional ExecutionCountAbsoluteWait execution_count_absolute_wait = 4;
2039 optional ExecutionCountRelativeWait execution_count_relative_wait = 5;
2043 message TimingReset {}
2045 message ExecutionCountAbsoluteWait {
2047 optional int64 count = 1;
2050 optional int32 timeout_ms = 2;
2053 message ExecutionCountRelativeWait {
2055 optional int64 count = 1;
2058 optional int32 timeout_ms = 2;
2069 int32 manager_id = 2;
2072 Constants constants = 3;
2075 RTTaskCreationParameters creation_parameters = 4;
2079 CreationParameterConstants creation_parameters = 1;
2082 StatusConstants status = 2;
2084 message CreationParameterConstants {
2086 int32 directory_length_maximum = 1;
2089 int32 name_length_maximum = 2;
2092 string library_name_default = 3;
2095 int32 priority_default = 4;
2098 int32 repeat_forever = 5;
2101 int32 repeat_none = 6;
2104 int32 period_default = 7;
2107 int32 phase_default = 8;
2110 int32 enable_timing_default = 9;
2113 message StatusConstants {
2115 int64 invalid_execution_count = 1;
2118 uint64 invalid_execution_time = 2;
2121 uint64 error_message_size_maximum = 3;
2128message RTTaskStatus {
2133 optional int64 execution_count = 2;
2136 optional uint64 execution_time_max = 3;
2139 optional uint64 execution_time_min = 4;
2142 optional
double execution_time_mean = 5;
2145 optional uint64 execution_time_last = 6;
2148 optional uint64 start_time_delta_last = 7;
2151 optional uint64 start_time_delta_max = 8;
2154 optional
double start_time_delta_mean = 9;
2157 optional
string error_message = 10;
2162message RTTaskRequest {
2164 RSI.RapidServer.RequestHeader header = 1;
2170 int32 manager_id = 3;
2172 optional RTTaskConfig config = 4;
2173 optional RTTaskAction action = 5;
2178message RTTaskResponse {
2180 RSI.RapidServer.ResponseHeader header = 1;
2186 int32 manager_id = 3;
2188 optional RTTaskConfig config = 4;
2189 optional RTTaskAction action = 5;
2190 optional RTTaskInfo info = 6;
2191 optional RTTaskStatus status = 7;
2196message RTTaskBatchRequest {
2198 RSI.RapidServer.RequestHeader header = 1;
2200 repeated RTTaskRequest requests = 2;
2203message RTTaskBatchResponse {
2205 RSI.RapidServer.ResponseHeader header = 1;
2207 repeated RTTaskResponse responses = 2;
2212message RTTaskManagerCreationParameters {
2214 optional
string rt_task_directory = 1;
2221 optional
string node_name = 3;
2224 optional int32 cpu_core = 4;
2227 optional
string user_label = 5;
2230 optional
bool no_rmp = 6;
2235message RTTaskManagerConfig {}
2240message RTTaskManagerAction {
2242 optional Create create = 1;
2245 optional Discover discover = 2;
2248 optional Shutdown shutdown = 3;
2251 optional TaskSubmit task_submit = 4;
2254 optional TaskRemove task_remove = 5;
2257 repeated GlobalValueSet global_value_sets = 6;
2261 RTTaskManagerCreationParameters creation_parameters = 1;
2269 repeated int32 manager_ids = 1;
2274 message TaskSubmit {
2276 RTTaskCreationParameters task_creation_parameters = 1;
2279 optional int32 task_id = 2;
2282 message TaskRemove {
2287 message GlobalValueSet {
2289 FirmwareValue value = 1;
2296 optional
string library_name = 3;
2297 optional
string library_directory = 4;
2303message RTTaskManagerInfo {
2308 Constants constants = 2;
2311 RTTaskManagerCreationParameters creation_parameters = 3;
2315 int32 rt_task_manager_count_maximum = 1;
2318 int32 rt_task_count_maximum = 2;
2321 string rt_task_manager_executable_name = 3;
2324 CreationParameterConstants creation_parameters = 4;
2326 message CreationParameterConstants {
2328 int32 directory_length_maximum = 1;
2331 int32 name_length_maximum = 2;
2334 string user_label_default = 3;
2341message RTTaskManagerStatus {
2344 repeated int32 task_ids = 1;
2347 map<string, FirmwareValue> global_values = 2;
2353 optional uint64 task_submission_count = 4;
2356 optional int64 cycle_count = 5;
2359 optional uint64 cycle_time_max = 6;
2362 optional uint64 cycle_time_min = 7;
2365 optional
double cycle_time_mean = 8;
2368 optional uint64 cycle_time_last = 9;
2371 optional uint64 start_time_delta_last = 10;
2374 optional uint64 start_time_delta_max = 11;
2377 optional
double start_time_delta_mean = 12;
2382message RTTaskManagerRequest {
2384 RSI.RapidServer.RequestHeader header = 1;
2387 optional int32
id = 2;
2389 optional RTTaskManagerConfig config = 3;
2390 optional RTTaskManagerAction action = 4;
2395message RTTaskManagerResponse {
2397 RSI.RapidServer.ResponseHeader header = 1;
2400 optional int32
id = 2;
2402 optional RTTaskManagerConfig config = 3;
2403 optional RTTaskManagerAction action = 4;
2404 optional RTTaskManagerInfo info = 5;
2405 optional RTTaskManagerStatus status = 6;
2410message RTTaskManagerBatchRequest {
2412 RSI.RapidServer.RequestHeader header = 1;
2414 repeated RTTaskManagerRequest requests = 2;
2417message RTTaskManagerBatchResponse {
2419 RSI.RapidServer.ResponseHeader header = 1;
2421 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.
RSIAxisMasterType
Sources available to a slave Axis for electronic gearing & camming.