Notes, summaries, assignments, exams, and exercises for Design and Engineering for Vocational training

Advanced Industrial Process Control and Optimization Techniques

Design and Engineering2.75 KB

Anti-Surge Control

Prevents the compressor from surging while maintaining operation as close to the limit as possible. This ensures that pumping valves operate with the minimum necessary movement, avoiding a loss of compressor performance.

Non-Linear Level Monitoring

Standard linear PID algorithms are often insufficient for non-linear processes. This control method utilizes specific programs that match the capacity of a given vessel to minimize variations in inflow or outflow when flow discrepancies occur.

Distillation Column Control

For distillation columns, the following variables are managed:

  • Composition of impurities
  • Temperatures of the rectification and stripping zones
  • Head flow and temperature
  • Bottom energy input
  • Reflux-to-distillate ratio

Calculating

...
Continue reading "Advanced Industrial Process Control and Optimization Techniques" »

Java Process Builder: Parent-Child Process and Pipe Implementation

Design and Engineering3.25 KB

public static void main(String[] args) {

if(args.length >= 2) {

System.out.println("Inicio padre");

//Variables

ProcessBuilder pb = null;

Process p = null;

String[] args_alt = new String[args.length-1];

File path = null;

String line = "";

InputStream is = null;

InputStreamReader isr = null;

BufferedReader br = null;

for(int i=0; i<args_alt.length; i++) {

args_alt[i] = args[i];

}

pb = new ProcessBuilder(args_alt);

path = new File(args[args.length-1]);

pb.directory(path);

if(path.exists() && path.isDirectory()) {

try {

p = pb.start();

} catch (IOException e) {

System.out.println("Error al crear el proceso");

}

is = p.getInputStream();

isr = new InputStreamReader(is);

br = new BufferedReader(isr);

try {

while((line = br.readLine()) != null) {

System.out.println(...

Continue reading "Java Process Builder: Parent-Child Process and Pipe Implementation" »

Carbon Steel: Definition, Fe-C Diagram, TTT Curves and Heat Treatments

Design and Engineering7.11 KB

Definition of Carbon Steel: Carbon steel is an alloy of iron and carbon (Fe-C) containing between 0.008% and 2.1% carbon, along with residual elements from the manufacturing process, such as phosphorus, sulfur, silicon and manganese.

Considerations:

  • Used in most metal-part constructions. It accounts for up to 90% of metal materials produced.
  • Low price relative to its mechanical strength.
  • For practical use, steels with 0.05% to 1.5% C provide resistance to tension ranging from 32 to 60 kgf/mm2.
  • The yield strength of carbon steels can range from 17 to 27 kgf/mm2.

Fe-C Diagram Definitions

  • Hypoeutectoid steels: Steels with a carbon content below 0.8%.
  • Eutectoid steels: Steels with a carbon content of 0.8%.
  • Hypereutectoid steels: Steels with a carbon content
...
Continue reading "Carbon Steel: Definition, Fe-C Diagram, TTT Curves and Heat Treatments" »

Sincronización de Procesos con Semáforos en Java

Design and Engineering4.1 KB

Sincronización Concurrente con Semáforos en Java

A continuación se presenta la implementación de dos hilos concurrentes (Monstruo y Almacén) que coordinan el acceso y modificación de recursos compartidos mediante la clase Semaphore de java.util.concurrent.

Clase Monstruo (Consumidor)

La clase Monstruo actúa como consumidor dentro del esquema clásico de concurrencia:

import java.util.concurrent.Semaphore;

public class Monstruo extends Thread {
    Semaphore mutex;
    Semaphore entrada;
    Semaphore espera;
    Bean b;
    int galletasComidas;

    public Monstruo(Bean b, Semaphore mutex, Semaphore entrada, Semaphore espera) {
        this.b = b;
        this.mutex = mutex;
        this.entrada = entrada;
        this.espera = espera;
...
Continue reading "Sincronización de Procesos con Semáforos en Java" »

Java Calculator Tutorial: Sum and Subtract with Classes

Design and Engineering3.01 KB

Class: MaquinaSumadora

package ClasesOperaciones;

public class MaquinaSumadora {

private float numero1;

private float numero2;

public MaquinaSumadora() {

numero1 = 0;

numero2 = 0;

}

public float getNumero1() {

return numero1;

}

public void setNumero1(float numero1) {

this.numero1 = numero1;

}

public float getNumero2() {

return numero2;

}

public void setNumero2(float numero2) {

this.numero2 = numero2;

}

public float sumar() {

float foo;

foo = 0;

foo = numero1 + numero2;

return foo;

}

public float restar() {

float foo;

foo = 0;

foo = numero1 - numero2;

return foo;

}

}

Class: ControladoresClases

package Controladores;

import ClasesOperaciones.MaquinaSumadora;

import java.util.Scanner;

public class ControladoresClases {

private MaquinaSumadora sumadora;

private Scanner ingreso;

public

...

Continue reading "Java Calculator Tutorial: Sum and Subtract with Classes" »

Análisis Estadístico de Compañías Telefónicas en Java

Design and Engineering4.51 KB

Análisis Estadístico de Telefonía Móvil en Java

El siguiente programa implementa la lectura de datos mediante consola para clasificar usuarios según su compañía telefónica (Movistar, Orange u Otros) y su modalidad de pago (Tarjeta o Contrato), calculando la cuota mayoritaria al finalizar el ingreso de datos.

Código Fuente del Ejercicio

package ejercicio24;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Ejercicio24 {

    public static void main(String[] args) throws IOException {
        String miTipo, miCompañia;
        int contadorTotal = 0, totMov = 0, totOr = 0, totOt = 0;
        int movTar = 0, movCon = 0, oraTar = 0, oraCon = 0, otTar = 0, otCon = 0;
        float porGanador
...
Continue reading "Análisis Estadístico de Compañías Telefónicas en Java" »