Package org.openpnp.spi
Interface Feeder
-
- All Superinterfaces:
Identifiable,Named,PropertySheetHolder,Solutions.Subject,WizardConfigurable
- All Known Implementing Classes:
AbstractFeeder,AbstractPandaplacerVisionFeeder,AdvancedLoosePartFeeder,BambooFeederAutoVision,BlindsFeeder,Neoden4Feeder,PhotonFeeder,RapidFeeder,ReferenceAutoFeeder,ReferenceDragFeeder,ReferenceFeeder,ReferenceHeapFeeder,ReferenceLeverFeeder,ReferenceLoosePartFeeder,ReferencePushPullFeeder,ReferenceRotatedTrayFeeder,ReferenceSlotAutoFeeder,ReferenceStripFeeder,ReferenceTrayFeeder,ReferenceTubeFeeder,SchultzFeeder,SlotSchultzFeeder
public interface Feeder extends Identifiable, Named, WizardConfigurable, PropertySheetHolder, Solutions.Subject
A Feeder is an abstraction that represents any type of part source. It can be a tape and reel feeder, a tray handler, a single part in a specific location or anything else that can be used as a pick source.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classFeeder.FeederEmptyExceptionstatic classFeeder.PriorityHigh Priority - use these parts up first Normal Priority - normal feeders Low Priority - backup parts-
Nested classes/interfaces inherited from interface org.openpnp.spi.PropertySheetHolder
PropertySheetHolder.PropertySheet
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description booleancanTakeBackPart()voidfeed(Nozzle nozzle)Commands the Feeder to do anything it needs to do to prepare the part to be picked by the specified Nozzle.intgetFeedRetryCount()If feed() throws an Exception during job processing, the job processor will retry the feed() call this many times before raising the error.LocationgetJobPreparationLocation()Some feeders need preparation for a Job that is best done up front and in bulk, such as vision calibration, actuating covers, checking OCR labels etc.PartgetPart()Get the Part that is loaded into this Feeder.LocationgetPickLocation()Gets the Location from which the currently available Part should be picked from.intgetPickRetryCount()If post pick checks such as isPartOn() fail during job processing, the job processor will retry the pick and check process this many times before raising the error.Feeder.PrioritygetPriority()booleanisEnabled()Return true is the Feeder is currently enabled and can be considered in Job planning.default booleanisPartHeightAbovePickLocation()voidpostPick(Nozzle nozzle)voidprepareForJob(boolean visit)Prepares a Feeder for usage in a Job.voidsetEnabled(boolean enabled)voidsetPart(Part part)Set the Part that is loaded into this Feeder.voidsetPriority(Feeder.Priority priority)voidtakeBackPart(Nozzle nozzle)Asks the feeder to take back the part currently on the nozzle.-
Methods inherited from interface org.openpnp.model.Identifiable
getId
-
Methods inherited from interface org.openpnp.spi.PropertySheetHolder
getChildPropertySheetHolders, getPropertySheetHolderActions, getPropertySheetHolderIcon, getPropertySheetHolderTitle, getPropertySheets
-
Methods inherited from interface org.openpnp.model.Solutions.Subject
findIssues, getSubjectIcon, getSubjectText
-
Methods inherited from interface org.openpnp.spi.WizardConfigurable
getConfigurationWizard
-
-
-
-
Method Detail
-
isEnabled
boolean isEnabled()
Return true is the Feeder is currently enabled and can be considered in Job planning.- Returns:
-
setEnabled
void setEnabled(boolean enabled)
-
getPart
Part getPart()
Get the Part that is loaded into this Feeder.- Returns:
-
setPart
void setPart(Part part)
Set the Part that is loaded into this Feeder.
-
getPickLocation
Location getPickLocation() throws java.lang.Exception
Gets the Location from which the currently available Part should be picked from. This value may not be valid until after a feed has been performed for Feeders who update the pick location. The location Z might mean part underside or part surface, depending on the feeder type, as determined byisPartHeightAbovePickLocation().- Returns:
- Throws:
java.lang.Exception
-
isPartHeightAbovePickLocation
default boolean isPartHeightAbovePickLocation()
- Returns:
- True if the part height needs to be added to the pick location. The distinction is needed for part height probing
-
getJobPreparationLocation
Location getJobPreparationLocation()
Some feeders need preparation for a Job that is best done up front and in bulk, such as vision calibration, actuating covers, checking OCR labels etc. Some prep requires the head moving to the feeder. For efficiency the JobProcessor uses a Travelling Salesman algorithm to visit all these feeders. The locations for these visits are gathered using getJobPreparationLocation().- Returns:
- The location for the feeder Job preparation visit or null if none.
-
prepareForJob
void prepareForJob(boolean visit) throws java.lang.ExceptionPrepares a Feeder for usage in a Job. This is done for all the feeders that are enabled and contain Parts that are used in pending placements. Preparation is done when the Job is started, so it can perform bulk initialization that should not be postponed until the Nozzle.feed()- Parameters:
visit- true for visits along the getJobPreparationLocation() travel path, false for general preparation (second pass for visited feeders).- Throws:
java.lang.Exception
-
feed
void feed(Nozzle nozzle) throws java.lang.Exception
Commands the Feeder to do anything it needs to do to prepare the part to be picked by the specified Nozzle. If the Feeder requires Head interaction to feed it will perform those operations during this call.- Parameters:
nozzle- The Nozzle to be used for picking after the feed is completed. The Feeder may use this Nozzle to determine which Head, and therefore which Actuators and Cameras it can use for assistance.- Throws:
java.lang.Exception
-
postPick
void postPick(Nozzle nozzle) throws java.lang.Exception
- Throws:
java.lang.Exception
-
canTakeBackPart
boolean canTakeBackPart()
-
takeBackPart
void takeBackPart(Nozzle nozzle) throws java.lang.Exception
Asks the feeder to take back the part currently on the nozzle.- Throws:
java.lang.Exception
-
getFeedRetryCount
int getFeedRetryCount()
If feed() throws an Exception during job processing, the job processor will retry the feed() call this many times before raising the error.- Returns:
-
getPickRetryCount
int getPickRetryCount()
If post pick checks such as isPartOn() fail during job processing, the job processor will retry the pick and check process this many times before raising the error. Note that this does not include re-feeding the part.- Returns:
-
getPriority
Feeder.Priority getPriority()
-
setPriority
void setPriority(Feeder.Priority priority)
-
-