Skip to Content
All case studies

Case study · Meat sorting · M-Duino 19R

Weigh each piece. Push it to its belt.

An M-Duino PLC sorts meat into three weights and runs the room climate.

3weight grades: 250 g, 500 g and 1000 g
4conveyor belts: one main belt and one for each grade
3pneumatic pistons, each on a solenoid valve
2room sensors: temperature and humidity

The scale decides. The PLC pushes each piece to the belt of its grade.

One controller for the sort, the room and the counts: the server knows how many pieces of each grade the line has made.

This case describes a meat sorting line controlled by an Industrial Shields PLC based on Arduino. It does not name a customer or a plant. It is a reference design. This page follows one piece from the scale to its belt, then the climate of the room, then the counts on their way to the server.

The challenge

Sort every piece by weight, with no hands on the meat.

Pieces of different sizes arrive together on one belt. Each piece must go to the belt of its grade. People should not handle the meat, the room must stay in good conditions, and production wants to know how many pieces of each grade are ready.

01

Three grades on one belt

All the pieces come together on the main belt. A digital scale weighs each one, and the weight sets its grade: 250 g, 500 g or 1000 g.

02

The push at the right moment

A pneumatic piston on a solenoid valve pushes the piece to its belt. An infrared sensor tells the PLC when the piece is in front of the piston.

03

Belts that run only when needed

The main belt runs all the time, for a constant flow of meat. Each grade belt starts only when its piston fires, so it does not waste energy.

04

The right climate in the room

A temperature sensor and a humidity sensor control the air conditioning and a dehumidifier, so the meat is handled in good conditions.

A real-time inventory

The PLC keeps one counter for each grade and sends the counts to a server over Ethernet. Production sees the stock of each grade while the line runs.

How it works

Three stages: sort, keep the room, count.

Each stage shows one part of the line. Press the buttons. The panels are illustrative simulations: weights, limits, times, set points and register names are examples, not data from a plant.

Stage 1 · Weigh and sort

The scale sets the grade. The infrared sensor sets the moment.

The pieces enter on the main belt and pass over a digital scale, which is an analog input of the PLC. The weight sets the grade. When the piece passes in front of the piston of its grade, an infrared sensor tells the PLC, the PLC opens the solenoid valve and the piston pushes the piece onto the grade belt. That belt starts only then. Pick a piece and press Send a piece.

  • Digital scale on an analog input
  • One infrared sensor and one solenoid valve for each piston
  • Main belt always on, grade belts on demand
250 gC500 gB1000 gAScale
Weight·
Grade·
Piston·
Belt·
WEIGHTRACKIR SENSORVALVEGRADE BELT

Sort steps (example)

    Illustrative simulation. Example values, no data from a plant. Example limits: under 375 g to the 250 g belt, 375 to 749 g to the 500 g belt, 750 g and over to the 1000 g belt. Example times: valve open 300 ms, grade belt on for 5 s after the push. The case does not publish the limits or the times. A typical way to do it: take the weight when the reading is stable, keep the grades in a queue between the scale and the pistons, and open the valve on the edge of the infrared sensor.

    Try the weight sorting in the simulator

    Stage 2 · Keep the room

    Two sensors, two machines: the air conditioning and the dehumidifier.

    A temperature sensor and a humidity sensor are analog inputs of the PLC. From their values, the PLC turns the air conditioning and the dehumidifier on and off with two relay outputs. A typical way to do it: a set point with a hysteresis for each one, so the machines do not start and stop all the time. Pick a scenario, then open the door.

    • Temperature and humidity on analog inputs
    • Air conditioning and dehumidifier on relay outputs
    • Set points with a hysteresis (example)
    TemperatureHumidityACDehumidifier
    Temperature·
    Humidity·
    Air conditioning·
    Dehumidifier·
    TEMPERATURE OKAC ONHUMIDITY OKDEHUMIDIFIER ON

    Climate events (example)

      Illustrative simulation. Example values, no data from a plant. Example set points with a hysteresis: air conditioning on above 10.0 °C and off at 8.0 °C, dehumidifier on above 85 % and off at 80 %. The case does not publish its set points. For the legal limits of a cutting room, see the questions below.

      Related simulator: temperature and humidity bands in the mushroom room of the greenhouse climate simulator

      Stage 3 · Count

      Three counters in the PLC. A real-time inventory on the server.

      The PLC counts the pieces of each grade in three registers and sends the numbers to a server over Ethernet, all the time. The server has a real-time inventory of the production. Pick a way to send the data, then cut the network and restore it.

      • One counter for each grade
      • Ethernet to the server
      • Totals, so a network cut does not lose pieces
      PLCServer250 g0250 g0500 g0500 g01000 g01000 g0
      Pieces sorted·
      Server·
      Link·
      COUNTERSETHERNETSERVER UP TO DATE

      Data to the server (example)

        Illustrative simulation. Example values, no data from a plant. The case says the PLC sends the count of each grade to the server over Ethernet, and does not name the protocol. Two typical ways: the server reads the counters as Modbus TCP holding registers, or the PLC publishes them over MQTT. Send totals, not increments: after a network cut, the next message catches up. Register addresses and topic names are examples.

        System architecture

        How does a PLC sort meat pieces by weight?

        An Ethernet PLC based on Arduino reads a digital scale, a temperature sensor and a humidity sensor on analog inputs, and three infrared sensors on digital inputs. Relay outputs switch the four conveyor belts (220 Vac), the air conditioning and the dehumidifier. Three digital outputs drive the solenoid valves of the three pistons. Over Ethernet, the PLC sends the count of each grade to a server.

        Servercount of each gradeEthernetPLCM-Duino 19R, EthernetInputsDigital scaleweight of each piece · Analog inInfrared sensors ×3piece at the piston · Digital inTemperature sensorroom · Analog inHumidity sensorroom · Analog inOutputsConveyor belts ×4main + 3 grades, 220 Vac · Relay outSolenoid valves ×3pistons A, B, C · Digital outAir conditioningroom temperature · Relay outDehumidifierroom humidity · Relay outOne possible layout. The case does not publish the sensor models, the weight limits or the server software.Servercount of each gradeEthernetPLCM-Duino 19R, EthernetDigital scaleweight of each pieceAnalog inInfrared sensors ×3piece at the pistonDigital inTemperature sensorroomAnalog inHumidity sensorroomAnalog inConveyor belts ×4main + 3 grades, 220 VacRelay outSolenoid valves ×3pistons A, B, CDigital outAir conditioningroom temperatureRelay outDehumidifierroom humidityRelay outOne possible layout. The case does not publishthe sensor models, the weight limits or theserver software.
        InputsOutputsEthernet
        Signals and data
        SignalBetweenTypePurpose
        Weight of the pieceBetweenDigital scale → PLCTypeAnalog inPurposeSets the grade of each piece
        Piece at piston A, B, CBetweenInfrared sensors (×3) → PLCTypeDigital inPurposeThe moment to push the piece
        Room temperatureBetweenTemperature sensor → PLCTypeAnalog inPurposeTurns the air conditioning on and off
        Room humidityBetweenHumidity sensor → PLCTypeAnalog inPurposeTurns the dehumidifier on and off
        Main beltBetweenPLC → conveyor (220 Vac)TypeRelay outPurposeRuns all the time, for a constant flow of meat
        Grade belts 1, 2, 3BetweenPLC → conveyors (220 Vac)TypeRelay outPurposeEach one runs only when its piston fires
        Pistons A, B, CBetweenPLC → solenoid valves (×3)TypeDigital outPurposePush the piece to the belt of its grade
        Air conditioningBetweenPLC → AC unitTypeRelay outPurposeKeeps the temperature of the room
        DehumidifierBetweenPLC → dehumidifierTypeRelay outPurposeKeeps the humidity of the room
        Count of each gradeBetweenPLC → serverTypeEthernetPurposeThree counters: a real-time inventory of the production

        Why it works

        The weight decides. The PLC does the rest.

        No hands on the meat

        The scale weighs each piece and the program sets its grade. Nobody has to handle the meat to sort it.

        One push, at the right place

        The infrared sensor at each piston gives the exact moment. The valve opens when the piece is in front of the piston.

        Energy only where there is meat

        The grade belts stop when they have nothing to carry. Only the main belt runs all the time.

        The room in the same program

        The PLC that sorts the meat also reads the temperature and the humidity and switches the air conditioning and the dehumidifier.

        Counts for the inventory

        Three counters in the PLC, sent over Ethernet: the server has the number of pieces of each grade while the line runs.

        Ready for the next step

        Each belt carries one grade only, so packaging and labelling can follow on each belt. The case proposes it as the next step.

        Hardware used

        One Ethernet PLC with relays for the sort, the room and the counts.

        M-DUINO ETHERNET PLC ARDUINO 19R, industrial PLC based on Arduino Mega with 8 relays and Ethernet for DIN rail

        M-DUINO ETHERNET PLC ARDUINO 19R

        An industrial PLC built around an original Arduino Mega 2560, with Ethernet, RS-485 and RS-232, for DIN rail. It is programmed with the Arduino IDE. On this line it reads the scale, the infrared sensors and the room sensors, drives the solenoid valves, switches the belts and the climate machines, and sends the counts to the server.

        Role
        Sort by weight, room climate, counts to the server
        Inputs
        6: 4 analog/digital (0-10 V analog, up to 24 Vdc digital, 10-bit), 2 digital optoisolated (5 to 24 Vdc)
        Outputs
        11: 8 relays (230 Vac 4 A / 24 Vdc 2 A, resistive), 3 analog/digital/PWM (0-10 V analog, up to 24 Vdc digital, 20 mA)
        Communications
        Ethernet (W5500, RJ45), 2 x RS-485, RS-232, I2C, SPI
        Built in
        Real-time clock, microSD slot
        Programming
        Arduino IDE
        Power supply
        12 to 24 Vdc
        Mounting
        DIN rail TS35, IP20

        The case names an Industrial Shields PLC based on Arduino with Ethernet. The PLC in its connection scheme is the M-Duino 19R, still in the catalogue (current version 19R+). This line uses all 6 inputs: the scale and the two room sensors on three analog/digital inputs, two infrared sensors on the isolated inputs and the third one on the fourth analog/digital input in digital mode. It uses 6 of the 8 relays and the 3 digital outputs. A digital output gives 20 mA at most, so each solenoid valve takes an interface relay or a valve driver. The PLC goes in a closed cabinet outside the wash-down area (IP20, 0 to 60 °C, no condensation); the sensors and valves on the line need a wash-down rating. For more grades or more sensors, the M-Duino 38R+ has 12 inputs and 16 relays.

        Questions about this case

        How does a PLC sort meat pieces by weight?

        A digital scale on the main belt weighs each piece, and the PLC sets its grade from the weight. In this case there are three grades, 250 g, 500 g and 1000 g, each with its own belt. When the piece passes in front of the piston of its grade, an infrared sensor tells the PLC, and the PLC opens the solenoid valve: the piston pushes the piece onto the grade belt, which starts only then. The case does not publish the weight limits between the grades.

        How does the PLC read the digital scale?

        On an analog input, as in the case. The analog inputs of the M-Duino read 0-10 V. A load cell gives a few millivolts, so the scale needs a weighing transmitter with a 0-10 V or 4-20 mA output. For 4-20 mA, add a 500 Ω precision shunt (20 mA gives 10 V). On a moving belt, take the weight when the reading is stable, and calibrate zero and span with known weights. If the weight sets the price of a pack, the scale is an automatic catchweigher under legal metrology: OIML R 51 and, in the EU, the Measuring Instruments Directive 2014/32/EU (annex MI-006).

        How does the piston push the piece at the right moment?

        With an infrared sensor at each piston, as in the case. A typical way to do it: the PLC keeps the grades of the pieces in a queue, in the order they left the scale. When the sensor of a piston sees a piece, and that piece has the grade of that piston, the PLC opens the solenoid valve for a short time and the piston pushes it. The digital outputs give up to 24 Vdc and 20 mA, so drive each valve coil through an interface relay or a valve driver.

        Can the relay outputs start the conveyor motors?

        The relays of the M-Duino switch up to 4 A at 230 Vac with a resistive load. A conveyor motor is an inductive load with a starting current, so a typical way is: the relay drives the coil of a contactor, with an RC snubber, and the contactor with a motor protection switches the motor. The air conditioning and the dehumidifier take a run signal or a contactor in the same way. The emergency stop and the guards of the belts and the pistons must not depend on the standard PLC program (IEC 60204-1, ISO 13850). See safety interlocks and e-stop on a PLC.

        Which temperature must a meat cutting room keep?

        The case does not publish its set points. In the EU, Regulation (EC) No 853/2004 asks to keep red meat of domestic ungulates at no more than 7 °C during cutting and packaging (3 °C for offal; 4 °C for poultry meat), with a room temperature of no more than 12 °C or an alternative system of equivalent effect. Check the rules that apply to your plant. To see temperature and humidity bands at work, try the mushroom room of the greenhouse climate simulator. There the controller adds humidity; in a meat room the dehumidifier removes it.

        How does the server get a real-time inventory?

        The PLC keeps one counter for each grade and sends the counts to the server over Ethernet. The case does not name the protocol. Two typical ways: the server reads the counters as Modbus TCP holding registers, or the PLC publishes them over MQTT. Send totals, not increments, so a short network cut does not lose pieces. See a Modbus TCP register map on an M-Duino.

        Download the case study

        4-page PDF with the challenge, the logic, the architecture and the hardware. No form required.

        Similar line?

        Tell us your grades and your belts. An engineer will answer.

        Tell us what you sort, how many grades and belts you need, how many pieces per minute, and what the room must keep. We will tell you which controller fits and how to connect it.

        • You get an answer from our technical team
        • I/O count and controller sizing for your line
        • Arduino, ESP32 or Raspberry Pi based PLCs