AB Ultra 5000 help

cboswell

Member
Join Date
Aug 2010
Location
Peterborough
Posts
3
Hi
I need some help with my code below, the code moves a label web and stops inbetween the web using a sensor.
My problem is with the stopping at the end of this code.
Fisrt problem was when i stop the drive with the sensor it will then not start again due to the sensor being active .
To overcome this i added a small move at the end to index on to the next label which the covers the sensor and allows me to move again on the next trigger. Something is wrong with this as its not reaching full speed.
What i would like is for the sensor to just stop the motion but then allow the main routine to run again for the next product.
Any help advise would be very appreciated.


OK code*****************************************************
if (LatchTriggered(3))// && LongArrayGetElement(CntrlRun))
{
if(!OutputGetState (5))
OutputSetState(Out5,ON);
if (LatchGetOutput(3) + FloatArrayGetElement(FOffset) - TargetPos[Put-2] >= FloatArrayGetElement(Debounce))
{
TargetPos[Put-1] = LatchGetOutput(3) + FloatArrayGetElement(FOffset);
Put++;
if (Put >= 100)
Put = 1;
}
//if(LongArrayGetElement(CntrlRun))
LatchOnInput(3,ProductSensor,TRUE);
}
if (Put != Get)// && LongArrayGetElement(CntrlRun))
{
if ((EncoderGetPos(2) - TargetPos[Get-1] >= 0) && !CamIsEnabled())
{

CamOpenTable(1,2,5);
CamConstantVelocity(MstrRunDist,MtrRunDist);
CamCloseTable();

CamEnable();


Get++;
if (Get >= 100)
Get = 1;
}
}
************************************************************
Need help with below **************************************

if(InputGetState(LabelSensor))
{ CamDisable();
MoveSetAcc(FloatArrayGetElement(JogAccDec) / SlaveCount); // Set move parameters
MoveSetDec(FloatArrayGetElement(JogAccDec) / SlaveCount);
MoveSetVel(FloatArrayGetElement(JogVel) / SlaveCount);
MoveIncremental(500);
//MoveAbsolute(LatchGetOutput(1) + StopDist); // Move to final position
}
if (!InputGetState(RUN) && AxisIsEnabled())
{
AxisDisable();
}
 
I've never used the Ultra 5000 before but the first thing I would try is a oneshot:


if(InputGetState(LabelSensor) && !LabelSeen)
{ CamDisable();
MoveSetAcc(FloatArrayGetElement(JogAccDec) / SlaveCount); // Set move parameters
MoveSetDec(FloatArrayGetElement(JogAccDec) / SlaveCount);
MoveSetVel(FloatArrayGetElement(JogVel) / SlaveCount);
MoveIncremental(500);
//MoveAbsolute(LatchGetOutput(1) + StopDist); // Move to final position
}
LabelSeen = InputGetState(LabelSensor);

This will cause the code section to execute once when the label is detected.

Keith
 

Similar Topics

Hi, I have a PA Industries servo feeder with an Allen Bradley MPL motor and Ultra5000 drive. I'm only using a single limit switch which rides on a...
Replies
2
Views
1,995
Hi, I have an application using Ultra 5000 drive. I need to turn the motor after an external signal is seen, then follow the external encoder...
Replies
1
Views
2,296
Problem with RSLogix 5000 homing of Sercos Ultra 3000 and soft overtravel limits Hello, I have Version 20 RSLogix 5000 successfully working with...
Replies
0
Views
3,011
Recently i have faced ultra 5000 drive failure. when i switch the power i got sparks coming from incoming side of the drive(without connecting...
Replies
0
Views
1,255
Hi ALl I got online to tye Ultra 5000 and uploaded the file. I would like to look at the programs, which is in a format of .exe. Do i need the...
Replies
5
Views
3,741
Back
Top Bottom