The pre-function error (in seconds) is given using the G REF.CYC.PRE_FUNC_ERR(#usr).
This value returns the difference between a theoretical pre-function time and the actual pre-function the fgc managed to play in the time available. The theoretical value is calculated by adding the calculated times of ramping up, the duration of the MAGCYCLE plateau (REF.DEFAULTS.PLATEAU_DUR[0]), any possible fall time to the function current level and finally the current settling plateau duration (REF.DEFAULTS.PLATEAU_DUR[1]).
A typical such calculation is made using the formula $T_{rise}$=L/R x ln((Imin-V/R)/(Imax-V/R)) and hence the magnet L (LOAD.HENRYS) and Resistance (LOAD.OHMS_MAG+LOAD.OHMS_SER) are taken into account.
Positive value returned by REF.CYC.PRE_FUNC_ERR(#usr)
A positive value indicates that the pre-function is completed earlier than it was theoretically calculated by the FGC. Hence the FGC was forced to keep the current function at the "current settling" plateau for longer than set.
Possible causes are:
- A configuration error of LOAD.HENRYS setting that is higher than the actual magnet inductance.
Solution(s):
- decrease LOAD.HENRYS in small steps and control REF.CYC.PRE_FUNC_ERR(#usr)
Zero value returned by REF.CYC.PRE_FUNC_ERR(#usr)
Zero error indicates that there was a problem with the prefunction all together, it never arrived at the plateau allowed for current settling
Negative value returned by REF.CYC.PRE_FUNC_ERR(#usr)
Possible cause 1:
- Assuming the maximum converter voltage is used to ramp the current up, there can be a configuration error of LOAD.HENRYS setting that is lower than the actual magnet inductance. The FGC theoretically predicted a faster ramp that the one actually happened.
Solution 1:
- Increase LOAD.HENRYS in small steps and control REF.CYC.PRE_FUNC_ERR(#usr)
Possible cause 2:
- There is not enough time between the warning event and the configured (REF.EVENT_CYC) event that determines the function start time. If the time is not enough the function fails and typically a jump in current value is observed from any point in in the pre-function directly to the function current level.
Solution 1:
- Increase voltage limits LIMITS.V.POS, LIMITS.V.NEG or
- increase LIMITS.I.RATE
- Increase REF.DEFAULTS.I.LINEAR_RATE (or set to 0 for maximum possible rate) or
- Increase REF.DEFAULTS.I.ACCELERATION and REF.DEFAULTS.I.DECELERATION