cmcdonald
-
Posts
23 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Downloads
Posts posted by cmcdonald
-
-
Try disabling the ethercat. Then try the commands.
Ecat[0].enable=0
I had the same thing. I had to use the ecatTypedSDO instead.
Chris
-
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
-
If I am not commutating can the UVW inputs (J7 MMACH3)be used for general purpose input?
I'm using a Turbo Clipper.
Thanks
Chris
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
I read that PMAC-NC Designer is only compatible with window XP.
Has anybody gotten the NC software to run on an Windows 7 32 bit machine?
Thx
Chris
-
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
-
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
-
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
-
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
-
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
-
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
Downloads
in Turbo PMAC
Posted
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