SISTEMAS DE AUTOMATIZACIÓN SECUENCIALES IMPLEMENTADOS EN GRAFCET SOBRE 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_
https://mecatronica-itsa.blogspot.com/
SISTEMAS DE AUTOMATIZACIÓN SECUENCIALES IMPLEMENTADOS EN GRAFCET SOBRE ARDUINO
ARDUINO Acceso a PDF
https://play.google.com/books/s/370286768613/ebooks https://mega.nz/folder/a9thTIjA#bSAwbpbG3Z34DW3jJ_bMQg
ARDUINO Aprende a programar Arduino desde una solucio n LADDER o GRAFCET con metodologí as confiables https://youtube.com/playlist?list=PLHTERkK4EZJr7zDQNKjjEyxhErjllCCUy
ARDUINO BASADO EN LADDER Aprende a programar Arduino desde una solucio n LADDER con una metodología confiable https://youtube.com/playlist?list=PLHTERkK4EZJq9hjTGCDQmaLvi7CAyk_q_
GRAFCET CON ARDUINO Programa en Arduino sistemas secuenciales simulados en GRAFCET , con un metodo confiable 100% https://youtube.com/playlist?list=PLHTERkK4EZJpJEcByUotJ5YOIiC-Vmimt
1
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_
https://mecatronica-itsa.blogspot.com/ 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.
2
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_
https://mecatronica-itsa.blogspot.com/ GRAFCET DESCRIPCIÓN DEL PROCESO EN TERMINOS DE ETAPAS Y TRANSICIONES
3
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_
https://mecatronica-itsa.blogspot.com/ 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
(1)
Las expresiones matemáticas que regirán al binodo serán:
4
𝑃𝑗
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_
https://mecatronica-itsa.blogspot.com/
𝑛
𝑚
𝑆(𝑡) = [(𝑆 + ∑ 𝑀𝑖 ) ∗ ∏ (1)
𝑖=1
𝑗=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.
5
//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;
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_
https://mecatronica-itsa.blogspot.com/ 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;
7
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_
https://mecatronica-itsa.blogspot.com/ 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&E8))&(~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));
8
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_
https://mecatronica-itsa.blogspot.com/ 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"); digitalWrite(L2,HIGH); } else{ digitalWrite(L2,LOW); } if (E4==HIGH){ Serial.println("Etapa4"); digitalWrite(L1,HIGH); activetemp2();
9
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_
https://mecatronica-itsa.blogspot.com/ } 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); }
10
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_
https://mecatronica-itsa.blogspot.com/ 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); }
11
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_
https://mecatronica-itsa.blogspot.com/ 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 {
12
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_
https://mecatronica-itsa.blogspot.com/ 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; }
actual2=millis();
if(activado2 == 1 && (actual2>final2)){ T2=HIGH; } else { T2=LOW; } }
void desactivetemp2(){ activado2=0; inicio2=0; final2=0; actual2=0; }
13
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_
https://mecatronica-itsa.blogspot.com/ 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; }
Jovenes, este material ha sido elaborado con mucho gusto. Si te es util Rega lame un Like, comenta y suscríbete :) (っ◕‿◕) Te invito al CANAL DE YOUTUBE MEKATRONICA para conocer ma s
14
http://www.youtube.com/c/JovannyDuque?sub_confirmation=1_
https://mecatronica-itsa.blogspot.com/
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
https://mecatronica-itsa.blogspot.com/
15