Programcion en wincupl, no se como hacer condiciones.

Hola la verdad soy un mega novato en todo esto pero se qeu aki siempre he encontra las respuestas y ala ayuda que necesito, espero me puedan ayudar...

Necesito preograr una parte logica, el programa lo que hace es lo siguiente.

En la parte logica tiene las operaciones AND, OR, XOR, tiene 4 entradas A Y B son las entradas de datos, SE Y SE2 son los qeu me permiten intercambiar qeu operacion logica quiero, y por ultimo la salida que es SA.

Mi gran problema radia en que no se como hacer que cuando SE=1 entonces SA=X Y si SE=0 entonces SA=Y y si SE2= 1 entonces SA=Z. todo este se ve en mi prgrama que tengo pero n sirve. Espero me ayuden a complementarlo.

/* *************** INPUT PINS *********************/
PIN 2 = A
PIN 3 = B
PIN 4 = SE
PIN 5 = SE2

/* *************** OUTPUT PINS *********************/
PIN 15 = SA

/* ECUACIONES EN VARIABLES INTERMEDIAS */

X=A$B;
Y=A#B;
Z=A&B;

CONDITION
{
IF SE NEXT X OUT SA ;
IF !SE OUT Y ;
IF SE2 OUT Z ;
}
 
hola ha todos, estoy haciendo un contador ascendente en wincupl con la siguiente codificación:

/** Inputs **/

Pin 1 = ck; /* Counter clock */
Pin 2 = clr;

/** Outputs **/

Pin [14..21] = [Q7..Q0];

field modo = clr;
clear = modo:1;
nclear = modo:0;

field conteo = [Q7..Q0];

sequenced conteo{
present 'D'0
if clear next 'D'0;
if nclear next 'D'1;

$repeat i =[1..199]
Present 'D'{i}
if clear next 'D'0;
if nclear next 'D'{i+1};

$repend

present 'D'200 next 'D'0;
}


pero con esta codificación mi clear es sincrono y necesito que mi clear se active de modo asíncrono para que no dependa del reloj ya que en un momento mi reloj tiene que dejar de funcionar y mi clear tiene que seguir funcionando en cualquier momento. si alguien puede ayudarme se lo agradecería mucho.
 
Atrás
Arriba