programación de arduino uno r3
arduino,
arduino ladder,
arduino uno r3
arduino 1
arduino tutorial,
como programar arduino,
proyectos arduino,
arduino ladder,
programación de arduino,
arduino project,
arduino uno
arduino tutorial,
como programar arduino,
proyectos arduino,
arduino plc,
introdución a arduino,
arduino desde cero,
ARDUINO GRAFCET GENÉRICO ORIGINAL COMPLETO - LÓGICA BINODAL.pdf
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
4
3
3
4
S4
4
1
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 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
3. 3
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:
(1)
Extrapolando lo anterior para sintetizar el método GRAFCET:
(2)
: Es el valor actual de la variable de la etapa i
Es el valor actual de las variables de las etapas que suceden a
Es el valor actual de las variables de las etapas que preceden a
= Es el valor de la transiciones i que preceden a
n: número de transiciones que preceden a
4. 4
m: número de transiciones que suceden a
: 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
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. 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;
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");