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;
122 uint64 host_address = 4;
128 uint64 firmware_address = 6;
132 optional int32 index = 7;
135 optional int32 mask = 8;
138message MotionControllerMemory {
140 uint64 host_address = 1;
144 uint64 host_address = 1;
148 uint64 host_address = 1;
159message MotionControllerCreationParameters {
161 optional
string rmp_path = 1;
162 optional
string node_name = 2;
164 optional
string primary_nic = 3;
165 optional
string secondary_nic = 4;
167 optional int32 cpu_affinity = 5;
168 optional int32 rmp_thread_priority_max = 6;
170 optional int32 controller_index = 7;
173message MotionControllerAction {
175 optional MotionControllerCreationParameters create = 1;
177 repeated MotionControllerMemory memory_sets = 2;
178 repeated MotionControllerMemory memory_gets = 3;
179 repeated AddressInfo address_gets = 4;
180 optional Shutdown shutdown = 5;
181 optional ProcessorUsageClear processor_usage_clear = 6;
187 message ProcessorUsageClear {}
194message MotionControllerInfo {
196 uint32 serial_number = 1;
199 string rapid_code_version = 2;
202 string firmware_version = 3;
205 int32 axis_license_count = 4;
207 repeated AddressInfo addresses = 5;
210 Constants constants = 6;
214 uint32 network_start_timeout_milliseconds_default = 1;
217 uint32 axis_count_maximum = 2;
220 uint32 motion_count_maximum = 3;
223 uint32 network_node_count_maximum = 4;
226 uint32 recorder_count_maximum = 5;
229 uint32 compensator_count_maximum = 6;
232 uint32 user_buffer_data_count_maximum = 7;
235 double sample_rate_default = 8;
237 CreationParameters creation_parameters = 9;
240 uint32 math_block_count_maximum = 10;
242 message CreationParameters {
244 uint32 path_length_maximum = 1;
247 uint32 cpu_affinity_default = 2;
250 uint32 rmp_thread_priority_maximum_default = 3;
253 uint32 rmp_thread_priority_range = 4;
258 MotionControllerCreationParameters creation_parameters = 7;
265message MotionControllerStatus {
267 int32 sample_counter = 1;
270 uint32 network_node_count = 2;
273 double processor_usage = 3;
276 uint32 firmware_timing_delta = 4;
279 int32 external_memory_size = 9;
286message MotionControllerRequest {
288 RSI.RapidServer.RequestHeader header = 1;
290 optional MotionControllerConfig config = 2;
291 optional MotionControllerAction action = 3;
297message MotionControllerResponse {
299 RSI.RapidServer.ResponseHeader header = 1;
301 optional MotionControllerConfig config = 2;
302 optional MotionControllerAction action = 3;
303 optional MotionControllerInfo info = 4;
304 optional MotionControllerStatus status = 5;
309message FirmwareValue {
312 int32 int8_value = 2;
313 uint32 uint8_value = 3;
314 int32 int16_value = 4;
315 uint32 uint16_value = 5;
316 int32 int32_value = 6;
317 uint32 uint32_value = 7;
318 float float_value = 8;
319 double double_value = 9;
320 int64 int64_value = 10;
321 uint64 uint64_value = 11;
327message NetworkConfig {}
331message NetworkAction {
333 optional Shutdown shutdown = 1;
336 optional Discover discover = 2;
337 optional Start start = 3;
338 optional DiscoverAndStart discover_and_start = 4;
341 optional TimingMetricsEnable timing_metrics_enable = 5;
342 optional TimingMetricsDisable timing_metrics_disable = 6;
343 optional TimingMetricsClear timing_metrics_clear = 7;
346 repeated OutputOverride output_override = 8;
349 optional EniGenerate eni_generate = 9;
356 optional uint32 timeout_milliseconds = 3;
362 optional uint32 timeout_milliseconds = 2;
365 message DiscoverAndStart {
369 optional uint32 timeout_milliseconds = 2;
372 message TimingMetricsEnable {
374 optional uint32 low_threshold = 1;
376 optional uint32 high_threshold = 2;
378 message TimingMetricsDisable {}
379 message TimingMetricsClear {}
381 message OutputOverride {
385 optional
bool override = 2;
387 optional FirmwareValue override_value = 3;
390 message EniGenerate {
394 optional
string output = 2;
400message NetworkRequest {
402 RSI.RapidServer.RequestHeader header = 1;
404 optional NetworkConfig config = 2;
406 optional NetworkAction action = 3;
411message NetworkResponse {
413 RSI.RapidServer.ResponseHeader header = 1;
415 optional NetworkConfig config = 2;
416 optional NetworkAction action = 3;
417 optional NetworkInfo info = 4;
418 optional NetworkStatus status = 5;
423message NetworkStatus {
425 int32 node_count = 2;
427 bool synchronized = 4;
431 string log_message = 6;
434 TimingMetricsStatus timing_metrics = 7;
437 repeated PdoInputStatus pdo_inputs = 8;
440 repeated PdoOutputStatus pdo_outputs = 9;
443 uint32 al_status = 10;
445 uint32 missed_cyclic_frame_count = 11;
447 uint32 cyclic_frame_period_us = 12;
449 int32 synchronization_error_ns = 13;
451 uint32 active_node_count = 14;
456 uint64 eoe_host_to_node_frame_count = 16;
458 uint64 eoe_node_to_host_frame_count = 17;
460 message TimingMetricsStatus {
464 uint32 min_recorded = 2;
466 uint32 max_recorded = 3;
468 uint32 low_count = 4;
470 uint32 high_count = 5;
475 message PdoInputStatus {
479 FirmwareValue value = 2;
482 message PdoOutputStatus {
486 FirmwareValue sent_value = 2;
488 bool override_enabled = 3;
490 FirmwareValue override_value = 4;
492 FirmwareValue firmware_value = 5;
500 int32 pdo_input_count = 4;
501 int32 pdo_output_count = 5;
504 repeated PdoInputInfo pdo_inputs = 6;
507 repeated PdoOutputInfo pdo_outputs = 7;
509 message PdoInputInfo {
511 AddressInfo address_info = 2;
513 int32 bit_offset = 4;
514 string data_type_name = 5;
517 message PdoOutputInfo {
519 AddressInfo sent_value_address = 2;
520 AddressInfo override_value_address = 3;
521 AddressInfo firmware_value_address = 4;
523 int32 bit_offset = 6;
524 string data_type_name = 7;
535 RSI.RapidServer.RequestHeader header = 1;
540 optional AxisConfig config = 3;
541 optional AxisAction action = 4;
546message AxisResponse {
548 RSI.RapidServer.ResponseHeader header = 1;
553 optional AxisConfig config = 3;
554 optional AxisAction action = 4;
555 optional AxisInfo info = 5;
556 optional AxisStatus status = 6;
561message AxisBatchRequest {
563 RSI.RapidServer.RequestHeader header = 1;
565 repeated AxisRequest requests = 2;
568message AxisBatchResponse {
570 RSI.RapidServer.ResponseHeader header = 1;
572 repeated AxisResponse responses = 2;
579 bool amp_enabled = 1;
588 string source_name = 4;
591 PositionStatus position = 5;
594 VelocityStatus velocity = 6;
597 AccelerationStatus acceleration = 7;
600 int32 frames_to_execute = 8;
603 uint32 motion_id = 9;
606 uint32 motion_id_executing = 10;
609 int32 element_id_executing = 11;
612 bool gear_enabled = 12;
615 MotorStatusBits motor_status_bits = 13;
618 MotionStatusBits motion_status_bits = 14;
621 Ds402StatusBits ds402_status_bits = 15;
624 DedicatedOutputBits dedicated_output_bits = 16;
627 DedicatedInputBits dedicated_input_bits = 17;
630 bool home_state = 18;
634 uint32 general_input_bits = 20;
637 uint32 general_output_bits = 21;
639 message PositionStatus {
645 double encoder_0 = 6;
646 double encoder_1 = 7;
647 double compensation = 8;
651 message VelocityStatus {
656 message AccelerationStatus {
660 message MotorStatusBits {
662 bool amp_warning = 2;
663 bool feedback_fault = 3;
664 bool limit_position_error = 4;
665 bool limit_torque = 5;
666 bool limit_hardware_negative = 6;
667 bool limit_hardware_positive = 7;
668 bool limit_software_negative = 8;
669 bool limit_software_positive = 9;
672 message MotionStatusBits {
676 bool at_velocity = 4;
677 bool out_of_frames = 5;
678 bool near_target = 6;
683 message Ds402StatusBits {
684 bool ready_to_switch_on = 1;
685 bool switched_on = 2;
686 bool operation_enabled = 3;
688 bool voltage_enabled = 5;
690 bool switch_on_disabled = 7;
692 bool manufacturer_specific_8 = 9;
694 bool target_reached = 11;
695 bool internal_limit_active = 12;
696 bool operation_mode_specific_12 = 13;
697 bool operation_mode_specific_13 = 14;
698 bool manufacturer_specific_14 = 15;
699 bool manufacturer_specific_15 = 16;
702 message DedicatedOutputBits {
704 bool brake_release = 2;
707 message DedicatedInputBits {
709 bool brake_applied = 2;
711 bool limit_hardware_positive = 4;
712 bool limit_hardware_negative = 5;
714 bool index_secondary = 7;
715 bool feedback_fault = 8;
720 bool amp_active = 13;
722 bool drive_status_9 = 15;
723 bool drive_status_10 = 16;
724 bool feedback_fault_primary = 17;
725 bool feedback_fault_secondary = 18;
732 optional Abort abort = 1;
733 optional EStopAbort e_stop_abort = 2;
734 optional EStopModifyAbort e_stop_modify_abort = 3;
735 optional EStopModify e_stop_modify = 4;
736 optional EStop e_stop = 5;
737 optional TriggeredModify triggered_modify = 6;
738 optional Stop stop = 7;
739 optional Resume resume = 8;
741 optional ClearFaults clear_faults = 9;
742 optional AmpEnable amp_enable = 10;
743 optional AmpDisable amp_disable = 11;
744 optional HoldGateSet hold_gate_set = 12;
745 optional PositionSet position_set = 13;
746 optional Move move = 14;
747 optional GearEnable gear_enable = 15;
748 optional GearDisable gear_disable = 16;
749 optional Home home = 17;
750 optional HomeCancel home_cancel = 18;
751 optional OperationMode operation_mode_set = 19;
752 optional OperationMode operation_mode_get = 20;
758 repeated AxisNetworkIndex network_index_sets = 21;
761 message EStopAbort {}
762 message EStopModifyAbort{}
763 message EStopModify{}
765 message TriggeredModify {}
769 message ClearFaults {}
772 optional int32 timeout_milliseconds = 1;
773 optional int32 duration = 2;
774 optional
bool override_restricted_state = 3;
776 message AmpDisable {}
777 message HoldGateSet {
787 AxisMovePointToPoint point_to_point = 3;
788 AxisMoveVelocity velocity = 4;
789 MoveStreaming streaming = 5;
793 optional uint32 motion_id = 6;
796 optional MotionHold motion_hold = 7;
803 optional int32 master_axis_number = 2;
806 int32 denominator = 5;
808 message GearDisable {}
813 double slow_velocity = 3;
814 double acceleration = 4;
815 double deceleration = 5;
816 optional
double jerk_percent = 6;
817 optional
bool move_to_zero = 7;
818 optional
double offset = 8;
822 message HomeCancel {}
824 message OperationMode {
831 message AxisMovePointToPoint {
836 optional
double velocity = 2;
839 optional
double acceleration = 3;
842 optional
double deceleration = 4;
848 optional
double jerk_percent = 5;
852 optional
double final_velocity = 6;
858message AxisMoveVelocity {
863 double acceleration = 2;
868 double jerk_percent = 3;
871message MoveStreaming {
872 repeated
double positions = 1;
873 repeated
double velocities = 2;
874 repeated
double accelerations = 3;
875 repeated
double jerks = 4;
876 repeated
double times = 5;
877 int32 empty_count = 6;
892 repeated
double feedforwards = 10;
896message MotionHoldGate{
900message MotionHoldAxis {
908 int32 hold_axis_number = 3;
911 double hold_axis_position = 4;
914message MotionHoldUser {
928 MotionHoldGate gate = 2;
929 MotionHoldAxis axis = 3;
930 MotionHoldUser user = 4;
934 optional
double hold_timeout_seconds = 6;
937 optional
double delay_seconds = 7;
943 optional
double user_units = 1;
946 optional
double origin_position = 2;
949 optional
string user_label = 3;
952 optional TrajectoryDefaults defaults = 4;
953 optional HardwareTrigger amp_fault = 5;
954 optional HardwareTrigger home_switch = 6;
955 optional ErrorLimit error_limit = 7;
956 optional HardwareTrigger hardware_negative_limit = 8;
957 optional HardwareTrigger hardware_positive_limit = 9;
958 optional SoftwareTrigger software_negative_limit = 10;
959 optional SoftwareTrigger software_positive_limit = 11;
960 optional Settling settling = 12;
961 optional MotionConfig motion = 13;
962 optional Homing homing = 14;
963 optional int32 frame_buffer_size = 15;
965 optional
double feed_rate = 17;
968 message TrajectoryDefaults
970 optional
double velocity = 1;
971 optional
double acceleration = 2;
972 optional
double deceleration = 3;
973 optional
double jerk_percent = 4;
974 optional
double position1 = 5;
975 optional
double position2 = 6;
976 optional
double relative_increment = 7;
979 message HardwareTrigger {
981 optional
bool trigger_state = 2;
982 optional
double duration = 3;
985 message SoftwareTrigger {
987 optional
double trigger_value = 2;
992 optional
double trigger_value = 2;
993 optional
double duration = 3;
997 optional
double position_tolerance_fine = 1;
998 optional
double position_tolerance_coarse = 2;
999 optional
double velocity_tolerance = 3;
1000 optional
double time_seconds = 4;
1001 optional
bool on_stop = 5;
1002 optional
bool on_estop = 6;
1003 optional
bool on_estop_cmd_equals_actual = 7;
1006 message MotionConfig {
1008 optional
double stop_time = 1;
1011 optional
double estop_time = 2;
1014 optional
double triggered_modify_deceleration = 3;
1017 optional
double triggered_modify_jerk_percent = 4;
1020 optional
double estop_modify_deceleration = 5;
1023 optional
double estop_modify_jerk_percent = 6;
1037 repeated AddressInfo addresses = 2;
1040 NetworkNodeInfo node_info = 3;
1043 Constants constants = 4;
1046 int32 motion_supervisor_index = 5;
1050 int32 drive_index = 6;
1058 repeated AxisNetworkIndex network_indexes = 7;
1062 uint32 network_index_invalid = 1;
1065 double amp_enable_amp_fault_timeout_seconds_default = 2;
1074message AxisNetworkIndex {
1080message MultiAxisRequest {
1082 RSI.RapidServer.RequestHeader header = 1;
1087 optional MultiAxisConfig config = 3;
1088 optional MultiAxisAction action = 4;
1093message MultiAxisResponse {
1095 RSI.RapidServer.ResponseHeader header = 1;
1100 optional MultiAxisConfig config = 3;
1101 optional MultiAxisAction action = 4;
1102 optional MultiAxisInfo info = 5;
1103 optional MultiAxisStatus status = 6;
1108message MultiAxisBatchRequest {
1110 RSI.RapidServer.RequestHeader header = 1;
1112 repeated MultiAxisRequest requests = 2;
1115message MultiAxisBatchResponse {
1117 RSI.RapidServer.ResponseHeader header = 1;
1119 repeated MultiAxisResponse responses = 2;
1125message MultiAxisStatus {
1128 string source_name = 3;
1129 bool amp_enabled = 4;
1130 MotionStatusBits motion_status_bits = 5;
1131 repeated AxisStatus axis_statuses = 6;
1134 message MotionStatusBits {
1138 bool at_velocity = 4;
1139 bool out_of_frames = 5;
1145message MultiAxisAction {
1146 optional Abort abort = 1;
1147 optional EStopAbort e_stop_abort = 2;
1148 optional EStopModifyAbort e_stop_modify_abort = 3;
1149 optional EStopModify e_stop_modify = 4;
1150 optional EStop e_stop = 5;
1151 optional TriggeredModify triggered_modify = 6;
1152 optional Stop stop = 7;
1153 optional Resume resume = 8;
1155 optional ClearFaults clear_faults = 9;
1156 optional AmpEnable amp_enable = 10;
1157 optional AmpDisable amp_disable = 11;
1158 optional Move move = 12;
1159 optional RemoveAxes remove_axes = 13;
1160 optional Unmap unmap = 14;
1161 optional Map map = 15;
1162 optional AxisAdd axis_add = 16;
1165 message EStopAbort {}
1166 message EStopModifyAbort{}
1167 message EStopModify{}
1169 message TriggeredModify {}
1173 message ClearFaults {}
1176 optional int32 timeout_milliseconds = 1;
1177 optional int32 duration = 2;
1178 optional
bool override_restricted_state = 3;
1180 message AmpDisable {}
1184 MultiAxisMovePointToPoint point_to_point = 3;
1185 MultiAxisMoveVelocity velocity = 4;
1186 MoveStreaming streaming = 5;
1188 optional uint32 motion_id = 6;
1191 optional MotionHold motion_hold = 7;
1195 message MultiAxisMovePointToPoint {
1196 repeated AxisMovePointToPoint axis_move_point_to_points = 1;
1200 message MultiAxisMoveVelocity {
1201 repeated AxisMoveVelocity axis_move_velocities = 1;
1204 message RemoveAxes {}
1208 int32 axis_index = 1;
1214message MultiAxisConfig {
1215 repeated int32 axes_indices = 1;
1216 optional
string user_label = 2;
1217 optional
double feed_rate = 3;
1218 optional
double stop_time = 4;
1219 optional
double e_stop_time = 5;
1224message MultiAxisInfo {
1229 int32 motion_supervisor_index = 2;
1232 repeated AddressInfo addresses = 3;
1237message NetworkNodeInfo {
1245 int32 axis_count = 3;
1251 IOCounts io_counts = 5;
1254 IOAddresses io_addresses = 6;
1260 uint32 vendor_id = 8;
1263 uint32 product_code = 9;
1266 uint32 hardware_revision = 10;
1269 uint32 station_alias = 11;
1272 string serial_number = 12;
1278 string product_name = 14;
1281 string vendor_name = 15;
1283 Constants constants = 16;
1286 IONetworkIndexes io_network_indexes = 17;
1291 repeated AddressInfo addresses = 18;
1294 bool is_akd_ascii_command_supported = 19;
1302 int32 digital_inputs = 1;
1305 int32 digital_outputs = 2;
1308 int32 analog_inputs = 3;
1311 int32 analog_outputs = 4;
1314 message IOAddresses {
1316 repeated AddressInfo digital_inputs = 1;
1319 repeated AddressInfo digital_outputs = 2;
1322 repeated AddressInfo analog_inputs = 3;
1325 repeated AddressInfo analog_outputs = 4;
1328 message IONetworkIndexes {
1330 repeated int32 digital_inputs = 1;
1333 repeated int32 digital_outputs = 2;
1336 repeated int32 analog_inputs = 3;
1339 repeated int32 analog_outputs = 4;
1344 uint32 sdo_timeout_milliseconds_default = 1;
1347 uint32 user_label_character_count_maximum = 2;
1350 uint32 io_user_label_buffer_bytes = 3;
1356message NetworkNodeStatus {
1358 repeated
bool digital_input_states = 2;
1361 repeated
bool digital_output_states = 3;
1364 repeated int32 analog_input_values = 4;
1367 repeated int32 analog_output_values = 5;
1370 uint32 al_status = 6;
1372 uint32 al_status_code = 7;
1374 uint64 coe_emergency_message = 8;
1376 int32 coe_emergency_message_network_counter = 9;
1378 uint64 eoe_host_to_node_frame_count = 10;
1380 uint64 eoe_node_to_host_frame_count = 11;
1382 uint32 sync_group_id = 12;
1393 uint64 io_user_label_generation = 15;
1398 uint64 sdo_read_count = 16;
1403 uint64 sdo_read_fail_count = 17;
1408 uint64 sdo_write_count = 18;
1414 uint64 sdo_write_fail_count = 19;
1420 uint64 akd_ascii_count = 20;
1422 uint64 akd_ascii_fail_count = 21;
1429message DigitalOutput {
1431 int32 bit_number = 1;
1441message AnalogOutput {
1460 int32 sub_index = 2;
1463 int32 byte_count = 3;
1467 option allow_alias =
true;
1475 optional ValueType read_type = 4;
1478 optional uint32 timeout_milliseconds = 5;
1486 int32 integer_value = 6;
1489 string string_value = 7;
1492 bytes bytes_value = 8;
1503 optional
string result = 2;
1509message NetworkNodeAction {
1515 repeated DigitalOutput digital_output_sets = 1;
1521 repeated AnalogOutput analog_output_sets = 2;
1526 repeated SDO sdo_writes = 3;
1531 repeated SDO sdo_reads = 4;
1537 repeated AKDASCII akd_asciis = 5;
1542message NetworkNodeConfig {
1544 message IOUserLabel {
1556 optional
string user_label = 1;
1567 repeated IOUserLabel digital_input_user_labels = 2;
1568 repeated IOUserLabel digital_output_user_labels = 3;
1569 repeated IOUserLabel analog_input_user_labels = 4;
1570 repeated IOUserLabel analog_output_user_labels = 5;
1575message NetworkNodeRequest {
1577 RSI.RapidServer.RequestHeader header = 1;
1582 optional NetworkNodeConfig config = 3;
1583 optional NetworkNodeAction action = 4;
1588message NetworkNodeResponse {
1590 RSI.RapidServer.ResponseHeader header = 1;
1595 optional NetworkNodeConfig config = 3;
1596 optional NetworkNodeAction action = 4;
1597 optional NetworkNodeInfo info = 5;
1598 optional NetworkNodeStatus status = 6;
1603message NetworkNodeBatchRequest {
1605 RSI.RapidServer.RequestHeader header = 1;
1607 repeated NetworkNodeRequest requests = 2;
1610message NetworkNodeBatchResponse {
1612 RSI.RapidServer.ResponseHeader header = 1;
1614 repeated NetworkNodeResponse responses = 2;
1620message RecorderRequest {
1622 RSI.RapidServer.RequestHeader header = 1;
1627 optional RecorderConfig config = 3;
1628 optional RecorderAction action = 4;
1634message RecorderResponse {
1636 RSI.RapidServer.ResponseHeader header = 1;
1641 optional RecorderConfig config = 3;
1642 optional RecorderAction action = 4;
1643 optional RecorderInfo info = 5;
1644 optional RecorderStatus status = 6;
1649message RecorderBatchRequest {
1651 RSI.RapidServer.RequestHeader header = 1;
1653 repeated RecorderRequest requests = 2;
1656message RecorderBatchResponse {
1658 RSI.RapidServer.ResponseHeader header = 1;
1660 repeated RecorderResponse responses = 2;
1666message RecorderInfo { }
1670message RecorderStatus {
1672 bool is_recording = 1;
1675 int32 records_available = 2;
1680message RecorderAction {
1682 optional Reset reset = 1;
1683 optional Start start = 2;
1684 optional Stop stop = 3;
1685 optional RetrieveRecords retrieve_records = 4;
1691 message RetrieveRecords {
1693 repeated Record records = 1;
1698 repeated FirmwareValue data = 1;
1706message RecorderConfig {
1708 optional int32 period = 1;
1711 optional
bool circular_buffer = 2;
1714 repeated AddressInfo addresses = 3;
1717 optional RecorderTriggerOnMotion trigger_on_motion = 4;
1720 optional int32 buffer_high_count = 5;
1723 optional int32 record_max_count = 6;
1727 message RecorderTriggerOnMotion {
1729 optional int32 motion_supervisor_index = 1;
1731 optional
bool enable = 2;
1738message UserLimitStatus {
1751message UserLimitAction {
1753 optional Reset reset = 1;
1754 optional Enable enable = 2;
1755 optional Disable disable = 3;
1765message UserLimitInfo {}
1770message UserLimitConfig {
1776 optional UserLimitCondition condition_0 = 2;
1779 optional UserLimitCondition condition_1 = 3;
1782 optional UserLimitOutput output = 4;
1788 optional int32 action_axis = 6;
1791 optional
double duration = 7;
1794 optional
bool is_single_shot = 8;
1797 repeated UserLimitInterruptUserData user_data = 9;
1800 message UserLimitCondition {
1811 optional uint32 mask = 4;
1814 optional int32 integer_limit_value = 5;
1817 optional
double double_limit_value = 6;
1820 message UInt32Masks {
1822 uint32 and_mask = 1;
1828 message UInt64Masks {
1830 uint64 and_mask = 1;
1836 message UserLimitOutput {
1849 UInt32Masks uint32_masks = 6;
1852 int32 int32_value = 7;
1855 UInt64Masks uint64_masks = 8;
1858 double double_value = 9;
1862 uint64 input_address = 10;
1866 message UserLimitInterruptUserData {
1871 optional uint64 address = 2;
1877message UserLimitRequest {
1879 RSI.RapidServer.RequestHeader header = 1;
1884 optional UserLimitConfig config = 3;
1886 optional UserLimitAction action = 4;
1891message UserLimitResponse {
1893 RSI.RapidServer.ResponseHeader header = 1;
1898 optional UserLimitConfig config = 3;
1899 optional UserLimitAction action = 4;
1900 optional UserLimitInfo info = 5;
1901 optional UserLimitStatus status = 6;
1906message UserLimitBatchRequest {
1908 RSI.RapidServer.RequestHeader header = 1;
1910 repeated UserLimitRequest requests = 2;
1913message UserLimitBatchResponse {
1915 RSI.RapidServer.ResponseHeader header = 1;
1917 repeated UserLimitResponse responses = 2;
1922message MathBlockConfig {
1924 optional uint64 input_address_0 = 1;
1930 optional uint64 input_address_1 = 3;
1939 optional uint64 output_address = 6;
1950message MathBlockAction {
1952 optional ProcessValueGet process_value_get = 1;
1954 message ProcessValueGet {
1956 optional FirmwareValue value = 1;
1962message MathBlockInfo {
1964 optional uint64 process_value_host_address = 1;
1967 optional uint64 process_value_firmware_address = 2;
1975message MathBlockStatus {
1980 optional FirmwareValue process_value = 2;
1985message MathBlockRequest {
1987 RSI.RapidServer.RequestHeader header = 1;
1992 optional MathBlockConfig config = 3;
1993 optional MathBlockAction action = 4;
1998message MathBlockResponse {
2000 RSI.RapidServer.ResponseHeader header = 1;
2005 optional MathBlockConfig config = 3;
2006 optional MathBlockAction action = 4;
2007 optional MathBlockInfo info = 5;
2008 optional MathBlockStatus status = 6;
2013message MathBlockBatchRequest {
2015 RSI.RapidServer.RequestHeader header = 1;
2017 repeated MathBlockRequest requests = 2;
2020message MathBlockBatchResponse {
2022 RSI.RapidServer.ResponseHeader header = 1;
2024 repeated MathBlockResponse responses = 2;
2029message RTOSConfig {}
2035 string rmp_catalog = 1;
2038 string rmp_network_catalog = 2;
2041 uint32 node_count = 3;
2047 optional Restart restart = 1;
2048 optional Stop stop = 2;
2049 optional Start start = 3;
2065message RTOSRequest {
2067 RSI.RapidServer.RequestHeader header = 1;
2072 optional RTOSConfig config = 3;
2073 optional RTOSAction action = 4;
2078message RTOSResponse {
2080 RSI.RapidServer.ResponseHeader header = 1;
2085 optional RTOSConfig config = 3;
2086 optional RTOSAction action = 4;
2087 optional RTOSInfo info = 5;
2088 optional RTOSStatus status = 6;
2093message RTOSBatchRequest {
2095 RSI.RapidServer.RequestHeader header = 1;
2097 repeated RTOSRequest requests = 2;
2100message RTOSBatchResponse {
2102 RSI.RapidServer.ResponseHeader header = 1;
2104 repeated RTOSResponse responses = 2;
2109message RTTaskCreationParameters {
2111 string function_name = 1;
2114 optional
string library_name = 2;
2115 optional
string library_directory = 3;
2118 optional
string user_label = 4;
2124 optional int32 repeats = 6;
2127 optional int32 period = 7;
2132 optional int32 phase = 8;
2135 optional
bool enable_timing = 9;
2140message RTTaskConfig {}
2145message RTTaskAction {
2147 optional Stop stop = 1;
2150 optional Remove
remove = 2;
2153 optional TimingReset timing_reset = 3;
2156 optional ExecutionCountAbsoluteWait execution_count_absolute_wait = 4;
2159 optional ExecutionCountRelativeWait execution_count_relative_wait = 5;
2163 message TimingReset {}
2165 message ExecutionCountAbsoluteWait {
2167 optional int64 count = 1;
2170 optional int32 timeout_ms = 2;
2173 message ExecutionCountRelativeWait {
2175 optional int64 count = 1;
2178 optional int32 timeout_ms = 2;
2189 int32 manager_id = 2;
2192 Constants constants = 3;
2195 RTTaskCreationParameters creation_parameters = 4;
2199 CreationParameterConstants creation_parameters = 1;
2202 StatusConstants status = 2;
2204 message CreationParameterConstants {
2206 int32 directory_length_maximum = 1;
2209 int32 name_length_maximum = 2;
2212 string library_name_default = 3;
2215 int32 priority_default = 4;
2218 int32 repeat_forever = 5;
2221 int32 repeat_none = 6;
2224 int32 period_default = 7;
2227 int32 phase_default = 8;
2230 int32 enable_timing_default = 9;
2233 message StatusConstants {
2235 int64 invalid_execution_count = 1;
2238 uint64 invalid_execution_time = 2;
2241 uint64 error_message_size_maximum = 3;
2248message RTTaskStatus {
2253 optional int64 execution_count = 2;
2256 optional uint64 execution_time_max = 3;
2259 optional uint64 execution_time_min = 4;
2262 optional
double execution_time_mean = 5;
2265 optional uint64 execution_time_last = 6;
2268 optional uint64 start_time_delta_last = 7;
2271 optional uint64 start_time_delta_max = 8;
2274 optional
double start_time_delta_mean = 9;
2277 optional
string error_message = 10;
2282message RTTaskRequest {
2284 RSI.RapidServer.RequestHeader header = 1;
2290 int32 manager_id = 3;
2292 optional RTTaskConfig config = 4;
2293 optional RTTaskAction action = 5;
2298message RTTaskResponse {
2300 RSI.RapidServer.ResponseHeader header = 1;
2306 int32 manager_id = 3;
2308 optional RTTaskConfig config = 4;
2309 optional RTTaskAction action = 5;
2310 optional RTTaskInfo info = 6;
2311 optional RTTaskStatus status = 7;
2316message RTTaskBatchRequest {
2318 RSI.RapidServer.RequestHeader header = 1;
2320 repeated RTTaskRequest requests = 2;
2323message RTTaskBatchResponse {
2325 RSI.RapidServer.ResponseHeader header = 1;
2327 repeated RTTaskResponse responses = 2;
2332message RTTaskManagerCreationParameters {
2334 optional
string rt_task_directory = 1;
2341 optional
string node_name = 3;
2344 optional int32 cpu_core = 4;
2347 optional
string user_label = 5;
2350 optional
bool no_rmp = 6;
2355message RTTaskManagerConfig {}
2360message RTTaskManagerAction {
2362 optional Create create = 1;
2365 optional Discover discover = 2;
2368 optional Shutdown shutdown = 3;
2371 optional TaskSubmit task_submit = 4;
2374 optional TaskRemove task_remove = 5;
2377 repeated GlobalValueSet global_value_sets = 6;
2381 RTTaskManagerCreationParameters creation_parameters = 1;
2389 repeated int32 manager_ids = 1;
2394 message TaskSubmit {
2396 RTTaskCreationParameters task_creation_parameters = 1;
2399 optional int32 task_id = 2;
2402 message TaskRemove {
2407 message GlobalValueSet {
2409 FirmwareValue value = 1;
2416 optional
string library_name = 3;
2417 optional
string library_directory = 4;
2423message RTTaskManagerInfo {
2428 Constants constants = 2;
2431 RTTaskManagerCreationParameters creation_parameters = 3;
2435 int32 rt_task_manager_count_maximum = 1;
2438 int32 rt_task_count_maximum = 2;
2441 string rt_task_manager_executable_name = 3;
2444 CreationParameterConstants creation_parameters = 4;
2446 message CreationParameterConstants {
2448 int32 directory_length_maximum = 1;
2451 int32 name_length_maximum = 2;
2454 string user_label_default = 3;
2461message RTTaskManagerStatus {
2464 repeated int32 task_ids = 1;
2467 map<string, FirmwareValue> global_values = 2;
2473 optional uint64 task_submission_count = 4;
2476 optional int64 cycle_count = 5;
2479 optional uint64 cycle_time_max = 6;
2482 optional uint64 cycle_time_min = 7;
2485 optional
double cycle_time_mean = 8;
2488 optional uint64 cycle_time_last = 9;
2491 optional uint64 start_time_delta_last = 10;
2494 optional uint64 start_time_delta_max = 11;
2497 optional
double start_time_delta_mean = 12;
2502message RTTaskManagerRequest {
2504 RSI.RapidServer.RequestHeader header = 1;
2507 optional int32
id = 2;
2509 optional RTTaskManagerConfig config = 3;
2510 optional RTTaskManagerAction action = 4;
2515message RTTaskManagerResponse {
2517 RSI.RapidServer.ResponseHeader header = 1;
2520 optional int32
id = 2;
2522 optional RTTaskManagerConfig config = 3;
2523 optional RTTaskManagerAction action = 4;
2524 optional RTTaskManagerInfo info = 5;
2525 optional RTTaskManagerStatus status = 6;
2530message RTTaskManagerBatchRequest {
2532 RSI.RapidServer.RequestHeader header = 1;
2534 repeated RTTaskManagerRequest requests = 2;
2537message RTTaskManagerBatchResponse {
2539 RSI.RapidServer.ResponseHeader header = 1;
2541 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.
RSINetworkNodeInitializationState
How far an EtherCAT node has progressed through network startup.
RSINetworkState
State of network.
RSIControllerAddressType
Used to get firmware address used in User Limits, Recorders, etc.
RSIMotorDisableAction
Action for when a motor is disabled.
RSIMotionType
PT and PVT streaming motion types.
RSIDataType
Data types for User Limits and other triggers.
RSIUserLimitLogic
Logic options for User Limits.
RSIAction
Action to perform on an Axis.
RSIAxisAddressType
Used to get firmware address used in User Limits, Recorders, etc.
RSINetworkInterfaceType
Network host interface type used for EtherCAT frame I/O.
RSINetworkStartError
Network start errors.
RSIMultiAxisAddressType
Used to get firmware address used in User Limits, Recorders, etc.
RSIUserLimitTriggerType
Trigger types for UserLimits.
INtimeStatus
INtime status values.
RSIHomeStage
Predefined Homing Stage sections.
RSINetworkType
Type of Network topology.
RSINodeType
Valid Node types.
RSISource
Possible sources that have caused an Error state.
RSIOperationMode
DS402 modes of operation.
RSINetworkIndexType
Network PDO index types for configuring axis input/output mappings.
RSINetworkNodeAddressType
Address types for the dynamic status values of an EtherCAT node, for use with RapidCodeNetworkNode::A...
RSIAxisMasterType
Sources available to a slave Axis for electronic gearing & camming.