Jump to content
OMRON Forums

cmcdonald

Members
  • Posts

    23
  • Joined

  • Last visited

Posts posted by cmcdonald

  1. Where can I find a download for PeWin32 Pro? The Delta Tau web site now forwards to Omron website and I cant find anything with their search.

     

    THanks

     

    Chris

  2. Hall sensors are typically used for power-on absolute phase position. Occasionally, they are used for on-going phase position as well (low resolution feedback).

    So, if you are not commutating, yes, you should be able to use the UVWT as general purpose inputs.

     

     

    Thanks.

     

    Chris

  3. Does anybody have a good way to hand G20 and G21 inside the Prog1000 for Gcode implementation?

     

    I have a customer that had inch and metric g code files and refuses to convert them to one standard.

     

    Thanks

     

    Chris

  4. Does anybody have a good way to hand G20 and G21 inside the Prog1000 for Gcode implementation?

     

    I have a customer that had inch and metric g code files and refuses to convert them to one standard.

     

    Thanks

     

    Chris

  5. Most people who do this assign M-variables to the instantaneous desired velocity registers for each axis, then take the vector sum. This works better than noisy instantaneous actual velocity values.

     

    For example, define:

     

    M160->X:$86,0,24,S ; Motor 1 instant cmd vel register

    M260->X:$106,0,24,S ; Motor 2 instant cmd vel register

     

    Then in a PLC program:

     

    P60=SQRT(M160*M160+M260*M260) ; Instantaneous vector velocity

    M4602=P60*P61 ; Scale and output

     

     

     

    I think M160 and M260 have to be multiplied by 3/(I108*32) to get into counts/mS

     

    Chris

  6. No, Mxx62 is my actual position. I need to compare the captured position from Mxx03 which rolls over sooner than Mxx62.

     

    I may have to come up with another approach to keep Mxx62 and Mxx01, Mxx03 in sync so i can do calculations.

     

    Is there a way to 'Zero' Mxx01?

     

    Chris

     

     

    Hi Chris,

     

    does looking at Mxx62 help? (It is *32) It keeps counting but not sure if it rolls over eventually.

     

    P

  7. Actually M101 (ENC1 24-bit counter position) rolls over so when I use the captured position there is no way that I know of to reference the current position. Anybody know of any tricks?

     

    Chris M

     

     

    I have an application that has a belt with a trigger that I capture the encoder position. This seems to work well until I have to preform a HOMEZ on the belt to ensure i don't rollover on the position counter.

     

    The problem is when i use HOMEZ the Encoder home capture position is not updated so i have NO reference from the Encoder Capture position to the actual position anymore.

     

    Does anybody have a solution?

     

    Thanks

     

    Chris

  8. I have an application that has a belt with a trigger that I capture the encoder position. This seems to work well until I have to preform a HOMEZ on the belt to ensure i don't rollover on the position counter.

     

    The problem is when i use HOMEZ the Encoder home capture position is not updated so i have NO reference from the Encoder Capture position to the actual position anymore.

     

    Does anybody have a solution?

     

    Thanks

     

    Chris

  9. Hi Chris,

    Does your S7 Modbus gateway accept multiple simultaneous Modbus clients?

    If yes - What happens if you connect the PC software first, then try to connect with the Clipper?

     

    Regards,

    Steve

     

    Yes it does. But it has to use a different port.

     

    The S7 requires another Modbus Server Rung. We are still having random Modbus disconnects (1-2 a day) and are in the process of using the PC software to check if the Modbus server is working on port 502 but we cant access 502 because the clipper is connected constantly. I would like to connect get data then disconnect from the server but Im not sure if that is possible.

     

    Chris

  10. I have a clipper set up successfully as a Modbus Client to a Siemens S7-1200 (Server). Once I introduce another device (pc software)on the network it cannot connect unless i unplug the Ethernet connection to the Clipper.

     

    It seems that the clipper is holding the connection to the PLC. I have tried to increase the Timer in the MODBUS command setup but it seems to stay connected to the PLC all the time thus blocking any connections to the PLC.

     

    Is there a way to have the Clipper disconnect so that other devices can connect to the server?

     

    Thanks

     

    Chris

  11. You can issue a "HOMEn..." command in a motion program - this is OK. it will home the motor in the same fashion as the motor on-line command.

     

    Where do you see the "open buffer" message?

     

    Is the Position window. I also see an RTI error in the Global Stats tab.

     

    What can cause and RTI error?

     

    Chris

  12. We have a Motion Program that Homes a X Y Y' gantry. Our PC HMI initiates the homing program (It completes fine)then POLLS the P_HOMING_ROUTINE_COMPLETE bit (P50) to see if the homing is complete. IN PWIN We often get a Buffer is Open message while the machine is homing and we cannot poll for the P_HOMING_ROUTINE_COMPLETE bit. I can manually type CLOSE in the terminal and it will close the buffer.

     

    My question is what internally happens inside the controller when a HOME command is used? When I remove the last 'final' home command I do not have this buffer open

    [/php]issue.

     

    Thanks

     

    Chris McDonald

     

     

     

    #include

     

     

     

    OPEN PROG 101 CLEAR

    P_HOMING_ROUTINE_COMPLETE=0

    P_MOTOR1_HOME_STATUS = 1

    P_MOTOR2_HOME_STATUS = 1

    P_MOTOR3_HOME_STATUS = 1

     

    IF (ESTOP_Button=1) ; IF ESTOP IS ON DON'T HOME

    ;mathias #2 home plc

     

     

     

     

     

    I325=$78010 ; USE MOTOR 3 LIMITS TO HOME

    I126=16000 ;Motor 1 - Home Offset 1mm

    dwell10

    IF (MLIM1_flag=1) ;motor 1 at home?

    dwell10

    I123=50 ;reverse homing

    I7012=10 ;look for falling edge

    HOME1 ;reverse home

    dwell10

    ENDIF

    IF (MLIM2_flag=1) ;MOTOR 2 already at home?

    dwell10

    I223=50 ;reverse homing

    I7022=10 ;look for falling edge

    COMMAND"#3k" ;kill motor 3 to prevent lock up

    HOME2 ;reverse home

    dwell50

    COMMAND"#3J/" ;renable motor 3 after home

    ENDIF

    I325=$78010

    IF (MLIM3_flag=1) ;MOTOR 3already at home?

    dwell10

    I323=50 ;reverse homing

    I7032=10 ;look for falling edge

    COMMAND"#2K" ;KILL MOTOR 2 TO PREVENT lockup

    HOME3 ;reverse home

    dwell50

    COMMAND"#2J/" ;renable motor 2 after home

    ENDIF

     

     

     

    I120=200 ;Motor 1 HOME TA

    I121=50 ;Motor 1 HOME TS

    I123=-100 ;Motor 1 Homing Speed And Direction

    I7012=2 ;Servo IC 0 Channel 1 Capture Control

    I7013=2 ;Servo IC 0 Channel 1 Capture Select Control

    I126=-16000 ;Motor 1 - Home Offset 1mm

    ;I226=111072 ;Motro 2 - Home Offset 3501 um

    I226=-1000 ;(611+2000)*16

     

    I220=200 ;Motor 2 HOME TA

    I221=50 ;Motor 2 HOME TS

    I223=-100 ;Motor 2 Homing Speed And Direction

    I7022=2 ;Servo IC 0 Channel 2 Capture Control

    I7023=2 ;Servo IC 0 Channel 2 Capture Select Control

     

    ;I326=109696 ;Motor 3 - Home Offset 6946 um

    I326=-16000 ;

     

    I320=200 ;Motor 3 HOME TA

    I321=50 ;Motor 3 HOME TS

    I323=-100 ;Motor 3 Homing Speed And Direction

    I7032=2 ;Servo IC 0 Channel 3 Capture Control

    I7033=2 ;Servo IC 0 Channel 3 Capture Select Control

     

     

     

     

     

    DWEll10

    HOME1..3

    dwell10

    I120=200 ;Motor 1 HOME TA

    I121=50 ;Motor 1 HOME TS

    I123=10 ;Motor 1 Homing Speed And Direction

    I7012=10 ;Servo IC 0 Channel 1 Capture Control

    I7013=2 ;Servo IC 0 Channel 1 Capture Select Control

    I126=16000 ;Motor 1 - Home Offset 1mm

    ;I226=111072 ;Motro 2 - Home Offset 3501 um

    I226=16000 ;(611+2000)*16

     

    I220=200 ;Motor 2 HOME TA

    I221=50 ;Motor 2 HOME TS

    I223=10 ;Motor 2 Homing Speed And Direction

    I7022=10 ;Servo IC 0 Channel 2 Capture Control

    I7023=2 ;Servo IC 0 Channel 2 Capture Select Control

     

    ;I326=109696 ;Motor 3 - Home Offset 6946 um

    I326=16848 ;

     

    I320=200 ;Motor 3 HOME TA

    I321=50 ;Motor 3 HOME TS

    I323=10 ;Motor 3 Homing Speed And Direction

    I7032=10 ;Servo IC 0 Channel 3 Capture Control

    I7033=2 ;Servo IC 0 Channel 3 Capture Select Control

     

     

     

    DWEll10

    HOME1..3

     

     

     

     

    P_MOTOR1_HOME_STATUS = 0

    P_MOTOR2_HOME_STATUS = 0

    P_MOTOR3_HOME_STATUS = 0

    P_HOMING_ROUTINE_COMPLETE=1

     

    ;SENDP"Homing X, Y End"

     

    I124=$8001 ;enable limits for motor1 AND ENABLE AMP FAULT

    I224=$8001 ;enable limits for motor2 AND ENABLE AMP FAULT

    I324=$8001 ;enable limits for motor3 AND ENABLE AMP FAULT

    ;I325=$78008 ; USE MOTOR 2 LIMITS

    I114=-1 ;Motor 1 - Software Position Limit

    I214=-1 ;Motor 2 - Software Position Limit

    I314=-1 ;Motor 3 - Software Position Limit

    I113=1229566 ;set pos limt 48.4"

    I213=945657 ;set pos limt

    I313=945657 ;set pos limt

    ELSE

    P_HOMING_ROUTINE_COMPLETE=0 ; FAIL Homing

    ENDIF

     

    CLOSE

  13. Is there a way to to create a deployment package just to install PCOM server and its support files and PWIN only?

     

    We are trying to create an installation disk for our software (we do have the development package) but I don't want our customers have to install the full suite.

     

    Thanks

     

    Chris

  14. Is there a way to get a axis definition into a P or M variable?

     

     

    I want to a plc to calculate a scale factor based on the axis definition. I have several machines that i want to update and they have different axis definitions (gear ratios) for motor 1 and motor 2.

     

    Thanks

     

    Chris M

  15. Remember that Lookahead will not change your trajectory, so you still can cut the same trajectory but limit your Velocity and Acceleration within Ixx16 and Ixx17.

     

    Your question of How much TA/TS need to be increased depends on what you want to achieve by that. If your blending in on, TA/TS will change your trajectory and has to be set differently for different shapes. The formula for 90 degree corners is TA=2*Radius/Feedrate, If that is what you are looking for.

     

     

    Since we have tight tolerances to hold to, its best we don't change the trajectory of the path at all. With my experimentation the TA/TS value to get the fastest cycle time with lowest following error shows that A low TA/TS (20/10) and A feedrate of 500 mm/s works well with laser cutting a 1mmx1mm square but if I run a 100mmx100mm square at the same TA/TS and feedrate i get alot of 'jerk' or knocking in the corners and my following error goes up. SO I need to rincrease the TA/TS of the larger squares to get the fastest cycle time.

     

    I need a way to do this automatically or is there a feature in the controller to help this?

     

    Is there a way to factor in the length of travel in to this formula TA=2*Radius/Feedrate? It seems i would get the same results for a 1mm square or a 100mm square.

     

    I've also experimented with turning the blending on and use the following settings so that we blend certain LINEAR moves that are over a certain angle. Does this work well enough?

     

    Isx82 Coordinate System ‘x’ Blend Disable Dwell Time

    Isx83 Coordinate System ‘x’ Corner Blend Break Point

    Isx85 Coordinate System ‘x’ Corner Dwell Break Point

     

    Thanks

     

    Chris

     

  16. I am not sure what exactly you want to achieve. For your longer moves you have to increase your TA/TS to avoid the high jerk. This is usually done by a fixed number calculated by user. You can also define some variables (like P variables) and calculate these P variables in a PLC and then implement them in your TA and TS like TA(P1).

     

    If you clarify more what you want to achieve, we might be able to help you better.

     

     

    We are doing this manually and it works. I was wondering if there was some formulas out there to calculate how much to increase TA/TS. Some of our customers have 1000's of different shapes and sizes so we want this done automatically.

     

    Thanks

     

    Chris

     

  17. Using lookahead might be a better solution to this issue. Your corner sizes will be defined by TA and TS but the CS will not violate Ixx16 and Ixx17.

     

    I am already using the look ahead feature. I'm using I5113=5 and I5120=50. And because it is important to hold the cutting path we are using DWELL0 on most of the LINEAR moves.

     

    Chris

     

  18.  

    I am working on a high speed laser cutting application using linear motors. We are controlling X X' & Y gantry and we are using the Linear and circle commands. With this application we have a lot of small moves mixed in with larger moves. These small moves need a Low TA TS for the smaller moves to complete quicker. When we use a the same TA TS for the larger moves we get a lot of jerk in the system. I was wondering if anybody has some experience the dynamically changing the TA/TS to eliminate Jerk based the type of move. The goal is to optimize the cycle time with the least jerk and following error.

     

    Thanks

     

    Chris

     

     

     

  19. Hi, I'm working with the binary rotary buffer using the [i]DPRAsciiStrToRotEx[/i] function (i.e. [i]DPRAsciiStrToRotEx(dwDevice,str,coordSys,sendImmediate,status)[/i]), but it doesn't seem to work and I'm getting a [i]-70[/i] for the "status", for which I can't find the specific reference in the documentation. In the documentation, it seemingly suggests that it is a conversion issue, but the same program lines have worked fine previously. I'd like to know what error that status value implies and how to fix it. Thanks, Chris
  20. I have an application that controls the position of a sheet of glass with 2 conveyors. Motor 2 and Motor 3 and their encoders are hooked up as normal. I have the motors in the same coordinate system (Y) . No I want a master encoder (wired to the HandWheel A+/A- B+/B-) that will roll on top of the glass to have final control over the position of the glass in case of slippage on the conveyor. How do I set up my 2 motors to use this master encoder? I'm rather new to the Turbo Pmac (using a clipper). Thanks Chris
×
×
  • Create New...