Deploy a Conveyor Application
Overview
This document provides a basic guide of our programmable conveyor application. It contains all necessary steps to start your conveyor application.
Hardware set up
If not already complete, head to the Conveyor datasheet to get all related information about how to build your physical conveyor and get the latest specs.
Types of conveyors
Vention offers 7 examples of conveyor behaviors with the conveyor application. These are versatile and can be updated to the user’s application.
Parameters shared by most conveyor types are:
-
Name from Machine Configuration:
Friendly name given to the axis configured in the Configuration page, outside of the application.
The Motor Type specifies the type of motor for the configured axis. It can either be an AC motor (controlled via IO) or a servo motor (small, medium, or large). -
Box Sensor Configuration:
Friendly name given to a digital input configured in the Configuration page, outside of the application.
The checkbox sets the active state of the sensor (i.e. whether the sensor triggers as0
or1
when the box is sensed).
This sensor is absent from the Follower Conveyor type.
Infeed Conveyor
Logic: When the product arrives, the conveyor pauses until the box is picked. The conveyor will then resume after set timeout.
Sensors: 1 box detection sensor
Parameters:
-
Pusher Configuration (optional):
It is optional, and can be enabled or disabled with the “Uses Pusher” checkbox.
If enabled, you can set the following parameters:-
Pneumatic Pusher:
Friendly name given to a pneumatic axis configured in the Configuration page, outside of the application. -
Pusher Extended Logic:
Defines how the extended state of the pusher is determined. This can be either:-
Sensor-Based: knowing if the pusher is extended will be determined by the state of the push position sensor. This sensor is the one that has been selected as the “Push Position Sensor” of the pneumatic pusher, in the Configuration page, outside of the application.
The checkbox sets the active state of the sensor (i.e. whether the push position sensor triggers as0
or1
when the pusher is extended). - Time-Based: the pusher will be considered extended after the defined delay.
-
Sensor-Based: knowing if the pusher is extended will be determined by the state of the push position sensor. This sensor is the one that has been selected as the “Push Position Sensor” of the pneumatic pusher, in the Configuration page, outside of the application.
-
Pusher Retracted Logic:
Defines how the retracted state of the pusher is determined. This can be either:-
Sensor-Based: knowing if the pusher is retracted will be determined by the state of the pull position sensor. This sensor is the one that has been selected as the “Pull Position Sensor” of the pneumatic pusher, in the Configuration page, outside of the application.
The checkbox sets the active state of the sensor (i.e. whether the pull position sensor triggers as0
or1
when the pusher is retracted). - Time-Based: the pusher will be considered retracted after the defined delay.
-
Sensor-Based: knowing if the pusher is retracted will be determined by the state of the pull position sensor. This sensor is the one that has been selected as the “Pull Position Sensor” of the pneumatic pusher, in the Configuration page, outside of the application.
-
Pneumatic Pusher:
-
Timer Configuration (Restart Time):
Timer that introduces a delay between the moment the box has been picked and the conveyor running again.
Simple Conveyor
Logic: the conveyor stops if the IO is “ON” and runs if the IO is “OFF”.
Parameters:
-
Wake Up Sensor Configuration: (optional)
It is optional and can be enabled with the “Uses Wake Up Sensor” checkbox.- Wake Up Sensor Name: Friendly name given to a digital input configured in the Configuration page, outside of the application.
- Timeout Interval: Time delay after which, if no activity has been detected on any sensor, the conveyor will stop running.
-
Normally Closed Sensor: The checkbox sets the active state of the sensor (i.e. whether the wake up sensor triggers as
0
or1
). When the box is checked, the un-triggered state of the sensor ishigh
.
Zero Back Pressure Conveyor (Queuing Conveyor)
Requirements: Requires a parent conveyor.
Logic: When the parent conveyor stops, this conveyor continues running until the box detection sensor sees a box. Only one or two boxes can be sent to the downstream zone, depending on multipick. This behavior contains a wake up sensor capability to activate the continuous motion of the conveyor until set time out. If the conveyor is not triggered, the conveyor is not active.
Parameters:
- Name of Parent Conveyor: Friendly name given to the parent conveyor, that this conveyor will follow. It is the friendly name given to that axis configured in the Configuration page, outside of the application.
-
Wake Up Sensor Configuration: (optional)
It is optional and can be enabled with the “Uses Wake Up Sensor” checkbox.- Wake Up Sensor Name: Friendly name given to a digital input configured in the Configuration page, outside of the application.
- Timeout Interval: Time delay after which, if no activity has been detected on any sensor, the conveyor will stop running.
-
Normally Closed Sensor: The checkbox sets the active state of the sensor (i.e. whether the wake up sensor triggers as
0
or1
). When the box is checked, the un-triggered state of the sensor ishigh
.
Follower Conveyor
Requirements: Requires a parent conveyor.
Logic: Replicates the motion of a parent conveyor. It moves when the parent moves.
Parameters:
- Parent Conveyor Name: Friendly name given to the parent conveyor, that this conveyor will follow. It is the friendly name given to that axis configured in the Configuration page, outside of the application.
Transfer Conveyor
Requirements: Requires a parent conveyor.
Sensors: 1 box detection sensor
Logic: The transfer conveyor keeps moving until it detects a product. If the parent conveyor is running (free to accept a new product), then the pusher on the transfer conveyor pushes the new product onto the parent conveyor. The transfer conveyor restarts.
The logic is very similar to the Zero Back Pressure but with a pusher.
Parameters:
- Parent Conveyor Name: Friendly name given to the parent conveyor, that this conveyor will follow. It is the friendly name given to that axis configured in the Configuration page, outside of the application.
-
Pusher Configuration: (optional)
It is optional, and can be enabled or disabled with the “Uses Pusher” checkbox.
If enabled, you can set the following parameters:-
Pneumatic Pusher:
Friendly name given to a pneumatic axis configured in the Configuration page, outside of the application. -
Pusher Extended Logic:
Defines how the extended state of the pusher is determined. This can be either:-
Sensor-Based: knowing if the pusher is extended will be determined by the state of the push position sensor. This sensor is the one that has been selected as the “Push Position Sensor” of the pneumatic pusher, in the Configuration page, outside of the application.
The checkbox sets the active state of the sensor (i.e. whether the push position sensor triggers as0
or1
when the pusher is extended). - Time-Based: the pusher will be considered extended after the defined delay.
-
Sensor-Based: knowing if the pusher is extended will be determined by the state of the push position sensor. This sensor is the one that has been selected as the “Push Position Sensor” of the pneumatic pusher, in the Configuration page, outside of the application.
-
Pusher Retracted Logic:
Defines how the retracted state of the pusher is determined. This can be either:-
Sensor-Based: knowing if the pusher is retracted will be determined by the state of the pull position sensor. This sensor is the one that has been selected as the “Pull Position Sensor” of the pneumatic pusher, in the Configuration page, outside of the application.
The checkbox sets the active state of the sensor (i.e. whether the pull position sensor triggers as0
or1
when the pusher is retracted). - Time-Based: the pusher will be considered retracted after the defined delay.
-
Sensor-Based: knowing if the pusher is retracted will be determined by the state of the pull position sensor. This sensor is the one that has been selected as the “Pull Position Sensor” of the pneumatic pusher, in the Configuration page, outside of the application.
-
Pneumatic Pusher:
Accumulating Conveyor
Logic: When accumulating and box detection sensors detect a product, the conveyor runs for a time equal to the “accumulationTime” and stops, ensuring the conveyor is completely filled with products.
Inputs:
- 2 sensors: Accumulating sensor and box detection sensor
- Accumulation time
- Optional: Pusher configuration (the user can choose between a sensor or a time based trigger)
Multi-Pick Infeed Conveyor (1 Pusher)
Sensors: 2 box detection sensors
Logic: When product 1 arrives at zone 1, the conveyor pauses, pusher extends and retracts. When product 2 arrives at zone 1, the conveyor pauses, pusher extends box 2 to box 1 and retracts. Robot picks both boxes, and the conveyor restarts.
Inputs:
- Conveyor name,
- Box detection sensors (2),
- accumulation sensor,
- Stopper configuration,
- timer configuration
- Optional: pusher configuration
Complete a conveyor application
Pre-requisites
- Access to the Vention Control Center or CAD environment.
- Basic knowledge of Python, Typescript and JSON file editing, if you desire to modify conveyor behaviors.
- Configure All Inputs including Motors, Sensors, Pneumatics and Actuators.
- Ensure all physical inputs, including pneumatics and actuators, are correctly configured and tested within your system. This initial setup is crucial for the seamless integration of the conveyor process. Assign a meaningful name and configuration according to your project requirements.
- Now that the application is loaded in Machine Logic, it is possible to choose from the different options stated above to build a conveyor system.
Upload the conveyor application
Follow these steps to upload your conveyor application from MachineLogic. For more detailed instructions and other available applications, visit the application library page here: Machine Logic Application Examples
- Retrieve the application template Python file.
- On the MachineLogic page, create a new application by clicking on the “New App” button as shown below and upload the previously downloaded application.
- To upload the conveyor application, select the context menu and select the Upload Button.
- Press “Simulate” to load the application UI and launch the conveyor application.
- Open HMI to configure conveyors per design. To learn more about configuration in MachineLogic, click here
Configure the conveyor application, step by step
- Select “ New Conveyor” to add the first conveyor of your application
- Add as many conveyors as desired per the design and configuration completed previously using the top right corner button
- Complete the set up of each conveyor behavior
- Press “start” to launch your application or set the “Autostart” conveyor toggle to sync multiple apps at the same time.
- Cloud deploy the application to the physical machine