FACT++  1.0
string ConnectionDrive::ErrCodeToString ( uint32_t  code) const
inlineprivate

Definition at line 861 of file drivectrl.cc.

862  {
863  switch (code)
864  {
865  case 0: return "offline";
866  case 0xa000: case 0xa0000:
867  case 0xa001: case 0xa0001:
868  case 0xa002: case 0xa0002:
869  case 0xa003: case 0xa0003: return "Communication phase "+to_string(code&0xf);
870  case 0xa010: case 0xa0010: return "Drive HALT";
871  case 0xa012: case 0xa0012: return "Control and power section ready for operation";
872  case 0xa013: case 0xa0013: return "Ready for power on";
873  case 0xa100: case 0xa0100: return "Drive in Torque mode";
874  case 0xa101: case 0xa0101: return "Drive in Velocity mode";
875  case 0xa102: case 0xa0102: return "Position control mode with encoder 1";
876  case 0xa103: case 0xa0103: return "Position control mode with encoder 2";
877  case 0xa104: case 0xa0104: return "Position control mode with encoder 1, lagless";
878  case 0xa105: case 0xa0105: return "Position control mode with encoder 2, lagless";
879  case 0xa106: case 0xa0106: return "Drive controlled interpolated positioning with encoder 1";
880  case 0xa107: case 0xa0107: return "Drive controlled interpolated positioning with encoder 2";
881  case 0xa108: case 0xa0108: return "Drive controlled interpolated positioning with encoder 1, lagless";
882  case 0xa109: case 0xa0109: return "Drive controlled interpolated positioning with encoder 2, lagless";
883  //case 0xa146: return "Drive controlled interpolated relative positioning with encoder 1";
884  //case 0xa147: return "Drive controlled interpolated relative positioning with encoder 2";
885  //case 0xa148: return "Drive controlled interpolated relative positioning lagless with encoder 1";
886  //case 0xa149: return "Drive controlled interpolated relative positioning lagless with encoder 2";
887  case 0xa150: case 0xa0150: return "Drive controlled positioning with encoder 1";
888  case 0xa151: case 0xa0151: return "Drive controlled positioning with encoder 1, lagless";
889  case 0xa152: case 0xa0152: return "Drive controlled positioning with encoder 2";
890  case 0xa153: case 0xa0153: return "Drive controlled positioning with encoder 2, lagless";
891  case 0xa208: return "Jog mode positive";
892  case 0xa218: return "Jog mode negative";
893  case 0xa400: case 0xa4000: return "Automatic drive check and adjustment";
894  case 0xa401: case 0xa4001: return "Drive decelerating to standstill";
895  case 0xa800: case 0xa0800: return "Unknown operation mode";
896  case 0xc217: return "Motor encoder reading error";
897  case 0xc218: return "Shaft encoder reading error";
898  case 0xc220: return "Motor encoder initialization error";
899  case 0xc221: return "Shaft encoder initialization error";
900  case 0xc300: return "Command: set absolute measure";
901  case 0xc400: case 0xc0400: return "Switching to parameter mode";
902  case 0xc401: case 0xc0401: return "Drive active, switching mode not allowed";
903  case 0xc500: case 0xc0500: return "Error reset";
904  case 0xc600: case 0xc0600: return "Drive controlled homing procedure";
905  case 0xe225: return "Motor overload";
906  case 0xe249: case 0xe2049: return "Positioning command velocity exceeds limit bipolar";
907  case 0xe250: return "Drive overtemp warning";
908  case 0xe251: return "Motor overtemp warning";
909  case 0xe252: return "Bleeder overtemp warning";
910  case 0xe257: return "Continous current limit active";
911  case 0xe2819: return "Main power failure";
912  case 0xe259: return "Command velocity limit active";
913  case 0xe8260: return "Torque limit active";
914  case 0xe264: return "Target position out of numerical range";
915  case 0xe829: case 0xe8029: return "Positive position limit exceeded";
916  case 0xe830: case 0xe8030: return "Negative position limit exceeded";
917  case 0xe831: return "Position limit reached during jog";
918  case 0xe834: return "Emergency-Stop";
919  case 0xe842: return "Both end-switches activated";
920  case 0xe843: return "Positive end-switch activated";
921  case 0xe844: return "Negative end-switch activated";
922  case 0xf218: case 0xf2018: return "Amplifier overtemp shutdown";
923  case 0xf219: case 0xf2019: return "Motor overtemp shutdown";
924  case 0xf220: return "Bleeder overload shutdown";
925  case 0xf221: case 0xf2021: return "Motor temperature surveillance defective";
926  case 0xf2022: return "Unit temperature surveillance defective";
927  case 0xf224: return "Maximum breaking time exceeded";
928  case 0xf2025: return "Drive not ready for power on";
929  case 0xf228: case 0xf2028: return "Excessive control deviation";
930  case 0xf250: return "Overflow of target position preset memory";
931  case 0xf257: case 0xf2057: return "Command position out of range";
932  case 0xf269: return "Error during release of the motor holding brake";
933  case 0xf276: return "Absolute encoder moved out of monitoring window";
934  case 0xf2074: return "Absolute encoder 1 moved out of monitoring window";
935  case 0xf2075: return "Absolute encoder 2 moved out of monitoring window";
936  case 0xf2174: return "Lost reference of motor encoder";
937  case 0xf409: case 0xf4009: return "Bus error on Profibus interface";
938  case 0xf434: return "Emergency-Stop";
939  case 0xf629: return "Positive position limit exceeded";
940  case 0xf630: return "Negative position limit exceeded";
941  case 0xf634: return "Emergency-Stop";
942  case 0xf643: return "Positive end-switch activated";
943  case 0xf644: return "Negative end-switch activated";
944  case 0xf8069: return "15V DC error";
945  case 0xf870: case 0xf8070: return "24V DC error";
946  case 0xf878: case 0xf8078: return "Velocity loop error";
947  case 0xf8079: return "Velocity limit exceeded";
948  case 0xf2026: return "Undervoltage in power section";
949  }
950  return "unknown";
951  }