Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2013 SPiiPlus Training Class Safety and Faults 1.

Similar presentations

Presentation on theme: "© 2013 SPiiPlus Training Class Safety and Faults 1."— Presentation transcript:

1 © 2013 SPiiPlus Training Class Safety and Faults 1

2 © 2013 Faults Mechanism 2 All fault responses can be customized by the user Fault: An abnormal situation detected by the controller related to safety of motion, hardware damage, faulty wiring, EtherCAT errors, limit switch tripped, etc. Faults and errors are monitored every controller cycle. The controller has a predefined set of faults and default responses.

3 © 2013 Faults Mechanism Example faults: o Encoder error due to bad wiring o Drive alarm caused by problem with the power amplifier o Axis limit switch tripped o E-Stop activation o Critical position error caused by a driving axis into a hard stop 3

4 © 2013 Some Predefined Axis and System Faults 4 Axis Faults Right Limit Left Limit Soft Right Limit Soft Left Limit Encoder not connected Encoder error Drive Alarm Position Error Critical Position Error Velocity Limit Overcurrent System Faults Program error Memory overuse Runtime overload Servo Processor alarm Servo Interrupt Emergency stop

5 © 2013 Axis Fault Variables FAULT o Encodes all faults for a certain axis. For example, ON FAULT(1).#ENCNC will activate an autoroutine when axis 1 encoder is disconnected. FMASK o Masks a defined axis fault. For example, FMASK(0).#RL=0 will mask axis 0 hardware right limit fault. FDEF o Activates/deactivates default response to axis fault. For example, FDEF(3).#SLL=0 will disable the default response to axis 3 software left limit fault. 5

6 © 2013 System Fault Variables S_FAULT o Aggregates one specific fault for all axes. For example, ON S_FAULT.#LL will activate an autoroutine when any axis passes the left limit. S_FMASK o Masks a defined system fault. For example, S_FMASK.#ES=0 will mask the Emergency Stop fault. S_FDEF o Activates/deactivates default response to system fault. For example, S_FDEF.#ES=0 will disable the default response to the Emergency Stop fault. 6

7 © 2013 Customized Fault Responses The user can define a customized fault response that can override/supplement the default fault response by: o Activating the fault FMASK variable o Writing an autoroutine, for example: ! Axis 0 critical position error is being checked FMASK(0).#CPE = 1 FDEF(0).#CPE = 0 STOP ON FAULT(0).#CPE; BLOCK ! Run on critical position error KILL (0,4) ! Kill axis 0 and 4 START 3, User_PE ! Run buffer 3 starting at label User_PE DISP "Critical position error Axis 0" END; RET 7

8 © 2013 Safety and Faults Configurator 8 MMI component used for configuration of controller responses to faults Red LED indicates a fault Allow default fault response Allow detection of fault Invert fault signal (if necessary)

9 © 2013 Safety and Faults Monitor 9 Provides immediate monitoring of axis and system faults

10 © 2013 Default Responses The controller provides default responses for most faults A default response can be one of the following: o No response – for indication only. o Kill motion – when the axis is under control o Disable motor – when the controller can’t control the axis o Kill Disable – Kill motion followed by disable 10

11 © 2013 Default Responses To view default responses: o In the System Information Viewer, look under “Safety & Fault Response” heading to view predefined fault responses per axis o Alternatively, the terminal command #SC prints the same information to the Communication Terminal 11

12 © 2013 Fault Mechanism 12

13 © 2013 Fault Mechanism 13 Example 1 – Axis 0 left limit fault

14 © 2013 Fault Mechanism 14 Example 2 – Axis 0 left limit fault

15 © 2013 Encoder Faults Encoder Not Connected o Quadrature encoders:  Checked by HW to verify continuity between A/A’ and B/B’ on quadrature encoders o Analog Sin-Cos encoders:  Checked by SW using Sin^2 + Cos^2 Encoder Error o Checks encoder logic by the SW (Firmware) to verify legal transfers between A and B signals (00 01 11 10) 15 FaultQuad EncoderSin-cos Encoder Encoder not connected  Encoder Error 

16 © 2013 Hardware Limit Faults During operation, when the left limit switch is on, the controller detects a left (negative) limit fault. During operation when the right limit switch is on, the controller detects a right (positive) limit fault. As a default response, the controller kills the violating motor. As long as the fault is active, the controller kills any motion toward the limit while motion away from the limit is allowed. 16

17 © 2013 Software Limit Faults The user can define left and right software limits in the Adjuster Wizard: Unlike hardware limits, the software limit causes the fault before the trajectory passes the software limit position The controller provides processing so the termination point is very close to software limit – using the KDEC deceleration variable 17

18 © 2013 As long as the fault is active, the controller kills any motion toward the limit while motion away from the limit is allowed Software Limit Faults 18

19 © 2013 Velocity and Acceleration Limits Maximum reference (not feedback) velocity (XVEL) and acceleration (XACC) can be specified for each axis. Calculated automatically by the Adjuster Wizard based on motor data entered earlier in the Adjuster process Can be specified by user if necessary 19

20 © 2013 Important – the velocity limit (XVEL) parameter affects the servo control loops because it scales velocity feedback. Make sure XVEL is set properly before tuning. Velocity and Acceleration Limits When the commanded motion exceeds the maximum velocity value, a FAULT.#VL fault is generated. When the commanded motion exceeds the maximum acceleration value, a FAULT.#AL fault is generated. 20

21 © 2013 Current/Torque Protection There are three current/torque protection variables defined in terms of percentage of peak drive current: o XRMS – defines maximum allowable RMS current. If violated, an overcurrent fault occurs. o XCURI – defines absolute maximum current when axis is idle. This sets a physical limit on drive output. o XCURV – defines absolute maximum current when axis is in motion. This sets a physical limit on drive output. 21

22 © 2013 Current/Torque Protection Overcurrent protection o The controller provides over-current protection by calculating RMS current o The protection relates to continuous current rating of drive and motor o The Adjuster Wizard automatically calculates current protection parameters based on motor and drive data entered earlier in the Adjuster process o Current protection parameters can be modified by users if necessary 22

23 © 2013 Current/Torque Protection 23

24 © 2013 Position Error Faults There are six variables for position error faults As a default response, the critical position error fault disables the drive The position error fault has no default response (indication only). The user can define a customized response. 24

25 © 2013 Error Mechanism A four-digit error code is generated after any malfunction during operation. The controller returns error codes which belong to the following categories: o ACSPL+ Syntax Errors: numbers 1000 to 1999 o ASCPL+ Compilation Errors: 2000 to 2999 o ACSPL+ Runtime Errors: 3000 to 3999 o Motion Termination Errors: 5000 to 5150 o System Errors: 5151 to 5999 o EtherCAT Errors: 6000 to 6999 o Reserved for user-defined error codes: 9000 and above 25

26 © 2013 The meaning of an error code can be determined by o Looking up the error code in section 5 of the ACSPL+ Command and Variable Reference Guide o Querying the error code in the Communication Terminal using double question mark syntax  For example; ??5167 returns “Initialization problem: Number of drive modules does not meet the configuration” If an error occurs when using the MMI, a pop up window displays the error code along with its meaning. Error Mechanism 26

27 © 2013 Error Mechanism MERR is an ACSPL+ standard variable that stores motion termination cause per axis If axis motion terminates without error, MERR returns 0 If axis motion terminates with error, MERR returns the corresponding 4-digit error code in the range of 5000-5150 27

28 © 2013 Error Mechanism PERR is an ACSPL+ standard variable that stores ACSPL+ error code (progam error) per program buffer If an ACSPL+ error occurs during program execution, the controller stores the error code in the corresponding element of the PERR array 28

29 © 2013 Error Mechanism In addition to the SPiiPlus error codes, the user can add their own codes in the range of 9000 and above. For example: ON (RPOS(axis) > 10000) ! Condition for error KILL (axis), 9123 ! Kill motion citing error code 9123 DISP "Cause of motion termination", MERR(axis); FCLEAR(axis)! Reset MERR flag of the axis RET 29

30 © 2013 EtherCAT Diagnostics EtherCAT diagnostic commands allow you to view connected EtherCAT network nodes, operational state, network offsets (variables), errors, etc. o There are three diagnostic commands: o #ETHERCAT – A terminal command showing connected EtherCAT nodes, corresponding states, and variable offsets o ECST – Shows the status of the EtherCAT network. All bits should be on with the possible exception of bit 4 (synchronization bit) if using 3rd party IO. o ECERR – Gives an error code that can be sent to ACS Support for troubleshooting purposes. If zero, no errors exist 30

31 © 2013 Example 1 A vision system moves a scanner head along a single linear axis Safety and faults need to be configured for the axis If the scanner head moves into the limit, it is important not to remain there due to hazards Turn off the default response to limits for the axis and define new response so the scanner head does not stay in the limit 31

32 © 2013 Example 1 Load Safety and Faults example 1 to an empty buffer, review code, and execute. o If using trainer unit, command motion and manually toggle limit switches o If using simulator, command motion and simulate limit switches by toggling. SAFINI(X).#LL, or SAFINI(X).#RL 32

33 © 2013 Example 2 The vision system needs to wait for a signal from the user before it is allowed to continue operation Modify example 1 so that after moving out of a limit, code execution halts until user sends a signal from the terminal (i.e. user changes the state of a global variable from the terminal) Use the terminal to notify the user of any safety issues (use DISP to display messages to the Terminal), and prompt for user input when necessary 33

34 © 2013 Example 3 For safety purposes it is desired to disable all axes and stop the program if the user does not send a signal for an extended amount of time Modify example 2 accordingly, define an appropriate user-response timeout length 34

Download ppt "© 2013 SPiiPlus Training Class Safety and Faults 1."

Similar presentations

Ads by Google