Fagor 8055tc
Fagor 8055tc
Fagor 8055tc
When this additional analog voltage is due to fluctuations of following error, "ACFGAIN"
(P46) = NO, it is called: "Derivative Gain".
Programmed
Feedrate Analog
Feedback
Analog
Programmed
Feedrate
Feedback
Best results are usually obtained when using it as AC-forward Gain, "ACFGAIN" (P46)
= YES together with Feed-Forward Gain.
A practical value between 2 to three times the Proportional Gain, "PROGAIN" (P23), may
be used.
* Verify that there is no oscillations on following error, In other words, that it is not
unstable.
* Check, with an oscilloscope, the tacho voltage or the analog voltage at the drive (velocity
command), verify that it is stable (left graph) and that there are neither instabilities when
starting up (center graph) nor when braking down (right graph).
Sometimes, an additional analog pulse may also be needed to recover the possible backlash
when reversing the axis movement.
Axis machine parameter "BAKANOUT" (P29) sets the value of this additional analog
voltage pulse and "BACKTIME" (P30) sets its duration.
The CNC provides a table for each one of the axes requiring leadscrew compensation. This
type of compensation is activated by setting machine parameter “LSCRWCOM P15)=ON”
for those axes.
The number of points (up to 255) affected by this compensation must be indicated by axis-
machine-parameter “NPOINTS (P16)”.
CAP INS MM
F1 F2 F3 F4 F5 F6 F7
Each table parameter represents one leadscrew point to be compensated. Each one defines:
The axis position for that Leadscrew point with respect to Machine Reference ZERO.
* The axis points must be in sequential order starting from the most negative (least
positive) point to be compensated.
* For those points outside the compensation zone, the CNC will apply the
compensation value corresponding to the table point closest to them.
* The error difference between two consecutive points must not be greater than the
distance between them (maximum slope= 100%).
Programming example:
The X axis ballscrew must be compensated for between X-20 and X160 according to
the leadscrew error graph below:
LEADSCREWERROR
MACHINEREF.ZERO(HOME)
MACHINEREF.POINT
Considering that the Machine Reference Point (physical location of the marker pulse)
is located 30 mm from HOME (Machine Reference Zero), at X30. The leadscrew error
compensation parameters must be set as follows:
* Machine zero or point of origin of the machine. This is set by the manufacturer as the
origin of the system of coordinates of the machine.
* Part zero or point of origin of the part. This is the point of origin which is set for
programming the measurements of the part. It can be freely selected by the programmer,
and its zero machine reference can be set by the zero offset.
- When the feedback system is semi-absolute (with coded marker pulse, Io), this point
is only used when leadscrew error compensation must be applied onto the axis. The
error amount at this reference point must be "0".
- When the feedback is a regular incremental system (without coded marker pulse,
Io), besides using this point in the leadscrew error compensation, the system is
synchronized at this point instead of having to move the axis all the way to the
Machine Reference Zero (home).
Z R
R
XMR
ZMR Z
M W
W
ZMW
XMR X ZMV
XMW
ZMR
M Machine zero
W Part zero
R Machine reference point
XMW,YMW,ZMW, etc. Coordinates of part zero
ZMR,YMR,ZMR, etc. Coordinates of machine reference point
(“REFVALUE”)
Warning:
If after the machine is all set up it is necessary to remove the feedback system,
it may happen that when it is reinstalled, its marker pulse is no longer at the same
physical location as it was before.
In that case, the distance (shift) between the previous marker pulse location and
the current one must be assigned to machine parameter "REFSHIFT" of the
affected axis in order for the machine reference point (home) to remain the
same.
This way, when searching home, the axis will move this additional distance
("REFSHIFT (P47)" value) after finding the new marker pulse and it will
position at the same physical home location as before. This additional movement
will be carried out at the feedrate established by machine parameter "REFEED2
(P35)".
The machine reference search on Gantry axes can be carried out in JOG mode or by
program and it will be done as follows:
The CNC starts the movements of both axes in the direction indicated by machine
parameter “REFDIREC (P33)” corresponding to the main axis.
Then, the home search will start on both axis at the feedrate indicated by machine
parameter “REFEED2 (P35)” of the main axis.
The CNC will wait until the marker pulse (home) of the slaved axis is found and then,
it will look for the marker pulse from the main axis.
The CNC starts moving both axes in the direction indicated by machine parameter
“REFDIREC (P33)” corresponding to the main axis at the feedrate indicated by
machine parameter “REFEED2 (P35)” of the main axis.
The CNC will wait until the marker pulse (home) of the slaved axis is found and then,
it will look for the marker pulse from the main axis.
If the difference obtained between both reference positions is not the same as the one
indicated by machine parameters “REFVALUE (P36)” for both axes, the CNC will correct
the position of the slaved axis. This will end the home search operation.
When this search is carried out in the JOG mode, the active zero offset will be cancelled and
the CNC will display the position value indicated by machine parameter “REFVALUE
(P36)” for the main axis. In all other cases, the displayed position value will be referred to
the zero offset (or part zero) active before the home search.
Warning:
If the machine parameter "REFDIREC (P33)" for the main axis has been set
for a positive direction, the machine parameter "REFVALUE (P36)" for the
slaved axis must be set to a value lower than that assigned to the main axis.
Also, if the machine parameter "REFDIREC (P33)" for the main axis has
been set for a negative direction, the machine parameter "REFVALUE
(P36)" for the slaved axis must be set to a value greater than that assigned to
the main axis. They cannot have the same value.
When encoders are used for feedback, the difference between the values
assigned to the "REFVALUE" parameters of both axes must be smaller than
the pitch of the ballscrew.
* Indicate in axis machine parameter "REFPULSE" (P32) the type of marker pulse (Io)
used by the feedback device.
* Also, indicate in axis machine parameter "REFDIREC" (P33) the homing direction to
look for that marker pulse.
* Set the axis machine parameters defining the home switch approaching feedrate
"REFEED1" (P34), and the marker pulse searching feedrate after the home switch has
been found "REFEED2" (P35).
* The machine reference point will be set to "0". Axis machine parameter "REFVALUE"
(P36).
* Once in the JOG mode and after positioning the axis in the right area, start homing the
axis. When done, the CNC will assign a "0" value to this point.
* After moving the axis to the Machine Reference Zero or up to a known position (with
respect to Machine Reference Zero), observe the position reading of the CNC for that
point.
This will be distance from the Machine Reference Zero to that point. Therefore, the
value to be assigned to axis machine parameter "REFVALUE" (P36), which defines
the coordinate corresponding to the Machine Reference Point (physical location of the
marker pulse).
"REFVALUE" P36 = Machine Coordinate of the point - CNC reading at that point
Example: If the point whose known position is located 230 mm from Machine
Reference Zero and the CNC reads -123.5 mm as the coordinate value for
this point, the coordinate of the Machine Reference Point with respect to
Machine Reference Zero will be:
* After allocating this new value to the machine parameter, press SHIFT + RESET or
turn the CNC off and back on in order for this value to be assumed by the CNC.
* The axis must be homed again in order for it to assume its right reference values.
* If at the time when the home search is requested, the axis is sitting on the home switch,
the axis will back up (in the direction opposite to the one indicated by “REFDIREC
(P33) ”) until it is off the switch and then, it will go on to searching home.
* If the axis is outside the software travel limits (machine parameters “LIMIT+ (P5)” or
“LIMIT- (P6)”, it is necessary to jog the axis into the work zone so the home search
is performed in the proper direction.
* Care must be taken when placing the home switch and when setting feedrates
“REFEED1 (P34)” and “REFEED2 (P35)”.
REFEED 1
REFEED 2
The home switch will be installed so the marker pulse will be found in the zone
corresponding to feedrate “REFEED2 (P35)”.
If there is no room for it, reduce the value of “REFEED1 (P34)”. For example, for encoders
whose consecutive marker pulses are very close to each other.
* When the selected axis does not have a machine reference (home) switch (axis machine
parameter “DECINPUT (P31)” = NO), the CNC will move the axis at the feedrate set
by axis machine parameter “REFEED2 (P35)” until the first marker pulse from the
current position is found, thus ending the home search.
* Do not mistake the type of reference pulse being used (positive or negative) with the
type of active flank (up or down) to be used when setting axis machine parameter
“REFPULSE (P32)” since an up (positive) flank may be used with a negative type
marker pulse.
2.- Verify that the value allocated to "REFPULSE" (P32) (type of marker pulse of the
feedback system) is correct.
To do this, set "DECINPUT (P31) = NO" and "I0TYPE (P52) = 0". Then, home the
axis.
3.- Set axis machine parameter "I0TYPE (P52) = 1" and "ABSOFF (P53) = 0".
4.- Once in JOG mode and after positioning the axis in the proper area, home the axis. The
new position value displayed by the CNC is the distance from the current point to the
origin of the scale.
5.- Perform several consecutive home searches and observe the CNC display during the
whole process.
The counting must be continuous. If it is not, if jerky, set axis machine parameter
"I0TYPE (P52) = 2" and repeat steps 4 and 5.
6.- Move the axis up to the Machine Reference Zero or up to a point whose position with
respect to Machine Reference Zero is already known and observe the position value
displayed by the CNC. This value is the distance from the current point to the origin of
the scale.
7.- The value to be assigned to axis machine parameter "ABSOFF" (P53) must be
calculated with the following formula:
"ABSOFF" (P53) = CNC reading at this point - Machine coordinate of this point
Example: If the point whose position is already known is located 230 mm from
Machine Reference Zero and the CNC shows -423.5 mm as the position
for this point, the scale offset will be:
8.- After allocating this new value to the machine parameter, press SHIFT + RESET or turn
the CNC off and back on in order for the CNC to assume this new value.
9.- Home the axis again in order for it to assume the new correct reference values.
* When using semi-absolute linear scales (with coded Io), home switches are no longer
necessary.
However, home switches may be used as travel limits during home search.
If while homing, the home switch is pressed, the axis will reverse its movement and it
will keep searching home in the opposite direction.
* Semi-absolute FAGOR linear transducers have negative coded marker pulse (Io).
* Do not mistake the type of pulse provided by the feedback system with the value to be
assigned to axis machine parameter "REFPULSE" (P32).
This parameter must indicate the type of active flank (leading or trailing edge), positive
or negative of the reference mark (Io) used by the CNC.
* If while homing an axis, its corresponding DECEL* signal is set high, the axis will
reverse movement and the home search will be carried out in the opposite direction.
This operation must be carried out one axis at a time and it could be done as follows:
* Move the axis in the positive direction towards the end of the axis travel stopping at
a safe distance from the mechanical end-of-travel stop.
* Assign the position value (coordinate) of this point to the corresponding parameter for
positive software limit, "LIMIT+" (P5).
* Repeat these steps in the negative direction assigning the resulting coordinate to axis
machine parameter "LIMIT-" (P6).
* Once both travel limits have been set for all the axes, press SHIFT + RESET or turn
the CNC OFF and back ON in order for these new values to be assumed by the CNC.
The FAGOR 8055 CNC provides a number of machine parameters to help improve the
repetitiveness when positioning the axes in rapid (G00) by always approaching the end
point in the same direction.
OVERRUN Indicates the distance to be kept between the approach point and
the programmed point. If this parameter is set to 0, the CNC will
not perform the unidirectional approach.
UNIFEED Indicates the feedrate to be used from the approach point to the
programmed point.
The CNC will calculate the approach point based on the programmed destination point (end
point) and the machine parameters “UNIDIR” and “OVERRUN”.
Approach Target
point point
* Rapid positioning (G00) up to the calculated approach point. If the axis is moving
in the direction opposite to that indicated by “UNIDIR”, it will overshoot the
programmed point.
M function:
The CNC uses logic outputs "MBCD1" thru "MBCD7" (R550 thru R556) to "tell"
the PLC which M functions it must execute. One function per logic output.
It also activates the general logic output "MSTROBE" to "tell" the PLC to start
executing them.
Every time the CNC detects an M function, it analyzes the M function table (see
chapter 3 in this manual) to find out when to pass it along to the PLC (either before
or after the movement) and whether it must wait for the "AUXEND" signal or not
before resuming program execution.
If the programmed function is not defined in that table, it will be executed at the
beginning of the block and the CNC will wait for the "AUXEND" signal to resume
program execution.
Example 1:
Execution of a motion block containing 7 M functions 4 of which are executed
before the axes move (M51, M52, M53, M54) and 3 afterwards (M61, M62,
M63).
1.- It sends out to the PLC the 4 M functions programmed to be executed before the
move
It sets logic outputs “MBCD1=51”, “MBCD2=52” “MBCD3=53”
“MBCD4=54” and it activates the general logic output "MSTROBE to “tell” the
PLC to go ahead with their execution.
Should any of them need the AUXEND activated, the CNC will “wait” for this
signal to be activated before going on to executing the rest of the block.
If none of them need the AUXEND signal activated, the CNC will maintain the
“MSTROBE” signal activated for a period of time set by the general machine
parameter “MINAENDW (P30)”.
2.- The programmed axis move will be executed.
3.- It sends out to the PLC the 3 M functions programmed to be executed after the
move.
It sets logic outputs “MBCD1=61”, “MBCD2=62”, “MBCD3=63” and it
activates the general logic output "MSTROBE to “tell” the PLC to go ahead with
their execution.
Should any of them need the AUXEND activated, the CNC will “wait” for this
signal to be activated before going on to executing the rest of the block.
If none of them need the AUXEND signal activated, the CNC will maintain the
“MSTROBE” signal activated for a period of time set by the general machine
parameter “MINAENDW (P30)”.
The CNC transfers the "S function" out to the PLC only when using the BCD-coded
"S" output. Spindle machine parameter "SPDLTYPE" (P0) set to other than "0".
The CNC sends the programmed "S" value via logic output “SBCD” (R557) and activates
the general logic output “SSTROBE” to indicate to the PLC to go ahead with its execution.
This transmission is made at the beginning of the block execution and the CNC will
wait for the general input “AUXEND” to be activated to consider the execution
completed.
T function:
The CNC will indicate via the variable “TBCD” (R558) the T function which has
been programmed in the block and activates the general logic output “TSTROBE” to
tell the PLC to go ahead with its execution.
This transmission is made at the beginning of the block execution and the CNC will
wait for the general input “AUXEND” to be activated to consider the execution
completed.
Second T function:
The CNC transfers the "second T function" to the PLC in the following cases:
This indication will be made by means of the variable “T2BCD” (R559) and by
activating the general logic output “T2STROBE” to tell the PLC that it must execute
this. The CNC will wait for the general input AUXEND to be activated to consider
the execution completed.
Warning:
It must be borne in mind that at the beginning of the execution of the block, the
CNC can tell the PLC the execution of the M, S, T and T2 functions by
activating their STROBE signals together and waiting for a single signal
“AUXEND” for all of them.
1.- Once the block has been analyzed and after sending the corresponding values in the
“MBCD1-7”, “SBCD”, “TBCD” and “T2BCD” variables, the CNC will tell the PLC
by means of the general logic outputs “MSTROBE”, “SSTROBE”, “TSTROBE”
and “T2STROBE” that the required auxiliary functions must be executed.
STROBE
AUXEND
MINAENDW MINAENDW
1 2
3 4 5
2.- When the PLC detects the activation of one of the STROBE signals, it must deactivate
the general CNC logic input “AUXEND” to tell the CNC that the execution of the
corresponding function or functions has begun.
3.- The PLC will execute all the auxiliary functions required, it being necessary to analyze
the general CNC logic outputs:
Once this has been executed the PLC must activate the general logic input “AUXEND”
to indicate to the CNC that the processing of the required functions was completed.
4.- Once the general input “AUXEND” is active, the CNC will require that this signal be
kept active for a period of time greater than that defined by means of the general
machine parameter “MINAENDW (P30)”.
In this way erroneous interpretations of this signal by the CNC are avoided in the case
of malfunctions caused by an incorrect logic in the PLC program.
5.- Once the period of time “MINAENDW (P30)” has elapsed with the general input
“AUXEND” at a high logic level, the CNC will deactivate the general logic outputs
“MSTROBE”, “SSTROBE”, “TSTROBE”, “T2STROBE” to tell the PLC that the
execution of the required auxiliary function or functions has been completed.
When executing 2 consective blocks which send information to the PLC and after
finishing the execution of the first block, the CNC waits a MINAENDW period of time
before starting to execute the second block.
This way, it assures that a MINAENDW delay takes place between the STROBE off
(end of first block) and STROBE on (beginning of the second block).
1.- Once the block has been analyzed and after passing the corresponding values in
variables “MBCD1-7”, the CNC will tell the PLC through the general logic output
“MSTROBE” that the required auxiliary function or functions must be executed.
MSTROBE
PLC
EXECUTION
MINAENDW
1 2 3
2.- The CNC will keep the general logic output “MSTROBE” active during the time
indicated by means of general machine parameter “MINAENDW (P30)”.
Once this period of time has elapsed the CNC will continue to execute the program.
It is advisable for the “MINAENDW (P30)” value to be equal to or greater than the
duration of a PLC cycle, in order to ensure the detection of this signal by the PLC.
3.- When the PLC detects the activation of the general logic signal “MSTROBE” it will
execute the required auxiliary “M” functions at the CNC logic outputs “MBCD1 thru
7”.
Next, the steps to be followed when using two spindles are described.
Parameter setting
Set general machine parameters "AXIS1" thru "AXIS8" to the desired values. A value
of "10" for the Main Spindle and 14 for the Second Spindle.
Spindle Selection
To select the work plane, use function G16 (see programming manual)
Example:
When working in a plane other than ZX, for example G16 WX, the CNC interprets
the canned cycle parameters as follows:
Parameter Z and all those related to it, with the abscissa axis, W in the example.
Parameter X and all those related to it, with the ordinate axis, X in the example.
Tool Compensation
When working in a plane other than ZX, for example G16 WX, the CNC allows
associating the tool offset table to the work plane.
To do this, set general machine parameter "PLACOMP" (P78) to "1" (see chapter on
"machine parameters" in this manual).
When setting general machine parameter "PLACOMP=1", the CNC interprets the tool
table as follows:
ZX Plane WX Plane
The Z and K parameters, with the abscissa axis ......... Z axis .......W axis
The X and I parameters, with the ordinate axis .......... X axis ....... X axis
When using BCD output (2 or 8 digits), the spindle will operate in open loop and it may be
controlled by means of functions M3, M4 and M5.
* In closed loop, by means of function M19. This requires an encoder mounted on the
spindle and spindle machine parameter "NPULSES" (P13) must be set to a value other
than "0".
* Controlled via PLC. With this feature, it is possible to have the PLC control the spindle
for a while.
A typical application of this feature is to control the oscillation of the spindle during a
range (gear) change.
Regardless of the type of spindle output being used, the CNC admits up to 4 spindle speed
ranges.
The spindle speed range change may be made either manually or automatically by the CNC.
To change spindle ranges, functions M41, M42, M43 and M44 are used to let the PLC know
which one is to be selected.
When using BCD coded output, the spindle will operate in open loop and it will be
controlled by means of functions M3, M4 and M5.
Machine parameter “SPDLTYPE (P0)” for the spindle must be set to indicate
whether a 2-bit or a 8-bit BCD code will be used to indicate spindle speed.
Whenever a new spindle speed is selected, the CNC will transfer the programmed S
value into register “SBCD” (R557) and it will activate general logic output
“SSTROBE” (M5533) to “tell” the PLC to go ahead with its execution.
This transmission is carried out at the beginning of the block execution and the CNC
will wait for the “AUXEND” general input to be activated and then consider its
execution completed.
If it uses 2-bit BCD code, the CNC will indicate the S value to the PLC by means of
this register and according to the following conversion table:
If a value of over 9999 is programmed, the CNC will "tell" the PLC the spindle speed
corresponding to value 9999.
This value will be coded in BCD format (8 digits) in thousandths of a revolution per
minute.
S12345.678 0001 0010 0011 0100 0101 0110 0111 1000
LSB
Analog voltage
In order for the CNC to provide an analog output to control the spindle speed, it is
necessary to set machine parameter “SPDLTYPE (P0) = 0”.
The CNC will generate the analog output (within +10V.) corresponding to the
programmed rotation speed or a unipolar analog output voltage if the machine
parameters for the spindle "POLARM3 (P7)" and "POLARM4 (P8)" have been
assigned the same value.
The Closed Loop mode of operation (with M19) is described later on in this manual..
With this feature, the PLC may take control of the spindle for a certain period of time.
1.- Have the PLC place the "S" value at CNC logic input "SANALOG" (R504). This
"S" value corresponds to the analog voltage to be applied to the spindle drive.
Also, set CNC logic input "PLCCNTL" (M5465) high to let the CNC know that
from this moment on, the PLC is the one setting the spindle analog voltage.
2.- From this instant on, the CNC outputs the spindle analog voltage indicated by the
PLC at CNC logic input "SANALOG" (R504).
If the PLC changes the value of the "SANALOG" input, the CNC will update the
analog voltage accordingly.
3.- Once the operation has concluded, the CNC must recover the control of the spindle
back from the PLC. To do this, CNC logic input "PLCCNTL" (M5465) must be
set low again.
A typical application of this feature is the control of the spindle oscillation during spindle
speed range (gear) change.
With this CNC, the machine can use a gear box for adjusting the best spindle speed and
torque for the particular machining needs at any time.
The CNC admits up to 4 spindle speed ranges which are determined by machine parameters
for the spindle: “MAXGEAR1 (P2)”, “MAXGEAR2 (P3)”, MAXGEAR3 (P4)" and
“MAXGEAR4 (P5)”. They indicate the maximum speed (in rpm) for each range.
The value assigned to “MAXGEAR1 (P2)” will be the one corresponding to the lowest
range and the one assigned to “MAXGEAR4 (P5)” will be the one corresponding to the
highest range.
When not using all 4 ranges, assign the values starting from “MAXGEAR1 (P2)” up and
the highest speed value to the unused ranges.
The auxiliary functions M41, M42, M43 and M44 are used to “tell” the PLC that spindle
range 1, 2, 3 or 4 must be selected.
In turn, the PLC must “tell” the CNC the speed range being selected. This will be indicated
by means of the logic inputs for the spindle: “GEAR1 (M5458)”, “GEAR2 (M5459)”,
“GEAR3 (M5460)” and “GEAR4 (M5461)”.
Since to each "S" speed corresponds a spindle range, before selecting a new "S" one must:
2.- If it does, execute the M function corresponding to the new range (M41 thru M44)
in order for the PLC to select it.
3.- Wait for the PLC to select the new range. Check spindle logic inputs "GEAR1"
(M5458), "GEAR2" (M5459), "GEAR3" (M5460) and "GEAR4" (M5461).
To have the CNC perform all these operations automatically, set spindle machine parameter
“AUTOGEAR P6) =YES” to indicate that the range change is to be generated by the CNC.
When selecting an automatic range change, the CNC will inform the PLC of the new range
(M41 thru M44; but it will not execute any subroutine associated with them.
MSTROBE
AUXEND
PLCCNTL
MI-
NAENDW
When the CNC detects a range change, it sends out to the PLC the corresponding M code
(M41 thru M44) via one of the logic outputs "MBCD1-7" (R550 thru R556).
It also activates general logic output "MSTROBE" (M5532) to "tell" the PLC to go ahead
with the execution.
The PLC deactivates CNC general logic input "AUXEND" (M5016) to indicate to the
CNC that it began processing the "M" function.
When requiring spindle oscillation control during a range change, follow these steps:
1.- Indicate, from the PLC, at CNC logic input "SANALOG" (R504) the value of the
residual S voltage to be applied to the spindle drive.
Also, set CNC logic input "PLCCNTL" (M5465) high to let the CNC know that
from this moment on, the PLC is the one setting the analog voltage for the spindle.
2.- From this instant on, the CNC outputs the spindle analog voltage indicated by the
PLC at CNC logic input "SANALOG" (R504).
If the PLC changes the value of the "SANALOG" input, the CNC will update the
analog voltage accordingly.
3.- Once the operation has concluded, the CNC must recover the control of the spindle
back from the PLC. To do this, CNC logic input "PLCCNTL" (M5465) must be set
low again.
Once the requested range change is completed, the PLC must set the corresponding CNC
logic input "GEAR1" (M5458), "GEAR2" (M5459), "GEAR3" (M5460) or "GEAR4"
(M5461) high.
Finally, the PLC will reactivate CNC general logic input "AUXEND" (M5016) indicating
to the CNC that it has finished executing the auxiliary function.
- It converts the speed indicated in degrees per minute at machine parameter "REFEED1"
(P34) into rpm.
The spindle range cannot be changed when operating in M19. It must be selected
beforehand.
* The velocity command for the spindle must be analog (±10V). Spindle machine
parameter "SPDLTYPE (P0) = 0".
* An encoder must be mounted onto the spindle. Spindle machine parameter "NPULSES"
(P13) must indicated the number of square pulses supplied by the spindle encoder.
Also, when switching from open to closed loop, either an "M19" or an "M19 S±5.5" must
be executed.
The S±5.5 code indicates the spindle position, in degrees, from the spindle reference point
(marker pulse).
When switching form open to closed loop, the CNC behaves as follows:
* If the spindle has a home switch, it performs a home-switch search at the turning speed
set by spindle machine parameter "REFEED1" (P34).
It then searches for actual marker pulse (Io) of the spindle encoder at the turning speed
set by spindle machine parameter "REFEED2" (P35).
* If the spindle does not have a home switch, it searches the encoder marker pulse at the
turning speed set by spindle machine parameter "REFEED2" (P35).
Hence, to obtain a resolution of 0.001º, a 90,000 line encoder is required and a 180,000 line
encoder to obtain a resolution of 0.0005º.
Spindle machine parameter "NPULSES" (P13) must indicate the number of square pulses
supplied by the spindle encoder.
In order to be able to use feedback alarm on the spindle encoder, "FBACKAL" (P15), the
pulses provided by the encoder must be differential (double ended) squarewave "DIFFBACK
(P14) = YES".
There are three types of gain. They are adjusted by means of machine parameters and
following the sequence indicated next.
Proportional Gain
It must be set only when operating with acceleration / deceleration (spindle machine
parameter "ACCTIME" (P18) ).
The "Derivative Gain" sets the percentage of analog output applied depending on the
fluctuations of following error.
The "AC-Forward Gain" sets the percentage of analog output proportional to the
feedrate increments (acceleration and deceleration stages).
It must be used only when operating with acc. /dec. (spindle machine parameter
"ACCTIME" (P18) ).
When setting the proportional gain, the following considerations must be taken into
account:
* The maximum amount of following error allowed by the CNC for the spindle is the
value indicated by spindle machine parameter "MAXFLWE1" (P21). When exceeded,
the CNC issues the corresponding following error message.
* The amount of following error decreases as the gain increases, but it tends to make the
system unstable.
It set the percentage of analog output due to the programmed feedrate. The rest depends on
the proportional and Derivative/AC-forward gains.
Programmed
Feedrate Analog
Feedback
For example, if "FFGAIN" (P25) has been set to "80", the spindle analog voltage will be:
3.- Set parameter "MAXVOLT" (P37) to a value 10 times the measured value.
When this additional analog voltage is due to fluctuations of following error, "ACFGAIN"
(P42) = NO, it is called: "Derivative Gain".
Programmed
Feedrate Analog
Feedback
Analog
Programmed
Feedrate
Feedback
Best results are usually obtained when using it as AC-forward Gain, "ACFGAIN" (P42)
= YES together with Feed-Forward Gain.
A practical value between 2 to 3 times the Proportional Gain, "PROGAIN" (P23), may be used.
* Verify that there is no oscillations on following error, In other words, that it is not unstable.
* Check, with an oscilloscope, the tacho voltage or the analog voltage at the drive (velocity
command), verify that it is stable (left graph) and that there are neither instabilities when
starting up (center graph) nor when braking down (right graph).
* Indicate in spindle machine parameter "REFPULSE" (P32) the type of marker pulse
(Io) used by the feedback device.
* Also, indicate in spindle machine parameter "REFDIREC" (P33) the homing direction
to look for that marker pulse.
* Set the spindle machine parameters defining the home switch approaching feedrate
"REFEED1" (P34), and the marker pulse searching feedrate after the home switch has
been found "REFEED2" (P35).
* The machine reference point will be set to "0". Spindle machine parameter
"REFVALUE" (P36).
* Once in the JOG mode and after positioning the spindle in the right area, start homing
the spindle. When done, the CNC will assign a "0" value to this point.
* After moving the spindle to the Machine Reference Zero or up to a known position
(with respect to Machine Reference Zero), observe the position reading of the CNC for
that point.
This will be distance from the Machine Reference Zero to that point. Therefore, the
value to be assigned to spindle machine parameter "REFVALUE" (P36), which
defines the coordinate corresponding to the Machine Reference Point (physical
location of the marker pulse).
"REFVALUE" P36 = Machine Coordinate of the point - CNC reading at that point
Example: If the point whose known position is located 230 mm from Machine
Reference Zero and the CNC reads -123.5º as the coordinate value for this
point, the coordinate of the Machine Reference Point with respect to
Machine Reference Zero will be:
* After allocating this new value to the machine parameter, press SHIFT + RESET or
turn the CNC off and back on in order for this value to be assumed by the CNC.
* The spindle must be homed again in order for it to assume its right reference values.
* If at the time when the home search is requested, the spindle is sitting on the home
switch, the spindle will back up (in the direction opposite to the one indicated by
“REFDIREC (P33) ”) until it is off the switch and then, it will go on to searching home.
* Care must be taken when placing the home switch and when setting feedrates
“REFEED1 (P34)” and “REFEED2 (P35)”.
REFEED 1
REFEED 2
The home switch will be installed so the marker pulse will be found in the zone
corresponding to feedrate “REFEED2 (P35)”.
If there is no room for it, reduce the value of “REFEED1 (P34)”. For example, for encoders
whose consecutive marker pulses are very close to each other.
* When the selected spindle does not have a machine reference (home) switch (spindle
machine parameter “DECINPUT (P31)” = NO), the CNC will move the spindle at the
feedrate set by spindle machine parameter “REFEED2 (P35)” until the first marker
pulse from the current position is found, thus ending the home search.
* FAGOR rotary encoders provide one positive reference pulse per revolution.
* Do not mistake the type of reference pulse being used (positive or negative) with the
type of active flank (up or down) to be used when setting spindle machine parameter
“REFPULSE (P32)”.
1.- Indicate from the PLC at the logic CNC input "SANALOAS" (R509) the amount
of analog voltage to be applied to the drive for the auxiliary spindle.
On the other hand, set logic CNC input "PLCCNTAS" (M5056) high to indicate
to the CNC that from then on, it is going to be up to the PLC to control the analog
voltage output for the auxiliary spindle.
2.- From then on, the CNC outputs the analog voltage indicated by the PLC for the
auxiliary spindle as indicated at the CNC logic input "SANALAS" (R509).
If the PLC changes the value of the "SANALOAS" input, the CNC will update
its analog voltage output.
3.- Once the operation has concluded, the control of the auxiliary spindle must be
returned to the CNC. To do that, the logic CNC input "PLCCNTAS" (M5056)
must be set low.
When the PLC activates this signal, the CNC stops the axes feed and the rotation of
the spindle and it displays the corresponding error message.
The CNC activates this signal to let the PLC “know” that an alarm or emergency
condition has occurred.
There are to ways to cause an emergency at the CNC, by activating the physical input
/EMERGENCY STOP or the general logic input “/EMERGEN” from the PLC.
Whenever any of these signals is activated, the CNC stops the axes feed and the spindle
rotation and it displays the corresponding error message.
By the same token, when the CNC detects an internal malfunction or at an external
device, it stops the axes feed and the spindle rotation displaying at the same time the
corresponding error message.
In both cases, the CNC will activate the /EMERGENCY OUTPUT and /ALARM
signals to indicate to the PLC and to the outside world that an emergency has occurred
at the CNC.
Once the cause of the emergency has disappeared, the CNC will deactivate these signals
to indicate to the PLC and to the outside world that everything is back to normal.
There are two ways to “tell” the PLC that an emergency condition must be treated, by
activating the physical input EMERGENCY STOP of the PLC (which is I1) or the
general logic input “/ALARM” of the PLC which is mark M5507.
In both cases, the treatment of these signals will be up to the PLC programmer. The PLC
program must have the necessary instructions to properly attend to these emergency
inputs and act accordingly.
By the same token, the PLC program must have the necessary instructions to properly
activate the emergency outputs when required.
These emergency signals are the physical output /EMERGENCY OUTPUT (output O1
of the PLC) and the general logic output /EMERGEN” which is mark M5000 of the
PLC.
It must be born in mind that every time a new PLC program cycle is initiated, the real
inputs are updated with the physical inputs. Therefore, input I1 will have the value of the
physical input /EMERGENCY STOP.
Also, before executing the PLC program cycle, the values of the M and R resources
corresponding to the CNC logic outputs (internal variables) are updated as well as mark
M5507 corresponding to the /ALARM signal.
After the execution of each cycle, the PLC updates the physical outputs with the values
of the real outputs except the physical output /EMERGENCY OUTPUT which will be
activated whenever the real output O1 or mark M5507 (/ALARM signal coming from
the CNC) is active.
The SERCOSID parameters for the "C" axis and the spindle must be set with the same
value (same Sercos address).
Use two sets of parameters for the drive, one to work as "C" axis and the other one as
spindle. The "C" axis must always be assigned the last set of parameters (7).
The PLC must handle the change of parameter sets of the drive.
When switching to work as a "C" axis, the CNC lets the PLC know, once the spindle
speed is below the home searching feedrate, by activating the logic spindle output
CAXIS.
The PLC, when detecting that the CAXIS signal has been activated (leading edge),
must select, at the drive, the parameter set to work as "C" axis. This selection is made
through the Sercos "Service Channel".
The PLC, once the change of parameter set at the drive has been confirmed, must
let the CNC know. To do that, it must activate the logic CNC input "CAXSEROK"
M5055, indicating this way that the drive is ready to work as a "C" axis.
From then on, the CNC sends the velocity command to the "C" axis and receives
the "C" axis position signals, all this via Sercos.
On the other hand, when quitting the "C" axis mode, the CNC deactivates the
CAXIS signal. The PLC must select, at the drive, the parameter set to work as a
spindle and let the CNC know by deactivating the logic CNC input "CAXSEROK"
M5055.
The errors that can be detected via Sercos will be identified as those of the axis being
active: Either "C" axis or spindle.
If the "C" axis and the spindle do not share a drive, they will be assigned a different Sercos
identifier "SERCOSID" and no switching will be required via PLC.
The data exchange between the CNC and the drives is carried out at each position loop.
The more data to be transmitted, the more overloaded the Sercos transmission will be. It is
recommended to limit these registers and to leave only the ones absolutely necessary after
the setup.
On the other hand, there is data that MUST be transmitted at each position loop (velocity
commands, feedback, etc.) and other information that could be transmitted in various loops
(monitoring, etc.). Since the CNC must know the priority for those transmissions, from now
on, we will use the mnemonics "Cyclic channel" and "Service Channel" to refer to each of
them.
Cyclic channel: Data transmitted at each position loop (velocity commands, feedback,
etc.)
The type of data to be transmitted must be indicated. The data to be sent
to the drives must be placed in certain PLC registers and the data to be
read from the drives is received in other PLC registers.
The PLC machine parameters "P28" through "P67" indicate which drive and what type
of information will be placed in CNC registers R700 through R739.
The setting format for PLC machine parameters "P28" through "P67" is 1.5
The units digit identifies the Sercos node number to get information from.
The decimal part indicates the Sercos identifier number.
Notes: To identify the units of the variables, see the drive manual.
Read-only registers R700 through R739 are updated at the beginning of the
PLC scan, unless the MRD instruction is used.
PLC machine parameters "P68" through "P87" indicate which type of information has
been put in registers R800 through R819 and which drive will be assigned that value.
The "VelocityCommand" variable can be modified for the axes that have been
selected as DRO axes, by axis machine parameter "DROAXIS (P4)" or via PLC
by activating the logic CNC axis input "DRO1,2,3,..."
The format for setting the PLC machine parameters "P68" through "P87" is 1.5
The units digit identifies the Sercos node number to send information to.
The decimal part indicates the Sercos identifier number.
Note: To identify the units of the variables, see the drive manual.
The Service Channel can only be accessed through a high-level block of a part-
program, a PLC channel or a user channel. All variables can be accessed except the
string type appearing in the Drive manual.
It is recommended to use this feature when the feedback is handled via Sercos
"SERCOSLE=1"
The drive may have up to 8 work ranges or gear ratios (0 through 7). Sercos identifier
218, GearRatioPreselection.
Also, it may have up to 8 parameter sets (0 through 7). Sercos identifier 217,
ParameterSetPreselection.
To select these sets from the CNC, the new write variables must be used:
SETGEX, SETGY, SETGZ.......... for the axes
SETGES ........................................ for the main spindle
SSETGS......................................... for the seconds spindle
The 4 least significant bits of these variables must indicate the work range and the other
4 must indicate the parameter set to be selected.
To send this information to the drive, a high-level block must be executed in a part-
program, PLC channel or user channel as mentioned earlier.
It takes time to the drive to change the parameter set and the gear ratios. That is why a
new PLC mark has been defined SERPLCAC (M5562). This mark will be active from
when the change is requested until the drive assumes the new values.
As long as this mark stays active, no other SETGE* change may be requested because
Example of a machine where its X and Z axis can only be moved one at a time and they
have independent feedback devices.
The analog voltage is always output through the X axis connector (main).
The mark for the secondary axis is SWITCH2 (M5155)
With SWITCH2=0 , analog voltage of the X axis and with SWITCH2=1 that of the Z
axis.
Example of a machine where its X and Z axes can only be moved one at a time. Velocity
and position feedback communication with the servo drive is done via Sercos.
Using the mark for the secondary axis, SWITCH2 (M5155), one can select which axis
the analog voltage and feedback data transmitted via SERCOS correspond to
With SWITCH2=0, analog voltage and feedback data for the X axis.
With SWITCH2=1, analog voltage and feedback data for the Z axis.
When a cycle controls both axes or to move the Z axis manually (jog or handwheel), the
Z axis must be controlled by the CNC.
Since an axis cannot be controlled through 2 execution channels, the CNC must be
"cheated" by calling the axis with two different names.
Although both axes may be displayed, only the Z axis (main) will displayed in this
example.
The velocity command is always output through the Z axis connector (main axis).
The mark for the secondary axis is SWITCH3 (M5205)
With SWITCH3=0 --> velocity command of the Z axis and with SWITCH3=1 that of
the W axis.
PLC Program.
The M40 mark indicates that there is no external emergency (I1) and that the
positioning loop of the axes are closed (NOT LOPEN).
An external switch (I12) turns the reciprocating movement off, PLC execution
channel, and to switch to the main execution channel (M41=1).
To switch from the PLC execution channel to the CNC channel, the PLC channel
must be interrupted (PLCABORT) and one must make sure that the axis has stopped
(INPOS3)
I12 AND (other conditions) = SET PLCABORT = SET M44
M44 AND INPOS3 = M41
When using SERCOS communication with the servo drive, the axis being applied the
velocity command and feedback data is selected by the mark of the secondary axis
SWITCH3 (M5205).
It is not necessary to select any axis as DRO because the feedback devices are
independent.
The following example considers that the "Enabling Push Button" must be pressed when
using the Fagor HBE handwheel.
With the S1 switch, it is possible to select the axis to be jogged with the HBE handwheel.
The S2 switch has four positions. These positions (x1, x10 and x100) must be used when
jogging the axes with this handwheel. The (·) position must be used to move the axes in
continuous jog (the [+] , [-] and [rapid] keys).
There are two types of HBE handwheels, one with 25 lines per turn and the other with 100
lines per turn. Their output signals may be taken to the feedback inputs X1, X2, X3, X4 of
the Axes Module (connector X4 of the center drawing or, as in the case of the 25 line
handwheel to the digital PLC inputs connector X9 of the Axes Module (drawing on the
right).
In the example on the right, the handwheel signals are taken to the digital PLC input. The
following general machine parameters must be set as follows:
HANDWIN (P111) = 17 HANDWHE1 (P112) = 11
The next diagram shows the rest of the connections used in the example.
The emergency button, pins K L, must be used in the safety chain of the electrical cabinet.
PRG
REA
I23 I24
If the HBE handwheel is enabled and the S2 switch is at handwheel JOG 0 0
position (x1, x10 or x100), then handwheel jog x 1 0 1
x 10 1 1
I28 AND (I23 OR I24) = HDWON x100 1 0
I28 AND NOT I23 AND NOT I24 AND CPS SELECTOR GE 8 = JOGON
If handwheel jog (HDWON), R60 is used to store what will be written into the HBEVAR
variable. The "a, b, c" bits indicate the x1, x10, x100 factor for each axis and bit 30 (*) must
be set to "1" in order for the CNC to read the handwheel pulses.
C B A W V U Z Y X
* c b a c b a c b a c b a c b a c b a c b a c b a c b a LSB
Sets the bit (a) of the selected axis to "1". x1 multiplying factor
And finally, the handwheel (*) is enabled, bit 30 of HBEVAR=1, for the CNC to read the
handwheel pulses.
When enabling the handwheel or changing the position of S1 or S2, HBEVAR and its
image register (R61) are updated (refreshed).
If JOG movement (JOGON) and [+] key pressed: "I25", then axis movement in the positive
direction
If JOG movement (JOGON) and [-] key pressed: "I27", then axis movement in the negative
direction.
JOGON AND I27 AND XSEL = AXIS-1
JOGON AND I27 AND YSEL = AXIS-2
JOGON AND I27 AND ZSEL = AXIS-3
JOGON AND I27 AND 4SEL = AXIS-4
JOGON AND I27 AND 5SEL = AXIS-5
JOGON AND I27 AND 6SEL = AXIS-6
JOGON AND I27 AND 7SEL = AXIS-7
If JOG movement (JOGON) and [Rapid] key pressed: "I26", axis movement in rapid.
Safety. When releasing the "Enable Push Button", the STOP command is sent out to the
CNC (100 ms pulse) to stop the possible movement active at the time (for example: 10 mm
in incremental).
Only if the JOG mode is selected and NOT MDI
END
Warning:
It is recommended to save the PLC program and files out to the "Memkey
Card" (CARD A) or to a peripheral device or PC, thus avoiding losing them
due to operator error, module replacement, checksum errors, etc.
The PLC program (PLC_PRG) may be edited at the front panel or copied from the
"Memkey Card" (CARD A) or from a peripheral device or PC.
The PLC program (PLC_PRG) is stored in the internal CNC memory with the part-
programs and it is displayed in the program directory (utilities) together with the part-
programs.
To make the operator life easier and avoid new compilations, the source code generated at
each compilation is stored in memory.
There is an exchange of information between the CNC and the PLC which is done
automatically and the system has a series of commands which allow the following to be
done quickly and simply:
* The reading and modification of internal CNC variables from the PLC.
* Access to all PLC variables from a computer, via DNC and by means of the RS
232 C and RS 422 serial ports.