GRAFCET EN ARDUINO PRÁCTICA 1

Page 1

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

GRAFCET CON ARDUINO

Hola jóvenes, en estos enlaces del BLOGG y DEL CANAL, pueden encontrar recursos sobre fundamentos de ingeniería mecatrónica como : SOLIDWORKS, PROGRAMACIÓN DE ARDUINO, HIDRÁULICA – LENGUAJE LADDER , LENGUAJE GRAFCET ,ELECTROHIDRÁULICA , NEUMÁTICA, ELECTRONEUMÁTICA, PLC M221, PLC SIEMEMS S7 1200, PLC SIEMENS S7 300 , FLUID SIM, FACTORY IO, CONTROL, entre otros https://www.mecatrónica.com.co/ https://mecatronicaitsa.blogspot.com/ http://www.youtube.com/c/JovannyDu que?sub_confirmation=1_ Si te ha sido útil, regálame un Like, comenta y suscríbete :) (っ◕‿◕)


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_

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

GRAFCET CON ARDUINO Programa en Arduino sistemas secuenciales simulados en GRAFCET , con un metodo confiable 100% https://youtube.com/playlist?list=PLHTERkK4EZJpJEcByUotJ5YOIiCVmimt 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

1


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ GRAFCET DESCRIPCIÓN DEL PROCESO EN TERMINOS DE ETAPAS Y TRANSICIONES

2


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ LOGICA BINODAL La automatización de ciertos mecanismos puede volverse una tarea laboriosa y compleja. [10], propone una estrategia rápida e intuitiva usando la lógica binodal. Allí, se genera un gráfico representativo de la dinámica del sistema, similar al usado en el lenguaje GRAFCET, y se obtienen directamente ecuaciones lógicas que describen el comportamiento del sistema aplicando teoremas binodales. Para entender el método es necesario conocer los siguientes conceptos:

Binodo: Estado o situación en el que puede presentarse un dispositivo. Por lo general dos situaciones del tipo ON/OFF que serán disjuntas y complementarias. VDA: Variables que permiten la conmutación del binodo, se denominan variables de acción.

Expresiones matemáticas: Son el conjunto de variables relacionadas mediante operaciones binodales que definirán el comportamiento de un sistema.

A continuación se presenta el binodo que tendrá los estados S (activo) y 𝑆̅ (inactivo).

Al lado izquierdo de S se presentan las (v.d.a) variables de activación del binodo 𝑀𝑖 y al lado derecho las corresponde a las (v.d.d) variables de desactivación del binodo, que permiten conmutar al binodo a los dos estados mencionados:

𝑃𝑗

Figura 2. Activación y desactivación del binodo Las expresiones matemáticas que regirán al binodo serán:

𝑛

𝑚

𝑆(𝑡) = [(𝑆 + ∑ 𝑀𝑖 ) ∗ ∏ 𝑖=1

(1)

𝑗=1

̅𝑗 ] 𝑃 3


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ Extrapolando lo anterior para sintetizar el método GRAFCET:

(2)

𝐸(𝑖) : Es el valor actual de la variable de la etapa i 𝐸(𝑖+1) Es el valor actual de las variables de las etapas que suceden a 𝐸(𝑖) 𝐸(𝑖−1) Es el valor actual de las variables de las etapas que preceden a 𝐸(𝑖) t 𝑖 = Es el valor de la transiciones i que preceden a 𝐸(𝑖)

n: número de transiciones que preceden a 𝐸(𝑖) m: número de transiciones que suceden a 𝐸(𝑖) ∑𝑛𝑖=1 𝐸𝑖−1 ∗ t 𝑖 : Condición de activación es cualquier situación en la que una etapa precedente esté activa y se

cumpla su receptividad, haciendo que se active la etapa 𝐸(𝑖) y se desactiven la etapa o etapas 𝐸𝑖−1 simultáneamente.

Una etapa estará activa cuando ella misma lo esté o se cumpla cualquiera de las condiciones de activación y que no estén ninguna de las etapas que las suceden activas.

4


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_

//TRATAMIENTO PREVIO

long inicio3, final3, actual3;

int E1; int E2; int E3; int E4;

void setup() { Serial.begin(9600);

int E5;

pinMode(6,INPUT);

int E6;

pinMode(7,INPUT);

int E7;

pinMode(8,INPUT);

int E8;

pinMode(9,INPUT);

int E9;

pinMode(2,OUTPUT);

int E10;

pinMode(3,OUTPUT);

int E11;

pinMode(4,OUTPUT);

int E12;

pinMode(5,OUTPUT);

int E13;

digitalWrite(L1,LOW);

int E14;

digitalWrite(L2,LOW);

int S1=6;

digitalWrite(L3,LOW);

int S2=7;

digitalWrite(L4,LOW);

int S3=8;

E1=HIGH;

int S4=9;

E2=LOW;

int L1=2;

E3=LOW;

int L2=3;

E4=LOW;

int L3=4;

E5=LOW;

int L4=5;

E6=LOW;

int T1;

E7=LOW;

int activado1=0;

E8=LOW;

long inicio1, final1, actual1;

E9=LOW;

int T2;

E10=LOW;

int activado2=0;

E11=LOW;

long inicio2, final2, actual2;

E12=LOW;

int T3;

E13=LOW;

int activado3=0;

E14=LOW;

5


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ }

} if (E2==HIGH){ Serial.println("Etapa2");

//TRATAMIENTO SECUENCIAL

digitalWrite(L1,HIGH);

void loop( ) {

}

S1=digitalRead(6);

else{ digitalWrite(L1,LOW);

S2=digitalRead(7); S3=digitalRead(8);

}

S4=digitalRead(9); if (E3==HIGH){ E1=((E1|(S4&E13&E14))&(~E2)&(~E7)&(~E8));

Serial.println("Etapa3");

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

digitalWrite(L2,HIGH);

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

}

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

else{

E5=((E5|(T2&E4)|(S1&S3&E7)|(T3&E10)|(S1&E8))&(~E 11)&(~E12)); E6=((E6|(E3&S3&S4))&(~E2));

digitalWrite(L2,LOW); } if (E4==HIGH){

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

Serial.println("Etapa4");

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

digitalWrite(L1,HIGH);

E9=((E9|(E8&S2))&(~E10)); E10=((E10|(E9&S1))&(~E5)); E11=((E11|(E5&S4))&(~E13));

activetemp2(); } else{

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

digitalWrite(L1,LOW);

E13=((E13|(E11&S1))&(~E1)); E14=((E14|(E12&S2))&(~E1));

desactivetemp2(); } if (E5==HIGH){ Serial.println("Etapa5"); }

//TRATAMIENTO POSTERIOR if (E1==HIGH){ Serial.println("Etapa1");

if (E6==HIGH){ Serial.println("Etapa6"); digitalWrite(L3,HIGH);

6


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ activetemp1();

}

}

else{

else{

digitalWrite(L3,LOW);

digitalWrite(L3,LOW);

desactivetemp3();

desactivetemp1();

}

}

if (E11==HIGH){

if (E7==HIGH){

Serial.println("Etapa11");

Serial.println("Etapa7");

digitalWrite(L1,HIGH);

digitalWrite(L2,HIGH);

digitalWrite(L2,HIGH);

}

}

else{

else{

digitalWrite(L2,LOW);

digitalWrite(L1,LOW);

}

digitalWrite(L2,LOW);

if (E8==HIGH){ Serial.println("Etapa8");

} if (E12==HIGH){

digitalWrite(L3,HIGH);

Serial.println("Etapa12");

}

digitalWrite(L3,HIGH);

else{ digitalWrite(L3,LOW);

} else{

}

digitalWrite(L3,LOW);

if (E9==HIGH){ Serial.println("Etapa9");

} if (E13==HIGH){

digitalWrite(L2,HIGH);

Serial.println("Etapa13");

}

}

else{

if (E14==HIGH){

digitalWrite(L2,LOW); }

Serial.println("Etapa14"); }

if (E10==HIGH){ Serial.println("Etapa10");

}

digitalWrite(L3,HIGH); activetemp3();

void activetemp1() {

7


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_ if(E6 == HIGH && activado1==0){

T2=LOW;

activado1=1; inicio1= millis();

} }

final1= inicio1 + 4000; }

void desactivetemp2(){ activado2=0; inicio2=0; final2=0; actual2=0;

actual1=millis();

}

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

void activetemp3(){

T1=HIGH;

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

} else {

activado3=1;

T1=LOW;

inicio3= millis();

}

final3= inicio3 + 5000;

}

}

void desactivetemp1(){

actual3=millis();

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

if(activado3 == 1 && (actual3>final3)){ T3=HIGH;

void activetemp2(){

} else {

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

T3=LOW;

activado2=1; inicio2= millis();

} }

final2= inicio2 + 10000; }

void desactivetemp3(){ activado3=0; inicio3=0; final3=0; actual3=0;

actual2=millis();

}

if(activado2 == 1 && (actual2>final2)){ T2=HIGH; } else {

8


http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_

Jovenes, este material ha sido elaborado con mucho gusto. Si te es util Rega lame un Like, comenta y suscríbete :) (っ◕‿◕)

https://mecatronicaitsa.blogspot.com/

Te invito al CANAL DE YOUTUBE MEKATRONICA para conocer ma s

http://www.youtube. com/c/JovannyDuque ?sub_confirmation=1_ _________________________________ _ y Amigos/as en el BLOGG MEKATRONICA J DUKE podras encontrar cantidad de recursos sobre SOLIDWORKS, HIDRAULICA - ELECTROHIDRAULICA , NEUMATICA, ELECTRONEUMATICA, CONTROL, PLC M221, PLC SIEMEMS S7 1200, PLC SIEMENS S7 300 , FLUID SIM FACTORY IO, entre otros

9


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.