Vous êtes sur la page 1sur 5

: Asociar E/S fsicas a programa PLC

Hola!

Estoy trastenado con TwinCAT y me encuentro con una duda...


En TwinCAT PLC creo un programa muy sencillo, un pulsador al cual llamo "PulMar" activa una bobina que
llamo "M1). Creo las variables de estos dos elementos y todo OK.

La TwinCAT System Manager creo una cabecera (en este caso de EtherCAT) con un mdulo de 8 entredas
y otro de 8 salidas.

Como vinculo las E/S fsicas de la cabecera EtherCAT con las variables del programa de TwinCAT PLC
"PulMar" Entrada y "M1" Salida ?

Un saludo!

David

Tines que declarar esas variables como globales en VARIABLES GLOBALES y de esta manera:

PulMar AT %I*:BOOL;
M1 AT %Q*:BOOL;

Luego en system manager le dices donde esta el programa (PLC configuracin).

Una vez tengas esto podras ver esas variables en el arbol debajo del TASK al que has aadido el
programa. Pulsas con el derecho y le das a vincular.

Cualquier cosa lo dices, o te paso un ejemplo.

Por cierto, I entradas Q salidas. Y siempre que vallas ha hacer algo en el system manager asegurate de
que esta en configuracin y al terminar activar configuracin.

Citar

o
infoPLC

Administrator

OK!

Variables vinculadas!

Solo un par de cosas:


- En el arbol debajo de TASK me aparece que la Input "PulMar" tiene la direccin de entradas 0.0, pero lo
tengo vinculado a un terminal de entrada que tiene como direccin de entradas la 47.0. realmente en
programa la direccin vlida es la 0.0 ?

- En el TwinCAT PLC siempre me he de referir con el nombre de la variable "PulMar" o puedo referirme a
ella como direccin %I0.0 ?

Por ahora esto es todo pero ya veremos ... me he de meter con la seal de entrada analgica de 4-20mA
y ver como la escalo y dems....

Poco a poco y GRACIAS!

JaviB

La direccin que te aparece en el System Manager, digamos que es la direccin fsica-hardware; la que te
aparece en el PLC Control es la direccin "software". Si usas SCADA, debers usar la del PLC Control, que
la pones t.
Personalmente, a m no me gusta definir las variables como %I* %Q*, prefiero darles yo la direccin a
mi gusto, porque las uso despus en el SCADA.
Lo de usar la variable %IX0.0 el lugar del nombre, no s si funciona. Cuando lo pruebes lo "publicas". De
todas formas es ms cmodo de la otra forma, no?

David

Si te fijas en el arbol de variables globales tienes TwinCan Configuracion, hay tienes la direccin de la
variable. De todas formas yo normalmente no utilizo nunca estas direcciones. Si tengo que hacer algo con
pantallas y demas direcciono a marcas internas.

Lo de los valores analogicos es superfacil, no tendras problemas lo unico es que:


ValorAnalogico AT %I*:INT;
ESCALADO:
PuntosReal := INT_TO_REAL(Puntos);
DifReal := INT_TO_REAL (mA20 - mA4);

FactorReal:= DifReal / NoPuntos;

Out:=(REAL_TO_INT (PuntosReal * FactorReal)) + mA4;


Out:= Out + OffSet;

infoPLC

Administrator

Hola

Ok poco a poco voy pillando el truco.


Veo que la carta de Entradas analgica me mapea una serie de puntos en el System Managuer:
- Underrange
- Overrange
- Limit 1
- Limit 2
- Error
- TxPDO State
- TxPDO Toggle
- Value

Yo en el TwinCAT PLC he creado una variable como me has dicho David ValorAnalogico AT %I*:INT; y
que he vinculado en el System MAnager a VALUE

- Value ---> ValorAnalogico

Mi pregunta ... he de crear en TwinCAT PLC una variable por cada punto antes mencionado o hay una
forma de crear un array que le presente en TwinCAT PLC todos estos puntos mas omenos as

- Analogica.Underrange
- Analogica.Overrange
- Analogica.Limit 1
- Analogica.Limit 2
- Analogica.Error
- Analogica.TxPDO State
- Analogica.TxPDO Toggle
- Analogica.Value

Quizas exista una forma de "exportar" estos puntos como variables del System Manager a TwinCAT
PLC ...?

David un ejemplito de un programa real no tendrs para dejarme e ir empapandome un poco de como es
una aplicacin real en TwinCAT ...
Preparaos que os voy a aburrir de preguntas ...

David

Realmente si lo piensas crear en twin cat variables es muy rapido si tienes creada una es solo copiar y
pegar y luego cambias por ejemplo el numero

Temp1Estado AT %I*:BOOL;
Temp1Valor AT %I*:BOOL;

Tampoco tienes por que leer todas las variables que te da. No se que modulo estas utilizando pero en
algunas entradas analogicas te da un Byte que segun el valor puedes saber el error. Si lees esta variable
desde un scada puedes hacer las alarmas con ese valor. En el twin Cat cuando es un byte te dice a que
corresponde cada valor.

Si que hay una forma desde twin cat de crear variables como tu dices, pero desde twin cat ( esto es lo
que yo se) . Cuando vas a utilizar variables iguales por ejemplo el caso de un compresor que tiene
Marcha, Solenoide aceite, Solenoide capacidad y tienes varios compresores. Posiblemente tambien sirva
para lo que tu dices. Pero tengo que recordar como era por que no lo he utilizado y ya no lo recuerdo. Si
te fijas debajo de variables globales tienes variables configuracin que es para esto. Cuando lo recuerde te
lo digo (recuerde o lo lea por que tendre que mirar los manuales).

Lo del programa esta hecho voy a mirar que tengo por hay que no este muy enrevesado y te lo mando.

Y preguntas las que quiereas, pero solo responder las que sepa, medio sepa o te pueda decir algo. jijijij

Citar

infoPLC

OK!
Muchas gracias. Seguire investigando!
David

Por cierto cuando hablamos de Loquesea.OtraCosa son extructuras mientras que un array es
Loquesea[Indice]

Citar

Vous aimerez peut-être aussi