• No se han encontrado resultados

ARDUINO GRAFCET- GENÉRAL ORIGINAL CON CONTADOR

N/A
N/A
Jovanny Duque

Academic year: 2022

Share "ARDUINO GRAFCET- GENÉRAL ORIGINAL CON CONTADOR"

Copied!
5
0
0

Texto completo

(1)

1

COM

PIN 5 PIN 7

PIN 6

PIN 2

PIN 3

S1

L1

L2

A2 A1

A2 A1

3 4

PIN 4

L3

A2 A1

PIN 9 PIN 8

S3 S2

3 4

3 4

S4

1 4

3 4

3 4

3 4

COM1

L4

A2 A1

GRAFCET GENERICO PARA EL CONTROL DE TRES (3) LUCES USANDO CUATRO (4) PULSADORES NA.

GRAFCET GENERICO

https://youtube.com/playlist?list=PLHTERkK4EZJqYRyOEp40oJs2miTM35BKY

GRAFCET CON ARDUINO Programa en Arduino sistemas secuenciales simulados en GRAFCET , con un método confiable 100%

https://youtube.com/playlist?list=PLHTERkK4EZJpJEcByUotJ5YOIiC-Vmimt

OBJETIVO: Usar cada una de las tres (3) estructuras de programación GRAFCET, realizar saltos adelante, reenvíos hacia atrás, saltos a otras etapas, manejo de temporizaciones, manejo memorias, etc.

ESQUEMA DE CONEXIÓN DE E / S ARDUINO

ENTRADAS

SALIDAS

+24 V 0V +24 V 0V

(2)

2

GRAFCET

DESCRIPCIÓN DEL PROCESO EN TERMINOS DE ETAPAS Y TRANSICIONES

(3)

3

//TRATAMIENTO PREVIO

int E1;

int E2;

int E3;

int E4;

int E5;

int E6;

int E7;

int E8;

int E9;

int E10;

int E11;

int E12;

int E13;

int E14;

int S1=6;

int S2=7;

int S3=8;

int S4=9;

int L1=2;

int L2=3;

int L3=4;

int L4=5;

int T1;

int activado1=0;

long inicio1, final1, actual1;

int T2;

int activado2=0;

long inicio2, final2, actual2;

int T3;

int activado3=0;

long inicio3, final3, actual3;

void setup

() {

Serial.begin(9600);

pinMode(6,INPUT);

pinMode(7,INPUT);

pinMode(8,INPUT);

pinMode(9,INPUT);

pinMode(2,OUTPUT);

pinMode(3,OUTPUT);

pinMode(4,OUTPUT);

pinMode(5,OUTPUT);

digitalWrite(L1,LOW);

digitalWrite(L2,LOW);

digitalWrite(L3,LOW);

digitalWrite(L4,LOW);

E1=HIGH;

E2=LOW;

E3=LOW;

E4=LOW;

E5=LOW;

E6=LOW;

E7=LOW;

E8=LOW;

E9=LOW;

E10=LOW;

E11=LOW;

E12=LOW;

E13=LOW;

E14=LOW;

}

//TRATAMIENTO SECUENCIAL

void loop

( ) {

S1=digitalRead(6);

S2=digitalRead(7);

S3=digitalRead(8);

S4=digitalRead(9);

E1=((E1|(S4&E13&E14))&(~E2)&(~E7)&(~E8));

E2=((E2|(S1&E1)|(T1&E6))&(~E3));

E3=((E3|((S3|S2)&E2))&(~E6)&(~E4));

E4=((E4|((S1&S2)&(E3)))&(~E5)&(~E7));

E5=((E5|(T2&E4)|(S1&S3&E7)|(T3&E10)|(S1&E 8))&(~E11)&(~E12));

E6=((E6|(E3&S3&S4))&(~E2));

E7=((E7|(E1&S2)|(E4&S3))&(~E5));

E8=((E8|(E1&S3))&(~E5)&(~E9));

E9=((E9|(E8&S2))&(~E10));

E10=((E10|(E9&S1))&(~E5));

E11=((E11|(E5&S4))&(~E13));

E12=((E12|(E5&S4))&(~E14));

E13=((E13|(E11&S1))&(~E1));

E14=((E14|(E12&S2))&(~E1));

//TRATAMIENTO POSTERIOR

if (E1==HIGH){

Serial.println("Etapa1");

}

if (E2==HIGH){

Serial.println("Etapa2");

digitalWrite(L1,HIGH);

} else{

digitalWrite(L1,LOW);

}

if (E3==HIGH){

Serial.println("Etapa3");

(4)

4

digitalWrite(L2,HIGH);

} else{

digitalWrite(L2,LOW);

}

if (E4==HIGH){

Serial.println("Etapa4");

digitalWrite(L1,HIGH);

activetemp2();

} else{

digitalWrite(L1,LOW);

desactivetemp2();

}

if (E5==HIGH){

Serial.println("Etapa5");

}

if (E6==HIGH){

Serial.println("Etapa6");

digitalWrite(L3,HIGH);

activetemp1();

} else{

digitalWrite(L3,LOW);

desactivetemp1();

}

if (E7==HIGH){

Serial.println("Etapa7");

digitalWrite(L2,HIGH);

} else{

digitalWrite(L2,LOW);

}

if (E8==HIGH){

Serial.println("Etapa8");

digitalWrite(L3,HIGH);

} else{

digitalWrite(L3,LOW);

}

if (E9==HIGH){

Serial.println("Etapa9");

digitalWrite(L2,HIGH);

} else{

digitalWrite(L2,LOW);

}

if (E10==HIGH){

Serial.println("Etapa10");

digitalWrite(L3,HIGH);

activetemp3();

} else{

digitalWrite(L3,LOW);

desactivetemp3();

}

if (E11==HIGH){

Serial.println("Etapa11");

digitalWrite(L1,HIGH);

digitalWrite(L2,HIGH);

} else{

digitalWrite(L1,LOW);

digitalWrite(L2,LOW);

}

if (E12==HIGH){

Serial.println("Etapa12");

digitalWrite(L3,HIGH);

} else{

digitalWrite(L3,LOW);

}

if (E13==HIGH){

Serial.println("Etapa13");

}

if (E14==HIGH){

Serial.println("Etapa14");

} }

void activetemp1() {

if(E6 == HIGH && activado1==0){

activado1=1;

inicio1= millis();

final1= inicio1 + 4000;

}

actual1=millis();

if(activado1 == 1 && (actual1>final1)){

T1=HIGH;

} else { T1=LOW;

} }

void desactivetemp1(){

activado1=0; inicio1=0; final1=0; actual1=0;

}

void activetemp2(){

if(E4 == HIGH && activado2==0){

activado2=1;

inicio2= millis();

final2= inicio2 + 10000;

(5)

5

}

actual2=millis();

if(activado2 == 1 && (actual2>final2)){

T2=HIGH;

} else { T2=LOW;

} }

void desactivetemp2(){

activado2=0; inicio2=0; final2=0; actual2=0;

}

void activetemp3(){

if(E10 == HIGH && activado3==0){

activado3=1;

inicio3= millis();

final3= inicio3 + 5000;

}

actual3=millis();

if(activado3 == 1 && (actual3>final3)){

T3=HIGH;

} else { T3=LOW;

} }

void desactivetemp3(){

activado3=0; inicio3=0; final3=0; actual3=0;

}

Jóvenes, este material ha sido elaborado con mucho gusto.

Si te es útil Regálame un Like, comenta y suscríbete :) (っ◕‿◕)

Te invito al CANAL DE

YOUTUBE MEKATRONICA para conocer más

http://www.youtube.co m/c/JovannyDuque?su

b_confirmation=1_

________________________

__________

y Amigos/as en el BLOGG MEKATRONICA podrás encontrar cantidad de recursos

sobre SOLIDWORKS, HIDRÁULICA -

ELECTROHIDRÁULICA , NEUMÁTICA,

ELECTRONEUMÁTICA, CONTROL, PLC M221, PLC

SIEMEMS S7 1200, PLC SIEMENS S7 300 , FLUID SIM

FACTORY IO, entre otros

https://mecatronica-

itsa.blogspot.com/

Referencias

Documento similar

Una vez se active el pulsador de llamada de algún piso, la plataforma debe acudir al piso requerido, la plataforma activará el final de carrera del piso al que

Usa el software Fluid Sim P para simular GRAFCET aplicados a sistemas electroneumáticos, desde lo más sencillo a lo más compl

En estos 4 videos podrás aprender a realizar proyectos de simulación de PLC, usando los software FACTORY IO y SOMACHINE BASIC en lenguaje GRAFCET.. Este material ha sido elaborado

Usa el software Fluid Sim P para simular GRAFCET aplicados a sistemas electroneumáticos, desde lo más sencillo a lo más

Aquí podrás encontrar material interesante sobre Mecatrónica, Automatización, Programación de PLC en Ladder y GRAFCET , Solidworks, Control automático , Programación de

OBJETIVO: Usar cada una de las tres (3) estructuras de programación GRAFCET, realizar saltos adelante, reenvíos hacia atrás, saltos a otras etapas, manejo de temporizaciones,

TRAZAR SIN EL EDITOR DE GRAFCET, LAS ESTRUCTURAS GENERALES DEL GRAFCET EN TERMINOS DE ETAPAS Y TRANSICIONES (SIN RECEPTVIDADES O ACCIONES).. Recomendación: CREAR LAS ETAPAS EN

 Finales de carrera en cada piso (S1, S2, S3), los cuales se encuentran situados en cada una de las plantas y se encargan de detectar la posición del elevador.  Finales de