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.

Proyecto de climatización en la Universidad Javeriana, finalista en los CALA Awards 2025 en la categoría HVAC

Proyecto de climatización en la Universidad Javeriana, finalista en los CALA Awards 2025 en la categoría HVAC

 El sistema HVAC instalado en el edificio de la Facultad de Ciencias de la Pontificia Universidad Javeriana, en Bogotá, fue seleccionado como finalista en la categoría HVAC de los CALA Awards 2025....

Proyecto Concord en Zona Franca La Lima, finalista en la categoría HVAC de los CALA Awards 2025

Proyecto Concord en Zona Franca La Lima, finalista en la categoría HVAC de los CALA Awards 2025

El proyecto de sistema de climatización llevado a cabo por MultiFRIO para la empresa Concord en la Zona Franca La Lima, en Cartago, recibió el premio final en la categoría HVAC de los CALA Awards...

Proyecto de climatización en la Universidad Santiago de Cali, finalista en la categoría CALA AWARDS HVAC

Proyecto de climatización en la Universidad Santiago de Cali, finalista en la categoría CALA AWARDS HVAC

El proyecto de aire acondicionado del Edificio Auditorio y del Centro Tecnológico del nuevo campus de la Universidad Santiago de Cali fue elegido como finalista en la categoría HVAC de los CALA...

Carrier lanza bomba de calor para climas fríos con máxima eficiencia y bajo nivel de ruido

Carrier lanza bomba de calor para climas fríos con máxima eficiencia y bajo nivel de ruido

Internacional. Carrier, empresa perteneciente a Carrier Global Corporation, presentó importantes mejoras en su tecnología de bombas de calor diseñadas para climas fríos.

Foro de expertos abordará eficiencia energética y tecnologías 4.0 en sistemas HVAC&R

Foro de expertos abordará eficiencia energética y tecnologías 4.0 en sistemas HVAC&R

Colombia. El próximo 10 de julio de 2025 se realizará el foro especializado "Hacia la Excelencia Energética en HVAC&R: ISO 50001, Tecnologías 4.0 y RETSIT", un espacio que reunirá a expertos y...

LG Electronics atribuye resultados por debajo de lo esperado a aranceles de EE.UU. y desaceleración del mercado

LG Electronics atribuye resultados por debajo de lo esperado a aranceles de EE.UU. y desaceleración del mercado

Internacional. LG Electronics reportó un beneficio operativo preliminar de aproximadamente 460 millones de dólares para el segundo trimestre del año, una cifra que no solo decepcionó al mercado,...

Hisense destaca innovación en aire acondicionado durante la Copa Mundial de Clubes de la FIFA 2025

Hisense destaca innovación en aire acondicionado durante la Copa Mundial de Clubes de la FIFA 2025

Estados Unidos. Hisense está creando momentos inolvidables para los fanáticos durante la Copa Mundial de Clubes de la FIFA 2025™ con su campaña global “Own the Moment” (“Haz tuyo el momento”).

AFEC renueva su Junta Directiva y actualiza sus estatutos en su Asamblea General 2025

AFEC renueva su Junta Directiva y actualiza sus estatutos en su Asamblea General 2025

Internacional. El encuentro reunió a 130 profesionales del sector HVAC en Girona para revisar resultados, redefinir estructuras y proyectar el futuro de la climatización en España.

Tecnología, eficiencia e innovación en el Precongreso HVAC Virtual 2025

Tecnología, eficiencia e innovación en el Precongreso HVAC Virtual 2025

Internacional. Como antesala del Congreso Académico de Refriaméricas 2025, se realizará el próximo 8 de julio el Precongreso HVAC Virtual, una jornada técnica gratuita que reunirá a expertos y...

Chile lidera con enfoque de género en cita regional sobre el Protocolo de Montreal

Chile lidera con enfoque de género en cita regional sobre el Protocolo de Montreal

Costa Rica. En el marco de la Reunión de Redes de Oficiales Nacionales de Ozono de América Latina, realizada del 17 al 19 de junio y organizada por el Programa de las Naciones Unidas para el Medio...

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










ULTIMO BOLETIN
Ultimo Info-Boletin