Festo hardware manual

TU/e Mechanical Engineering, Control Systems Technology
Festo System and Station Descriptions
Ing. H.W.A.M. van Rooy
Eindhoven, September 2018

Introduction

The assignments that are part of the course focus on the model based design of supervisory controllers for the Festo Modular Production System (MPS), which can be seen in the CST laboratory in Gem-Z 0.08, which is reachable via Gem-Z 0.07. This document provides you the information you need to design and implement your models. Before you get to the point where you flip the ‘BigSwitch’ to see if your efforts show the desired results, you will have had an interesting and sometimes difficult journey in the world of design, requirements, modeling, simulation, visualization, hardware, testing, implementation, debugging, etc.

You will feel the need for global and conceptual information, as well as very specific detail information. This will all come together in the solution you find for the assignment given to you.

To improve the material of this course we appreciate your feedback. Please email your remarks and/or suggestions the the author or lecturer.

About this document

Most of the information in this document deals with the hardware of the system in the lab. The current chapter and the Festo MPS Description chapter will give you a global impression of the complete Festo MPS system and present you with some thoughts and ideas of what you should be aware of when you begin with the design and implementation of your own controller(s).

The subsequent chapters will provide more detailed information about each specific workstation in the MPS. Each workstation has its own chapter which deals with sensors and actuators and the way they (may) influence each other. From this information you can deduce one or more possible working cycles that satisfy the specific requirements given in the assignment.

By no means is this a substitute for your visit to the laboratory where you can see and touch the workstations. You can see how actuators and sensors interact, how actuators influence each other, and you will be able to gather the timing information that you will need to build a life-like simulation model.

Things to think about

When you are working on your assignment you will have to take a lot into account. To help you on your way, we have compiled a (not complete!) list of points that may be helpful. Not all of them may apply to your assignment.
Initialization
A initialization sequence has been preprogrammed for you. This sequence will execute before your own control program is allowed to run. It tries to bring the workstation in the required initial state as described in the sensor and actuator tables. Successful completion is indicated by the variable s_?initialized being TRUE. (? in [D,H,T,B,P,S] depending on the workstation name.) Error information can be found in the Appendix initialization errors.
Ideal cycle
In a perfect world everything will go exactly as planned, without failure. This is a good way to start your initial design. Look at the perfect work cycle and develop a basic solution for it. This will give you an idea of which sensors/actuators are important and how there behavior in time should be. Initial simulation experiments will show if you made the correct assumptions.
Not so ideal cycle
To make your system more robust you have to take possible imperfections into consideration and make your system act accordingly. This ‘act accordingly’ will range from detecting the erroneous or unwanted state and signalling it, to detecting the erroneous or unwanted state and taking corrective action to (try to) solve it.
Time-out on movements
Extending and retracting of pneumatic cylinders, movement of products on a conveyer or turning of a turntable to the next position. These are all actions of the system that take a certain amount of time to complete. If this time is known, you are able to detect malfunctioning elements in the system because the action takes too much time. Using time-outs is a well known principle to check the system status for errors.
Interference of actuators
If actuators share the same physical working space it is usually required to take precautions to prevent collisions between the actuators involved. This can be done by monitoring the status of the surrounding sensors of those actuators. If and how your controller reacts in these circumstances depends on your design.
Big Switch
It is important to be able to see if a system is running or not. ’Sleeping’ systems that wake up and start to move when you accidently touch a sensor can be harmful. This is why some sort of ’Big Switch / Big Light’ is useful to let the environment know what state the system is in: active or stopped.
Stop/Resume function
Stopping a running system in mid-cycle may not be very obvious to do in a controlled manner. Should actuators stop immediately (and/or return to a safe state), or are they allowed to finish their movement and stop then? What has to happen before the system can resume its normal operation?
Stop/Reset function and consequences
The same problems of the stop function apply here. However, depending on the state the system is in, there may also be different action sequences needed to bring the system in the reset state.

Festo MPS Description

Although it is not a real ‘production’ system, the Festo MPS is built with industrial components. It comprises six workstations, each of which performs one step in the production of an industrial product. No real hardware processing steps like drilling, grinding etc. take place, those will all be simulated in time. So it is more about transporting, positioning, measuring, testing, sorting, and everything that has to be done to make it happen: (supervisory) control, because that is the missing link between the sensors and the actuators of the system.

The production steps

Each product, except the rejected ones, is supposed to visit the six individual workstations. The task of each workstation is shown in the table below. Detailed information is in the respective chapter of this document.

Function

Info

Task

Distributing

The Distributing Station

How to get products into the system?

Handling

The Handling Station

How to transport a product to the next station?

Testing

The Testing Station

Accept this one, or reject it and remove it?

Buffering

The Buffering Station

Smoothing workflow; use a buffer?

Processing

The Processing Station

Give the product more shape.

Sorting

The Sorting Station

Diversify; handle more than one kind of product.

Table: The six production steps

The principles of supervisory control synthesis are put into practice when the students design, implement and test the controllers for a number of workstations that together form a simple flow shop system. The system comprises six workstations, each with a specific task. It is situated in the laboratory in GEM-Z 0.08.

An overview of the complete system is shown below. In this schematic one PC with a soft PLC controls the complete flowshop. However, in the normal course setup one PC will control just one or two of the workstations.

If you are attending the course you will usually use your own notebook to develop and test the controllers you design in a simulated environment (simulation+visualization). When you (and we(!)) are satisfied with the result, you will be allowed to test the solution on the real hardware. Transfer of the required files and data between your notebook and the control PC is done using a generated XML-file.

../_images/MPSFlowShopOverview.png

Overview MPS system with I/O and network connections|

The products

The system is designed to process three variants of the same basic product (see Figure The products (housings) for the Festo system): the housing for a small instrument like a clock, a hygrometer or a thermometer. It is produced in three different materials: aluminium and two colors (red and black) of synthetic material. The height and depth of the housings is checked in one of the stations, so there will be accepted and (to be) rejected products in the system.

../_images/products800x600.jpg

The products (housings) for the Festo system

The User interface

Each station has the same user interface, located in the front, under the aluminium mounting plate. It is shown in the figure below. The buttons and LEDs allow the user to interact with the system. If needed, additional user definable digital inputs and outputs are available on the left and right side of the interface panel. They may be used to receive/send information from/to an upstream or downstream station. Although the names on the user interface hardware may suggest certain functions, none of the interface signals is hard-wired; their function is completely defined in the user control program. (Yes, you can use the STOP button to start the system……)

The functionality of the buttons can be extended by making a distinction between short and long pressing of a button. As an example you could interpret a short pressing of the Reset button as a pause request, while a longer pressing could be interpreted as the actual reset request.

../_images/ControlPanel.jpg

User interface control panel

The labels on sensors and actuators

If you take a look at the actual hardware of the stations you will notice that each sensor and actuator is labeled. The label is an identifier and serves as a reference to find more information about the particular element. To avoid lengthy names on the labels a simple naming convention is used consisting of two letters followed by two digits. Sensor labels are placed as close as possible to the origin of its signal; an actuator label is placed as close as possible to the place of action. The coding can be interpreted as follows:

  • 1st letter: indicates the workstation D, H, T, B, P, or S (Distributing, Handling, Testing, Buffering, Processing and Sorting)

  • 2nd letter: indicates sensor (S) or actuator (A)

  • 1st digit (0..9): part of the indexnumber

  • 2nd digit (0..9): part of the indexnumber

So, the item with label DS08 indicates sensor number eight in the distributing station. Additional information about a sensor or actuator, like what it is and what its function is, can be found in the I/O table description that is given in each of the workstation’s chapters.

The tables also give the CIF names that must be used in the CIF models. It is important to use these names exactly (!) as shown, because they are the link from your model to both the visualization software as well as to the specific hardware IO points on the physical station. A typo is easily made, be careful!!

It is important to realize that a binary sensor will always output a signal: TRUE or FALSE (levels).

Unless otherwise stated you may assume positive logic. This means that an actuator is activated when it is on (``true``), and deactivated when off (``false``). Likewise, a sensor indicates detection when it is on (``true``) while off (``false``) indicates no detection. Activation/detection is defined as a transition from false to true, while deactivation/no detection is defined as a transition from true to false.

Warning

The STOP button on the user interface console is an exception to this rule. This is a normally closed contact (associated sensor value true) that opens upon pressing it (sensor value false). So, the s_stopbutton.off state indicates that the button is pushed. This is a safety measure: if the wiring of the STOP function becomes broken in any way (=false) it will act as if the user pressed the STOP button.

Sensors and actuators

The table below gives the general CIF names that must be used in the CIF models. Depending on the workstation the questionmark (?) has to be replaced with a capital D, H, T, B, P or S because a distinction between them has to be made if you are controlling more than one workstation. So, the resetbutton on the Teststation has the CIF name ‘s_Tresetbutton’.

It is important to use these names exactly (!) as shown, because they are the link from your control program to both the visualization software as well as to the specific hardware IO points on the physical station. A typo is easily made, so be careful!!

Label

Type

Initial

CIF name

Remark

Start

D

released, off

s_?startbutton

normally open

Stop

D

released, on

s_?stopbutton

normally closed

Auto/Man

D

vertical, off

s_?autoswitch

Bi-stable. Key vertical = Manual. Key horizontal = Automatic.

Reset

D

released, off

s_?resetbutton

normally open

I4,I5,I6,I7

D

off

s_?inX (X in 4,5,6,7)

4 user definable inputs

Start LED

D

off

a_?startled

located under Start button

Reset LED

D

off

a_?resetled

located under Reset button

Indicator Q1

D

off

a_?ledQ1

user definable LED

Indicator Q2

D

off

a_?ledQ2

user definable LED

Q4,Q5,Q6,Q7

D

off

a_?outX (X in 4,5,6,7)

4 user definable outputs

Table: I/O points of the user interface. (? in [D,H,T,B,P,S]

Upstream and Downstream communication

Each workstation in the line, except the first (Distributing) and the last (Sorting) is equipped with both a sensor and an actuator that enables the control program to read the status of the next (=downstream) workstation, and signal its own status to the previous (=upstream) station. The station signals its ready status to the upstream station by activating its actuator. The busy status is reflected by deactivating the actuator. Because the sensor in the receiving station is of the inverting kind, we define the ‘not-ready-to-receive-a-product’ or ‘busy’ status to be ON, and the ‘ready-to-receive-a-product’ or ‘ready’ status as OFF.

The Distributing station only has a sensor, while the Sorting station only has an actuator for communication with the nearby workstation.

The Distributing Station

The distributing station is where the route through the flow shop starts. A user places a number of (different kinds of) products in one or more of the storage tubes (or stacks) and the production may then start. Depending on the chosen control algorithm products are pushed out of the storage tubes one by one, waiting to be picked up by the manipulator of the handling station.

../_images/DSPusher.png

Overview of the distributing station

The product stacks

Products enter the system in the distributing workstation. Because there are three different kinds of products it has three similar storage tubes; one for each kind of product. Products in a stack are processed one by one in a FiFo (First in First out) fashion. The product is moved forward, out of the stack, towards the pickup point. It remains there until the manipulator of the Handling station picks it up and transports it. The presence of products in the stack is detected by an optical through beam sensor. Its light beam is interrupted when a product is present, but also when the product slider pushes the product to the pickup point. This outputs TRUE from the optical sensor. FALSE indicates no beam interruption and therefore an empty stack. The figure below shows this in detail.

The linear movement

The linear movement out of the stack is performed by a double acting pneumatic cylinder that is controlled by a monostable signal. The extremes of the piston movement (fully retracted, fully extended) are detected by two inductive limit sensors which output TRUE while activated by the piston.

The pickup point

A product at the pickup point is detected by a diffuse optical sensor, which outputs TRUE while a product is detected. Notice that the sensors at the pickup positions (DS04, DS08 and DS12) are shared by the Distributing stations and the Handling station (HS01, HS02 and HS03).

Sensors and actuators

The tables show the CIF names that must be used in the CIF control programs. It is important to use these names exactly (!) as shown, because they are the link from your control program to both the visualization software as well as to the specific hardware IO points on the physical station. The s_ prefix denotes a sensor signal, while the a_ prefix denotes an actuator signal.

The table lists all the sensors of the distributing station.

Label

Type

Initial

CIF name

Remark

DS01

D

on

s_pusher1_in

on: Slide moved towards pickup point

DS02

D

off

s_pusher1_out

on: Slide moved back; stack drops down

DS03

D

on

s_stack1filled

on: Slide or product interrupts beam

DS04

D

off

s_product1

on: A product is at pickup position

DS05

D

on

s_pusher2_in

DS06

D

off

s_pusher2_out

DS07

D

on

s_stack2filled

DS08

D

off

s_product2

DS09

D

on

s_pusher3_in

DS10

D

off

s_pusher3_out

DS11

D

on

s_stack3filled

DS12

D

off

s_product3

DS13

D

on

s_handlingbusy

Status info from Handling
on: busy, off: ready

D

off

s_Dinitialized

Internal variable. Indicates that the initialization sequence finished.

Table: Sensors of the distributing station

Table below lists all the actuators of the distributing station.

Label

Type

Initial

CIF name

Remark

DA01

D

off

a_pusher1

on: Move slide backwards; stack drops
off: Move slide forwards; block stack

DA02

D

off

a_pusher2

DA03

D

off

a_pusher3

Table: Actuators of the distributing station

Simulation and Visualization

This is left to the user……

The Handling Station

The main function of the handling station is to transport singular products to the testing station. An overview is shown in the figure below. The manipulator takes care of the transport from the distributing station to an intermediate 1-place buffer. Then, the transfer cylinder picks up the product and places it in the testing station. Movement of the transfer cylinder has to be done in a secure and safe manner; the arm is able to move in both the working area of the manipulator (Handling) and the elevator (Testing). So there is a danger of colliding, and collisions must be avoided.

The manipulator

The manipulator is built with pneumatic actuators: a linear drive, a flat cylinder, and a gripper. It uses the double acting linear drive to move the gripper assembly left/right from point to point within the working area (X-axis). The X-movement is controlled with two separate but related signals; each signal controls the pressure/airflow on one side of the piston of the linear drive. The gripper assembly (fitted to the linear drive) consists of a double acting flat cylinder to lift the product up/down (Z-axis), controlled by a single signal. Finally, a double acting parallel gripper (attached to the flat cylinder) is used to grip/release the product.

The gripper

The gripper, as shown in the figure below, on the manipulator contains a diffuse optical sensor with which products in the gripper can be detected and/or classified. Depending on the sensitivity setting of the sensor a distinction between black and non-black products can be made, or the presence of all kinds of product can be detected (no classification). Opening and closing the gripper is done with a single control signal.

The transfer cylinder

Placing a product from the handling station into the testing station is done by means of a pneumatic double acting semi-rotary drive that has a suction cup attached to it to grab/release the product. The figure below shows the arm and cup attached to the rotary drive. Rotation is controlled by two separate but related signals, each of which controls the pressure/airflow to one side of the piston in the drive. To grab a product vacuum is applied to the suction cup; releasing is done by switching off the vacuum and possibly giving a short ejection pulse (burst of air). The orientation of the product is not influenced by the rotation of the transfer cylinder.

When you examine the hardware a bit closer, you will notice that the physical behavior (in terms of movement speed) of the linear drive (X-axis) of the manipulator and the rotary drive of the transfer cylinder in reaction to the combination of their respective control signals is different.

../_images/HSTransfer.png

The transfer cylinder with suction cup (in the upper left part)

Sensors and actuators

The extremes of the stroke of the linear drive are set by mechanical dampers. All the points in between where the gripper assembly should stop (the pickup points) are marked with a digital reed contact sensor. Checking these sensors provides information about the position of the gripper assembly. Beware of the fact that sensors usually have some hysteresis. The gripper assembly’s extremes (Z-axis retracted/extended) are also detected with reed contact sensors.

The tables show the CIF names that must be used in the CIF control programs. It is important to use these names exactly (!) as shown, because they are the link from your control program to both the visualization software as well as to the specific hardware IO points on the physical station.

Notice that the sensors at the pickup positions (DS04, DS08 and DS12) are shared by the Distributing stations and the Handling station (HS01, HS02 and HS03).

All relevant sensor information is in the following table.

Label

Type

Initial

CIF name

Remark

HS01

D

no product, off

s_product1

Product info from Distributing station (=DS04)

HS02

D

no product, off

s_product2

Product info from Distributing station (=DS08)

HS03

D

no product, off

s_product3

Product info from Distributing station (=DS12)

HS04

D

off

s_xpos_at1

on: Above Product1 position

HS05

D

off

s_xpos_at2

on: Above Product2 position

HS06

D

off

s_xpos_at3

on: Above Product3 position

HS07

D

on

s_xpos_atdrop

on: Above drop position at Transfer

HS08

D

on

s_zpos_atup

on: Z-axis in upper position

HS09

D

off

s_zpos_atdown

on: Z-axis in lower position

HS10

D

no product, off

s_gripper

Product detection/classification in gripper

HS11

D

off

s_transfer_atpickup

on: Transfer rotated towards pickup position

HS12

D

off

s_transfer_atdrop

on: Transfer rotated towards drop position in Testing station

HS13

D

on

s_transfer_athalfway

on: Transfer at safe intermediate point between pickup and drop

HS14

D

off

s_vacuum

on: Holds the product by suction

HS15

D

no product, off

s_product4

on: Product detection at exchange between manipulator and transfer

HS16

D

on

s_testingbusy

Status info from Testing
on: busy, off: ready

D

off

s_Hinitialized

internal variable. Indicates that the initialization sequence finished.

Table: Sensors of the handling station

All relevant actuator information is in the table.

Label

Type

Initial

CIF name

Remark

HA01

D

on

a_x2distributing

on: Move towards Distributing station

HA02

D

on

a_x2testing

on: Move towards Testing station (DANGER of collision!)

HA03

D

off

a_zdown

on: Move to lower position
off: Move to upper position

HA04

D

off

a_gripperclose

on/off: Close/Open gripper

HA05

D

off

a_transfer2pickpos

on: Move transfer to pickup pos in Handling station (DANGER)

HA06

D

off

a_transfer2droppos

on: Move transfer to drop pos in Testing station (DANGER)

HA07

D

off

a_vacuum

on/off: Turn suction on/off

HA08

D

off

a_ejectpulse

on: Blow air through suction cup to release the product

HA09

D

off

a_handlingready

Status info
on: ready, off: busy

Table: Actuators of the handling station

Simulation and visualization

This is left to the user……

The Testing Station

Before products go on their way towards the buffering station they are classified and tested in the testing station, shown in the figure below. Accepted products leave the testing station via a pneumatic slide; rejected products remain in a local buffer that can hold a maximum of five products.

../_images/TSFull.png

Overview of the testing station

Product classification

After the transfer cylinder of the handling station has placed the product on the elevator plateau of the testing station, a classification of the product can be done. By examining the output of some sensors (optical, capacitive) it can be determined if the product is black or not. (So there is no distinction between red and metal products.) The optical sensor moves up and down along with the product. This part of the testing station is shown in the figure below.

../_images/TSClassify.png

Classification parts (plateau, sensors, pusher) in the testing station

The elevator

The product on the plateau is moved up/down by means of a double acting linear drive (rodless). It utilises magnetic force to couple the inner piston with the plateau. Extreme positions (up/down) are detected by hall effect sensors that emit TRUE when activated by the piston of the elevator. The figure below shows the elevator in the lower position (sensor activated).

../_images/TSElevator.png

The elevator unit (middle of the picture) in the lower position. Sensor TS02 activated.

Height measurement

To check the height of the product on the plateau, the product touches a linear displacement encoder when the elevator is in the upper position. The analogue signal of the encoder is fed to an adjustable comparator (see figure). The comparator compares the measured height with an adjustable lower and upper bound, and outputs a digital signal accordingly: TRUE when the product height is correct (between the bounds) and FALSE when the product height is out of bounds.

To check the operation of the testing workstation, products are available in three heights: small, correct (normal) and large height. These heights are referred to using the variables \(s\), \(n\) and \(l\), respectively. The corresponding products are referred to as small, normal and large products, respectively.

The potentiometers LEVEL 1 and LEVEL 2, shown in the comparator unit figure below, are used to adjust the respective lower and upper bounds of the comparator. These bounds are referred to using the variables \(lower\) and \(upper\), respectively. They should be adjusted such that:

\(s < lower < n < upper < l\)

../_images/TSComparator.png

The comparator unit

The pusher cylinder

Removing a product from the plateau is done with a monostable double acting pneumatic cylinder. It pushes the product off the plateau. Only the extended position of the piston is detected with a reed contact sensor. The pusher is (partly) visible in the left part of the figure showing the classification parts.

The pneumatic slide

All accepted products can leave the testing station when they are pushed towards the air slide. Air slide activation creates an air cushion between product and slide. This air cushion eliminates the friction and allows the otherwise stationary product to slide downwards influenced by gravity. The air slide, as well as the rejection slide, has no sensors. Both air slide and rejection slide are visible in the figure below.

../_images/TSSlides.png

The air slide (upper) and rejection slide (lower)

Sensors and actuators

The tables below list all sensors and actuators available in the testing station. The tables show the CIF names that must be used in the CIF control programs. It is important to use these names exactly (!) as shown, because they are the link from your control program to both the visualization software as well as to the specific hardware IO points on the physical station.

Label

Type

Initial

CIF name

Remark

TS01

D

off

s_elevator_up

on: Elevator in upper position

TS02

D

on

s_elevator_down

on: Elevator in lower position

TS03

D

off

s_pusher

on: Pusher fully extended

TS04

D

off

s_optical

on: Detects metal or red

TS05

D

off

s_capacitive

on: Detects a product

TS06

D

off

s_reflective

on: DANGER in work area

TS07

D

off

s_productheight

on: Product accepted, off: Product rejected

TS08

D

on

s_bufferingbusy

Status info from Buffering: on: busy, off: ready

D

off

s_Tinitialized

internal variable. Indicates that the initialization sequence finished.

Table: Sensors of the testing station

Label

Type

Initial

CIF name

Remark

TA01

D

off

a_elevator_up

on: Move up, if a_elevator_down is off

TA02

D

on

a_elevator_down

on: Move down, if a_elevator_up is off

TA03

D

off

a_pusher

on: Extend the pusher off: Retract the pusher

TA04

D

off

a_airslide

on: Enable products sliding off: Prevent products sliding

TA05

D

off

a_testingready

Status info: on: ready off: busy

Table: Actuators of the testing station

Simulation and visualization

This is left to the user……

The Buffering Station

One way to overcome the problem of (allowable) production speed misalignment between systems is the use of a buffer. It acts as an intermediate storage to receive and hold products when the next station is not ready to receive, or it provides and releases products to the next station when the previous station is not ready to send. Deviations in cycle times and small interruptions may be smoothed out by a buffer. In this case, a buffer is placed between the testing station and the processing station. A picture is given below.

../_images/BSFull2.png

Overview of the buffering station

The buffer

The buffering station has a maximum capacity of five products in a row in front of the separator. The separator separates one product from the buffer row and passes it on when the station following the buffer is ready to receive it. A moving belt, driven by a DC motor, transports the products, or may slide under them when products are stopped by the separator. Products entering the buffer are detected by a diffuse optical sensor positioned at the entrance (left side) of the buffer.

The separator

Products on the belt are detected again just before and after the separator unit by means of a through beam sensor. The mechanical construction of the separator is such that it can hold only one product. When this product is being released to the next station all other products in front of the separator are blocked until the separator changes its state and allows a product to move in again. It should be noted that although a functioning buffer controller can be realized with a continuously moving belt, this is not the preferred way; the DC motor driving the belt should be an active part of the control strategy.

../_images/BSGate.png

The separator module, one product in separator space, with optical entry sensor.

Sensors and actuators

The state of the separator is detected by means of two reed contact sensors. Details of the available sensors and actuators are in the tables below. The tables show the CIF event names that must be used in the CIF control programs. It is important to use these event names exactly (!) as shown, because they are the link from your control program to both the visualization software as well as to the specific hardware IO points on the physical station.

Label

Type

Initial

CIF name

Remark

BS01

D

off

s_product

on: Product at entry point

BS02

D

off

s_atseparator

on: Product just before separator

BS03

D

off

s_atexit

on: Product left the separator

BS04

D

off

s_separator_opened

on: Let a new product enter the separator space

BS05

D

on

s_separator_closed

on: Release product in separator, hold back the queue

BS06

D

on

s_processingbusy

Status info from Processing: on: busy, off: ready

D

off

s_Binitialized

internal variable. Indicates that the initialization sequence finished.

Table: Sensors of the buffering station

Label

Type

Initial

CIF name

Remark

BA01

D

off

a_separator

on: Receive one new product off: Release the current product

BA02

D

off

a_conveyer

on: Transport toward Processing

BA03

D

off

a_bufferingready

Status info: on: ready, off: busy

Table: Actuators of the buffering station

Simulation and visualization

This is left to the user……

The Processing Station

The (virtual) processing step of each product is performed on the processing station. The overview is shown earlier. A turntable is used to transport the products from one production spot to the next, until it is ready to leave the station at the exit point. The turntable has six discrete positions: an entry location, a testing location, a processing location, an exit location, and two spare locations. Once a product has entered the turntable it can only leave the station at the exit position. All but one of the six discrete positions surrounding the turntable have a capacitive sensor mounted under it to be able to detect the presence of a product in that position.

../_images/PSFull2.png

Overview of the processing station

The turntable

The turntable is driven by a DC motor. It can only rotate in the clockwise direction. Some additional electronic components allow the turntable to advance to the next position and stop there after a short (but not too short) start signal has been given. A discrete stable position is detected by an inductive sensor mounted under the table.

To avoid crashes and damage:

  • Note1: ONLY turn the turntable when the surrounding actuators are ALL in a safe position!!

  • Note2: ONLY activate the surrounding actuators when the turntable is stopped in a safe position!!

Product test

Prior to processing the product, its orientation is checked. No processing should take place if the product has the wrong (upside down) orientation. The test is performed by a solenoid probe in combination with an inductive sensor. (See Figure below.) Activation of the probe sensor indicates a correctly positioned product (or no product at all).

../_images/PSTest.png

Product test unit (no product, not activated)

Product machining

The (virtual) machining could be a drilling or grinding operation. The drilling machine is attached to a vertically mounted linear axis driven by a DC motor, as shown below. The machine tool may be switched on and the slide lowered in the direction of the product. Reaching the lower limit of the linear axis stroke is detected by a microswitch which then automatically (hard-wired) stops the downward movement. The same holds for the upward movement. The upper limit of the stroke is detected with a microswitch which stops the upward movement. The microswitch signals can be passed on to the controller. So, in this case the hardware prevents the slide from moving too far down/up! Power to the DC motor is automatically interrupted upon activation of the microswitch involved. The limit detection by the microswitch only produces a TRUE signal when the respective a_drilldown or a_drillup actuatorsignal is present. This behavior is hard-wired.

../_images/PSDrill.jpg

The drill unit.

Product clamping

Before machining takes place, the product has to be clamped so it remains in a fixed position during machining. This is realized with the electrical clamping cylinder. The figure below shows the clamping cylinder in the opened state, no clamping. Only the active clamping position is detected by means of an inductive sensor.

../_images/PSClamp.png

The clamp (opened) with a product in the processing station. ClampSensor in the lower right corner of the picture.

Product ejection

Products may leave the processing station at the exit point. A rotary solenoid is applied to move the product onto the entrance of the conveyer belt of the sorting station. The next figure shows a product about to be ejected by the solenoid.

../_images/PSEject.png

The ejector unit (not activated) at the exit.

Spare positions

Between the exit and entry point there are two spare positions. They have no special function. Only the first one after the exit point has a product sensor. This particular spare position may be used to manually correct the orientation of upside-down products detected in the test position. So, these products may remain on the turntable for more than one revolution.

Sensors and actuators

The complete lists of sensors and actuators are shown in the tables below. They show the CIF names that must be used in the CIF control programs. It is important to use these names exactly (!) as shown, because they are the link from your control program to both the visualization software as well as to the specific hardware IO points on the physical station.

Remember to keep the movement of the turntable and the surrounding stations mutually exclusive!!

Label

Type

Initial

CIF name

Remark

PS01

D

off

s_atinput

on: See description below the table

PS02

D

off

s_attest

on: See description below the table

PS03

D

off

s_atdrill

on: See description below the table

PS04

D

off

s_atexit

on: See description below the table

PS05

D

off

s_atspare

on: See description below the table

PS06

D

off

s_clamp

on: Product is clamped

PS07

D

off

s_test_ok

on: Hole is deep enough or no product available

PS08

D

on

s_drill_up

on: Drill in upper position, detected only if a_drillup = on

PS09

D

off

s_drill_down

on: Drill in lower position, detected only if a_drilldown = on

PS10

D

on

s_turntable

on: Table in a valid position

PS11

D

on

s_sortingbusy

Status info from Sorting: on: busy, off: ready

D

off

s_Pinitialized

internal variable. Indicates that the initialization sequence finished.

The sensors s_atinput, s_attest … s_atspare detect presence of a correctly oriented product. Upside-down products are not deteced. The sensors are also on when parts of the table are positioned above the sensors while the table is moving. The best way to see when the sensors are on is by opening the digital twin for the processing station. You do not need TwinCAT or a controller for this, see Digital twins.

Table: Sensors of the processing station

Label

Type

Initial

CIF name

Remark

PA01

D

off

a_drill

on: Turn drillmotor on

PA02

D

off

a_turntable

on: Short on makes turntable turn and stop at next position

PA03

D

off

a_drilldown

on: Make drill go down off: Stop motion

PA04

D

on

a_drillup

on: Make drill go up off: Stop motion

PA05

D

off

a_clamp

on: Clamp product on turntable off: Release the product

PA06

D

off

a_tester

Tests orientation of product on: move down, off: move up

PA07

D

off

a_eject

on: Eject product from turntable to sorting conveyer

PA08

D

off

a_processingready

Status info: on: ready, off: busy

Table: Actuators of the processing station

Simulation and visualization

This is left to the user……

The Sorting Station

The sorting station, as shown in the figure below, is the final stage in the production line. Its purpose is to sort the products according to their color, and move/store them in a separate buffer slide. Three kinds of products means three separate buffers. Products arrive at the beginning of the conveyer where they are classified based on their color. The color determines their destination: slide one, slide two or slide three. Two pneumatic gates influence the route of the product in the sorting system. The conveyer belt is controlled by a DC motor and can only stop or move in the forward direction.

../_images/SSFull2.png

Overview of the sorting station

Product entry and classification

Before the product is allowed to continue in the sorting system it has to be classified. That is why the pneumatic stopper is supposed to block all products at the entry point, as can be seen in the figure below. Once a product is blocked it is forced in such a position that a few sensors (diffuse optical and inductive) can determine the kind of product (red, black, metal).

../_images/SSEntry.jpg

The entry point at the beginning of the conveyer. The pneumatic stopper SA04 is retracted

Product gates

To divert a product from the main route (the conveyer) to a destination (the buffer slide), product gates are used. Each product gate is controlled by a monostable signal that controls a double acting short stroke pneumatic cylinder. These are labeled SA02 and SA03. The piston of this cylinder creates the rotary movement of the gate. The gate is normally opened; it lets products pass. Which gate has to be activated is determined during the classification at the entry point of the sorting station. If no gate is activated the product will end up in slide three, at the end of the conveyer belt. The status of each gate (opened/closed/moving) is detected by two reed contact sensors.

../_images/SSSlide.jpg

The product gates (SA02 and SA03); SA03 activated

Storage capacity

Products are detected with a retro reflective sensor (label SS04 in the picture) upon entry of one of the slides. So there is one sensor for three slides. This sensor signal should also be used to detect a full slide. A full slide should be emptied before any new products are allowed into the sorting system.

Sensors and actuators

Additional information about the sensors and actuators is given the two tables below. They show the CIF names that must be used in the CIF control programs. It is important to use these names exactly (!) as shown, because they are the link from your control program to both the visualization software as well as to the specific hardware IO points on the physical station.

Label

Type

Initial

CIF name

Remark

SS01

D

off

s_product

on: Product at entrance

SS02

D

off

s_inductive

on: Detects metal product

SS03

D

off

s_optical

on: Detects red and metal, or all (depends on sensitivity setting)

SS04

D

off

s_slidefull

Pulse on: passing product Continuous on: slide full

SS05

D

on

s_gate1_opened

on: Allow new product into gate area

SS06

D

off

s_gate1_closed

on: Release product from gate area and block the queue

SS07

D

on

s_gate2_opened

SS08

D

off

s_gate2_closed

D

off

s_Sinitialized

internal variable. Indicates that the initialization sequence finished.

Table: Sensors of the sorting station

Label

Type

Initial

CIF name

Remark

SA01

D

off

a_conveyer

on: Move conveyer

SA02

D

off

a_gate1

on: Close gate to redirect product

SA03

D

off

a_gate2

on: Close gate to redirect product

SA04

D

off

a_stopperretract

on: Retract stopper to allow passing

SA05

D

off

a_sortingready

Status info: on: ready off: busy

Table: Actuators of the sorting station

Simulation and visualization

This is left to the user……

Appendix initialization errors

Before the normal control sequence (your controller(s)) can start the system has to be initialized. This means that the both the hardware and the software must be in the same state, and your controller has a clearly defined starting point. This is defined by the status of the sensors and actuators at the end of an initialization sequence.

Initialization

To save you some time, we have preprogrammed the initialization sequence for each workstation. This sequence is performed before your controller is allowed to start, and must bring the station in a predefined state. Actuators are brought to their initial state, and sensors are checked to see if all went well.

Each of the station’s sensor list has an added signal (s_?initialized), that changes to TRUE when the initialization sequence finished correctly. You must test this variable, and only start your own controller(s) if its state is TRUE. Otherwise something went wrong. It could be that a product is left on the workstation, or the key switch is in the wrong position, etc.

To see which of the sensors did not reach the desired state you can lookup the error number in the Input Initialization Index of the respective workstation given below. To the left of the number you will find the name of the sensor that is in the wrong state after initialization. To the right the required state is shown.

Distributing and Handling

DISTRIBUTING

HANDLING

sensor

idx

state

sensor

idx

state

s_Dstartbutton

0

released

s_Hstartbutton

22

released

s_Dstopbutton

1

released

s_Hstopbutton

23

released

s_Dautoswitch

2

vertical

s_Hautoswitch

24

vertical

s_Dresetbutton

3

released

s_Hresetbutton

25

released

s_Din4

4

off

s_Hin4

26

off

s_Din5

5

off

s_Hin5

27

off

s_Din6

6

off

s_Hin6

28

off

s_Din7

7

off

s_Hin7

29

off

s_pusher1_in

8

on

s_product1

30

off

s_pusher1_out

9

off

s_product2

31

off

s_stack1filled

0

on

s_product3

32

off

s_product1

11

off

s_xpos_at1

33

off

s_pusher2_in

12

on

s_xpos_at2

34

off

s_pusher2_out

13

off

s_xpos_at3

35

off

s_stack2filled

14

on

s_xpos_atdrop

36

on

s_product2

15

off

s_zpos_atup

37

on

s_pusher3_in

16

on

s_zpos_atdown

38

off

s_pusher3_out

17

off

s_gripper

39

off

s_stack3filled

18

on

s_transfer_atpickup

40

off

s_product3

19

off

s_transfer_atdrop

41

off

s_handlingbusy

20

D

s_transfer_athalfway

42

on

s_Dinitialized

21

off

s_vacuum

43

off

s_product4

44

off

s_testingbusy

45

D

s_Hinitialized

46

off

Table: Initialization error table of the Distributing and Handling station

Testing and Buffering

TESTING

BUFFERING

sensor

idx

state

sensor

idx

state

s_Tstartbutton

0

released

s_Bstartbutton

17

released

s_Tstopbutton

1

released

s_Bstopbutton

18

released

s_Tautoswitch

2

vertical

s_Bautoswitch

19

vertical

s_Tresetbutton

3

released

s_Bresetbutton

20

released

s_Tin4

4

off

s_Bin4

21

off

s_Tin5

5

off

s_Bin5

22

off

s_Tin6

6

off

s_Bin6

23

off

s_Tin7

7

off

s_Bin7

24

off

s_elevator_up

8

off

s_product

25

off

s_elevator_down

9

on

s_atseparator

26

off

s_pusher

10

off

s_atexit

27

off

s_optical

11

off

s_separator_opened

28

off

s_capacitive

12

off

s_separator_closed

29

on

s_reflective

13

off

s_processingbusy

30

D

s_productheight

14

off

s_Binitialized

31

off

s_bufferingbusy

15

D

s_Tinitialized

16

off

Table: Initialization error table of the Testing and Buffering station

Processing

PROCESSING

sensor

idx

state

s_Pstartbutton

0

released

s_Pstopbutton

1

released

s_Pautoswitch

2

vertical

s_Presetbutton

3

released

s_Pin4

4

off

s_Pin5

5

off

s_Pin6

6

off

s_Pin7

7

off

s_atinput

8

off

s_attest

9

off

s_atdrill

10

off

s_atexit

11

off

s_atspare

12

off

s_clamp

13

off

s_test_ok

14

off

s_drill_up

15

on

s_drill_down

16

off

s_turntable

17

on

s_sortingbusy

18

D

s_Pinitialized

19

off

Table: Initialization error table of the Processing station

Sorting

SORTING

sensor

idx

state

s_Sstartbutton

0

released

s_Sstopbutton

1

released

s_Sautoswitch

2

vertical

s_Sresetbutton

3

released

s_Sin4

4

off

s_Sin5

5

off

s_Sin6

6

off

s_Sin7

7

off

s_product

8

off

s_inductive

9

off

s_optical

10

off

s_slidefull

11

off

s_gate1_opened

12

on

s_gate1_closed

13

off

s_gate2_opened

14

on

s_gate2_closed

15

off

s_Sinitialized

16

off

Table: Initialization error table of the Sorting station