Jump to content
OMRON Forums

kramrellim

Members
  • Posts

    30
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by kramrellim

  1. Machine running for many years and now getting random

    errors.

    Global Status Resister

     

    Bit 22 RTI re-entry error

    Bit 20 Servo Error

    Bit 6 TWS varible parity error.

     

    Reset and may run for days without an error.

  2. It sounds like your registry was not setup correctly during the initial use of the NC Setup application. I can send you the proper default registry setup via email.

     

    Still having some issues. I'm tying to use G61.1 Xxxx Yxxx Zxxx Bxxx Dxxx Rxxx Fxxx

    The code is running but the NC is not passing all the variables.

    I copied all the passed vales for debugging.

    I'm not getting X Y Z D R values.

     

    Here is my code:

     

    //--------------------G61.1----------------

    ; G61.1

     

    N61100

    @SET_ON(VS_GGROUP20_1_M,2)

    READ(B,F,X,Y,Z,D,R)

    VS_GGROUP9_1_M == 81

    ; check for X,Z,D,F is passed

    ;

    ;IF(Q100 & $2 > 0 AND Q100 & $8 >0 AND Q100 & $20 > 0 AND Q100 & $1000000 > 0 AND Q100 & $800000 > 0 AND Q100 & $2000000 > 0)

    Bcalc = B_ARG_Q +90

    Btemp = B_ARG_Q

    Xtemp = X_ARG_Q

    Ytemp = Y_ARG_Q

    Ztemp = Z_ARG_Q

    Rtemp = R_ARG_Q

    Dtemp = D_ARG_Q

    X_POS = X_ARG_Q - (SIN(Bcalc) * D_ARG_Q)

    Z_POS = Z_ARG_Q - (D_ARG_Q - (COS(Bcalc) * D_ARG_Q))

    IF(Q100 & $20000 > 0) ; R word passed a offset is used

    P1722 = R_ARG_Q

    X_POS = X_POS - ((SIN(Bcalc) * R_ARG_Q))

    Z_POS = Z_POS + (COS(Bcalc) * R_ARG_Q)

    ENDIF

    F(F_ARG_Q)

    GOSUB 1000

    X(X_POS) Y(Y_POS) Z(Z_POS) B(B_POS)

     

    ;ENDIF

    @SET_OFF(VS_GGROUP20_1_M,2)

    RETURN

  3. Hello,

     

    I have a setup of Turbo PMAC with Arduino.

    With the arduino mega board, i have stacked with ethernet shield with it.

     

    I've setup the PMAC ip address (169.254.16.195) and a default port no (1025).

    Mode: TCP, board: PC104.

     

    And the arduino ip address is 169.254.16.194, as client.

     

    i don't see the ethernet port LED lighting up on both devices (PMAC or Arduino).

    if i plug PMAC to computer, i can see the ethernet port lighting up. Same as arduino board, when i plug the ethernet from arduino to computer, it lights up too. but when i connect from pmac to arduino, no sign of any indication.

     

    Is there anything i've missed?

     

    i would like to use the arduino board to send simple commands like p23=100.

     

    I have machines running where I have an arduino connected to a Umac via the second serial port. I use a serial level shifter on the arduino side and the second serial port on the Mega. The same can be done using the Pmac primary serial port.

    • Like 1
  4. I would like to turn tool tip type programming on and off

    in a part program. When the NC is launched it sets the motor scaling.

    Of course to use kinematics the motors are set to I (#1->I)

    Is there a suggested method to switch in and out of kinematic when running

    the NC pro2 software?

  5. We are not aware of any problems with this G-code. Can you provide the details of your issue?

     

     

    G17

    G68 X20 Y10 Z-8 R45 Works. Rotation about the Z axis(XY plane)

    G91

    G01 X1.0 F20.0

    Y1.0

    X-1.0

    Y-1.0

     

     

    G19

    G68 X20 Y10 Z-8 R45 Works. Rotation about the X axis(ZY plane)

    G91

    G01 X1.0 F20.0

    Y1.0

    X-1.0

    Y-1.0

     

    G18

    G68 X20 Y10 Z-8 R45 No rotation X and Y move as programmed No Z movement

    G91

    G01 X1.0 F20.0

    Y1.0

    X-1.0

    Y-1.0

  6. There are 2 possible solutions for this, but no one has tried them, so you might have to experiment on them and see the result.

    1.

    You can use PLC0 or PLCC0 to calculate the vector components of this XY vector, and use the components as the cascaded outer loop feedback on the corresponding motors.

    Say, your tool tip is at a theda angle, and the XY components might be [cos(theda), sin(theda)], depending on how theda is defined.

    If the distance you want to maintain is L, then the movement on X and Y should be [L*cos(theda), L*sin(theda)]

    So your height sensor can give you a value related to this L distance, and the 2 components, X and Y distance, can be feedback to cascaded loop on 2 different motors.

    Of course, the tuning will be a big challenge to maintain not only the distance, but also the proper ratio between the 2 components.

     

    2.

    Use kinematics without lookahead.

    You will need to calculate the move components according to the sensor reading, and then use that to update the "offset" you will have on each axis.

    Similar idea as option 1, but this one will take care of the component ratio correctly.

     

    I'm doing this with PLC 0 and is working fine.

  7. The NC will only “modify” the triggered time-base entry for the spindle encoder during certain Lathe threading G-codes. For a four axis PMAC this is usually entry #5. For an eight axis PMAC this is usually entry #9.

     

    Steve,

    Yea I found the setting in the OEM.h file setting up those table entries.

    Got it squared away.

  8. The "feed per rev" feature is automatically setup in the generated code by NC Setup. There are many places where this is placed into the code. To do this manually is not recommended nor is it documented. NC Setup should allow the setting for Max RPM. Do you get an error response?

     

    The NC Setup program would not allow a value of 300 in the Max rpm field.

     

    I realize the spindle.plc and override.plc are created automatically by the NC setup.

    I don't want to edit them. The address mapping does not seem to be changed in the OEM.h file based on the infomation supplied in the NC Setup program. The Nc setup

    program does not ask about the Encoder registry that you are using.

  9. I need some help setting up the Feed per Rev with the NCpro software.

    Here's what I have.

    Umac

    Motor #5 is my spindle. Max speed is 300rpm. I have 270000 cts per rev.

    I'm processing the encoder in the encoder conversion table at entry #15

    "Timebase conversion with scaled differentiation" The processed data Address is $3515.

     

    Looks like there are some addressing in the OEM.h file that needs to be changed?

     

    Also, The NC setup will not allow a Max rpm of less than 1000. I force this value

    in the spindle plc.

     

    Any help would be appreciated.

  10. There are 2 possible solutions for this, but no one has tried them, so you might have to experiment on them and see the result.

    1.

    You can use PLC0 or PLCC0 to calculate the vector components of this XY vector, and use the components as the cascaded outer loop feedback on the corresponding motors.

    Say, your tool tip is at a theda angle, and the XY components might be [cos(theda), sin(theda)], depending on how theda is defined.

    If the distance you want to maintain is L, then the movement on X and Y should be [L*cos(theda), L*sin(theda)]

    So your height sensor can give you a value related to this L distance, and the 2 components, X and Y distance, can be feedback to cascaded loop on 2 different motors.

    Of course, the tuning will be a big challenge to maintain not only the distance, but also the proper ratio between the 2 components.

     

    2.

    Use kinematics without lookahead.

    You will need to calculate the move components according to the sensor reading, and then use that to update the "offset" you will have on each axis.

    Similar idea as option 1, but this one will take care of the component ratio correctly.

     

    I think I'm going to try option 1. I think may very well work.

  11. it would be better to use kinematics to do this since the relationship involves sin and cos non-linear functions.

    You won't be able to use position following in this case since the scale factors Ixx07, Ixx08 can only be integers.

    There is not enough resolution to follow the table correctly.

    It still only clear how the machine should work.

     

    Is the tool tip moving in XZ plan and trying to maintain constant gap between the tool tip and the table?

    What is the gap direction?

     

    Usually, if the gap is only in one direction, say Z axis, then cascade loop can be implemented to maintain specific gap distance.

     

    If the tool was always in the z axis direction then a cascade loop would be easy, and I have done this before. The tool is not always in the Z direction, it could be in the X, or Y direction , or at some angle in between.

     

    Using kinematics may be a problem. Correct me if I'm wrong but with look a head active the kinematics is plotting motor positions well ahead of the current motor positions. The gap sensor is measuring the current gap distance. I guess I could setup the look a head to small number of segments and use the kinematics. I just know how well that would work.

  12. I am not quite sure what you are asking here, but of course you can multiply by scale factors to adjust scaling in your kinematic equations. Attached is an application note that gives an example of tracking a rotary table in kinematics -- I hope it is useful for you.

     

    This is a gap sensor to maintain a distance from a metal object. I'm talking about nested loops. I have converted the sensor input to a position that position is the gap distance. I want to use the master following. but at an angle which involves more than one axis.

  13. It is ok to have multiple motors following the same master.

    However, the following is working on motor position, not axis position.

    If you have a robot with 3 axes, and you want to robot to follow the table, then you can't use position following.

    In this case, you need to use kinematics feeding table position to kinematics calculation to achieve that.

     

    If I have a rotary axis that rotates about the Y axis. Lets call it B axis. And B axis at zero degrees is with the tool pointing in the Z axis pane. The following is Z axis only.

    Now if the B axis is at lets say 30 degrees. Both the X and Z need to follow, but of course at different anounts of movement. Can I multiply the master scaling by the SIN and COS to achive the proper following?

  14. If you are working within the PMAC NC PRO2 environment you must enable user g-codes through the Windows registry, otherwise the codes will not pass through the parser. Please refer to the "How to Add/Modify User G, M or T Code" in the PMAC NC Pro2 manual.

     

    I looked in the registry. I did not see the entries mentioned in the manual.

    Do you have to add the entries?

    see attached registry backup.

    NCREGISTRY.txt

  15. System was running fine.

    Now whenever I switch into Auto mode or MDI mode I get this alarm

    "Syntax Fatal: Can Not Close Rotary Buffer! File C:\Part Progams\......"

     

    I noticed the rotary buffer display on the NC display "Buffer Closed" "0/0"

     

    This alarm locks up the NC software!

  16. NCpro 5.2 running on Win7.

     

    Everything seems to work but the program rewind button.

    Is this button handled through a PLC or is it handled from within the

    front end Nc program?

    If it is handled through a plc, which one, were?

    Can program rewind be activated from a plc if I want to have some

    event cause a rewind?

     

    Mark

  17. NCpro 5.2 running on Win7.

     

    Everything seems to work but the program rewind button.

    Is this button handled through a PLC or is it handled from within the

    front end Nc program?

    If it is handled through a plc, which one, were?

    Can program rewind be activated from a plc if I want to have some

    event cause a rewind?

     

    Mark

  18. I have made an app note which explains how to read/write to main/auxiliary serial ports on Turbo PMAC including examples for each of the cases.

     

    This file is also available in FileDepot under file name "Direct Access to Turbo PMAC’s Serial Port Buffers.PDF"

     

    Sina,

    I've tried these out and they seem to work so far except I have one

    problem. I'm only sending one value If I set P3001 to the following and set P3000=1 this is the results

    I removed the CR an LF chars at the end.

    P3001=12345 49 50 51 52 53 looks OK

    P3001=9999 57 57 57 57 Ok

    P3001=1000 49 48 48 48 Ok

    P3001=10000 58 208 34 188 46 183 Bad

    P3001=11111 49 49 49 49 49 Ok

     

    Got any ideas what could be causing this?

     

    Mark Miller

  19. I have loaded and tested it in Win8 64bit and works fine.

    I've only worked with Pewin...

    mike

     

    Mike,

    I can't update the driver on a windows 8.1 machine. The device manager sees the Umac. But I get an error when I try to update the drive.

    I downloaded the lastest drivers and pwinpro2 from the website.

    See image

    Mark

     

    Screenshot%20(2).png

×
×
  • Create New...