Simulación de control de máquinas de producción en tiempo real en C++

En este ejercicio, desarrollará un programa en C++ que simula el control de una máquina de producción en tiempo real. El programa simulará diferentes estados de la máquina (p. ej., "Inactivo", "En funcionamiento", "Detenido") y realizará acciones según intervalos de tiempo específicos. La simulación le permitirá controlar cuándo la máquina arranca, se detiene o entra en modo inactivo. Este ejemplo demuestra cómo modelar el comportamiento de un sistema en tiempo real para controlar equipos o maquinaria de producción.

Grupo

Programación en Tiempo Real en C++

Ojetivo

Escriba un programa en C++ que simule el control en tiempo real de una máquina de producción. El programa debe simular los estados de la máquina (Inactiva, En ejecución, Detenida) y actualizar su estado a intervalos regulares. Permita al usuario introducir el tiempo que la máquina permanece en cada estado y ejecutarla continuamente, cambiando sus estados según los intervalos especificados.

Escriba un programa que simule el control de una máquina de producción en tiempo real.

Ejemplo de Código C++

 Copiar Código C++
#include <iostream>    // Include the input-output stream library
#include <thread>       // Include the thread library to control time intervals
#include <chrono>       // Include the chrono library for time manipulation
using namespace std;

// Function to simulate the production machine control system
void productionMachineControl(int idleDuration, int runningDuration, int stoppedDuration) {
    while (true) {  // Infinite loop to simulate continuous machine control
        // Simulate Idle State
        cout << "Machine is IDLE - Not in operation" << endl;
        this_thread::sleep_for(chrono::seconds(idleDuration));  // Wait for the specified idle duration

        // Simulate Running State
        cout << "Machine is RUNNING - Production in progress" << endl;
        this_thread::sleep_for(chrono::seconds(runningDuration));  // Wait for the specified running duration

        // Simulate Stopped State
        cout << "Machine is STOPPED - Production halted" << endl;
        this_thread::sleep_for(chrono::seconds(stoppedDuration));  // Wait for the specified stopped duration
    }
}

int main() {
    int idleDuration, runningDuration, stoppedDuration;

    // Ask the user to input the time durations for each machine state
    cout << "Enter the duration for IDLE state in seconds: ";
    cin >> idleDuration;

    cout << "Enter the duration for RUNNING state in seconds: ";
    cin >> runningDuration;

    cout << "Enter the duration for STOPPED state in seconds: ";
    cin >> stoppedDuration;

    // Start the production machine control system with the user-defined durations
    productionMachineControl(idleDuration, runningDuration, stoppedDuration);

    return 0;
}

 Salida

Enter the duration for IDLE state in seconds: 3
Enter the duration for RUNNING state in seconds: 5
Enter the duration for STOPPED state in seconds: 2
Machine is IDLE - Not in operation
Machine is RUNNING - Production in progress
Machine is STOPPED - Production halted
...

Comparte este ejercicio C++

Más ejercicios de programación C++Programación en Tiempo Real en C++

¡Explora el conjunto de ejercicios de programación en C++! Diseñados específicamente para principiantes, estos ejercicios te ayudarán a desarrollar una sólida comprensión de los fundamentos de C++. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte gradualmente a medida que adquieres confianza en la programación en C++.