mohsin ahmad
-
Posts
12 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Downloads
Posts posted by mohsin ahmad
-
-
i am using motor 1 2 and 4.. is there any problem with this configuration?
-
ok fine.. but this is not understandable
->#define THREAD_TIMEBASE_ADR Y:$00350B,0,24,S // I8010 11th entry of modified ECT
->#define THREAD_PROC_BITS_ADR Y:$00350B,20,4 // I8010 11th " " " "
whatever you have sent me i have checked everything is fine and according to standard .so machine should stop stop and wait for trigger pulse while there is no pulse signal wire attached .
one more thing according to manual I8010=$AF8018 for turbo. but in encoder.tab file it is $A78018 this is for pmac style .
-
turbo SRM page 239. i think it says address starts from X.
Triggered Time Base ($9, $A, $B): A triggered time-base entry is like a regular untriggered time-base
entry, except that it is easy to freeze the time base, then start it exactly on receipt of a trigger that captures
the starting master position or time.
In a triggered time-base entry, the first setup line (I-variable) contains a 9 A or B in the method digit (bits
20 – 23), depending on its present state. It contains the address of the source register in bits 0 – 18. The
source register for triggered time base must be the starting (X) address for one of the machine interface
channels of a Servo IC. The bit 19 mode switch must be set to 0 if a PMAC-style Servo IC (DSPGATE)
is addressed; it must be set to 1 if a PMAC2-style Servo or MACRO IC (DSPGATE1 or DSPGATE2) is
addressed. Note that setting bit 19 to 1 changes the second hex digit of the I-variable from 7 to F.
-
Note that I7042 should only ever be 1 or 5. If the trigger is not correct the motion should be locked if triggered timebase is active. Something is not correct in the your code to setup triggered timebase
The triggered timebase is automatically setup in the “standard” files described next.
Thread mode is set in the G32 code which is also called by G76 (see next). The OVERRIDE.PLC looks at this.
LatheA.G:
=======================================================================================
OPEN PROG 1000 CLEAR //(at line 43 in text file)
. . .
// G32 THREAD CUT COORD SYS 1 /////////////////////////////////////////// (at line 1504 in text file)
N32000
READ(X,Z,U,W,E,F)
LINEAR
// Set flag in timebase PLC that indicates we are threading
THREAD_MODE = 1
// thread in linear mode and set slew rate to max
// set timebase to use threading so move is based on spindle revolutions
S_TIMEBASE_M == SEL_TIMEBASE_THREADING
TIMEBASE_M == THREAD_TIMEBASE
TIME_BASE_SLEW_I = MAX_SLEW
CS1_TIMEBASE_UNITS_I = 60000/VS_SPINDLE_MAX_LIM_M
VS_GGROUP1_1_M == 32
. . .
// arm thread process bits so thread cut starts on the (at line 1528 in text file)
// index pulse ( encoder C chanel) of the spindle encoder (the spindle looks for the arming to start the timebase)
(see SPINDLE.PLC below)
THREAD_PROC_BITS_M=$9
. . .
// G76 Multiple Repetitive threading (at line 2129 in text file)
//----------------------------------
N76000
READ(X,Z,U,W,I,E,F,R,P,Q,D) ; ALL MUST BE PASSED SO NO NEED TO CHECK
// X : Thread dia or radius
. . .
GOSUB 32000 X(X_POS) Z(Z_POS) U(X_RELIEF) W(Z_RELIEF) F(F_ARG_Q) E(F_ARG_Q) //(line 2267 & 2309)
. . .
CLOSE (line 3135)
//---------------------------------------------------
// This code is generated by Setup Program based on Axis information.
//STARTMOTIONPROG Position reporting program
The OVERRIDE plc uses the flag “THREAD_MODE” to setup PMAC for timebase also.
OVERRIDE.PLC:
=======================================================================================
OPEN PLC OVERRIDE CLEAR //(line 14)
WHILE (1<2)
. . .
IF (S_ROVRD_M != SEL_ROVRD_FEED) //(line 39)
AND(FPR_MODE_P = 1 OR THREAD_MODE = 1)
AND(S_SPND_M!=SEL_SPND_OFF)
AND(ABS(VS_SPINDLE_ACT_RPM_M)>5)
CS1_TIMEBASE_UNITS_I = MINUTES_MS / VS_SPINDLE_MAX_LIM_M
IF (TIMEBASE_M != THREAD_TIMEBASE)
AND(THREAD_MODE>0)
TIME_BASE_SLEW_I = MAX_SLEW
S_TIMEBASE_M = SEL_TIMEBASE_THREADING
TIMEBASE_M = THREAD_TIMEBASE
. . .
CLOSE //(line 86)
SPINDLE.PLC:
=======================================================================================
OPEN PLC SPINDLE CLEAR //(at line 13)
VS_SPINDLE_COUNTS_REV_M = 2000.00000 //(make seure these are correct for your spindle)
VS_SPINDLE_MAX_RPM_M = 6000
VS_SPINDLE_MAX_LIM_M = 6000
. . .
// ----------------Time Base Monitoring for Threading --------------- (line 40) .
IF (THREAD_PROC_BITS_M = $9)
THREAD_PROC_BITS_M = $B
ENDIF
. . .
// ----------------Spindle Speed WRT Spindle OVERRIDE --------------- . (line 96)(calculates thread scale)
SPINDLE_TEMP = SPINDLE_TEMP * VS_SPINDLE_OVERRIDE_M * 0.01
VS_SPINDLE_CMD_RPM_M = SPINDLE_TEMP
IF (VS_SPINDLE_CMD_RPM_M > VS_SPINDLE_MAX_RPM_M)
VS_SPINDLE_CMD_RPM_M = VS_SPINDLE_MAX_RPM_M
ENDIF
RTIF = VS_SPINDLE_COUNTS_REV_M*VS_SPINDLE_MAX_LIM_M/60000
IF (RTIF > 0)
IF (S_SPND_M = SEL_SPND_CW)
THREAD_SCALE_M = 16384 / RTIF
FPR_SCALE_M = 131072 / RTIF
ELSE
. . .
CLOSE //(line 151)
if you see this example it is using in ect $AF8018 for motor 4. but in my case it is $A7804. but i am using turbo pmac so it should be $AF8018.
Setup On-line Command
I8008=$AF8018 ; Triggered time base from PMAC2 channel 4
I8009=64 ; TBSF=16384/256
I7042=1 ; Servo IC 0 Channel 4 trigger on rising index
I5193=@I8009 ; C.S.1 use I8009 result for time base
M403->X:$07801B,0,24,S ; Channels’ captured position register
Motion Program Segment
DWELL 0 ; Stop any lookahead
I8008=$9F8018 ; Freeze the time base
P403=M403 ; Dummy read to ensure capture logic reset
X10 ; Calculate first move
PLC Program Segment
IF (I8008=$9F8018) ; If frozen
I8008=$BF8018 ; Then arm
ENDIF
and in OEM.H there are definitions for ECT
#define RAPID_TIMEBASE2 $0010F3
->#define THREAD_TIMEBASE_ADR Y:$00350B,0,24,S // I8010 11th entry of modified ECT
#define THREAD_TIMEBASE $00350C // I8011 12th entry of modified ECT
->#define THREAD_PROC_BITS_ADR Y:$00350B,20,4 // I8010 11th " " " "
#define THREAD_SCALE_ADR Y:$00350C,0,24,S // I8011 12th " " " "
#define FPR_TIMEBASE $0010F4 // Open Usage Register
#define FPR_TIMEBASE_ADR X:$0010F4,0,24,S
#define SPND_TIMEBASE_ADR X:$00350A,0,24,S // I8009 10th entry of standard ECT
#define FPR_SCALE_ADR Y:$00350A,0,24,S // I8009 10th entry of standard ECT
// the above uses ENCODER 4 by default
if you follow the arrow key . i think there is a problem in address.
-
Is the lead off by the exact amount (within the specs of the machine) every rev of the spindle?
steave i have checked it by removing the c channel pulse signal wire . still machine goes to threading mode . it means machine does not wait for c channel pulse. if it does not check c channel pulse then how it will make the healthy threads.
-
Is the lead off by the exact amount (within the specs of the machine) every rev of the spindle?
-
i have something in my mind to ask you about. its a very basic question. how clipper reads the logic. like i am using opkon rotary encoder. if channel pulse of encoder is high what does clipper reads it ? would it reads low or high? i mean 5volt output pulse
-
yes. i think so. some times it does not shift or off track. the shift is almost the same. some times shift is +ve and some times shift is in -ve.
-
i am facing problem while i am trying to make threads on my lathe. actually it goes off track or its path while in threading mode.i have tried g32 and g76. here is my configuration for spindle and z axis. z axis has no backlash , max following error 0.003mm. ixx28=0, 10000 counts/ revolution.
for spindle
encoder counts 4096/rev
max spindle speed 1875rpm
i7042=3
i've checked c channel pulse .its fine and updating.
but problem is still there. threading goes off track about 0.1mm every round.
-
i am facing problem while i am trying to make threads on my lathe. actually it goes off track or its path while in threading mode.i have tried g32 and g76. here is my configuration for spindle and z axis. z axis has no backlash , max following error 0.003mm. ixx28=0, 10000 counts/ revolution.
for spindle
encoder counts 4096/rev
max spindle speed 1875rpm
i7042=3
i've checked c channel pulse .its fine and updating.
but problem is still there. threading goes off track about 0.1mm every round.
-
do we have Mitsubishi SSCNET protocol compatibility with turbo clipper?
PMAC CNC Lathe Threading Problem
in PMAC NC PRO2
Posted
problem was in ECT entry for time base. just change that entry and every thing is fine now.