PDF de programación - 4. PLC-II: Programación con Texto Estructurado (ST) y con Diagramas de Bloques de Función (FBD)

Imágen de pdf 4. PLC-II: Programación con Texto Estructurado (ST) y con Diagramas de Bloques de Función (FBD)

4. PLC-II: Programación con Texto Estructurado (ST) y con Diagramas de Bloques de Función (FBD)gráfica de visualizaciones

Publicado el 14 de Junio del 2019
1.953 visualizaciones desde el 14 de Junio del 2019
549,9 KB
25 paginas
Creado hace 3a (04/10/2016)
3/3

Técnicas de la automatización

(Cód. 423;:9)

6. PLC-II: Programación con Texto Estructurado (ST)

y con Diagramas de Bloques de Función (FBD)

Escuela Politécnica Superior
UNIVERSIDAD DE ALCALÁ

Funciones

Bloques

Bloques estándar

Referencias

4/47

ST

Índice

3 Lenguaje ST (Structured Text)

4 Funciones

5 Bloques de función

6 Bloques de función estándar

7 Referencias

ST

Funciones

Bloques

Estructuras de control (i)

Bloques estándar

Referencias

5/47

ST es un lenguaje de alto nivel similar Pascal o Ada. 3
Un programa ST se compone de una secuencia de estructuras de
control separadas por el carácter ;.

Estructuras de control:

:= (asignación) Asigna el valor de una expresión a una

variable:
3 K3 := (K2 And KT3) Or (K3 And Not S1);

IF (selección) Selección entre alternativas por medio de

expresiones Boolean:
3 If d<e Then f := 1;
4 Elsif d=e Then f := 2;
5 Else f := 3;
6 End_If;

3[IEC, 4228, pp. 34;–356] y [John, 4232, pp. 338–355].

ST

Funciones

Bloques

Estructuras de control (ii)

Bloques estándar

Referencias

6/47

CASE (selección por casos) Selección entre alternativas por medio

de una expresión:
3 Case expr Of
4

1: g:=11;
2,3: g:=12;
5..10: g:=13;
Else: g:=-1;

7
8 End_Case;

5

6

progresión:

FOR Bucle con inicialización, condición para continuar y

3 Var
4

5

6

7

I : Int;
nV : Int:=5;
Max: Int:=0;

8
9 End_Var;

V : Array[1..5] Of Int :=

[2, 16, 4, 7, 32];

3 For I:=1 To nV By 1 Do
If V[I] > Max Then
4

Max:=V[I];

5

End_If;

6
7 End_For;

ST

Funciones

Bloques

Estructuras de control (iii)

Bloques estándar

Referencias

7/47

WHILE Bucle con condición para continuar:
3 I:=1; (∗ Inicialización. ∗)
4 While I<=nV Do (∗ Condición. ∗)

If V[I] > Max Then

Max:=V[I];

End_If;
I:=I+1; (∗ Progresión. ∗)

8
9 End_While;

5

6

7

6

7

8

REPEAT Bucle con condición para finalizar:

3 I:=1; (∗ Inicialización. ∗)
4 Repeat
5

If V[I] > Max Then

Max:=V[I];

End_If;
I:=I+1; (∗ Progresión. ∗)

9 Until I>nV End_Repeat; (∗ Condición. ∗)

ST

Funciones

Bloques

Estructuras de control (iv) y operadores

Bloques estándar

Referencias

8/47

EXIT Finaliza el bucle donde se encuentra.

RETURN Abandona el POU actual.

Operadores

Aritméticos: -(unario), ** a, *, /, MOD, +, -.
De comparación: <, >, <=, >=, =, <>.
Lógicos: NOT, AND, &b, OR, XOR.
Paréntesis: (, ). Modifica la prioridad de los operadores anteriores.
aPotencia a**b ” ab.
b&”AND.

ST

Funciones

Bloques

Tipos de datos en ST

Bloques estándar

Referencias

9/47

Tipo
BOOL
BYTE
WORD
DWORD
LWORD
INT
UINT
DINT
UDINT
LINT
ULINT
REAL
LREAL
STRING

Descripción

Nro. de bits

Bit
Byte
Cadena

Cadena doble
Cadena larga

Entero

Entero sin signo
Entero doble

Entero doble sin signo

Entero largo

Entero largo sin signo

Número real

Número real largo
Cadena de caracteres

3
:
38
54
86
38
38
54
54
86
86
54
86

Rango
0, 1
0..#FF

#0..#FFFFFFFFFFFFFFFF

#0..#FFFF

#0..#FFFFFFFF
´32568..32567
0..65535
´231..231 ´ 1
0..232 ´ 1
263..263 ´ 1
0..264 ´ 1
˘10´38.. ˘ 1038
˘10´308.. ˘ 10308
de 3 a 347 caracteres

ST

Bloques estándar

Funciones

Bloques

Algunas funciones disponibles en ST

Función
y:=ABS(x)
y:=SQRT(x)
y:=LN(x)
y:=LOG(x)
y:=EXP(x)
y:=EXPT(x,n)
y:=SIN(x)
y:=COS(x)
y:=TAN(x)
y:=ASIN(x)
y:=ACOS(x)
y:=ATAN(x)

Nombre

Valor absoluto, y “ |x|
Raíz cuadrada, y “ ?
x
Logaritmo natural
Logaritmo decimal
Exponencial, y “ ex
Potencia, y “ xn

Seno
Coseno
Tangente
Arco seno
Arco coseno
Arco tangente

Operandos

Z o R

x P R, n P Z

R
R
R
R

R
R
R
R
R
R

Referencias

:/47

Resultado
Z o R

R
R
R
R
R
R
R
R
R
R
R

Funciones

Bloques

Bloques estándar

Referencias

;/47

ST

Índice

3 Lenguaje ST (Structured Text)

4 Funciones

5 Bloques de función

6 Bloques de función estándar

7 Referencias

ST

Funciones

Bloques

Bloques estándar

Referencias

32/47

Llamadas entre POUs
Ya hemos visto que la parte de código de un programa se compone de:
3 secuencias de instrucciones,
4 llamadas a funciones y
5 llamadas a bloques de función.

3 Un programa puede llamar a funciones y a bloques de funciones.
4 Un bloque de función puede llamar a funciones y bloque de funciones.
5 Una función solo puede llamar a funciones.
6 Ningún POU puede llamarse de forma recursiva.

PROGRAMAFUNCIÓNBLOQUEdeFUNCIÓNFUNCIÓNFUNCIÓNBLOQUEdeFUNCIÓN Funciones

Bloques

ST

Partes de una función

Bloques estándar

Referencias

33/47

Función
3 Secuencia de instrucciones y

llamadas a otras funciones que

4 operan sobre unos datos de

entrada para producir una salida.

5 Carece de memoria o estado

interno.

nstrcc ones(cerpodePOU)r besde nterƒzr besocesFUNCTIONNombre:Tipo_RetornoEND_FUNCTIONPrtedecrt Prtedecód goNombre:=resultado; Funciones

Bloques

Bloques estándar

Referencias

34/47

ST

Índice

3 Lenguaje ST (Structured Text)

4 Funciones

5 Bloques de función

6 Bloques de función estándar

7 Referencias

ST

Funciones

Bloques

Diagramas de bloques de función (FBD)

Bloques estándar

Referencias

35/47

3 FBD es un lenguaje gráfico que trabaja con conexiones de funciones y

de bloques de función. 4

4 Los programas dibujados con FBD se asemejan a los diagramas con

circuitos integrados.

5 Un bloque de función es un POU que consta de un conjunto de datos
encapsulados e independientes y los algoritmos para trabajar con esos
datos.

6 A diferencia de las funciones, los bloques de función pueden tener en

estado interno asociado.

7 Para utilizar un bloque de función es necesario crear un ejemplar

(instance) derivado.

8 Los bloques de función se pueden emplear en programas escritos en

lenguaje IL, LD, ST y FBD.

4[IEC, 4228, p. 365] y [John, 4232, pp. 356–369].

ST

Funciones

Bloques

Declaración y uso de un bloque de función

Bloques estándar

Referencias

36/47

ejemplarFB: nombreFB;
varENT1: Tipo_ENT1;
...
varENTn: Tipo_ENTn;
varSAL1: Tipo_SAL1;
...
varSALm: Tipo_SALm;

3 VAR
4
5
6
7
8
9
:
; END_VAR
32 ...
33 ejemplarFB(ENT1:=varENT1,...,
34
35 ...
36 varSAL1 := nombreFB.SAL1;
37 ...
38 varSALm := nombreFB.SALm;
39 ...
3: ejemplarFB(ENT1:=varENT1,...,
SAL1=>varSAL1,...);
3;

ENTn:=varENTn);

nombreFBENT1Tipo_ENT1......ENTnTipo_ENTnSAL1Tipo_SAL1......SALmTipo_SALmnombreFBejemplarFBENT1varENT1......ENTnvarENTnSAL1varSAL1......SALmvarSALm ST

Funciones

Bloques

Entrada EN y salida ENO

Bloques estándar

Referencias

37/47

Tanto EN (enable input) como ENO (enable output) son optativas.

EN

Significado

FALSE No se ejecuta el código del bloque al lla-

marlo
Se ejecuta el código del bloque

TRUE

En el bloque se puede fijar el valor de ENO
Cuando se detecta algún fallo

ENO
ENO:=FALSE
(no se actualizan las salidas)
ENO:=TRUE
(se actualizan las salidas)
ENO:=TRUE o FALSE
ENO:=FALSE

nombreENBOOLENT1Tipo_ENT1......ENTnTipo_ENTnENOBOOLSAL1Tipo_SAL1......SALmTipo_SALm Funciones

Bloques

Bloques estándar

Referencias

38/47

ST

Índice

3 Lenguaje ST (Structured Text)

4 Funciones

5 Bloques de función

6 Bloques de función estándar

7 Referencias

ST

Bloques estándar

Referencias

39/47

Funciones

Bloques

Temporizadores IEC 83353-5 – TON

Los temporizadores son los primeros ejemplos de bloques de función IEC
83353-5.
TON — temporizador con retardo a
la conexión

TON – cronograma

IN → ET:=0 y empieza a contar
el tiempo.
ET alcanza PT → Q:=TRUE.
IN! → Q:=FALSE y ET:=0.

TONINBOOLPTTIMEQBOOLETTIMEB.4 Timers331t1t2t4t3t5INQETt0+PTt4+PTPTt0PTPTPTTime tFigureB.6. Timing diagram for on-delay timer TON depending on input IN The on-delay timer TON supplies the input value IN at Q with a time delay when a rising edge is detected at IN. If input IN is "1" only for a short pulse (shorter thanPT), the timer is not started for this edge.The elapsed time can be read off at output ET.t1t2t4t3t5t0PTPTINQETt1+PTt5+PTPTTime tFigureB.7. Timing diagram for off-delay timer TOF depending on input INThe off-delay timer performs the inverse function to TON i.e. it delays a fallingedge in the same way as TON delays a rising one.The behaviour of the timer TOF if PT is modified during timer operation is imple-mentation-dependent. ST

Bloques estándar

Referencias

3:/47

Funciones

Bloques

Temporizadores IEC 83353-5 – TOF

TOF — temporizador con retardo a la
desconexión

TOF – cronograma

IN → Q:=TRUE.
IN! → ET:=0 y empieza a contar el
tiempo.
ET alcanza PT → Q:=FALSE.

TOFINBOOLPTTIMEQBOOLETTIMEB.4 Timers331t1t2t4t3t5INQETt0+PTt4+PTPTt0PTPTPTTime tFigureB.6. Timing diagram for on-delay timer TON depending on input IN The on-delay timer TON supplies the input value IN at Q with a time delay when a rising edge is detected at IN. If input IN is "1" only for a short pulse (shorter thanPT), the timer is not started for this edge.The elapsed time can be read off at output ET.t1t2t4t3t5t0PTPTINQETt1+PTt5+PTPTTime tFigureB.7. Timing diagram for off-delay timer TOF depending on input INThe off-delay timer performs the inverse function to TON i.e. it delays a fallingedge in the same way as TON delays a rising one.The behaviour of the timer TOF if PT is modified during timer operation is imple-mentation-dependent. ST

Bloques estándar

Referencias

3;/47

Funciones

Bloques

Temporizadores IEC 83353-5 – TP

TP — aestable

TP – cronograma

IN → Q:=TRUE, ET:=0 y
empieza a contar el tiempo.
ET alcanza PT → Q:=FALSE.
IN o IN! antes de que ET
alcance PT → no ocurre nada.
IN! después de que ET haya
alcanzado PT → ET:=0.

TPINBOOLPTTIMEQBOOLETTIME330B Standard Function BlocksB.4TimersINQBOOLPTETTIMEBOOLTIME******stands for:TON, T---0,TOF, 0---T,TPFigureB.4. Graphical declarations of the function blocks TON, TOF and TPThe timers TP, TON and TOF are specified here using timing diagrams.This time behaviour is only possible if the cycle time of the cyclic PLC program in which the timer is used is negligibly small in comparison with the duration PT if the timer is called only once in the cycle.The diagrams show the behaviour of outputs Q and ET depending on input IN.The time axisruns from left to right and is labelled "t". The B
  • Links de descarga
http://lwp-l.com/pdf16132

Comentarios de: 4. PLC-II: Programación con Texto Estructurado (ST) y con Diagramas de Bloques de Función (FBD) (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad