tecnocesures

06 abril 2019

CONCEPTOS FUNDAMENTAIS DE PROGRAMACIÓN EN AWL:


O sistema recibe instrucións mediante os valores dunhas variables de entrada, e dependendo do seu deseño para a situación no que se encontre activa ou desactiva unhas saídas. Como procesamos esas posibilidades?

Entrada = 1 => Entrada activada
Saída = 1 => Saída activada
Nodo = 1 => Nodo ten marca
Transición = 1 => Dispárase
Variable virtual = 1 => A condición que representa cúmprese.

Se valen 0 significa o contrario.

* OB1: Prográmase sempre igual; indica ao autómata cantos bloques de programa hai e en que orde ten que executalos: “SPA PB1 / SPA PB2 / SPA PB3 / BE”

* OB21: Establece o MARCADO INICIAL DA REDE: Empeza sempre con “UM0.0 / ONM0.0” (é unha condición que se cumpre sempre, para indicar ao autómata que as instrucións que seguen tenas que efectuar cada vez que se encenda o autómata); logo prográmase NODO A NODO: se na Rede o nodo ten marca ponse SM0.0 (no caso de que o nodo ao que lle chamamos M0.0 teña marca); se non a ten poñemos RM0.1 (se o nodo M0.1 non ten marca cando encendemos); para indicar que termina o bloque ponse BE.

* PB1: Programamos TRANSICIÓN A TRANSICIÓN en que casos se dispara. Para que unha transición se dispare ten que cumprirse a condición asociada a ela e ten que haber marca en todos os nodos dos que saen arcos que chegan a esa transición.
Se a programación fose, por exemplo, “UM0.0 / UE0.1 / =M1.1” á transición M1.1 só chegaría un arco que sairía do nodo M0.0 e para que se disparase tería que ser E1=1.
O CASO PARTICULAR é que a condición sexa do tipo OU. Nese caso, hai que programar primeiro a condición de disparo cunha variable virtual e logo, usando esa variable virtual, programamos o disparo da transición. Por exemplo, se á transición M1.4 chega un arco de M0.2 e outro de M0.5 e a condición de disparo é “E3 ou E4” programaríamos “UE0.3 / OE0.4 / =M2.0 / UM0.2 / UM0.5 / UM2.0 / =M1.4”.
Despois de programar o disparo de todas as transicións poñemos BE.

* PB2: Programamos TRANSICIÓN A TRANSICIÓN de onde desaparecen marcas e onde aparecen cando se dispara cada transición. Primeiro indicamos en que nodos ten que haber marcas para que se dispare a transición e poñemos a condición de que a transición ten que dispararse, logo quitamos marcas (reseteamos) de todos os nodos que acabamos de indicar e as poñemos (seteamos) nos nodos aos que chegan arcos que saen da transición que estamos programando. Por exemplo, se á transición M1.4 chegan arcos que saen de M0.2 e M0.5 e sae un arco que chega a M0.6 programaríamos
UM0.2 / UM0.5 / UM1.4 / RM0.2 / RM0.5 / SM0.6”.
Despois de programar todas as transicións poñemos BE.

* PB3: Tomamos nota PARA CADA SAÍDA do sistema en que nodos se activa e programamos SAÍDA A SAÍDA. Se, por exemplo, a saída 1 (A1 na rede, A0.1 no programa) se activa cando hai marca en M0.3, en M0.6 ou en M0.7 programaríamos
UM0.3 / OM0.6 / OM0.7 / =A0.1”.
Unha vez que estivesen programadas todas as saídas escribiríamos BE.

En todo o caso, para empezar a programar hai que:
  1. Localizar condicións do tipo “OU” para asignarlles variables virtuais.
  2. Asignar nome a cada transición e a cada nodo para utilizalos ao programar.
  3. Programar bloque a bloque nesta orde: OB1, OB21, PB1, PB2 e finalmente PB3.

Etiquetas: ,