Seleccione su idioma

La secuencia de la lavadora web.

Escrito por David Publicado el 5 junio, 2011 at 12:01

He creado una secuencia en plc control para continuar con la lavadora web. En un principio pensé en hacer esta secuencia en vb.net, pero me ha parecido más interesante hacerla con plc control. Así, de paso, vemos una secuencia creada en ST (Texto Extructurado).Despues de tener la lavadora funcionando, haré la supervisión en vb.net y el guardado en MySql.

La secuencia es una versión beta que modificaremos sobre la marcha. En el siguiente paso crearé la interface en vb.net.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
VAR_GLOBAL
	Y1 AT %Q*:BOOL; (*Electroválvula cajon*)
	Y2 AT %Q*:BOOL;	(*Electroválvula Bombo*)
	M1 AT %Q*:BOOL;	(*Motor bombo*)
	M2 AT %Q*:BOOL;	(*Motor desagüe*)
	X1 AT %Q*:BOOL;	(*Bloqueo puerta*)
	Resistencia AT %Q*:BOOL;
	CajonCerrado AT %I*:BOOL;
	PuertaCerrada AT %I*:BOOL;
 
	InicioLavado:BOOL;
	Temperatura:INT;
	NivelAgua:INT;
 
END_VAR
 
PROGRAM MAIN
VAR
	stateMain:INT;
	Aviso:INT;
	txtAviso:STRING;
	PermisoCalentar: BOOL;
	Termostato: BOOL;
	Pulso1Sec: TON;
	Espera: INT;
END_VAR
 
(*LLamada a subprogramas*)
SecCalentar();
 
(*Otros*)
Pulso1Sec(IN:=NOT Pulso1Sec.Q, PT:= T#1s);
 
 
 
 
CASE stateMain OF
0:(*Comprobar condiciónes para inicio*)
	IF NOT  CajonCerrado THEN
		Aviso := 1;
		txtAviso :='Cajon sin cerrar';
	ELSE
		IF NOT PuertaCerrada THEN
			Aviso := 2; (*Puerta sin cerrar*)
			txtAviso :='Puerta sin cerrar';
		ELSE
			Aviso := 3;
			txtAviso :='Preparado para inicio';
			IF InicioLavado THEN
				stateMain:= 10;
				InicioLavado := FALSE;
			END_IF
		END_IF
	END_IF
 
10:(*Bloqueo de puerta*)
	X1 := TRUE;
	stateMain := 20;
20:(*Llenar de agua I*)
	Espera := 30;
	stateMain :=21;
	Y2:= TRUE;
21:(*Llenar de agua II*)
	IF Espera > 0 AND Pulso1Sec.Q THEN
		Espera := Espera - 1;
		Aviso := 20;
		txtAviso :='Llenado de agua';
	END_IF
	IF Espera < 1 THEN
		Espera := 0;
		stateMain := 30;
	END_IF;
30:(*Calentar agua*)
	PermisoCalentar := TRUE;
	stateMAIN := 40;
40:(*Esperar hasta conseguir temperatura*)
	IF Temperatura > 60 THEN
		stateMain:= 50;
	END_IF
	Aviso := 40;
	txtAviso :='Calentando agua';
50:(*Mover bombo con agua, esto tendrá un nombre pero...*)
	Espera := 20;
	stateMain := 51;
	M1 :=TRUE;
51:(*Continua mover bombo*)
	IF Espera > 0 AND Pulso1Sec.Q THEN
		Espera := Espera - 1;
		Aviso := 50;
		txtAviso :='Moviendo bombo';
	END_IF
	IF Espera > 1 THEN
		Espera := 0;
		stateMain := 60;
	END_IF;
60:(*Abrimos electroválvula jabon I*)
	Espera := 5;
	stateMain := 61;
	Y1 :=TRUE;
61:(*Continua mover bombo*)
	IF Espera > 0 AND Pulso1Sec.Q THEN
		Espera := Espera - 1;
		Aviso := 60;
		txtAviso :='Introducir jabon';
	END_IF
	IF Espera < 1 THEN
		Espera := 0;
		stateMain := 70;
	END_IF;
70:(*Cerramos jabon*)
	Y1:= FALSE;
	stateMain := 80;
80:(*Lavando*)
	Espera := 25;
	stateMain := 81;
81:(*Continua lavado*)
	IF Espera > 0 AND Pulso1Sec.Q THEN
		Espera := Espera - 1;
		Aviso := 60;
		txtAviso :='Lavando';
	END_IF
	IF Espera < 1 THEN
		Espera := 0;
		stateMain := 90;
	END_IF;
90:(*Extraer agua*)
	Espera := 25;
	stateMain := 91;
	M2 := TRUE;
91:(*Continua Extraer agua*)
	IF Espera > 0 AND Pulso1Sec.Q THEN
		Espera := Espera - 1;
		Aviso := 90;
		txtAviso :='Sacando agua';
	END_IF
	IF Espera < 1 THEN
		Espera := 0;
		stateMain := 100;
	END_IF;
100:(*Llenar agua  y extraer*)
	Espera := 25;
	stateMain := 101;
 
101:(*Continua llenar agua y extraer*)
	IF Espera > 0 AND Pulso1Sec.Q THEN
		Espera := Espera - 1;
		Aviso := 60;
		txtAviso :='Llenar agua y extraer';
	END_IF
	IF Espera < 1 THEN
		Espera := 0;
		stateMain := 110;
	END_IF;
110:(*Paramos agua y extraer*)
	M2:= FALSE;
	Y2:= FALSE;
	stateMain := 120;
120:(*Centrifugar, para simplificar sólo dejo el bombo en marcha un tiempo*)
	Espera := 25;
	stateMain := 121;
 
121:(*Continúa centrifugado*)
	IF Espera &gt; 0 AND Pulso1Sec.Q THEN
		Espera := Espera - 1;
		Aviso := 120;
		txtAviso :='Centrifugado';
	END_IF
	IF Espera < 1 THEN
		Espera := 0;
		stateMain := 130;
	END_IF;
130:(*Fin lavado*)
	M1:= FALSE;
	X1:= FALSE;
	Aviso :=0;
	stateMain :=0;
END_CASE
 
PROGRAM Simular
VAR
	Pulso1Sec: TON;
END_VAR
 
Pulso1Sec(IN:=NOT Pulso1Sec.Q, PT:= T#1s);
 
IF Pulso1Sec.Q AND Resistencia THEN
	Temperatura := Temperatura + 1;
END_IF
 
IF Y2 THEN
	NivelAgua := NivelAgua + 1;
END_IF;

Dentro del programa creado en ST he añadido una ACTION en LEADER. Esto nos permite hacer ciertas líneas de código en otro lenguaje por diferentes razones.

Este es el árbol del programa:
La secuencia de la lavadora web.

- Publicidad -

Y este el action:
La secuencia de la lavadora web.

La secuencia se construye con un CASE. Cuando el plc lee la instrucción CASE, lee el valor de la variable que sigue a esta palabra clave. Luego leerá sólo el código que este seguido de este valor y sólo ese hasta el siguiente ciclo de scan. 

CASE <variable> OF
<Valor>: Codigo
<Valor>: Codigo
END_CASE

En el siguiente ejemplo si Var = 1, se pone M1 a true y si Var = 2, se pone Y2 a FALSE. Esto es equivalente a hacer un SET.

CASE Var OF
1:M1:=TRUE;
2:Y2:=FALSE;
END_CASE

Otra cosa que me parece interesante es la variable txtAviso. Esta variable de tipo STRING nos informa de el estado actual de la máquina, a efecto de depuración creo que puede ser interesante.

Bueno y por el momento esto es todo, cualquier cosa un comentario. Y el programa lo dejo en la próxima entrada con la aplicación en vb.net.

Bookmark on DeliciousDigg this postRecommend on Facebookshare via RedditShare with StumblersTweet about itSubscribe to the comments on this post
- Publicidad -

Authors: David

Ver original.

Eficiencia, descarbonización y transformación tecnológica marcarán la agenda del Congreso Académico 2026

Eficiencia, descarbonización y transformación tecnológica marcarán la agenda del Congreso Académico 2026

Estados Unidos. La eficiencia energética, la descarbonización y la transformación tecnológica serán los temas centrales del Congreso Académico de Refriaméricas 2026, espacio que reunirá a expertos...

Avanza la construcción de la nueva planta de compresores Embraco en India

Avanza la construcción de la nueva planta de compresores Embraco en India

India. La construcción de la nueva fábrica de Nidec Global Appliance (GA) en India, destinada a la producción de compresores Embraco para equipos de refrigeración residencial y comercial, avanza...

LG Electronics y VTS presentan soluciones integrales de climatización para proyectos hospitalarios y comerciales

LG Electronics y VTS presentan soluciones integrales de climatización para proyectos hospitalarios y comerciales

Ecuador. LG Electronics Centroamérica y el Caribe, en alianza con VTS Group, realizó en Ecuador un encuentro especializado en climatización para presentar soluciones integrales dirigidas a proyectos...

Women in HVACR lanza el primer programa de capacitación para mentoras en la industria HVACR

Women in HVACR lanza el primer programa de capacitación para mentoras en la industria HVACR

Estados Unidos. La organización sin fines de lucro Women in HVACR anunció el lanzamiento de Navigator Mentor Training Program, una iniciativa estructurada de mentoría y desarrollo profesional...

En la cadena de frío, el valor se desplaza de los equipos a los servicios especializados

En la cadena de frío, el valor se desplaza de los equipos a los servicios especializados

México. Garantizar la integridad de productos sensibles a la temperatura es uno de los principales retos de la cadena de frío. Para los especialistas, el valor ya no radica solo en la tecnología,...

Johnson Controls es reconocida entre las Empresas Más Influyentes del Mundo en 2026

Johnson Controls es reconocida entre las Empresas Más Influyentes del Mundo en 2026

Estados Unidos. La empresa fue incluida en la lista inaugural de las Empresas Más Influyentes del Mundo 2026 elaborada por la revista TIME en colaboración con Statista y The Upright Project. El...

Jalisco se consolida como centro de innovación para la industria HVACR con AHR Expo México 2026

Jalisco se consolida como centro de innovación para la industria HVACR con AHR Expo México 2026

México. Guadalajara, Jalisco, se prepara para convertirse en el principal punto de encuentro de la innovación en la industria HVACR con la realización de AHR Expo México 2026.

RefriAméricas 2026 enfocará su Congreso Académico en eficiencia, descarbonización y transformación tecnológica en HVAC/R

RefriAméricas 2026 enfocará su Congreso Académico en eficiencia, descarbonización y transformación tecnológica en HVAC/R

Estados Unidos. El Congreso Académico de RefriAméricas 2026 tendrá como eje temático la “Eficiencia, descarbonización y transformación tecnológica en HVAC/R”, una propuesta que busca responder a los...

Jeff Littleton anuncia su retiro como vicepresidente ejecutivo

Jeff Littleton anuncia su retiro como vicepresidente ejecutivo

Estados Unidos. La organización anunció el retiro de Jeff Littleton como vicepresidente ejecutivo de la organización, cargo que dejará a inicios de 2027, tras más de dos décadas liderando la...

AHR Expo México 2025 fue reconocida como el Mejor Evento del Año en EVENTUS 29

AHR Expo México 2025 fue reconocida como el Mejor Evento del Año en EVENTUS 29

México. Durante la gala EVENTUS 29, realizada en el marco del 35 aniversario de Cintermex, la edición 2025 de AHR Expo México 2025 recibió el reconocimiento como el “Mejor Evento del Año”, una...

Suscribase Gratis
Recuérdeme
SUSCRÍBASE AL INFO-BOLETIN
¿REQUIERE UNA COTIZACIÓN?
ENTREVISTAS DESTACADAS
PATROCINADORES










ULTIMO BOLETIN
Ultimo Info-Boletin