Anda di halaman 1dari 37

INSTRUCCIONES Y REGISTROS DEL PLC

Dentro de las reglas que competen en el área de instrucciones y registros del PLC,
se dice que los bits, cuantos y cualquiera que sean, se pueden aparecer tantas
veces sea necesaria, según lo estime el usuario, en instrucciones condicionales,
aunque un bit solo puede aparecer una sola vez en el programa dentro de una
instrucción de salida. Por esta razón los bits de salida no deben emplearse jamás
en instrucciones de salida, así como los bits de salida si pueden emplearse tanto
en instrucciones de salida como instrucciones condicionales.

El símbolo utilizado que equivale a un numero decimal de cero a siete y se refiere


a un bit de un registro del PLC es el símbolo numero, en cambio el otro símbolo
que equivale a un número decimal de cero a siete y se refiere al número de
instrucción o al número del registro asociado a la instrucción.

El parámetro usado en las instrucciones es aquel que se usa como un límite de


los bits del registro indicado antes de la coma "," que se puede modificar según la
instrucción marcada.

El bit asociado es aquel bit asociado con la instrucción que modifica al ser
ejecutada.
El Registro asociado es aquel registro que contiene información usada por la
instrucción.
La Instrucción asociada es la instrucción que realiza un reset de los bits de la
instrucción principal.

Los registros del PLC son todos aquellos datos variables del PLC y están
contenidos en la memoria RAM interna del PIC16F84:

Los registros de entradas almacenan el estado de las entradas del autómata; en


cambio los registros de salidas, contiene el valor del estado de las salidas del
autómata, Los registros asociados a los temporizadores del autómata, contienen el
valor del tiempo de retardo del temporizador.

Los contadores son los registros asociados a los contadores, almacena el número
de eventos a contar. El llamado TIM es el registro que contiene los bits de salida
de los temporizadores.

Los registros de memorias intermedias, maneja bits de entrada o salida virtuales,


solo existen internamente en la memoria del autómata, se usan para hacer
operaciones intermedias en el programa PLC y no tienen una correspondencia
física con ninguna entrada o salida del autómata.
STR es la primera instrucción por la que empiezan todas las ramas, no realiza
ninguna
operación aritmética. Su función es salvar en la pila el resultado de operaciones
anteriores
y cargar directamente en el registro acumulador (W) del procesador el bit E/S que
direcciona.

Las instrucciones que realizan operaciones lógicas son las siguientes:

OR realiza la operación lógica OR (suma) entre el acumulador (W) y el bit que


direcciona, el resultado se guarda en W.

OR NOT realiza la operación lógica OR (suma) entre el acumulador (W) y el bit


que direcciona invertido, el resultado se guarda en W.

AND realiza la operación lógica AND (multiplicación) entre el acumulador (W) y el


bit que direcciona, el resultado se guarda en W.

AND NOT realiza la operación lógica AND (multiplicación) entre el acumulador (W)
y el bit que direcciona invertido, el resultado se guarda en W.

ORLD realiza la operación lógica OR (suma) entre el acumulador (W) y el primer


registro del la pila, el resultado se guarda en W y el contenido de la pila es
desplazado un nivel abajo.

ANDLD realiza la operación lógica AND (multiplicación) entre el acumulador (W) y


el primer registro del la pila, el resultado se guarda en W y contenido de la pila es
desplazado un nivel abajo.

OUT extrae el valor absoluto del contenido del acumulador "0" ó "1" y lo mueve al
bit del registro que direccione la instrucción, mediante el se representa la carga
cualquiera que sea esta.

SET realiza la función SET (puesta a "1”) de un bi-estable RS, el bit que
direcciona es puesto a "1".

RESET realiza la función RESET (puesta a "0”) de un biestable RS, el bit que
direcciona es puesto a "0", esta función se puede definir en cualquier punto del
programa, pero obligatoriamente después de haber definido la función SET para
que en la secuencia de ejecución predomine siempre el RESET sobre el SET en el
caso de estar activadas las dos funciones a la par. Estas tienen la función de
encendido y apagado sobre una carga.

TIMER es un temporizador, la llamada a esta función dispara un temporizador del


tipo retardo a la conexión. Cuando las condiciones previas están a "1" y se
mantienen después de pasado el tiempo de retardo el bit asociado al timer se
activa y solo cae si estas pasan a "0”.

CNT es un contador de eventos, esta función detecta el flanco ascendente de las


condiciones previas e incrementa un contador interno, cuando el contador alcanza
el valor definido por el registro asociado CONTADOR% se activa el bit asociado
CNT,# y el contador queda deshabilitado mientras no se ejecute la instrucción
asociada RCNT...

END es la instrucción de fin de programa PLC.

Operaciones adicionales requeridas para aplicaciones industriales

Las operaciones definidas para el álgebra booleana son esenciales para la


implementación de una aplicación en un PLC, pero con frecuencia no son
suficientes. Las instrucciones que usualmente se encuentran en un PLC se
pueden clasificar en los siguientes grupos:

• Operaciones básicas: Este grupo comprende las operaciones booleanas básicas,


[suma (o), producto (y) y complemento booleano (NO)], así como otras derivadas
de éstas básicas. Tanto operandos como resultados son variables booleanas.

• Temporizadores y contadores: En su forma básica, estas instrucciones permiten


activar o desactivar un dispositivo luego de un determinado tiempo o el conteo de
eventos. Por ejemplo, un temporizador se activará frente a un contacto de entrada
que se cierra, contará un tiempo predefinido y cerrará un contacto de salida
pasado ese tiempo. A partir del temporizador básico es posible implementar otros
temporizadores. Algunos de éstos se encuentran en la Figura 17.

Temporizadores y contadores son funcionalmente similares, diferenciándose en


que los temporizadores basan su acción en un determinado tiempo, mientras que
los contadores basan su acción en el conteo de un evento que se repite.

Un aspecto a considerar es que temporizadores y contadores combinan


variables booleanas con variables no booleanas. Mientras la entrada y salida de
un temporizador son variables booleanas, el tiempo prefijado es una variable no
booleana (Por ejemplo 15 segundos). El concepto es análogo para contadores.

Operaciones aritméticas: Hemos mencionado que un PLC puede tener entradas y


salidas analógicas, así como contadores y temporizadores. Con frecuencia es
necesario realizar una operación aritmética entre esas variables, por lo cual se
cuenta en general con las cuatro operaciones básicas: suma, resta, multiplicación
y división. Los PLCs de mayor capacidad agregan otras funciones, como
logaritmos, raíz cuadrada, funcionas trigonométricas, etc. Evidentemente, estas
operaciones tienen operandos y resultados no booleanos.

• Comparadores: La comparación entre dos variables tiene en general tres


variantes: igual a (=), mayor que (>) y menor que (<). Al igual que en las
operaciones aritméticas, los operandos son números booleanos. El resultado de la
comparación es booleano (verdadero o falso).

• Transferencia de datos: Estas operaciones permiten el movimiento de datos


dentro del PLC.

• Control del flujo del programa: Las funciones descriptas hasta ahora actúan
sobre variables que existen en la memoria del PLC.

En cambio, las funciones de control de flujo del programa actúan sobre la forma en
que éste es ejecutado. Incluyen funciones tales como marcas de comienzo y final
del programa, saltos condicionados, saltos incondicionados, llamado a subrutinas,
etc.

2.2.2 Lenguajes de programación

Un PLC debe ser capaz de arrancar su programa siempre que exista una falla de
energía, por lo que todas las eventualidades deben ser programadas en él.

En el programa se designan mediante direcciones los registros, los contadores, los


temporizadores y las entradas y salidas. En los PLC pequeños estas direcciones
están asignadas por el fabricante, pero en los mayores, pueden ser definidas por
el usuario, con mayor aprovechamiento de la memoria.

Los PLC trabajan como todos los circuitos electrónicos únicamente con dos
estados lógicos, ALTO y BAJO, ON y OFF, 1 y 0, etc., lo cual no es práctico desde
el punto de vista de enlace hombre-máquina, por lo que se requiere de lenguajes
de programación que traduzcan las ideas humanas a estados lógicos.

Los lenguajes de programación en sí, aunque normalizados en su parte básica,


son tan variados como fabricantes de PLC hay, así como también la manera de
acezar a dichos controladores.

Pero, en general podemos hablar de cuatro grandes grupos de lenguajes de


programación: INSTRUCCIONES, DE ESCALERA, POR FUNCIONES y POR
PASOS.
LENGUAJES DE ESCALERA (TIPO NEMA). Es el más conocido en el área de
influencia norteamericana, ya que invariablemente todos los PLC de fabricación
americana o japonesa permiten su programación en este lenguaje; ya sea para
emplear los mismos diagramas de control alambrado existentes en las máquinas
que se reconvierten o, ya sea para capacitar fácilmente al personal de
mantenimiento en el manejo y arreglo de estos aparatos.

INSTRUCCIONES O BOOLEANO. Es el tipo más poderoso de los lenguajes de


programación en cualquier marca de aparato, ya que es lo más cercano al
lenguaje máquina y, puede hacer uso de particularidades de los mismos
microprocesadores, y con ello hacer más rápido un programa o, más compacto.

PROGRAMACION POR FUNCIONES. Es el preferido por los Ingenieros


europeos. Son los más matemáticos de los lenguajes, al requerirse manejo de
tablas de verdad y simplificación de funciones lógicas booleanas para su empleo.

PROGRAMACION POR PASOS (GRAPHSTEP, GRAPH5). Este lenguaje fue


inventado por ingenieros de la marca francesa Telemecanique, y posteriormente
se hizo lenguaje estándar IEC, y son ahora muchos los fabricantes que tienen su
propia versión.

Es en práctica un lenguaje más elevado que los anteriores al permitir con una
simple instrucción hacer lo que en otros requería varias y complejas instrucciones,
siempre y cuando se pueda programar la operación de la máquina de manera
secuencial.

Este lenguaje es muy apropiado para el manejo de posicionadores, alimentadores,


y todo aparato cuyos movimientos mecánicos sean repetitivos.
LogicController
offerstwo Programmable
Cutler-Hammer
-
familiestheD50
Micro PLCs the
and D300 PLCs.
Modular
These offercompact
devices mounting
designs, flexibility,
andcommunication capabilities.
Cutler-Hammerthe right
PLCprovides in size,powersource,
flexibility l/0, and
0ur
expandability. ProgrammableLogic givea
Controllers
logicplatform
siand-alone inthe14to 1024
forapplications
l/0 range.

Control
Gomplete
areexpandable
I All controllers to allowincreased
system
utdramati
witho
capabilities cally increased
costs.
t Software programming
allows withladder
andmonitoring
(boolean)
logicor mnemonic instrüctions,
anddescriptive
comments to customize
and designations system
documentation.
PLCS
050 MicroandD300Modular ofproducts
I Family lesstraining
means required.
meansn0 special
I Widerangeof l/0 configurations
pr0cesses.
to existing
interfacing
I Plug-in - suchas MMIinterfaces
peripherals - allowa
completecontrol
systemto be configured
without
using
protocol
costly hardware.
adaption
$pecification
Description Specification
lVemory
Size........ 2048EEProm
Processing
Speed. 2 micro sec/ setup
Internal Relavs... 512
h a e n i i vóe0 i ¡ . . . . . . . . . . . . . . . . . . : . . . . . . . . : . : : . . . . . . . .2s6
....
Timers andCounters 256
Data Registers... 256
HighSpeed Controllers 2 Channels
10 KHz(5 KHz
Quadrature)
20 Hz-20 KHz
DcPower forSensors 700mA@24Vdc
Commun¡cations RS485Multi-drop

TheD50Micro Programmable Logic


Controller
family
isa cost-
effective
'14to
controlsolution fora variety
of applications
requiring $ystem
tonfiguration
56l/0.Thecontroller isa stand-alone
PLCc0ntaining
the
Controller
l/0 Systeml/0
centralpr0cessing unit (CPU), powersupply, memory, and Type
Inputs 0utputs Total
input/outp
utcircuitrywithassociated
terminals. 1 4U 0 8 6 14
+1exp to t¿ 2B
+2exp 24 18 42
+3exp 24
Flexihle
Control J1 56

t Controllers
areoffered
inseveral
liOconfigurations.
I Controllers
contain
EEPROM
ControIlers/Expa
nders
memory-
nobattery
isrequired.
back-up Power Inputs 0utputs Catalog
Supply No
Type No. Type Number
I Allcontrollers
areexpandable
to allowincreased
system 14 I/OCONTRO LLERS -
AcPower Supply
capabil
itieswithout
dramatically
increased
costs.
115/230 I 24Vdc 6 Relay D50CR14
I AnyExpansion B 1 1 5 V a c t) Relay 050cRAt4
Module witha maximumof 56 l/0 canbe Vac B 115Vac 6 Triac D50CAA14
connected
to anyofthecontrollers. Note:0rderHardware ManualforControllers
SeDaratelv
14 I/OCONTROLLERS -
i Expanders includesnap-in
connection
cables,
sosetup
time DcPower Supply
i sm i n i m a l . B 24Vdc A Relay D50DCR14
24Vdc 8 24Vdc o Transistor 0500C014
Note: Hardware
Order Manual forControllers
Separatelv
14I/OEXPANDERS _
Includes
Cable
I 24Vdc 6 Relay DsOERI4
I 115Vdc 6 Relay D5OEBA14
Expander1 Expander
2 Expander3

050Reference
Manuals
Desc
ription Catalog
Number
Hardware
Manual
Software
Manual
Approximate
Dimensions
Mounting
Dimensions
D50Controllers
andExpanders

0 . 1 9 7( 5 ) D i a O u t l i n eD 5 0 C R 1 4A 1
_2 Holes Scale 1 = 1
inches
(m¡ll¡meters)

*r]
<_
J.Jó
(s1)
3.94
(100)

Accessories

Analog/FrequenEy
Conyeilers
TheAnalog-to-Frequency (AF)is usedto convert
Converter
variabledcsignals
intoa pulsed
signal.
Thissignalcan
thenbe
sentto theD50HighSpeed Counter,
allowing
foranalog
input.
TheFrequency-to-AnalogConverter(FA)changesa pulsed
outputfromtheD50to a 0-10Vdc or 4-20mAlevelfor an
analog output.
These devicesofferan economical
solution
whenonlya fewanalogpoints
areneeded.

AFandFAConverters
Description Catalog
Number
Analog-to-Freq
uency
0utput 8-10 kHz
Freq
uencv-to-Analoo 48160-480
Inpur0:10kHz

a Register
Access - seepage
Panel 4b
a Video
Control - seepage
Panel 45
a Programming - seepage
Software 46
Direccionam¡entode Registros
El controladorD50Gutter-Hammer.

Unidad Base la. Expansión 2a.Expansión 3a.Expansión

8 Entradas I Entradas I Entradas 8 Entradas


6 Salidas 6 Salidas 6 Salidas 6 Salidas

Entradas:

UnidadBase: Registro
R000 Bits00 at07.
R000.00Entrada'0'Módulo Base.
R000.05 "S"MóduloBase.
Entrada

PrimeraExpansión:
Registro
R00'lBits00 al 07
R001.00Entrada"0'1er.Módulo de Expansión.
R001.04Entrada"4"1er.Módulode Expansión.

Segunda
Expansión:
Registro
R002Bits00 at07
R002.00 Entrada"0"2c.Módulode Expansión.
R002.03 Entrada"3"20.Módulode Expansión.

TerceraExpansión:
Registro
R003Bits00 al 07
R003.00Entrada"0"3er.Módulode Expansión.
R003.07Entrada'7"3er.Módulode Expansión.

5t
I
.-

Salidas:

UnidadBase: Registro
R015 Bits00 at 05.
R015.00Salida"0"MóduloBase.
R015.05Salida'5" MóduloBase.

PrimeraExpansión:
Registro
R016Bits00 at05
R016.00Salida'0"1er.Módulo de Expansión.
R016.04Salida"4" 1et.Módulode Expansión.

Segunda
Expansión:
Registro R017Bits00 al05
R017.00 Salida'0'20.Módulode Expansión.
R017.03 Salida"3"Zo.Módulode Expansión.

TerceraExpansión:
RegistroR018Bits00 al 07
R018.00Salida"0"3er.Módulode Expansión.
R018.01Satida"1"3er.Módulo de Expansión.

Bitsy RegistrosInternos(Relevadores
tnternosvolátiles).
127Registros
de 16 BitsdetM000at M127
Puedenaccesarse comoregistrosnuméricos de 16 Bits.,o comoBitslndividuales:
M000.00M,0 0 0 . 0 1M,0 0 0 . 0 2 , . . . . . . , M 0 0 0 . 1 5
M001.00M,0 0 . 1 . 0M10, 0 1 . 0 2 , . . . . . . , M 0 0 1 . 1 5

M127.OO,M127
.A1,UtiZ.02,...
."'.'.M127
.15

EstosRegistros
sonVolátiles.Pierdensu valoral Desenergizar
el Equipo.

52
Bits y Registroslnternos(Relevadores
Internos).(No volátiles)
15Registros de 16BitsdetK000atK015
Puedenaccesarse comoregistrosnuméricos de 16 Bits.,o comoBitsIndividuales:
K000.00 K,0 0 0 . 0 K
1 ,0 0 0 . 0 2 , . . . . . . , K 0 0 0 . 1 5
K 0 0 1 . 0K
0 ,0 0 1 . 0K
10 , 0 .10 2 , . . . . . . , K 0 0 1 , 1 5

K 0 1 5 . 0K
00, 1 5 . 0K
10, 15.02.......K015.15

EstosRegistros
sonpermanentes,
No pierdensu valoral Desenergizar
el Equipo.

RegistrosNuméricos
256Registros
delV1O00
al\M55
Sólopuedenaccesarse
comoregistrosnuméricos
No puedendescomponerse
en bitsindiüduales.

EstosRegistros
sonvolátiles.
Pierdensu valoral Desenergizar
el Equipo.

Timersy Contadores.
Eisten 256Timersy Contadores delTC00 al TC 255.
Paracadatimer/contadorexístentresregistros:
TC >o<,PValorde Preset.Registronumérico.
TC >oqVValoractual.RegistroNumérico.
TC >o<Estatusde su contactode salida.Bit.

Losprimeros de 10 mseg.y su preset,y valoractual


16Timers,tienenunaresolución
estánguardados
en Registros
Permanentes.

de i 00 mseg.y su valor:Actuales volátil.


LosdemásTimers,tienenresolución

53
\t \
t*
I

1t ,, . ( 'i
-!
I
1,.'
L

I
I
II .Bits y Registros espec¡ales y de Sistema

Existe¡algunosbitsy registros
t paradiagnósticos

F00100
específicos
u otrasas(¡naciones.
- Blr. se enciende
enel Controlador
quenossonútiles

durante
elprimerscanó Barrido
detcontrotador.
I F00103- Basedetiempo de100msqg.
L F00104- Basedetiempode1 Seg.
F00000al F0000S BitsdeenorenCpU.
I
t_ fd

L
t
t
I
L
IL

t
fr
L
I
I
L

t
L
I
L

L
E¡I
,"
lt
f",
| .f
L_" Ñ"f-h,olówilll¿" P¿".
1I '
L_
II
t__
Terminal de Programación para D50
I
I
L
D s O .P G M I O
i
I

IL
I I N D I C A D O R EDSE
I INDICADORES T I P OD E R E G I S T R O
DErNSTRUccróru
¡
DISPLAY
DE
l_ orRrccróN
v
PGM- IO
oL IoAñD óóüi O SHF
DATOS

I@oR OrtM O RUN


¡@ s T R @ c N T osrr i ooN
€)NOT oDrF O-R:Ii o ssT
I
t_

IL Kt7 Ft8 W/9 FUN

TECLASDE
rrusrRuccróru
@ @ @ @ E
r Mt4 q
o AUX CHK
II @ @
)
EADR
8.'1
R/1 J RD

II @ EN l s E rI Etr @
SST WR
MON

IL lNorl lr"J l R s r l E E
I
L TECLASDE
oprRnctót¡
j
I
L_ oEco¡rexrór'r
PUERTo
A CONTROLADOR

IL
l
L_
55

l_
:\. .. ,]
i_:.:
tl_;

Sumar¡ode FuncionesBásicas

Función Símbolo OPeradores

STR f--l
STRNOT

AND

A N DN O T

OR

OR NOT

i f"r¡\vucc-iows condic,,onc,\¿s- c"-tivc.n o &sactivan.


L_ "o\iAcrs.
[p,*,lo e\ flogronlt Fto to^ot d¿c''s'r'rnes.
|
L

L
L
L
t_ 5b
I
IL I
l

L I n s t r u c c i o n e sB á s i c a s .
IL
STR.- lnstrucción
básicade iniciode línea,equivalente
a contacto.N.O.
I Aplicablesolamentea Bits.(lnstrucciónCondicional).
l_
STRNOT,- Instrucción
Básicade iniciode línea,equivalente
a contacto
N.C.
Aplicable
sóloa Bits.(lnstrucción
t_ AND.-Contacto
Condicional).

N.O.en serie.Aplicable
sóloa Bifs.(lnstrucción
Condicional),
I ANDNOT.- Contacto
N,C.en serie,Aplicable
sóloa Bits.(lnstrucción
Condicional),
L
N.O.en paralelo.
OR.-Contacto sóloa Bits.(lnstrúcción
Aplicable Condicional).
i

i
L N.C.en paralelo.
OR NOT.-Contacto sóloa Bits.(lnstrucción
Aplicable Condicionat¡.

OUT.-Salidadirectano retenida.
Aplicable
a bits,exeepto
Entradas.
i
L
SET.-SalidaRetenida.
Aplicable
a bitsexceptoEntradas.Porcadainstrucción
de SET,
deberáexistirunainstrucción
de RST(Reset)a la mismaSalida.
I
L paradeshabilitar
RST.-Instrucción el SET.Porcadainstrucción
de RSTdeberáexistir
unainstrucción
SETaplicadaa la mismaSalida.

l_

I
l_

1
I
t_ Generalesparalas instruccionesBásicas.
Consideraciones

puedeaparecer
Un Bitcualquiera, tantasvecesseanecesario
en instrucciones
condicignales.
L_ Al contrario, unasolavezen el proorama.
un Bitsólopuedeaparecer en unainstrucción
de Salida.

L jamásdebenemplearse
LosBitsde Entrada, en instrucciones
de Salida.

LosBitsde Salida,puedenutilizarseindistintamente
en lnstrucciones
Condicionales
o de Salida.
I Conlasrestricciones
indicadas al principio.
L
t
L
t_ 51
.:' o.. *
.
I
I
L-

II
I

II
L_

I
t* TECLAS DE OPERACIÓN.

L DEL.-Se utilizaparaborraruna¡nstrucción, de DELse debeoprimirENTparaquetenga


después
efecto.
Tambiénpuedeutilizarse paraborrartodo
elprograma
del PLCconla sig,Secuencia:
II INS+DEL+ENT.
t_
INS .- Se utilizaparainsertaruna instrucción
inmediatamente despuésde la instrucción
en Display.
I Secuencia: y al finalse presionalNS.
Se tecleala instrucción,
t_
ENT.-Se utilizaparadar entradaa un valornumérico, (DEL,SCH,etc.).
o a algunaoperación.
I
I
CLR.-Cancelar unainstrucción antesde transferirla al PLC.
L SCH.-Búsqueda, sirveparabuscaralgunainstrucción.
SHF.-Shift,sirveparaalternar a la segundafunciónde lasteclasasímarcadas.
Cuandose estétecleando unainstrucción, oprimirSHF,ya que la terminal
no es necesario
á l t i p od e c o m a n dqou ep r o c e d a .
l

lL- a s u m i re
PRE.-
NXT.-Teclasparanavegaren losdiferentes pasosde un programa.
j
L_ r.

it-
II
L-

L-

I
L-

II
L

I
L_

I
t

I
i
I
L_

5g
II
I
T-

PrincipalesBloquesde Funciondel D50.

:
FuncionesAritméticas

Funcion Operación Operadores

s INC Al cumplirsesuscondicionales,lncrementa D = RegistroNumérico


en la unidadel valordel Registro
operando. (R)
a incrementar.

r_ DEC suscondicionales,Decrementa D = RegistroNumérico


Al cumplirse
en la unidadel valordel Registrooperando. (R)
a decrementar

ADD =8lH:H:
:?'5ffi
i:r::,l,illlT:li'i.h*sResistros
31
=
lRl,
lü D (R).
Resultado

suB :'.'5ffi
i:5ff:'ffiT:lr.h*;Resistros
3l:3ffi::t1i$lilY'
= (R). D Resultado

MUL Obtieneel productoAritméticade dos Registros51 = Multiplicador


(R),(V)
o de un registroy un valornumérico. =
52 Multiplicador (R),(V)
D = Resultado (R).

Drv -esistros
: 3;==3il:;lff:tli,,
"i1""'.;.",1"T:fJfffffilñ,*?i$ (R). D Resultado

queporomisión,
Recuerde suponepalabras
el sistema cortasde 8 Bits.(255)
puedecambiar
Enel GPCS, a modode palabras
dobles16Bits.(32,000)

númerosenteros,no manejapuntoflotante.
El D50manejasolamente

59
T

L_
Funcionesde Transferencia.

Funcion Operación Operadores

LET Cargaun ValorNumérico


o un S = Fuente(R),(V)
Registroen otro. D= Destino(R).

MOV Cargael valorde un Registroen "n" S = RegistroFuente(R0.


registros
designados por el Inicio. D = PrimerRegistrode Destino
n = Num.de RegistrosDestino

FMOV Cargaun valornuméricoen "n" V = Valornumérico(V)


registros porel Inicio.
designados D = PrimerRegistrode Destino
n = Num.de Registros Destino

Funcionesde Flujode Programa

Funcion Operación Operadores

JMP(x) Salto,el programadejade ejecutar (x) Etiqueta.


y la
laslíneasentreestainstrucción,
instrucciónLBL (x).

LBL(x) Etiqueta,indicaelfin de la instrucción (x) Etiqueta


JMP(x).Debecolocarse despuésde
la instrucción
JMP.

La funciónJMP- LBLpuedeanidarse.

J M P( 1 )
Formaconectade anidar
JMP(2) JMPy LBL
instrucciones
JMP(s) Porcadainstrucción JMP,deberá
existirsu correspondiente
LBL
LBL(s)
LBL(2)

L B L( 1 )

60
I
.AFPENDIXA
I
A5 TimerandCounterAddresses

Whenusingadvancedinstructions
to operateon timeror countervalues,you mustusewordaddresses
W204g
throughW2559as shownbelow.UseTCaddresses withcontactinstructions.
CfOrooQ
Ch€nnel ü€t Pt€s¡en¡ cnSnnel 5€t !.¡e€€nt Channsl Set Tresütt
ts. Val¡re Valt¡e nb. Value Vah.re ifc. Valuc Val|.€
o w2048 f w,?304 w2088 w2344 rio w2128 w2fi4
I
2
w2049
w2050
I w230s
I w2306
lit w2089
w2090
I
I W2345
w2346
81
n
wztn w2385
w2130 w2386

lfr
w20st I w'¿3n7 I
:l w2091 I w2u7 83 w2131 wm7
4 w?f52 I w2308 w2W2 I wzJ4s t|4 w2t32 w2388
5 w20s3 I w23oe w2093 I w84e 85 wzl:13 w2389
(; w2054 I w231o 1 4 6 w2094 I w23s0 86 w2134 wz$n
7 w2055 I wuJll 1 - 4 7 w2095 I w23sr 87 w21:r5 w2391
ti w2056 I w2sl2 w2096 w23s2 88 w2¡.36 w23g¿
le
Ito
wM7
w2058
I w2313
I wz3t4 lso
ll; w2w7 I
w20s I
I
w23sr
W235,1
89
90
w2t37 w2393
w2138 wziigt
Iu w2059 I w23ts w2099 I w2315 91 wzt39 w2395
Itz
lrt
w2060
w2061
I wzJlri
I w2317 ls3
l:l w2100I
w2101 I
wzsse
w23s7
g¿
93
w2140 w2396
wzt4t w?397
t14 w2M2 I w2318 lu w2t02 I w23s8 94 wzr42 w2398
lrs w2063 I w2319 w2103 I w235e 95 w2143 w239f)
I tn
lL7
I l,J
lle
120
wru64
w2ffi5
w2066
w'¿ffi7
w2068
w2069
wT320
w%21
w?32,
waa
w2324 160
wz)?s
l*1
lssI
w2104 I
w2l(E I
w2106 I
w2L07 I
I w2108 lwm
w2360
w23{r1
w2ffi2
w2363
96
97
98
99
100
wzr44 w2400
w2145 w2401
w2146 w21V¿
w2147 w2403
w2148 w2404
o
lzt,n 6rl w2109 I W236s 101 w2149 w2405
wn70 w?3,26
ln 24 wnTt w2327 331 w2110 w2366
w2111 wzir;T ]
7V2
103
w2150 w2406
wzl5l w2407
zs
26
wa)72 wan
w2073
w2074
w?3n
w2330
trl
66 1
W2LL2 w2368 l
w2113 w2369 |
wzll4 wzsloI
104
105
lüi
w2152 w2408
w2ltil w24@
w?Ls4 w2410
27 wn75 w2331 67 1 w2115 wnTL I rcT w2155 w24ll
71
,n
w2076 w?3y¿ 6sl w2116 wa72 | 1ftr w2156 w2412
wn77 wzl33 6eI w2rr7 w?3;73| 109 w2157 w2413
¡x)
3l
.t2
w2078 w2334
w2079 w2Í¡35
w2080 w23i6
iil w2118
w2119
wn?o
w2374 |
wz3zsI
w2s76 |
i10
111
w2l5n w24r4
w2159 w2415 I
w2160 w2416
iIi w2081 w2337 i?,I W2L2L w?377 |
112
113 w2l6t w2417

il
:14 w20ri2 w2338 w2t2, w2s78 | 114 w2t62 w24r8
i$ w2083 w2339 WZLB w'¿379 I 115 w2163 w2419
ilf;
37
3ri
w20&t w2310
w2085 w?3t
w2086 w2y2
,:,I
w2t24 w ? 3 f / u . l
w2t25 w2381 |
w2126 wzrg;zI
116
tI7
118
w2164 w24n
w2165 w2421
w2166 w24n
39 wm87 w2343 z9 l w2t27 wz3s3 | 119 w2t67 w24:ts
Note)WhileusingGPC-300,TC set valuescan be usedas SV and TC presentvaluescan be usedas pV.
ex) Set valueof TCO:can be usedSVO Set valueof UC10:can be used as SV10
Presentvalue of TCO:can be usedas pVO Present valueof UC10:canbe usedas PV10
*1)Keeparea
APPENDIXA
I
Cüannel Set Present Channel Set Resent Channel Set Pr€lent
No. Veluc Value ¡b. Value VahF ¡r¡. V8lr¡e Vrluc

t20 w2168 w2424 166 w2114 w2470 2L2 w?2jú w2516


tzl w2169 w242s 167 wmí w2471 213 wufl w2517
tn w2170 w2426 168 wz,l6 w2472 214 wn62 w2518
r73 w2t7L w2427 169 wnLT w2473 2t5 wz63 w2519
t24 w2t72 w24?8 170 wu,LS w2474 zL6 wnu w25n
t?s w2173 w24n L7t wu,Lg w2475 2t7 w?2.65 wzízt
126 w2174 w2430 L72 wu20 w2476 2t8 wffi w25n
r27 w2175 w2431 t73 wmr w2477 2r9 wn67 w25A
t2t3 w2t76 w2432 t74 ww, w2478 n0 wu:68 w2524
129 wzLn w2433 L75 ww3 w2479 nl w?26g w25?5
130 w2t78 w24U L76 ww4 w248r0. t22 wn70 w2526
131 w2179 w2435 L77 wu¿í w2481 223 wml w25n
r32 w2180 w2436 L78 wm6 w2492 n4 wz|2 w25?I1
133 w2181 w2437 179 wm w2483 25 wu73 w25?9
134 w2lg2 w2438 180 wwfs w2484 n6 wm4 w2530
l3s w2ltfÍl w2439 181 WT¿A w2485 2n wn75 wzfÍJ1
1il6 w2r84 w24/;0 t82 wnn w2486 na wn76 w2532
L37 w2185 w2441 183 w?23t w2487 n9 wn77 w2533
138 w2186 w2442 184 wutiz, w2488 2n wu|8 w25.34
139 w2t87 w2443 18s w2233 w2489 z3r wn79 w2535
140 w2188 w24A 186 wnu w2490 ?32 wtz8/0. w2536
t 141
142
143
w2189
w2190
w2191
wa4¿s
w24¿6
w2U7
r87
188
189
w?235 w2491
wt236
w%7
w2492
w2493
?33
2U
?35
wuf.l
wn82
w%3
w%97
w2538
w2539
r44 w2rg2 w244É. 190 wzs w2494 ?ffi ww w2540
145 w2193 w2449 191 w??39 w2495 237 wz2f35 w2541
I46 w2l94 w2450 Lv¿ w?2!0 w2496 m w% w2542
147 w2195 w2451 193 w24L w2497 239 wn87 w2543
l4E w2r96 w2452 194 wn42 w2498 240 wnff w?il4
I49 w2197 w2453 195 w243 w2499 241 ww w2545
150 w2198 w24il 196 wag w2500 242 wm w2546
t5t w2199 w2455 Lg7 wn45 w2501 24s w?2Bl. w?547
rsz w?zj@ w2456 198 wn46 w?flz 244 ww¿ w254r|
153 wz,20t w2457 199 wn47 w2503 245 w?2p]3 w2549
t54 w202 w24s8 2ú w2,48 w250r 246 ww w2550
t55 wn03 w2459 NL wn49 w2505 247 wmí w2551
tSti wna w2460 n2 wnfl w2506 ?48 wm w2552
157 wujc6 w246L 203 w25r w2ffi7 249 wm7 w2553
158 WW w2462 2M wn52 w2508 ?fi w2298 w2554
159 w2207 w2463 26 wn53 w2f)9 ?51 ww w2555
160 w?2jfJF.^ w2464 26 wz$ w2510 ?52 w2300 w2556
l6l wujlug_ w2465 m7 w?255 w2511 253 w2301 w2557
Lbz wu'Lo w2466 208 wnffi w?5t2 & wm2 w2558
163 W22LT w2467 2W wn57 w2513 ?55 w2308 w2559
l&l wnrz w2468 2L0 w2258 w25t4
Itts wnrs w2469 zLL wnj,g wzs15

A-7 62
6.1. RS Logix 500.

Para la programación del PLC Micrologix 1200 de Allen-Bradley se utilizara el


software RS Logix 500. Para abrir la aplicación primeramente se dará doble clic en
el icono correspondiente, la siguiente figura 4.1 muestra el icono.

Fig. 4.1 Icono para abrir la aplicación RS Logix


500

Al ejecutarse la acción aparecerá la ventana principal del RS Logix 500


figura 4.2.

Fig. 4.2 Ventana principal del RS Logix


500

El software se ejecuta en ambiente Windows como podemos verlo en la imagen


anterior, podemos observar los diferentes menús, que detallaremos mas adelante.
Crear un nuevo proyecto: Seleccionar el menú proyecto y dar un clic en el
comando Nuevo como lo muestra la figura 4.3.

Fig. 4.3 Menú Proyecto

Al aparecer la siguiente ventana configuraremos el tipo de PLC con el que


trabajaremos, en nuestro caso será con Bul. 1762 Micrologix 1200 serie C (1 o 2
puertos común) figura 4.4.

Fig. 4.4 Selección del PLC de trabajo.


Al escoger la opción aceptar de la ventana anterior aparecerá la ventana que se
muestra a continuación:

Barra de menú:
Permite realizar diferentes funciones como recuperar o guardar programas,
opciones de ayuda, etc. Es decir, las funciones elementales de cualquier software
actual.

Barra de iconos:
Engloba las funciones de uso más repetido en el desarrollo de los programas.

Barra de estado del procesador:


Nos permite visualizar y modificar el modo de trabajo del procesador (online,
offline, program, remote), cargar y/o descargar programas (upload/download
program), así como visualizar el controlador utilizado (Ethernet drive en el caso
actual).

Los modos de trabajo más usuales son:

 Offline: Consiste en realizar el programa sobre un ordenador, sin necesidad


alguna de acceder al PLC para posteriormente una vez acabado y
verificado el programa descargarlo en el procesador. Este hecho dota al
programador de gran independencia a la hora de realizar el trabajo.

 Online: La programación se realiza directamente sobre la memoria del PLC,


de manera que cualquier cambio que se realice sobre el programa afectará
directamente al procesador, y con ello a la planta que controla. Este método
es de gran utilidad para el programador experto y el personal de
mantenimiento ya que permite realizar modificaciones en tiempo real y sin
necesidad de parar la producción.

Árbol del proyecto:


Contiene todas las carpetas y archivos generados en el proyecto, estos se
organizan en carpetas. Las más interesantes para el tipo de prácticas que se
realizará son:

Controller properties: contiene las prestaciones del


procesador que se está utilizando, las opciones
de seguridad que se quieren establecer para el
proyecto y las comunicaciones.

Processor Status: se accede al archivo de


estado del procesador.

IO Configuration: Se podrán establecer y/o leer las


tarjetas que conforman el sistema.

Channel Configuration: Permite configurar los


canales de comunicación del procesador.
Contiene las distintas rutinas Ladder creadas para
el proyecto.

Da acceso a los datos de programa que se van a


utilizar así como a las referencias cruzadas (cross
references). Podemos configurar y consultar salidas
(output), entradas (input), variables binarias (binary),
temporizadores (timer), contadores (counter),...

Si seleccionamos alguna de las opciones se


despliegan diálogos similares al siguiente, en el que
se pueden configurar diferentes parámetros según
el tipo de elemento.
Panel de resultados:
Aparecen los errores de programación que surgen al verificar la corrección del
programa realizado (situados en la barra de iconos). Efectuando doble clic sobre el
error, automáticamente el cursor se situará sobre la ventana de programa Ladder
en la posición donde se ha producido tal error.
También es posible validar el archivo mediante Edit > Verify File o el proyecto
completo Edit > Verify Project.

Barra de instrucciones:
Esta barra le permitirá, a través de pestañas y botones, acceder de forma rápida a
las instrucciones más habituales del lenguaje Ladder. Presionando sobre cada
instrucción, ésta se introducirá en el programa Ladder.

Ventana de programa ladder:


Contiene todos los programas y subrutinas Ladder relacionados con el proyecto
que se esté realizando. Se puede interaccionar sobre esta ventana escribiendo el
programa directamente desde el teclado o ayudándose con el ratón (ya sea
arrastrando objetos procedentes de otras ventanas ó seleccionando opciones con
el botón derecho del ratón).
Introducción a la Programación con Diagramas de Contactos.
 Lenguaje de programación.
 Programación en diagrama escalera.
 Interfaces con relevadores

7.1. Lenguaje de Programación.

Los primeros PLC, en la primera mitad de los 80, eran programados usando
sistemas de programación propietarios o terminales de programación
especializados, que a menudo tenían teclas de funciones dedicadas que
representaban los elementos lógicos de los programas de PLC. Los programas
eran guardados en cintas. Más recientemente, los programas PLC son escritos en
aplicaciones especiales en un ordenador, y luego son descargados directamente
mediante un cable o una red al PLC. Los PLC viejos usan una memoria no volátil
(magnetic core memory) pero ahora los programas son guardados en una RAM
con batería propia o en otros sistemas de memoria no volátil como las memoria
flash.

Los primeros PLC fueron diseñados para ser usados por electricistas que podían
aprender a programar los PLC en el trabajo. Estos PLC eran programados con
“lógica de escalera” ("ladder logic"). Los PLC modernos pueden ser programados
de muchas formas, desde la lógica de escalera hasta lenguajes de programación
tradicionales como el BASIC o C. Otro método es usar la Lógica de Estados (State
Logic), un lenguaje de programación de alto nivel diseñado para programas PLC
basándose en los diagramas de transición de estados.

Recientemente, el estándar internacional IEC 61131-3 se está volviendo muy


popular. IEC 61131-3 define cinco lenguajes de programación para los sistemas
de control programables: FBD (Function block diagram), LD (Ladder diagram), ST
(Structured text, similar al lenguaje de programación Pascal), IL (Instruction list) y
SFC (Sequential function chart).

Mientras que los conceptos fundamentales de la programación del PLC son


comunes a todos los fabricantes, las diferencias en el direccionamiento E/S, la
organización de la memoria y el conjunto de instrucciones hace que los programas
de los PLC nunca se puedan usar entre diversos fabricantes. Incluso dentro de la
misma línea de productos de un solo fabricante, diversos modelos pueden no ser
directamente compatibles

7.2. Programación en Diagrama Escalera (Ladder).


Las diferentes instrucciones del lenguaje Ladder se encuentran en la barra de
instrucciones citada anteriormente. Al presionar sobre alguno de los elementos de
esta barra estos se introducirán directamente en la rama sobre la que nos
encontremos.

A continuación se hará una explicación de las instrucciones usadas para la


resolución de las prácticas de este curso:

Añadir una nueva rama al programa.

Crear una rama en paralelo a la que ya esta creada.


Contacto normalmente abierto (XIC – Examine if closed): Examina si
la variable binaria está activa (valor=1), y si lo está permite al paso de la
señal al siguiente elemento de la rama. La
variable binaria puede ser tanto una variable interna de memoria, una
entrada binaria, una salida binaria, la variable de un temporizador,...

En este ejemplo si la variable I:0/0 es igual a 1 se activara la salida O:0/0.

Contacto normalmente cerrado (XIO – Examine if open):


Examina si la variable binaria está inactiva (valor=0), y si lo está permite
al paso de la señal al siguiente elemento de la rama.

En este ejemplo si la variable I:0/0 es igual a 0 se activará la salida

O:0/0.

Activación de la variable (OTE – Output energize):


Si las condiciones previas de la rama son ciertas, se activa la variable.
Si dejan de ser ciertas las condiciones o en una rama posterior se
vuelve a utilizar la instrucción y la condición es falsa, la variable se
desactiva.

Para ciertos casos es más seguro utilizar las dos instrucciones


siguientes, que son instrucciones retentivas.

Activación de la variable manera retenida (OTL – Output latch):


Si las condiciones previas de la rama son ciertas, se activa la variable y
continúa activada aunque las condiciones dejen de ser ciertas.

Una vez establecida esta instrucción solo se desactivará la variable


usando la instrucción complementaria que aparece a continuación.

Desactivación de la variable (OTU – Output unlatch):


Normalmente está instrucción se utiliza para anular el efecto de la
anterior. Si las condiciones previas de la rama son ciertas, se desactiva
la variable y continúa desactivada aunque las condiciones dejen de ser
ciertas.

Flanco ascendente (ONS – One shot):


Esta instrucción combinada con el contacto normalmente abierto hace
que se active la variable de salida únicamente cuando la variable del
contacto haga la transición de 0 a 1 (flanco ascendente). De esta
manera se puede simular el comportamiento de un pulsador.

Temporizador (TON – Timer on-delay):


La instrucción sirve para retardar una salida, empieza a contar
intervalos de tiempo cuando las condiciones del renglón se hacen
verdaderas. Siempre que las condiciones del renglón permanezcan
verdaderas, el temporizador incrementa su acumulador hasta llegar al
valor preseleccionado. El acumulador se restablece (0) cuando las
condiciones del renglón se hacen falsas.

Es decir, una vez el contacto (I:0/0) se activa, el bit llamado T4:0/EN


del temporizador se activa y se mantiene activado mientras la entrada
I:0/0 este activado y empieza a contar el valor seleccionado (Preset=5)
en la base de tiempo especificada (1.0 s.). La base de tiempo puede ser
de 0.001 s., 0.01 s. y 1.00 s. Una vez el valor acumulado se iguala al
preseleccionado se activa el bit llamado T4:0/DN (temporizador
efectuado). Este lo podemos utilizar como condición en la rama
siguiente.

Temporizador (TOFF – Timer off-delay):


La instrucción sirve para retardar un apagado, empieza a contar
intervalos de tiempo cuando las condiciones del renglón realizan un
pulso completo es decir, de 0 a 1 y de 1 a 0. A partir de esta condicion
el temporizador incrementa su acumulador hasta llegar al valor
preseleccionado. El acumulador se restablece (0) cuando las
condiciones del renglón se hacen falsas.

Es decir, una vez el contacto (I:0/0) realiza el pulso completo, el bit


llamado T4:0/EN de el temporizador se activa y se mantiene activado
mientras el temporizador se mantenga contando este activado y
empieza a contar el valor seleccionado (Preset=5) en la base de tiempo
especificada (1.0 s.). La base de tiempo puede ser de 0.001 s., 0.01 s. y
1.00 s. Una vez el valor acumulado se iguala al preseleccionado se
activa el bit llamado T4:0/DN (temporizador efectuado). Este lo
podemos utilizar como condición en la rama siguiente.
Contador (CTU – Count up):
Se usa para incrementar un contador en cada transición de renglón de
falso a verdadero.

Por ejemplo, esta instrucción cuenta todas las transiciones de 0 a 1 de


la variable colocada en el contacto normalmente abierto. Cuando ese
número se iguale al preseleccionado (5 en este caso) el bit C5:0/DN se
activa. Este bit se puede usar posteriormente como condición en otro
renglón del
programa.
Resetear (RES – Reset):
La instrucción RES restablece temporizadores, contadores y elementos
de control.

En el ejemplo presentado a continuación una vez aplicado el reset, el


contador se pone a cero y cuando la condición del renglón del contador
vuelca a ser cierta, empezará a contar de cero.

Pasar a otra subrutina (JSR – Jump to subroutine):


Esta instrucción se utiliza para activar las distintas subrutinas ladders o
programas agregados al proyecto.

Una Subrutina es un nuevo programa dónde se realizan tareas


dependientes. La instrucción JSR nos permite llamar aquellos nuevos
programas o subrutinas creados dentro del mismo proyecto, esta
instrucción se escribe en el renglón del programa donde se desee llamar
dicha subrutina. Esta instrucción debe de estar activada siempre durante
el funcionamiento del programa por lo cual no se le antepone ningún
contacto.
U: 3 hace referencia a LAD 3
que es la nueva subrutina
ladder agregada al proyecto,
para poner el nombre dentro
del JSR solo es necesario
escribir el numero 3 y el
programa automáticamente
escribirá U:3 y así
sucesivamente con las
subrutinas que se vallan a
agregando.

Para introducir el nombre de las variables se puede hacer mediante el teclado o a


partir del Árbol del proyecto>Data Files y seleccionar el elemento necesario
(salida, entrada, variable). Una vez seleccionado el elemento se abre una ventana
y se puede arrastrar con el ratón la variable como se muestra en la figura 8.5, y
colocar el nombre de la variable (I:0/0) encima de la casilla verde de la instrucción
(indicada con el círculo azul).

Para más información sobre las instrucciones usadas en el RSLogix 500 se puede
acceder al menú de ayuda: Help>SLC Instruction Help y se encuentra un
explicación muy detallada de su funcionamiento.
Una vez se ha realizado el programa y se ha verificado que no exista ningún error
se procede a descargar el programa al procesador del autómata (download).
7.3. Interfaz con relevadores.
Después de conocer la etapa de control y la etapa de potencia y sobre todo la
función de cada una de ellas en un proceso, podremos comprender que en
ocasiones las señales provenientes de la etapa de control no pueden proporcionar
la energía suficiente para realizar el trabajo requerido.

De ahí la necesidad de utilizar otros dispositivos que permitan trabajar con


potencias mas elevadas y activarse con pequeñas señales.

El dispositivo más común para esta aplicación es: EL RELEVADOR.


El relevador esta compuesto por una bobina y una estructura mecánica que al
energizar la bobina gracias al campo magnético generado por esta, permite
conmutar una serie de contactos la figura 5-5 muestra el símbolo de un relevador.

Fig. 5-5 Símbolo del relevador

Así pues cuando utilicemos un PLC que maneje salidas de 110VAC y se necesite
arrancar un motor de 220 trifásico podremos utilizar contactos de un relevador, de
esta forma la salida del PLC excitará la bobina del relevador y a través de los
contacto de este haremos funcionar el motor.

Anda mungkin juga menyukai