Interface Nozzle

    • Method Detail

      • getNozzleTip

        NozzleTip getNozzleTip()
        Get the NozzleTip currently attached to the Nozzle.
        Returns:
      • getRotationModeOffset

        java.lang.Double getRotationModeOffset()
        Returns:
        the rotation mode offset currently set.
      • setRotationModeOffset

        void setRotationModeOffset​(java.lang.Double rotationModeOffset)
        Set the rotation mode offset to be applied.
        Parameters:
        rotationModeOffset -
      • isAligningRotationMode

        boolean isAligningRotationMode()
        Returns:
        Whether the bottom vision aligment of parts adjust the Rotation Mode of the nozzle to include the alignment rotation offset.
      • prepareForPickAndPlaceArticulation

        void prepareForPickAndPlaceArticulation​(Location pickLocation,
                                                Location placementLocation)
                                         throws java.lang.Exception
        Prepare the Nozzle for the next placement rotation. This will apply a rotation offset to the Nozzle that implements the Nozzle.RotationMode and is subject to articulation limits, if present.
        Parameters:
        pickLocation -
        placementLocation -
        Throws:
        java.lang.Exception
      • moveToPickLocation

        void moveToPickLocation​(Feeder feeder)
                         throws java.lang.Exception
        Move the Nozzle to the given feeder pick location. This will move at safe Z and position the Nozzle so it is ready for pick(Part). This might or might not involve offsets and actions for contact-probing e.g. to determine the feeder's calibrated Z.
        Parameters:
        feeder -
        Throws:
        java.lang.Exception
      • pick

        void pick​(Part part)
           throws java.lang.Exception
        Commands the Nozzle to perform it's pick operation. Generally this just consists of turning on the vacuum. When this is called during job processing the processor will have already positioned the nozzle over the part to be picked and lowered it to the correct height. Some implementations may choose to do further work in pick(), such as firing air cylinders, monitoring pressure sensors, probing for contact etc.
        Throws:
        java.lang.Exception
      • moveToPlacementLocation

        void moveToPlacementLocation​(Location placementLocation,
                                     Part part)
                              throws java.lang.Exception
        Move the Nozzle to the given placementLocation. This will move at safe Z and position the Nozzle so it is ready for place(). This might or might not involve offsets and actions for contact-probing.
        Parameters:
        placementLocation -
        part - Part to be placed, null on discard.
        Throws:
        java.lang.Exception
      • place

        void place()
            throws java.lang.Exception
        Commands the Nozzle to perform it's place operation. Generally this just consists of releasing vacuum and may include a puff of air to set the Part. When this is called during job processing the processor will have already positioned the nozzle over the part to be placed and lowered it to the correct height.
        Throws:
        java.lang.Exception
      • loadNozzleTip

        default void loadNozzleTip​(NozzleTip nozzleTip)
                            throws java.lang.Exception
        Changer interface: Command the Nozzle to load the given NozzleTip as it's current NozzleTip. If this returns without Exception then subsequently calling getNozzleTip() should return the same NozzleTip as was passed to this call. If the specified NozzleTip is already loaded this method should do nothing.
        Parameters:
        nozzleTip -
        withCalibration -
        Throws:
        java.lang.Exception
      • loadNozzleTip

        void loadNozzleTip​(NozzleTip nozzleTip,
                           boolean withCalibration)
                    throws java.lang.Exception
        Throws:
        java.lang.Exception
      • unloadNozzleTip

        void unloadNozzleTip()
                      throws java.lang.Exception
        Changer interface: Unload the current NozzleTip from the Nozzle, leaving it empty. After this call getNozzleTip() should return null.
        Throws:
        java.lang.Exception
      • getPart

        Part getPart()
        Get the part that is currently picked on the Nozzle, or null if none is picked. Should typically be non-null after a pick operation and before a place operation and null after a pick operation. Of note, it should be non-null after a failed pick operation so that the system can determine which part it may need to discard. It may also be null if a user initiated, manual, pick is performed with no Part to reference.
      • isPartOnEnabled

        boolean isPartOnEnabled​(Nozzle.PartOnStep step)
        Returns true if the isPartOn() method is available. Some machines do not have vacuum sensors or other part detection sensors, so this feature is optional.
        Parameters:
        step - determines which JobProcessor Step wants to perform the check
        Returns:
      • isPartOffEnabled

        boolean isPartOffEnabled​(Nozzle.PartOffStep step)
        Returns true if the isPartOff() method is available. Some machines do not have vacuum sensors or other part detection sensors, so this feature is optional.
        Parameters:
        step - determines which JobProcessor Step wants to perform the check
        Returns:
      • isPartOn

        boolean isPartOn()
                  throws java.lang.Exception
        Returns true if a part appears to be on the nozzle. This is typically implemented by checking a vacuum level range, but other methods such as laser or vision detection are possible.
        Returns:
        Throws:
        java.lang.Exception
      • isPartOff

        boolean isPartOff()
                   throws java.lang.Exception
        Returns true if a part appears to be off the nozzle. This is typically implemented by checking a vacuum level range, but other methods such as laser or vision detection are possible.
        Returns:
        Throws:
        java.lang.Exception
      • getCompatibleNozzleTips

        java.util.Set<NozzleTip> getCompatibleNozzleTips()
        Returns:
        A set of nozzle tips compatible with this nozzle.
      • getCompatibleNozzleTips

        java.util.Set<NozzleTip> getCompatibleNozzleTips​(Part part)
        Parameters:
        part -
        Returns:
        A set of nozzle tips compatible with this nozzle and the given part.
      • addCompatibleNozzleTip

        void addCompatibleNozzleTip​(NozzleTip nt)
      • removeCompatibleNozzleTip

        void removeCompatibleNozzleTip​(NozzleTip nt)
      • isNozzleTipChangedOnManualFeed

        boolean isNozzleTipChangedOnManualFeed()
      • calibrate

        void calibrate()
                throws java.lang.Exception
        Throws:
        java.lang.Exception
      • isCalibrated

        boolean isCalibrated()
      • getSafePartHeight

        default Length getSafePartHeight()
        Returns:
        The height of the part currently on the nozzle. If the part height is not yet known, the maximum part height configured on the nozzle tip is returned. If no part is on the nozzle, a zero Length is returned.
      • getSafePartHeight

        Length getSafePartHeight​(Part part)
        Returns:
        The height of the given part. If the part height is not yet known (to be probed), the maximum part height configured on the nozzle tip is returned. If part is null, a zero Length is returned.