Jump to content
OMRON Forums

mohsin ahmad

Members
  • Posts

    12
  • Joined

  • Last visited

Posts posted by mohsin ahmad

  1. 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 .

  2. 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.

  3. 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.

  4. 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.

  5. 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
  6. 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.

  7. 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.

×
×
  • Create New...