Automats Programables I Robotica Ii - Catala

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 81

AUTÒMATS PROGRAMABLES I

ROBÒTICA EN GENERAL 2

CURS: 44053
ACCIÓ: 7
GRUP: 2

PROFESSOR: RAMON LUIS YUSTE


DATES: 17-12-2011 a 14-04-2012
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

PROGRAMACIÓ DE L ‘AUTOMATA
S7-300
Instruccions avançades

00. Sistemes de numeració


01. Paraula d’estat i operacions amb acumladors.
02. Temporitzadors.
03. Comptadors i comparadors.
04. Programació estructurada per blocs.
05. Operacions de càlcul, bàsiques i avançades.
06. Operacions d’ incrementar i decrementar.
07. Parametrizació de blocs FB i FC
08. Direccionament indirecte.
09. Blocs de dades.
10. Programació de registres del sistema
11. Tractament de senyals analògiques
12.4 Utilització de blocs de la llibreria
13. Desplaçaments i rotacions
14. Mòduls d’organització. Processament d’alarmes

IES SEP COMTE DE RIUS


DE TARRAGONA

Realitzat per: Data: 25/01/06 Pàgina: 1/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

PRÒLEG

Aquesta documentació forma part d'una sèrie de manuals que un grup de professors de
tres instituts d'educació secundària de Catalunya, com són:

• IES-SEP Comte de Rius de Tarragona


• IES Palau Ausit de Ripollet (Barcelona)
• IES-SEP La Garrotxa de Olot (Girona)

han estat experimentant amb diferents materials inclosos dins de la temàtica de


l'automatització, el control i les comunicacions industrials.

Aquest equip de professors, van formar un grup de treball, anomenat EDCAI


(Experimentació i Documentació en Control i Automatització Industrial), reconegut tant pel
Departament d'Educació de la Generalitat de Catalunya com per l'empresa Siemens, amb
uns objectius tan senzills com clars i que es basaven en la realització de documentació
realitzada per professors / es per a professors / es, i que a més, pogués servir com a
manual per als alumnes, això vol dir que s'ha intentat realitzar una documentació que
sigui fàcil de seguir amb unes explicacions pas a pas dels diferents processos a realitzar,
per d'aquesta manera poder assolir l'objectiu proposat en cada exercici.

Aquest grup de treball continua treballant en cada un dels temes per poder anar
actualitzant dia a dia aquesta documentació, és per això, que ens podeu enviar els vostres
suggeriments a través de la informació que trobareu a la web dedicada a aquest grup de
treball i que des d'aquí us convidem a participar.

http://iespalauausit.com/edcai/html/web_cat/indexcat.htm

Esperem que l'esforç i dedicació que hem realitzat pugui ajudar a millorar la vostra tasca
educativa.

Els professors del grup de treball EDCAI

Realitzat per: Data: 25/01/06 Pàgina: 2/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

INDEX:

1 SISTEMES DE NUMERACIÓ................................................................................................ pag 4


2 MÒDULS D’ORGANITZACIÓ............................................................................................ pag 7
3 FUNCIONS............................................................................................................................. pag 9
4 MÒDULS DE DADES............................................................................................................. pag 10
5 ACUMULADORS.................................................................................................................... pag 11
E4.1 FUNCIÓ MOURE (TRANSFERÈNCIA). .................................................................................. pag 12
E4.2 FUNCIÓ MOURE (CONSTANTS A UNA MATEIXA PARAULA).............................................. pag 13
E5.1 PRESELECCIÓ VARIABLE I VISUALITZACIÓ DEL VALOR D’UN TEMPORITZADOR..... pag 15
E5.2 PROGRAMACIÓ D’UN TEMPORITZADOR AMB TRES TEMPS DIFERENTS.............. ......... pag 16
E6.1 PRESELECCIÓ VARIABLE DEL VALOR D’UN COMPTADOR. ........................................... pag 18
E6.2 INSTRUCCIONS DE COMPARACIÓ................................................................................... pag 20
E6.3 CONTROL D’INICI DE LA MARXA D’UN PROCÉS................................................................. pag 22
E6.4 CLAU PER OBRIR UN PANY................................................................................................... pag 24
E14.1 OPERACIONS LÒGIQUES ENTRE PARAULES O DOBLES PARAULES............................ pag 26
E14.2 PROGRAMACIÓ D’UN TEMPORITZADOR AMB PRESELECCIÓ VARIABLE.
BASE DE TEMPS FIXA......................................................................................................... pag 28
E14.3 OPERACIONS ARTIMÈTIQUES AMB NOMBRES ENTERS (COMA FIXA)............................ pag 29
E14.4 CREACIÓ D’UN COMPTADOR REVERSIBLE AMB PRESELECCIÓ................................. pag 31
E14.5 CREACIÓ D’UN COMPTADOR DE TEMPS........................................................................ pag 32
E14.6 OPERACIONS ARTIMÈTIQUES AMB NOMBRES EN COMA FLOTANT.............................. pag 34
E11.1 CREACIÓ DE LA PLANTILLA D’UN GENERADOR D’IMPULSOS STANDARD.............. pag 36
E11.2 CREACIÓ D’UNA PLANTILLA AMB NOMBRES REALS.................................................... pag 38
E19.1 DIRECCIONAMENT INDIRECTE DE REGISTRES........................................ ..................... pag 40
E10.1 LECTURA DE DADES D’UN BLOC DE DADES (DB)....................................................... pag 42
E10.2 LECTURA DE DADES D’UN BLOC DE DADES (DB) . DIRECCIONAMENT
INDIRECTE D’UN BLOC DE DADES............................................................ ................... pag 46
E17.1 PROGRAMACIÓ DEL RELLOTGE...........................................................................................pag 48
E18.1 FUNCIÓ SCALE (ESCALAR UNA ENTRADA ANALÒGICA)................................................. pag 52
E18.2 FUNCIÓ UNSCALE (DESESCALAR A UNA SORTIDA ANALÒGICA).................................... pag 54
E18.3 CONSIGNA DE MÀXIMA Y MINIMA D’UNA ENTRADA ANALÒGICA................................... pag 56
E18.4 CONSIGNA DE MÀXIMA Y MINIMA D’UNA ENTRADA ANALÒGICA (II)............................. pag 57
E12.1 GRAVACIÓ D’UNA TAULA EN UN BLOC DE DADES. FUNCIÓ ATT...................... pag 59
E12.2 LECTURA DE DADES GRAVADES EN UNA TAULA. FUNCIÓ LIFO................................... pag 61
E12.3 GRAVACIÓ D’UNA TAULA DE DADES (II). SOBREESCRIURE DADES............................. pag 62
E12.4 GRAVACIÓ D’UNA TAULA DE DADES (III). ESBORRADA DE DADES. FUNCIÓ FILL....... pag 63
E12.5 GUARDAR DADES DEL RELLOTGE I D’UNA ENTRADA ANALÒGICA.................................pag 64
E16.1 PROGRAMACIÓ DE L’OB10....................................................................................................pag 66
E16.2 PROGRAMACIÓ DE L’OB20.................................................................................................... pag 68
E16.3 PROGRAMACIÓ DE L’OB35.................................................................................................... pag 69
E16.4 PROGRAMACIÓ DE L’OB121.................................................................................................. pag 70

Realitzat per: Data: 25/01/06 Pàgina: 3/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

1 SISTEMES DE NUMERACIÓ

SISTEMA DECIMAL
En un sistema decimal, ens trobem que cada dígit pot tenir els següents valors:
0123456789

Càlcul del valor decimal:


-Tindrem per exemple el valor 7632
El seu valor decimal serà:

3 2 1 0
7x10 + 6x10 + 3x10 + 2x10

7x1000 + 6x100 + 3x10 +2 = 7632

SISTEMA BINARI
En un sistema binari, ens trobem que cada dígit pot tenir els següents valors:
0 y 1
Un numero binario es pot llegir en decimal y hexadecimal

Càlcul del valor decimal sense signe d’un nombre binari:


-Tenim per exemple el nombre binari 101101
el seu valor decimal serà:

5 4 3 2 1 0
1x2 + 0x2 + 1x2 + 1x2 + 0x2 + 1x2

32 + 0 + 8 + 4 + 0 + 1 + = 45

El nombre binari 101101 equival al nombre decimal 45

Càlcul del valor decimal amb signe d’un nombre binari:


-Tenim per exemple el nombre binari 10101101
el seu valor decimal serà:

7 6 5 4 3 2 1 0
1x2 + 0x2 + 1x2 + 0x2 + 1x2 + 1x2 + 0x2 + 1x2

En aquest cas que és un byte, el bit més alt és a dir el el bit 7 és el que determina el signe si el bit 7 és igual
a 1 el signe és negatiu, sinó serà positiu.
Si treballéssim amb una paraula, el bit més alt és a dir el el bit 15 seria el que determinaria el signe si el bit
15 és igual a 1 el signe és negatiu, sinó serà positiu.

128 + 0 + 32 + 0 + 8 + 4 + 0 + 1 + = 173

El valor real serà -1 (valor de bit 7) * 256 + 173 = - 83


El nombre binari 10101101 equival al nombre decimal amb signe - 83

NOTA: En el cas de treballar amb 16 bits, aplicar el següent plantejament:


Valor que tenim en els 16 bits: 43.363 i el bit més alt (bit 15) aquesta activat.
El valor real serà -1 * 1 (valor del bit 15) * 65.536 + 43.363 = - 22.163

Realitzat per: Data: 25/01/06 Pàgina: 4/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

Càlcul del valor binari d’un nombre decimal:


-Tenim per exemple el nombre decimal 13
el seu valor binari serà:

13 2
1 6 2
0 3 2
1 1 2
1 0
1 1 0 1

El nombre decimal 13 equival al nombre binari 1 1 0 1


El nombre binari 101.101 equival al nombre decimal 45

SISTEMA HEXADECIMAL
En un sistema hexadecimal, ens trobem que cada dígit pot tenir els següents valors (16):
0 1 2 3 4 5 6 7 8 9 A (10) B (11) C (12) D (13) E (14) F (15)

Càlcul del valor decimal d'un número hexadecimal:


-Tenim per exemple el nombre hexadecimal 3 A 7
el seu valor decimal serà:
2 1 0
3 x 16 + A(10) x 16 + 7 x 16

768 + 160 + 7 = 935


El nombre hexadecimal 3 A 7 equival al nombre decimal 935

Càlcul del valor hexadecimal d'un nombre decimal:


-Tenim per exemple el nombre decimal 3512
seu valor binari serà:

3512 16
R8 219 16
R1 13 16
R 13(D) 0

D 1 8

Realitzat per: Data: 25/01/06 Pàgina: 5/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

El nombre decimal 3512 equival al nombre hexadecimal D 8 gen

Càlcul del valor hexadecimal d'un nombre binari:


-Tenim per exemple el nombre binari 1101 0110 0011 1001
el seu valor hexadecimal és:

1101 0110 0011 1001


13(D) 6 3 9

El nombre binari 1101 0110 0011 1001 equival al nombre hexadecimal D 6 3 9

Càlcul del valor binari d’un nombre hexadecimal:


-Tenim per exemple el nombre hexadecimal E57A
el seu valor binari serà:
E 5 7 A
1110 0101 0111 1010

El nombre binari hexadecimal E57A equival al nombre binari 1110 0101 0111 1010
CODI BCD
En un codi BCD, ens trobem amb el que es diu binari codificat decimal.
Aquest binari es pot llegir en decimal

Càlcul del valor decimal d'un nombre binari:


-Tenim per exemple el nombre binari 1001 0110
* si el prenem com a número binari, el seu valor decimal és: 150

7 6 5 4 3 2 1 0
1x2 + 0x2 + 0x2 + 1x2 + 0x2 + 1x2 + 1x2 + 0x2 = 150

*si el prenem com nombre BCD, el seu valor decimal és: 96

10 0 1 0110
9 6

Realitzat per: Data: 25/01/06 Pàgina: 6/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

2 MÒDUL D’ORGANITZACIÓ

Caracteristiques dels mòduls OB.

OB1 És un mòdul que s’executa cíclicament


•El OB1 s’executa en cada scan.
•És el que té la prioritat més baixa

OB10 a OB17 Realitza una interrupció horària.


•Comença en un moment programat
•S’executa a partir d’aquest moment de tant en tant:
• Una sola vegada, cada minut, cada hora, cada dia, cada setmana, cada mes, cada any, a
final de mes
OB20 a OB23 Realitza una interrupció de retard.
•S’executa al cap d'un temps de trucar al OB

OB30 a OB38 Són OB que s’executen cada cert temps prefixat i amb prioritats diferents
OB Base de temps Valor prefixat
Prefixat per la prioritat
•OB 30 5s 7
•OB 31 2s 8
•OB 32 1s 9
•OB 33 500 ms 10
•OB 34 200 ms 11
•OB 35 100 ms 12
•OB 36 50 ms 13
•OB 37 20 ms 14
•OB 38 10 ms 15

OB40 a OB47 Són interrupcions de procés


• S'activa quan en un procés un registre ha superat uns límits màxims o mínims admissibles.
(Entrades analògiques, comptadors d'alta velocitat etc)
OB80 a OB87 Errada Asíncrono.
•OB80Errada de temps (Temps de cicle excedit).
Si no està programat i detecta l’errada, el PLC passa a STOP

•OB81Fallada d’alimentació (S7-400) o Fallada de bateria

•OB82Trencada de fil d’un mòdul que tingui capacitat de diagnòstic.


Si no està programat i detecta l’errada, el PLC passa a STOP

•OB83 Detecció de presència de mòdul (Extreurer/inserir).


Si no està programat i detecta l’errada, el PLC passa a STOP

•OB84Avaria de la CPU. Errada de la intefície MPI o de la periferia descentralitzada.


Si no està programat i detecta l’errada, el PLC passa a STOP

•OB85Esdeveniment d’arrencada per un OB no carregat.


Si no està programat i detecta l’errada, el PLC passa a STOP

•OB86Detecció de fallada en un bastidor.


Si no està programat i detecta l’errada, el PLC passa a STOP

•OB87Detecció de fallada en comunicació.


Realitzat per: Data: 25/01/06 Pàgina: 7/80
Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

OB100 a 0B102 OBS de manera d’arrencada (només pot estar activat un d’ells ).
Se selecciona en Administrador-ÆHardware---ÆCPU (picar dues vegades)Æpestanya
‘arrencada’

OB100 reinici complet. (Inici en Calent)


• Manté l'estat dels elements que tingui amb memòria.
• S'executa en passar la CPU de STOP a RUN
• Primer llegeix el OB100 i després el OB1 (començant per la primera instrucció)

OB101 reinici. (Només en S7-400)


• Manté l'estat dels elements que tingui amb memòria.
• S'executa en passar la CPU de STOP a RUN
• Primer llegeix el OB101 i després segueix llegint en el punt on deixo de llegir en passar a
l'estat STOP.

OB102 Arrencada en fred


• Possa tots els elements a 0 (fins i tot els que tenen memòria)
• S’executa al passar la CPU de STOP a RUN
• Primer llegeix el OB102 i després el OB1 (començant per la primera instrucció).

OB121 y OB122 Obs d’errada

OB121 Errada d’execució de programa.


• Detecta errades de programació.
• Si no està programat i detecta l’errada, el PLC passa a STOP

OB122 Errada a l’intentar accedir a un mòdul de dades (entrades, sortides, etc)


• Si no està programat i detecta l’errada, el PLC passa a STOP

Realitzat per: Data: 25/01/06 Pàgina: 8/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

3 BLOCS DE FUNCIÓ
Les Funcions, són mòduls que s'executen en ser cridats des d'altres mòduls.
• Quan se'ls crida, la funció actua com una subrutina del programa.
• Quan acaba d'executar el mòdul, el programa retorna al mòdul des d'on va ser cridat, en la instrucció
posterior al salt.

Hi ha dos tipus de funcions:


• Funcions sense paràmetres
• Funcions parametrizables (Plantilles)

MÒDULS DE BLOC DE FUNCIÓ


• Un mòdul de bloc de funció té un mòdul addicional de memòria associat a l'(Mòdul de dades).
• En el mòdul de dades (DB) es manté una còpia dels paràmetres que van a l'àrea de dades locals.
• Després de l'execució del FB, s'esborra l'àrea de memòria local, però el DB associat, manté els valors.

OB1 DB10 FB1


PROGRAMA Còpia de la part de Àrea de declaració
declaració local del local
CALL FB1, DB10 fb1
PROGRAMA
PROGRAMA

Tipus de declaració dintre d’un mòdul:


IN Paràmetres d'entrada dels que es llegeix
OUT Paràmetres de sortida en què es pot escriure
IN_OUT Paràmetres que poden ser llegits o escrits
STAT Variable local el valor s'emmagatzema en un DB d'instància
TEMP Variable temporal el valor no es guarda quan el acaba

Tots els valors de la declaració local, menys els temporals, s'emmagatzemen en un bloc de dades (DB
d'Instància).

Realitzat per: Data: 25/01/06 Pàgina: 9/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

4 MÒDULS DE DADES
Els mòduls de dades, són àrees de memòria de la CPU que s'utilitzen per emmagatzemar dades.

• Els DB mantenen el seu valor davant d'un tall de tensió, sempre que tinguem la pila tampó de suport. En
cas de no tenir pila, només mantindran el seu valor els DB configurats en l'àrea d'elements romanents de la
CPU. En les CPUs actuals que van amb Memory Card, mantenen la memòria tots els DBs

Hi ha dos tipus de mòduls de dades:


-Mòduls de dades globals
• Els mòduls de dades globals, poden ser utilitzats per tots els mòduls del programa.
• Tots els FB, FC i OB poden llegir o escriure dades en els DB globals.
• Per gravar o llegir dades, abans cal obrir el mòdul OPN DB .. (KOP) o AUF DB .. (AWL).
• Les dades romanen emmagatzemats en el DB encara que es tanqui el DB.

-Mòduls de dades d’instància:


• Un DB d'instància, aquesta associat a un mòdul de funció específic (FB)
• Les dades emmagatzemades en el DB d'instància només poden ser llegits o escrits pel mòdul associat
a ell.
• UN DB d'instància no necessita obrir-se amb cap instrucció, s'obre es llegeix i s'escriu en el de forma
automàtica.
• En començar a llegir el bloc de funció, es carrega del DB una còpia de les variables locals en el bloc de
funció, s'executa el bloc i quan acaba, diposita el valor actual de les variables locals en el DB
d'instància.

Realitzat per: Data: 25/01/06 Pàgina: 10/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

5 ACUMULADORS

Els acumuladors són registres auxiliars en la CPU que s'utilitzen per a l'intercanvi de dades, operacions de
comparació i operacions aritmètiques.
El S7-300 té dos acumuladors de 32 bits i el S7-400 té quatre.Carga: (L)

L'operació de càrrega, sempre va a l’ACCU1 (les posicions no utilitzades es posen a 0), és a dir si càrrec un
Byte, els 24 bits restants es posen a 0.
El registre que abans de la càrrega era a l’ACCU1, es desplaça a l’ACCU2.

Transferència: (T)
L'operació de transferència només transfereix el valor que hi hagi en l’ACCU1 i l’ACCU1 queda invariable.
(còpia el valor del ACCU1 en un registre).

Manipulació dels acumuladors (AWL)


TAK: Intercanvia el contingut de l’ACCU1 amb el de l’ACCU2.
PUSH : Desplaça el contengut de l’ACCU1 a l’ACCU2.
POP: Desplaça el contengut de l’ACCU2 a l’ACCU1.

ACCU1
0000 0000 0000 EB0 L EB0
31 24 23 16 15 8 7 0

ACCU1
0000 0000 EB0 EB1 L EW0
31 24 23 16 15 8 7 0

ACCU1
MB0 MB1 MB2 MB3 L MD0
31 24 23 16 15 8 7 0

ACCU1
MB0 MB1 MB2 MB3 T AB0

T AB0

ACCU1
MB0 MB1 MB2 MB3 T AW0

T AW0

ACCU1
MB0 MB1 MB2 MB3 T AD0

T AD0

Realitzat per: Data: 25/01/06 Pàgina: 11/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E4.1 FUNCIÓ MOURE (TRANSFERÈNCIA).

-La funció MOVE és executada quan tenim un 1 a A, llavors el valor que hi ha a IN és copiat en OUT. (El
valor en IN roman inalterable).
-En ENO tindrem un 1 si la funció s'executa sense errors.
-Si tenim un 0 en A la funció no s'executa (és saltada).
Els formats en IN i en OUT poden ser de 8, 16 i 32 bits. (Els formats en IN i en OUT poden ser diferents.

E126.0=0 1011100111001010 EW124

0000000000000000 AW124

E126.0=1 1011100111001010 EW124

1 011100111001010 AW124

FC1
E126.0 MOVE
EN ENO

EW124 IN OUT AW124

Programació en AWL

U E 126.0
SPBNB _001
L EW 124
T AW 124
_001: NOP 0

Realitzat per: Data: 25/01/06 Pàgina: 12/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E4.2 FUNCIÓ MOURE (CONSTANTS A UNA MATEIXA PARAULA).

-En aquest cas volem enviar diferents constants a una mateixa paraula.
-PAW752 és una sortida analògica que treballés entre valors 0 i 27.648. Amb aquests valors, donarà un
senyal exterior de tensió que estarà entre 0 i 10 Volts que en el nostre cas seria la consigna de velocitat d'un
variador de freqüència de tal manera que 0 V serien 0 rpm i 10 V serien 1500 rpm.
-En aquest cas tinc sis polsadors del E124.0 al E124, 5. Accionant els polsadors en ordre ascendent volem
que la sortida analògica ens de valors de 0, 2, 4, 6, 8 i 10 volts.
-Quan accioni l'entrada E124.6, un potenciòmetre que donarà de 0 a 10 V a l'entrada analògica PEW752
enviés el seu valor a la sortida analògica PAW752.
Fent una regla de 3, càlcul les següents correspondències:
Valor en PAW752 Volts en sortida
0 0V
5529 2V
11058 4V
16578 6V
22118 8V
27648 10 V
2103305456
FC2
E124.0 MOVE
1 EN ENO

0 IN OUT PAW752

E124.1 MOVE
2 EN ENO

5529 IN OUT PAW752

E124.2 MOVE
3 EN ENO

11058 IN OUT PAW752

E124.3 MOVE
4 EN ENO

16578 IN OUT PAW752

Realitzat per: Data: 25/01/06 Pàgina: 13/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E124.4 MOVE
5 EN ENO

22118 IN OUT PAW752

E124.5 MOVE
6 EN ENO

27648 IN OUT PAW752

E124.6 MOVE
7 EN ENO

PEW752 IN OUT PAW752

Nota: Proveu que passa quan acciono dos pulsadors al mateix temps.
-Indicar quina solució puc prendre per que l’últim valor actiu sigui l’efectiu.
-Una cop provat l’exercici, calcular els valors que tindríem que enviar per tenir 1, 3, 5, 7 i 9 volts de sortida
en PAW752

Realitzat per: Data: 25/01/06 Pàgina: 14/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E5.1 PRESELECCIÓ VARIABLE i VISUALITZACIÓ DEL VALOR D’UN TEMPORITZADOR


-Realitzarem la preselecció d'un temporitzador amb un valor variable. Cada vegada que accionem el
E124.0, el temporitzador agafarà com preselecció el valor que tingui en aquell moment el MW0. El valor
de MW0, ha d'estar en BCD o en temps SIMATIC, en cas contrari el temporitzador no ho entendrà i el
PLC en cas de no estar programat el OB121, s'anirà a STOP
MW0
MB0 MB1
0010 0011 1001 0101 = W#16#2395
Base T. Centenes Decenes Unitats

La base de temps és: 3 Valor X 10 seg.


2 Valor X 1 seg.
1 Valor X 0’1 seg.
0 Valor X 0’01 seg.
En el nostre cas, Base Tiemps = 2 1 Segon x 395 = 395 segons
-Un cop s'hagi activat el temporitzador, encara que canviï el valor de MW0, el temporitzador seguirà
treballant amb el valor que tenia en posar-se en marxa.
-Per carregar el valor del temporitzador, el podrem veure en BCD (MW4) o en Binari (MW2).
-El valor carregat en BCD, conté el valor i la base de temps. No obstant el MW4 el podem visualitzar en
BCD (format hexadecimal) o en temps SIMATIC.FC3
T1
E124.0 S_EVERZ A124.0
1 S Q

MW0 TW DUAL MW2

R DEZ MW4

Nota: Quan es col · loca un temps en format S5T (Temps Simatic), ajusta automàticament el valor a 3
dígits i adapta la base de temps.
Forçar valors en el MW0 (Hexadecimal) amb diferents bases de temps en el dígit 3 i diferents valors en els
dígits 0 al 2. i comprovar que temps SIMATIC agafa.

Realitzat per: Data: 25/01/06 Pàgina: 15/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E5.2 PROGRAMACIÓ D’UN TEMPORITZADOR AMB TRES TIEMPS DIFERENTS


-Tenim un procés d'ompliment de pots. Hi ha tres mides de pots.
Per omplir el pot petit, la electrovàlvula (A124.0) ha de funcionar 3 segons.
Per omplir el pot mitjà, la electrovàlvula (A124.0) ha de funcionar 8 segons.
Per omplir el pot gran, la electrovàlvula (A124.0) ha de funcionar 15 segons.
Tindrem tres polsadors que seleccionaran el tipus de pot a omplir,
Nota: El temps que enviem a MW0, el podem expressar en temps SIMATIC (S5T # 15S) o en BCD W # 16 #
1150.
• Nota:Indica com funcionaria el circuit si el segment 4 estigués programat davant del segment 1.

FC4
E124.0 MOVE
1 EN ENO

S5T#3S IN OUT MW0

E124.1 MOVE
2 EN ENO

S5T#8S IN OUT MW0

E124.2 MOVE
3 EN ENO

S5T#15S IN OUT MW0

E124.0 A124.1 T1
4
SV
MW0
E124.1

E124.2

Realitzat per: Data: 25/01/06 Pàgina: 16/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

T1 A124.1
5

A124.1
P M G

Realitzat per: Data: 25/01/06 Pàgina: 17/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E6.1 PRESELECCIÓ VARIABLE I VISUALITZACIÓ DEL VALOR D’UN COMPTADOR. CONTROL DE


PECES EN UNA CINTA TRANSPORTADORA
-Tenim una cinta transportadora que omple de peces una caixa.

-El operari primer accionarà el selector E124.0 i després posarà en un terminal d'operador o en un SCADA
un valor al MW0 (preselecció del nombre de peces que volem controlar en aquest procés). En aquest punt
accionarà el polsador E124.1 que carregarà el valor de preselecció, això provoca que la cinta A124.0 es
posi en marxa a l'instant.

-Hi ha un detector de peces E124.7 que explica les peces que passen. Quan ha comptat les peces
preseleccionades (el comptador arriba a 0), es para la cinta i es posa en marxa de forma intermitent la
lampara A124.7.

-L'operari retira llavors la caixa plena, posa una caixa buida i repeteix el procés (Posa la nova preselecció en
MW0 i acciona de nou el polsador E124.1 amb la qual cosa el cicle comença de nou.FC5

E124.7 E124.0 Z1

ZR

E124.1 E124.0 Z1

SZ
MW0

Z1 E124.0 A124.0

Z1 M255.5 E124.0 A124.7

A124.0

E124.7
A124.7

E124.0

E124.1

Realitzat per: Data: 25/01/06 Pàgina: 18/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

Realitzat per: Data: 25/01/06 Pàgina: 19/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E6.2 INSTRUCCIONS DE COMPARACIÓ

-Tenim tres tipus de comparadors, segons el format a comparar


• Comparació entre dos nombres enters. Format INT 16 bits
• Comparació entre dos nombres de dobles enters. Format DINT 32 bits.
• Comparació entre dos nombres reals. Format REAL 32 bits.
-Hi ha tres tipus de comparadors segons la seva condició de comparació:
• Segment 1 . Tindrem un 1 en el comparador si IN1 és igual a IN2
• Segment 2 . Tindrem un 1 en el comparador si IN1 és diferent a IN2
• Segment 3 . Tindrem un 1 en el comparador si IN1 és major a IN2
• Segment 4 . Tindrem un 1 en el comparador si IN1 és menor a IN2
• Segment 5 . Tindrem un 1 en el comparador si IN1 és major o igual a IN2
• Segment 6 . Tindrem un 1 en el comparador si IN1 és menor o igual a IN2

NOTA: Un comparador, actua com un contacte en el qual hi haurà un 1 quan es compleixi la comparació.
FC6 AWL
E124.0 A124.0
CMP==I
1

MW0 IN1

MW2 IN2
E124.1 A124.1
CMP<>I
2

MW0 IN1

MW2 IN2
E124.2 A124.2
CMP>I
3

MW0 IN1

MW2 IN2
E124.3 A124.3
CMP<I
4

MW0 IN1

MW2 IN2

Realitzat per: Data: 25/01/06 Pàgina: 20/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E124.4 A124.4
CMP>=I
5

MW0 IN1

MW2 IN2

E124.5 A124.5
CMP<=I
6

MW0 IN1

MW2 IN2

Si volem fer una comparació d'un Byte o de nombres en format hexadecimal, haurem de fer la comparació
en AWL.
exemple:
-Volem que quan el valor de la EW124 sigui igual al valor H2A4D s'activi la sortida A124.7
-Volem que quan el valor del EB126 sigui igual a 73 es desactivi la sortida A124.7

Programació en AWL

L EW 124
L W#16#2A4D
==I
S A 124.7
L EB 126
L 73
==I

R
A 124.7

Realitzat per: Data: 25/01/06 Pàgina: 21/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E6.3 CONTROL D’INICI DE MARXA D’UN PROCÉS

-Per posar en funcionament un procés, s’hauran de donar certes condicions. Aquestes són que algunes
entrades deuran estar a 0 i altres a 1.
-Aquest exercici resolt de forma tradicional, implicaría la col·locació de 16 contactes en sèrie amb l’element
a activar.
-Resolt amb un comparador, es realitzaría de la següent manera:
Estat que han de tenir les entrades en posar en marxa el procés:

EB124 EB125
.7 .6 .5 .4 .3 .2 .1 .0 .7 .6 .5 .4 .3 .2 .1 .0 EW124
1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 1

L'estat de les entrades en repòs, correspon al valor decimal EW124 = -22.163

IMPORTANT: Si volem programar el comparador amb números en format hexadecimal, ha de fer el


programa en AWL seria: L EW124
L W#16#A96D
==I
Entrades en estat correcte:
-Si en accionar el marxa (E126.0) es compleixen les condicions d’inici, s’activarà la sortida A124.0 i al
mateix temps s’activarà la sortida A124.7 de forma fixa.
-Accionant l’E126.1 es desactivarà el procés.

Entrades en estat incorrecte:


-Si al accionar el marxa (E126.0) NO es compleixen les condicions d’inici, no s’activarà la sortida A124.0 i al
mateix temps s’activarà la sortida A124.7 de forma intermitent.

FC7
E126.0 A124.0
CMP==I
1 S
EW124 IN1

-22163 IN2
E126.1 A124.0
2
R

E126.0 M255.2 A124.7


CMP<>I
3

EW124 IN1

-22163 IN2
A124.0

Realitzat per: Data: 25/01/06 Pàgina: 22/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

Realitzat per: Data: 25/01/06 Pàgina: 23/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E6.4 CLAU PER OBRIR UN PANY

-Per poder obrir un pany, he de posar en MW0 el valor 1234. Aquest valor seria introduït per un terminal
d'operador o per un SCADA.
-Si en accionar el polsador E124.0 la clau és correcta, funcionrà el pany A124.0 (segment 1) durant 5
segons i esborrarem la clau correcta de MW0. (segment 3)
-Si ens equivoquem tres vegades, es bloquejarà el pany i funcionarà una sirena (A124.7) de forma
intermitent fins que la parem accionant el polsador E124.0 havent col · locant abans en MW0 el valor 9999.
(Segment 5)
-Programar en el OB100 la càrrega del valor de preselecció 3 al comptador 1.
-Exercici: Fer el programa necessari perquè una vegada marqui alguna fallada donem un temps de 15
segons per obrir el pany, en cas de no fer-ho, ha d'activar l'alarma. OB100

E0.0 Z1

1 SZ
C#3

FC8
E124.0 Z1 A124.0
CMP==I
1 S
MW0 IN1

1234 IN2
A124.0 T1

2 SE
S5T#5S

T1 MOVE A124.0
3 EN ENO R

0 IN OUT MW0

E124.0 M2.0 Z1
CMP<>I
4 P ZR
MW0 IN1

1234 IN2

Realitzat per: Data: 25/01/06 Pàgina: 24/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E124.0 Z1
CMP==I
5 SZ
SZ
C#3
MW0 IN1

9999 IN2
A124.0

Z1 M255.3 A124.7
6

Realitzat per: Data: 25/01/06 Pàgina: 25/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E14.1 OPERACIONS LÒGIQUES ENTRE PARAULES O DOBLES PARAULES

-Operació sèrie entre paraules WAND_W.


La funció WAND__W agafa els 16 bits d’IN1 i els 16 bits de IN2, realitza l’operació sèrie (bit a bit) dels bits
de la mateixa posició (dins de la seva paraula) i el resultat l’envia a OUT .

E124.0=1 IN1 10 1 1 1 0 0 1 1 1 0 0 1 0 1 0 MW0


SÈRIE
IN2 1101110010110111 MW2
RESULTAT
OUT 1001100010000010 MW4

FC9

E124.0 WAND_W
1 EN ENO

MW0 IN1
OUT MW4

MW2 IN2

-Operació paral·lel entre paraules WOR_W.


La funció WOR__W agafa els 16 bits d’IN1 i els 16 bits d’IN2, realitza l’operació paral·lel (bit a bit) dels bits
de la mateixa posició (dintre de la seva paraula) i el resultat l’envia a OUT .

E124.1=1 IN1 10 1 1 1 0 0 1 1 1 0 0 1 0 1 0 MW0


PARAL·LEL
IN2 1101110010110111 MW2
RESULTAT
OUT 1111110111111111 MW4

E124.1 WOR_W
2 EN ENO

MW0 IN1
OUT MW4

MW2 IN2

Realitzat per: Data: 25/01/06 Pàgina: 26/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

-Operació or exclusiva entre paraules WXOR_W.


La funció WXOR__W agafa els 16 bits d’IN1 i els 16 bits d’IN2, realitza l’operació or exclusiva (bit a bit) dels
bits de la mateixa posició (dins de la seva paraula) i el resultat l’envia a OUT . (tindré un 1 quan els bits de
IN1 i IN2 siguin diferents)

E124.2=1 IN1 10 1 1 1 0 0 1 1 1 0 0 1 0 1 0 MW0


OR EXCLUSIVA
IN2 1101110010110111 MW2
RESULTAT
OUT 0110 0 10101111101 MW4

E124.2 WXOR_W
3 EN ENO

MW0 IN1
OUT MW4

MW2 IN2

Realitzat per: Data: 25/01/06 Pàgina: 27/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E14.2 PROGRAMACIÓ D’UN TEMPORITZADOR AMB PRESELECCIÓ VARIABLE. BASE DE TEMPS


FIXA

-Tindríem un terminal d'operador o un SCADA on posariem el valor al MW0. Quan accionem el E124.4, el
temporitzador s'activarà amb MW10 com a valor de preselecció (segons).
-Per aconseguir això, primer haurem de fer un filtre perquè els bits 12-15 no afectin la base de temps del
temporitzador i després farem una funció paral · lel per posar la base de temps.
El registre MW10 ha d'estar en BCD. En cas de no estar, el PLC es va a STOP.

Nota: Si enviem sl PLC el OB121 (Detecta errors de programació) encara que sigui buit hi ha un error, el
PLC no s'anirà a STOP encara indicarà amb el led SF que hi ha un error.FC10

E124.4 WAND_W WOR_W


1 EN ENO EN ENO

MW10 IN1 MW0 IN1


OUT MW0 MW0

W#16#0FFF IN2 W#16#2000 IN2

T2
E124.4 S_EVERZ A124.2
2 S Q

MW0 TW DUAL

R DEZ

Realitzat per: Data: 25/01/06 Pàgina: 28/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E14.3 OPERACIONS ARTIMETIQUES AMB NOMBRES ENTERS (COMA FIXA)

- (Segment 1) Suma de nombres enters: ADD_I suma els registres que tingui en IN1 i IN2 i envia el resultat
a OUT. (OUT = IN1 + IN2).
- (Segment 2) Resta de nombres enters: SUB_I resta els registres que tingui en IN1 i IN2 i envia el resultat a
OUT. (OUT = IN1-IN2).
- (Segment 3) Multiplicació de nombres enters: MUL_I multiplica els registres que tingui en IN1 i IN2 i envia
el resultat a OUT. (OUT = IN1 * IN2).
- (Segment 4) Divisió de nombres enters: DIV_I divideix els registres que tingui en IN1 i IN2 i envia el
resultat a OUT. (OUT = IN1/IN2).
-La funció MOD, recupera la resta d'aquesta divisió (només en dobles paraules).
-En qualsevol d'aquestes quatre operacions, el resultat ha d'estar comprès dins dels límits dels nombres
enters.

En cas de no ser així:


-S’activa el bit d’estat OV (desbordament).
-El resultat obtingut en OUT NO serà vàlid.
-En ENO tindré un 0
Límits nombres enters de 16 bits: -32768 a +32767
Límits de nombres enters de 32 bits: -2147483648 a +2147483647
La diferència entre el OV (bit de desbordament i el OS (bit de desbordament memoritzat) és que el segon
manté el valor durant tot el scan (encara que en altres operacions no hagués desbordament, indicaria que
n’hi ha) en canvi el OV s’actualitza en cada operació.

FC11
E124.0 ADD_I
1 EN ENO

MW0 IN1 OUT MW4

MW2 IN2

OV M255.3 A124.0

E124.1 SUB_I
2 EN ENO

MW0 IN1 OUT MW4

MW2 IN2

OV M255.3 A124.1

Realitzat per: Data: 25/01/06 Pàgina: 29/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E124.2 MUL_I
3 EN ENO

MW0 IN1 OUT MW4

MW2 IN2

OV M255.3 A124.2

E124.3 DIV_I
4 EN ENO

MW0 IN1 OUT MW4

MW2 IN2

OV M255.3 A124.3

Realitzat per: Data: 25/01/06 Pàgina: 30/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E14.4 CREACIÓ D'UN COMPTADOR REVERSIBLE AMB PRESELECCIÓ


- La creació d'aquest comptador amb preselecció té alguns avantatges respecte al comptador normal.
- Amb un comptador normal (Z1) puc comptar com a màxim fins al valor 999, mentre amb aquest puc
comptar fins a 32.767 o si en lloc de treballar amb una paraula (MW0) treball amb una doble paraula puc
arribar al valor de 2147483647.
- El seu valor és més fàcil de llegir en un sistema SCADA ja que tindrem el valor directament a decimal.
- Si li poso com preselecció una variable, aquesta també podrà ser un nombre binari i podrem posar el seu
valor directament en decimal.
- El registre que rep l'increment pot ser una paraula d'un DB (bloc de dades), de manera que sempre tindrà
memòria.
Funcionament:
1º Segment, cada vegada que accionem el E124.0 incrementarà en 1 el valor de l'MW0
2º Segment, cada vegada que accionem el E124.1 decrementarà en 1 el valor del MW0
3º Segment, quan accionem l'E124.2, el valor del MW0 es posa a 0
4º Segment, quan el valor de MW0 sigui igual o superior a 10, s'activarà la sortida A124.4
- Un cop provat, canviar el valor 10 per el registre MW10 i comprovar que el valor que posi en MW10 serà a
partir d'aquest moment la preselecció d'aquest "comptador".
Exercicis:
- Crear un programa en què incrementant el valor d'un registre sigui limitat entre els valors 0 i 10 (després
del 10 seguirà el 0)
- Crear un programa en què incrementant i decrementant el valor d'un registre sigui limitat entre els valors 4
i 10. Carregar el el OB100 el valor de 4 (per a iniciar)

FC12
E124.0 M2.0
ADD_I
1 P ENO

MW0 IN1
OUT MW0

1 IN2

E124.1 M2.1
SUB_I
2 P ENO

MW0 IN1
OUT MW0

1 IN2

E124.2 MOVE
3 EN ENO

0 IN OUT MW0

A124.4
CMP>=I
4

MW0 IN1

10 IN2

Realitzat per: Data: 25/01/06 Pàgina: 31/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E14.5 CREACIÓ D'UN COMPTADOR DE TEMPS


- Mitjançant un generador d'impulsos i una operació increment hem creat un comptador de temps.
- El MW0 comptarà els segons i el MW2 comptarà les hores de funcionament d'un motor (A124.0).
- Si incloem un comparador, aconseguirem que quan el motor porti per exemple 5000 hores ens indiqui que
li hem de fer un manteniment preventiu.

FC13
E124.0 A124.0

1 S

E124.1 A124.0

2 R

A124.0 M255.5 M10.0


ADD_I
3 P ENO

MW0 IN1
OUT MW0

1 IN2

CMP==I ADD_:I MOVE


4 ENO
IN ENO
MW0 IN1 MW2 IN1
OUT MW2

3600 IN2 1 IN2 0 IN OUT MW0

E124.2 MOVE
5 EN ENO

0 IN OUT MW0

MOVE
EN ENO

0 IN OUT MW2

M255.5 A124.7
CMP > I
6

MW2 IN1

5000 IN2

Realitzat per: Data: 25/01/06 Pàgina: 32/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

Per provar l'exercici, canviar:


- En IN2 del comparador del segment 4, posar 6.
-En IN2 del comparador del segment 6, posar 10
En aquest cas, la sortida A124.7 s'activarà quan el motor porti 60 segons de funcionament i no 5000 hores.

Realitzat per: Data: 25/01/06 Pàgina: 33/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E14.6 OPERACIONS ARITMÈTIQUES AMB NOMBRES EN COMA FLOTANT

-(Segment 1) Suma de nombres reals: ADD_R suma els registres que tingui en IN1 i IN2 i envia el resultat a
OUT. (OUT = IN1 + IN2).
-(Segment 2) Resta de nombres reals: SUB_R resta els registres que tingui en IN1 i IN2 i envia el resultat a
OUT. (OUT = IN1-IN2).
-(Segment 3)Multiplicació de nombres reals: MUL_R multiplica els registres que tingui en IN1 i IN2 i envia
el resultat a OUT. (OUT= IN1*IN2).
-(Segment 4) Divisió de nombres reals: DIV_R divideix els registres que tingui en IN1 i IN2 i envia el resultat
a OUT. (OUT= IN1/IN2).
-(Segment 5)Arrel quadrada: SQRT realitza l’arrel quadrada de IN i envia el resultat a OUT.
-(Segment 6)Elevar al quadrat: SQR eleva al quadrat el valor que hi ha en IN i envia el resultat a OUT.
-(Segment 7)Valor absolut d’un nombre: ABS agafa el valor de IN (sigui positiu o negatiu) i l’envia a OUT
sempre amb signe positiu.

FC14

E124.0 ADD_R
1 EN ENO

MD0 IN1
OUT MD8

MD4 IN2

E124.1 SUB_R
2 EN ENO

MD0 IN1
OUT MD8

MD4 IN2

E124.2 MUL_R
3 EN ENO

MD0 IN1
OUT MD8

MD4 IN2

E124.3 DIV_R
4 EN ENO

MD0 IN1
OUT MD8

MD4 IN2

Realitzat per: Data: 25/01/06 Pàgina: 34/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E124.4 SQRT
5 EN ENO

MD0 IN OUT MD8

E124.5 SQR
6 EN ENO

MD0 IN OUT MD8

E124.6 ABS
7 EN ENO

MD0 IN OUT MD8

Realitzat per: Data: 25/01/06 Pàgina: 35/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E11.1 CREACIÓ DE LA PLANTILLA D’UN GENERADOR D’IMPULSOS ESTÀNDARD.

- Combinant el funcionament de dos temporitzadors, aconseguim crear un generador d'impulsos que


estàndard.
- Creem amb aquest circuit una plantilla que farem servir quan ens convingui.
- En el primer segment de l'OB1 fem servir la plantilla amb preseleccions variables. Els temps en aquest
cas els podriem canviar des d'un terminal d'operador o un sistema SCADA.
- En el segment segment fem servir la plantilla amb un temps fix d'1 segon de connexió i 2 segons de
desconnexió.
Per crear la plantilla, hem d'omplir la taula de declaració de variables.definir les variables
Declaració Nom Tipus Comentari
In TIEMPO_OFF S5TIME
In TIEMPO_ON S5TIME
In T1 TIMER
In T2 TIMER
Out GENERADOR BOOL

FC15
#T2 #T1

SE
#TIEMPO_OFF

#T1 #T2

SE
#TIEMPO_ON

#T1 #GENERADOR

OB1

FC15
1 EN ENO

GENERA
MW0 TIEMPO_OFF M10.0
DOR
MW2 TIEMPO_ON

T10 T1

T11 T2

E124.0 M10.0 A124.0

Realitzat per: Data: 25/01/06 Pàgina: 36/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

FC15
3 EN ENO

GENERA
S5T#2S TIEMPO_OFF M10.1
DOR
S5T#1S TIEMPO_ON

T12 T1

T13 T2

E124.1 M10.1 A124.1

Realitzat per: Data: 25/01/06 Pàgina: 37/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E11.2 CREACIÓ D’UNA PLANTILLA AMB NOMBRES REALS

- Volem fer una plantilla amb la qual poguem calcular el resultat del tant per cent d'un valor.
Per això hem de realitzar les següents operacions:
Resultat = (Tant per cent * valor) / 100
Hem de realitzar dues operacions
1a Auxiliar = Tant per cent * valor
2a Resultat = Auxiliar / 100

Per crear la plantilla, hem d'omplir la taula de declaració de variables.definir les variables

Declaració Nom Tipus Comentari


In Tant per cent REAL
In Valor REAL
Out Resultat REAL
In_out
temp Auxiliar REAL

FC16

MUL_R DIV_R
1 EN ENO EN ENO

#Tanto por ciento IN1 #Auxiliar IN1


OUT #Auxiliar OUT #Resultado

#Valor IN2 100.0 IN2

Usarem la plantilla tantes vegades com ens sigui necessari


OB1
E124.1 FC16
1 EN ENO
Tanto por
MD0
Ciento
Resultado MD8

MD4 Valor

E124.2 FC16
2 EN ENO
Tanto por
MD20
Ciento
Resultado MD28

MD24 Valor

Realitzat per: Data: 25/01/06 Pàgina: 38/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

Nota: Protegir la plantilla perquè no se pugui obrir (KNOW_HOW_PROTECT).

Un cop feta, repetir-la en SCL

Realitzat per: Data: 25/01/06 Pàgina: 39/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E19.1 DIRECCIONAMENT INDIRECTE DE REGISTRES

- Mitjançant el direccionament indirecte podem adreçar diferents mòduls i registres.


- Per l'adreçament de OB, temporitzadors o comptadors l'adreçament es farà mitjançant el valor d'una
paraula.
- Per adreçar el valor d'un registre, es farà amb una doble paraula.
- El md0 ha d'estar en format punter i com adreces paraules, l'últim número ha de ser siemrpe 0 i
s'expressa P # X. 0 (On X indicarà el número de la paraula a adreçar).

L DBW[MD0]
T MW10

Si MD0= P#0.0 L DBW 0


T MW 0
Si MD0= P#2.0 L DBW 2
T MW 0
Si MD0= P#4.0 L DBW 4
T MW 0
Si MD0= P#6.0 L DBW 6
T MW 0
Si MD0= P#8.0 L DBW 8
T MW 0
.........................................................
.........................................................
Si MD0= P# X.0 L DBW X
T MW 0

Exercici 1
Volem que unes dades gravades en 20 paraules del DB1 puguin ser mogudes al MW10.
1º Per a això crearem primer el DB1 amb els següents valors actuals.

Realitzat per: Data: 25/01/06 Pàgina: 40/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

2º Crearem el programa en el FC17


FC17

AUF DB 1
L DBW [MD 0]
T MW10

3º Transferim el DB1 i el OB1 al PLC


4º Crearem i editarem la següent taula de variables
5º Forçarem Valors en md0 en format punter i comprovarem el Resultat en MW10.
Nota: No direccionar un valor superior a 20, ja que el DB només té 20 paraules i per tant en no trobar la
paraula buscada el PLC es aniria a STOP.

Exercici 2
-Volem realitzar la suma de dues paraules del DB1 i moure el resultat al MW20.
1º Crearem el programa en el FC18
FC18

AUF DB 1
L DBW [MD 0]
L DBW [MD 4]
+I
T MW 20

2º Forçarem valors en md0 i en MD4 en format punter i comprovarem el resultat en MW20.

Realitzat per: Data: 25/01/06 Pàgina: 41/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E10.1 LECTURA DE DADES D’UN BLOC DE DADES (DB).

- Tenim un procés idèntic per a realitzar tres tipus de mescles de dos productes.
- En aquest procés, es fa una barreja d'una quantitat d'un material amb una altra quantitat d'altres materials
durant un temps determinat.
- L'única diferència que existeix en el procés, la quantitat del producte A (va per temps d'obertura d'una
vàlvula), la quantitat del producte B i el temps de barreja dels dos productes.
En accionar un polsador s'obren les dues electrovàlvules que donen pas als productes i es posa en marxa el
mesclador. Segons van passant els temps, es tanca la vàlvula A, es tanca la vàlvula B i s'atura el
mesclador.
-Posarem les dades dels temps de cada tipus de barreja en un DB diferent.

Temps producte A 5 segons


Barreja 1 DB1 Temps producte B 8 segons
Temps Mesclador 12 segons

Temps producte A 7 segons


Barreja 2 DB2 Temps producte B 5 segons
Temps Mesclador 10 segons

Temps producte A 8 segons


Barreja 3 DB3 Temps producte B 8 segons
Temps Mesclador 15 segons

-Crear el DB1 (Barreja 1)


Direcció Nom Tipus Valor inicial Comentari
0.0 STRUCT
0.0 Temps_P_A S5TIME S5T#5S Temps producte A
2.0 Temps_P_B S5TIME S5T#8S Temps producte B
4.0 Temps_Mesc S5TIME S5T#12S Temps barrejat
=6.0 END_STRUCT

Anar a “Ver” “Datos”


Anar a “Edición” “Inicializar bloques de datos” (amb això el valor inicial es copiarà en el valor
actual).

Direcció Nom Tipus Valor Valor Comentari


inicial actual
0.0 Temps_P_A S5TIME S5T#5S S5T#5S Temps producte A
2.0 Temps_P_B S5TIME S5T#8S S5T#8S Temps producte B
4.0 Temps_Mesc S5TIME S5T#12S S5T#12S Temps barrejat

-Repetir el mateix procés en DB2 (Barreja 2) i DB3 (Barreja 3)

Realitzat per: Data: 25/01/06 Pàgina: 42/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

FC19

E124.0 PEQU
1 JMPN

DB1
2 OPN

PEQU

E124.1 MEDI
3 JMPN

DB2
4 OPN

MEDI

E124.2 GRAN
5 JMPN

DB3
6 OPN

GRAN

E124.0 FC20
7 EN ENO

E124.1

E124.2

Realitzat per: Data: 25/01/06 Pàgina: 43/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

FC20

MOVE
1 EN ENO

DBW0 IN OUT MW0

MOVE
2 EN ENO

DBW2 IN OUT MW2

MOVE
3 EN ENO

DBW4 IN OUT MW4

OB1
FC19
1 EN ENO

E124.7 T1
2 SV
MW0

T2
SV
MW2

T3
SV

MW4

T1 A124.0
3

T2 A124.1
4

Realitzat per: Data: 25/01/06 Pàgina: 44/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

T3 A124.2
5

PRODUCTE A PRODUCTE B

A124.0 A124.1

A124.2
M SELECCIÓ MESCLA

E124.1
E124.0

E124.2
MARXA PROCÉS

E124.7

Realitzat per: Data: 25/01/06 Pàgina: 45/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E10.2. LECTURA DE DADES D'UN BLOC DE DADES (DB) II. DIRECCIONAMENT INDIRECTE D'UN
BLOC DE DADES

- Realització de l'exercici anterior utilitzant l'adreçament indirecte.


Modificar només el FC19, la resta de mòduls utilitzar tal com estan.

- En aquest exercici, mitjançant el E124.0 seleccionarem el nombre de DB que volem obrir i al llegir-se el
FC2 es carregaran les dades d'aquest DB en MW0, MW2 i MW4.
- En accionar el E124.7 es posarà en marxa el procés.
Nota: La instrucció AUF en AWL és igual a OPN en KOP
AUF DB10 (Això significa "Obre el DB10”)

- La instrucció que farem servir la programarem en AWL.


En utilitzar el direccionament indirecte per direccionar un DB, haurem de carregar un valor en una paraula
en aquest cas la MW210
AUF DB [MW 210]

Si MW210=1 AUF DB 1
Si MW210=2 AUF DB 2
Si MW210=3 AUF DB 3
.................................................
.................................................
Si MW210=’N’ AUF DB ‘N’

FC19

E124.0 M10.0 ADD_I


1 P EN ENO

MW210 IN1 OUT MW210

1 IN2

MOVE
CMP==I
2 EN ENO

MW210 IN1 1 IN OUT MW210

4 IN2

CMP==I

MW210 IN1

0 IN2

3 AUF DB [MW 210]

Realitzat per: Data: 25/01/06 Pàgina: 46/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

FC 20
EN ENO
4

NOTA: Si tinguéssim el mateix procés amb 20 dades diferents, creariem 20 DBs, posariem aquestes dades
des del DB1 al DB20 i en el primer comparador del segment 2 substituiria el valor 4 pel valor 21.
- Raonar que passaria si el segment 3 ho posem davant del segment 2. Canviar-lo i comprovar el seu
funcionament.

Realitzat per: Data: 25/01/06 Pàgina: 47/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E17.1 PROGRAMACIÓ DEL RELLOTGE.


- L'hora i data, es poden canviar en l'editor o en l'administrador en
”Sistema de destino” ”Diagnostico/configuración” ”ajustar la hora”. Quan es posa la data i hora
nova, es valida prement “Aplicar”.

Per treballar amb les dades del rellotge, es pot fer de dues formes:
- Una d'elles és la de treballar amb funcions especials SFC
- Una altra de les formes, és recuperar les dades del rellotge del OB1

Dades del rellotge del OB1


Hi ha un registre temporal en el OB1, el "OB1_DATE_TIME" on es carrega la data i hora actual en què
s'està executant el OB1 (variable 12.0 i la componen 8 bytes) les variables de lectura són del LB12 al LB19.
- Si vull treballar amb el rellotge només en el OB1, puc treballar amb aquestes variables temporals. En cas
que vulgui treballar en un altre mòdul, haurem de carregar aquestes variables temporals en uns registres
(per exemple en un DB).
Les dades del rellotge estan en BCD, per tant hauré de llegir-los en hexadecimal
LB12 B#16#02 (Any)
LB13 B#16#11 (Mes)
LB14 B#16#23 (Dia)
LB15 B#16#15 (Hora)
LB16 B#16#47 (Minut)
LB17 B#16#34 (Segons)
LB18 B#16#68 (Dècimes y Centèssimes)
LB19 B#16#11 (Mil·lèssimes,Dia de la setmana)

Dia de la setmana 1 Diumenge


2 Dilluns
3 Dimarts
4 Dimecres
5 Dijous
6 Divendres
7 Dissabte

Exercici 1 :
- En aquest exercici, volem que a les 5 i 15 de la tarda, es posi en funcionament el reg (A124.0) i que s'aturi
a les 5 i 30 de la tarda.
- Programar després el mateix funcionament, però que només funcioni de dilluns a divendres.

DB6
Direcció Nom Tipus Valor inicial Comentari
0.0 STRUCT
+0.0 Rellotge ARRAY[1..8] B#16#0
1.0 BYTE

=8.0 END_STRUCT

Realitzat per: Data: 25/01/06 Pàgina: 48/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

OB1
Direcció Declaració Nom Tipus Valor Comentari
inicial
0.0 Temp -------------------- -----------------------
1.0 Temp -------------------- -----------------------
2.0 Temp -------------------- -----------------------
----- Temp -------------------- -----------------------
12.0 Temp OB1_DATE_TIME DATE__AND_TIME

MOVE MOVE
1 EN ENO EN ENO

LD12 IN OUT DB6.DBD0 LD16 IN OUT DB6.DBD4

FC21
2 EN ENO

En realitzar aquest programa en OB1, les dades del rellotge estaran en:

DB6.DBB0 (Any)
DB6.DBB1 (Mes)
DB6.DBB2 (Dia)
DB6.DBB3 (Hora)
DB6.DBB4 (Minut)
DB6.DBB5 (Segons)
DB6.DBB6 (Dècimes i Centèssimes)
DB6.DBB7 (Mil·lèsimes,Dia de la setmana)

FC21

L DB6.DBW3
L W#16#1715
==I
S A124.0

L DB6.DBW3
L W#16#1830
==I
R A124.0

Realitzat per: Data: 25/01/06 Pàgina: 49/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

-Exercici 2
-Volem que de dilluns a divendres una sirena funcioni des de la 1 i 30 de la tarda fins la 1 i 32
Per poder solucionar l’exercici, hem de filtrar el dia de la setmana en una paraula o en un byte per
poder realitzar comparacions amb ell. (En aquest cas l'hem posat en MB0)

FC22

L DB6.DB7 L DB6.DBW3 U M10.2


L B#16#F L W#16#1330 UNM 10.0
UW ==I UNM10.1
T MB 0 S M10.2 = A124.1
L MB 0 L DB6.DBW3
L B#16# 7 L W#16#1332
==I ==I
= M10.0 R M10.2
L MB 0
L B#16# 1
==I
= M10.1

Realitzat per: Data: 25/01/06 Pàgina: 50/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

Exercici 3
-Creació d'una plantilla per poder realitzar la connexió i desconnexió d'un element entre unes hores
determinades.
-Des d'un terminal d'operador o un sistema SCADA podrem programar aquest rellotge (forçant les MW20 i
MW22) perquè la sortida funcioni quan que ens interessi
Per crear la plantilla, hem d'omplir la taula de declaració de variables.Definir les variables

FC23
Declaració Nom Tipus Comentari
In HORA_INICIO WORD
In HORA_FINAL WORD
Out SALIDA BOOL
In_out
temp REAL

L DB6.DBW3
L #HORA_INICIO
== I
S #SALIDA
L DB6.DBW3
L #HORA_FINAL
== I
R #SALIDA

OB1
MOVE MOVE
1 EN ENO EN ENO

LD12 IN OUT DB6.DBD0 LD16 IN OUT DB6.DBD4

E124.2 FC23
2 EN ENO

MW20 HORA_INICIO
SALIDA A124.0

MD22 HORA_FINAL

Realitzat per: Data: 25/01/06 Pàgina: 51/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E18.1 FUNCIÓ SCALE (ESCALAR UNA ENTRADA ANALÒGICA)

-Aquesta funció la podem trobar en:


Librerías Standard Library TI-S7 Converting Blocks FC105

-La funció SCALE serveix per escalar el valor d’una entrada analògica entre dos valors (màxim i mínim).
També podríem escalar qualsevol altre registre que no sigui una entrada analògica.
Paràmetres:
EN Quan tinguem un 1 s’executa la funció. Si hi ha un 0, la funció es saltada.(no s’executa).
IN Valor d’entrada (nombre d’entrada analògica). Format enter 16 bits INT.
HI_LIM Valor màxim desitjat de sortida (OUT). Nombre REAL, doble paraula o constant
LOW_LIM Valor mínim desitjat de sortida (OUT). Nombre REAL, doble paraula o constant
BIPOLAR Si val 0 (treballem amb valors entre 0 i 27648). Entrada analògica de 0 a 10 V
Si val 1 (treballem amb valors entre –27648 y +27648) Entrada analògica de
–10V a +10 V
OUT Valor de sortida escalat entre el valor màxim i mínim. Format REAL.
ENO Val 0 si el valor de IN es superior o inferior al límit (-27648 o + 27648). En aquest cas, a més
en OUT surt el valor màxim o el mínim segons es superi en positiu o en negatiu.
RET_VALUE Registre d’error. Val W#16#0000 si el escalat s’ha fet correctament.
Val W#16#0008 si IN surt dels límits màxim o mínim.

-En aquest cas, volem controlar el valor de temperatura d’una sonda que dóna 0 Volts a 0ºC i 10 Volts a
100ºC i volem tenir en MD100 el valor real d’aquella temperatura.

FC24
FC105
SCALE
1 EN ENO

PEW752 IN RET_VALUE MW0

100.0 HI_LIM OUT MD10

0.0 LO_LIM

E124.0 BIPOLAR

Realitzat per: Data: 25/01/06 Pàgina: 52/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

UNIPOLAR

27648 27648

PEW752 PEW752

13824 13824

0 0
0V 5V 10 V 0ºC 50ºC 100ºC
0º PEW752 100º MD10
SONDA DE TEMPERATURA RESULTAT ESCALAT DE PEW752

BIPOLAR

-Comprovar el funcionament de la funció quan activo el E124.0

+27648
Sonda de PLC PEW752
temperatura
0 a 100ºC
0- 10 V
PEW752
PAW12
8

0
0ºC 50ºC 100ºC
MD10

-27648

Realitzat per: Data: 25/01/06 Pàgina: 53/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E18.2 FUNCIÓ UNSCALE (DESESCALAR A UNA SORTIDA ANALÒGICA)

- Aquesta funció la podem trobar a:


Librerías Standard Library TI-S7 Converting Blocks FC106

-La funció UNSCALE serveix per desescalar el valor (màxim i mínim) d’un registre sobre una sortida
analògica.. També podríem desescalar qualsevol altre registre que no sigui una sortida analògica.
Parámetres:
EN Quan tinguem un 1 s’executa la funció. Si hi ha un 0, la funció és saltada.
IN Valor d’entrada .Registre en format REAL 32 bits.
HI_LIM Valor màxim desitjat del valor de entrada (IN). Nombre REAL, doble paraula o constant
LOW_LIM Valor mínim desitjat del valor d’entrada (IN) . Nombre REAL, doble paraula o constant
BIPOLAR Si val 0, donarem valors de sortida entre 0 y 27648). Sortida analògica de 0 a 10 V
Si val 1, donarem valors de sortida entre –27648 y +27648) .Sortida analògica de
–10V a +10 V
OUT Valor de sortida escalat . Format INT 16 bits.
ENO Val 0 si el valor de IN és superior al límit inferior o al superior (HI_LIM o LOW_LIMIT). En
aquest cas, a més en OUT surt el valor màxim o el mínim segons es superi per sobre o per
sota. ( 0 o 27648).
RET_VALUEÆRegistre d’error. Val W#16#0000 si l’escalat s’ha fet correctament.
Val W#16#0008 si IN surt dels límits màxim o mínim.
-En aquest cas, volem controlar la velocitat d'un motor mitjançant un convertidor de freqüència.
El variador té una consigna de 0-10 Volts.
Amb 0 volts, el motor ira a 0 rpm i amb 10 volts, anirà a 1500 rpm
Anirem donant un valor a MD100 entre 0 i 1500, aquest valor es convertirà en un valor a la sortida
analògica entre 0 i 27.648, que al seu torn farà que la sortida analògica d'un senyal entre 0 i 10 Volts ..
FC25

FC 106
UNSCALE
1 EN ENO

MD10 IN RET_VALUE MW0

1500.0 HI_LIM OUT PAW752

0.0 LO_LIM

E124.0 BIPOLAR

Realitzat per: Data: 25/01/06 Pàgina: 54/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

-Edita la següent taula d'estat i força valors en el MD10. (0 a 1500)


-Força un valor inferior a 0 o superior a 1500 i comprova que passa en el AW752 i al MW0

Exercici 1: Afegir a aquest exercici les línies de l'exercici E2 col · locant en els IN de la funció moure:
0.0, 300.0, 600.0, 900.0, 1200.0 i 1500.0 i en tots els OUT col · locar MD10.
El col · locar 0 s'afegeix per dir-li que aquest valor és un nombre real.

E18.3 CONSIGNA DE MÀXIMA I MÍNIMA D’UNA ENTRADA ANALÒGICA

-Volem tenir una alarma de mínim i una de màxim d'una temperatura. La temperatura la llegeix l'entrada
analògica PEW752.
-Ha d'activar l'alarma de màxima quan el valor de la temperatura superi els 90 º C
-Ha d'activar l'alarma de mínima quan el valor de la temperatura estigui per sota de 40 º C.
-El E124.0 és el polsador d'assabentat. A l'accionar-s'esborra l'alarma de mínim i de màxim
-Les alarmes de mínim o màxim, no tornaran a activar fins que el seu valor no pugi (mínima) o baixi
(màxima) del valor de la consigna i es donin de nou les condicions d'activació de les alarmes.
-Per poder col · locar les consignes de màxima i mínima, he de fer una regla de tres i així dedueixo que:
Tindré 90 º C quan el valor en PEW752 sigui de 24.883.
Tindré 40 º C quan el valor en PEW752 sigui de 11.059.
FC26
M1.0 A124.0
CMP>I
1 P S
PEW752 IN1

24883 IN2
M1.1 A124.1
CMP<I
2 P S
PEW752 IN1

Realitzat per: Data: 25/01/06 Pàgina: 55/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

11059 IN2

E124.0 A124.0
3 R
A124.1
R

Realitzat per: Data: 25/01/06 Pàgina: 56/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E18.4 CONSIGNA DE MÀXIMA I MÍNIMA D’UNA ENTRADA ANALÒGICA (II)

-Volem tenir una alarma de mínim i una de màxim d'una temperatura. La temperatura la llegeix l'entrada
analògica PEW752.
-Ha d'activar l'alarma de màxima quan el valor de la temperatura superi els 90 º C
-Ha d'activar l'alarma de mínima quan el valor de la temperatura estigui per sota de 40 º C.
-El E124.0 és el polsador d'assabentat. A l'accionar -s'esborra l'alarma de mínim i de màxim-Les alarmes de
mínim o màxim, no es tornaran a activar fins que el seu valor no pugi (mínima) o baixi (màxima) del valor de
la consigna i es donin de nou les condicions d’activació de les alarmes.
-En aquest cas, utilitzant la funció SCALE, ja tinc en MD10 en format REAL el valor de la temperatura que
llegeix el PEW752, de manera que puc fer la comparació de forma directa.
-Si en lloc de posar les constants 90.0 i 40.0 posem dos registres en format Real, des d'un terminal
d'operador o des d'un sistema Scada podríem canviar els valor de consigna amb només forçar els valors
que ens interessin a MD20 (Consigna de màxima) i MD30 (Consigna de mínima).

FC27

SCALE
1 EN ENO

PEW752 IN RET_VALUE MW0

100.0 HI_LIM OUT MD10

0.0 LO_LIM

E0.0 BIPOLAR

M2.0 A124.0
CMP>R
2 P S
MD10 IN1

MD20 IN2
M2.1 A124.1
CMP<R
3 P S
MD10 IN1

MD30 IN2

Realitzat per: Data: 25/01/06 Pàgina: 57/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

NOTA: Quan posem una constant en format REAL, encara que la constant no tengui decimals com en el
nostre cas, hem de posar 40.0 si només posem 40 ell entén que és un nombre enter i no te cabuda en una
funció de nombres reals.

Realitzat per: Data: 25/01/06 Pàgina: 58/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E124.0 A124.0
4 R
A124.1

Realitzat per: Data: 25/01/06 Pàgina: 59/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E12.1 GRABACIÓ D’UNA TAULA EN UN BLOC DE DADES (DB). FUNCIÓ ATT

Crear un mòdul de dades:


Anar a l’administrador Insertar nou objecte Bloc de dades Posar nom (DB10)

Editar el DB10:
-Volem tenir un bloc de dades de 12 paraules en format INT (nombres sencers).
-Volem que el valor que tingui la primera paraula de dades sigui 10

DB10
Direcció Nom Tipus Valor inicial Comentari
0.0 STRUCT
+0.0 Temperatura ARRAY[1..12] 0
*2.0 INT

=24.0 END_STRUCT

Anar a veure Dades


Anar a Edició Inicialtitzar blocs de dades posar valor 10 en valor actual de la paraula 0.0
Salvar

Direcció Nom Tipus Valor inicial Valor Comentari


actual
0.0 Temperatura[1] INT 0 10
2.0 Temperatura[2] INT 0 0
4.0 Temperatura[3] INT 0 0
6.0 Temperatura[4] INT 0 0
8.0 Temperatura[5] INT 0 0
10.0 Temperatura[6] INT 0 0
12.0 Temperatura[7] INT 0 0
14.0 Temperatura[8] INT 0 0
16.0 Temperatura[9] INT 0 0
18.0 Temperatura[10] INT 0 0
20.0 Temperatura[11] INT 0 0
22.0 Temperatura[12] INT 0 0
-Crear la FC28 i insertar alli la FC84
-La funció ATT la trobarem en:
-Librerias Standard library TI-S7 Converting Blocks FC84
-Funcionament:
En DATA, indiquem la dada que volem gravar
En TABLE, indiquem quin serà el primer registre d’aquesta taula.
En aquest primer registre, (posant-li un valor) indicarem el nombre de registres que podrà gravar aquesta
taula.
En el segon registre, se’ns anirà indicant el nombre de registres plens (cada cop que gravem un valor a la
taula, aquest registre incrementarà en 1 el seu valor.
-Quan en EN tingui un 1, es gravarà una dada a la taula (si no poséssim flanc, en aquest cas en 10 scanes
quedaria la taula plena).
-Quan el primer i el segon registre de la taula suguin iguals (la taula estarà plena), ja no es gravarà cap
registre més.

Realitzat per: Data: 25/01/06 Pàgina: 60/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

Nombre de registres de la taula


DB10
DBW0 10
DBW2 2
DBW4 2378
DBW6 3512 Nombre de registres gravats
DBW8 0
DBW10 0
DBW12 0
DBW14 0
Primer registre gravat
DBW16 0
DBW18 0
DBW20 0
DBW22 0

-Cada vegada que accioni el E124.0, el valor que tingui en aquell moment l’entrada analògica PEW752 anirà
al primer registre lliure de la taula.
-Quan la taula estigui plena (DBW0 serà igual a DBW2), funcionarà de forma intermitent la sortida A125.0

FC28
E124.0 M0.0 ATT
1 P EN ENO

PEW752 DATA

DB10.DBW0 TABLE

M255.4 A125.0
CMP==I
2

DB10.DBW0 IN1

DB10.DBW2 IN2

Realitzat per: Data: 25/01/06 Pàgina: 61/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E12.2 LECTURA DE DADES GRAVADES EN UNA TAULA. FUNCIÓ LIFO

-La funció LIFO la trobarem a:


-LibreriasStandard library TI-S7 Converting Blocks FC87
-Funcionament:
En TABLE, indiquem quin serà el primer registre d’aquesta taula.
En RET_VALUE se’ns carregarà el valor que recuperem de la taula.
El valor del segon registre de la taula, ens apuntarà al registre que recuperarem al executar la instrucció i
al executar-la a més aquest valor serà decrementat en 1. El valor del registre recuperat anirà a
RET_VALUE.
La instrucció LIFO igual que la ATT ha d’anar sempre amb flanc, en el nostre cas, en cas de no fer-ho en
10 scanes ens enviaria els 10 valors de la taula a RET_VALUE quedant només el primer valor gravat.
FC29
E124.0 M0.0 ATT
1 P EN ENO

PEW752 DATA

DB10.DBW0 TABLE

M255.4 A125.0
CMP==I
2

DB10.DBW0 IN1

DB10..DBW2 IN2

E124.1 M0.1 LIFO


3 P EN ENO

DB10.DBW0 TABLE RET_VALUE MW10

Nota: Aplicar la funció FIFO a l’exercici E6.1

Realitzat per: Data: 25/01/06 Pàgina: 62/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E12.3 GRAVACIÓ D’UNA TAULA DE DADES (II). SOBREESCRIURE DADES

-En aquest exercici, podem comprovar que quan la taula és plena de dades, sobreescrivim de nou la taula.
-Després de gravar el registre 10, començaria a sobreescriure l'1, després el dos .. etc.
-Amb això aconseguiríem tenir sempre gravades les deu últimes dades.
FC30
E124.0 M0.0 ATT
1 P EN ENO

PEW752 DATA

DB10.DBW0 TABLE

MOVE
CMP==I
2 EN ENO

DB10.DBW0 IN1
0 IN OUT DB10.DBW2

DB10..DBW2 IN2

Realitzat per: Data: 25/01/06 Pàgina: 63/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E12.4 GRAVACIÓ D’UNA TAULA DE DADES (III). ESBORRAT DE DADES. FUNCIÓ FILL

A) -En aquest exercici, podem comprovar com esborrem totes les dades d'una taula.
- (Segment 2 i 3) En accionar el polsador E124.1, carreguem el valor 0 en DBW2 i durant 10 scaner
escrivim el valor 0 en tots els registres de la taula. (DBW2 quedés amb valor 10).
- (Segment 4) En deixar anar el polsador E124.1 posarem a DBW2 al valor 0, de manera que la
taula quedés preparada per poder gravar noves dades.Creació d’un programa per esborrar les
dades.
B) FC31
E124.0 M0.0 ATT
1 P EN ENO

PEW752 DATA

DB10.DBW0 TABLE

E124.1 M0.1 MOVE


2 P EN ENO

0 IN OUT DB10.DBW2

E124.1 ATT
3 EN ENO

W#16#0000 DATA

DB10.DBW0 TABLE

E124.1 M0.2 MOVE


4 N EN ENO

0 IN OUT DB10.DBW2

B) Ús d’una funció de sistema per esborrar la taula.


-Esborra els segments 2, 3 y 4 i afegeix el següent
-La funció de sistema FILL (SFC21) la trobaru en Librerias Standad Library System Funtion
-Es una funció que NO podrem transferir (ni cal) perquè en ser de sistema ja està inclosa en la CPU
E124.7 MOVE FILL
2 EN ENO EN ENO

MW20 BVAL RET_VAL MW30


0 IN OUT MW20
BLK P#DB10.DBX2.0 WORD 11

Realitzat per: Data: 25/01/06 Pàgina: 64/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E12.5 GUARDAR DADES DEL RELLOTGE I D’UNA ENTRADA ANALÒGICA

-Volem guardar el valor d'una entrada analògica i al mateix temps que ens quedi registrat de forma paral ·
lela a quina hora i minut s'ha gravant aquesta dada.
-Per això primer utilitzarem l'DB6 en l'exercici E17.1 (en aquest tenim les dades del rellotge) el DB10 ja usat
anteriorment i a més hem de crear un DB11 on gravar les dades del rellotge.
DB11
Direcció Nom Tipus Valor inicial Comentari
0.0 STRUCT
+0.0 Hora_i_minut ARRAY[1..12] W#16#0
*2.0 WORD

=22.0 END_STRUCT

En el primer registre de la taula, hem d’indicar el nombre de registres que volem gravar. En el nostre cas
són 10 per tant com el format del registre està en hexadecimal haurem de posar W#16#A.
Anar a “Ver” “Datos”
Posar valor W#16#000A en valor actual de la paraula 0.0 Salvar

Dirección Nombre Tipo Valor Valor Comentario


inicial actual
0.0 Hora_i_minut [1] WORD W#16#0 W#16#A
2.0 Hora_i_minut [2] WORD W#16#0 W#16#0
4.0 Hora_i_minut [3] WORD W#16#0 W#16#0
6.0 Hora_i_minut [4] WORD W#16#0 W#16#0
8.0 Hora_i_minut [5} WORD W#16#0 W#16#0
10.0 Hora_i_minut [6] WORD W#16#0 W#16#0
12.0 Hora_i_minut [7] WORD W#16#0 W#16#0
14.0 Hora_i_minut [8] WORD W#16#0 W#16#0
16.0 Hora_i_minut [9] WORD W#16#0 W#16#0
18.0 Hora_i_minut [10] WORD W#16#0 W#16#0
20.0 Hora_i_minut [11] WORD W#16#0 W#16#0
22.0 Hora_i_minut [12] WORD W#16#0 W#16#0

-Per salvar l'hora i minut haurem de treballar amb DBW3 (DBB3 és l'hora i DBB4 són els minuts)
-En el nostre cas per ser més operatius i poder veure abans els resultats usarem DBW4 (DBB4 són els
minuts i DBB5 són els segons)
FC32
E124.0 M0.0 ATT
1 P EN ENO

PEW752 DATA

DB10.DBW0 TABLE

ATT
EN ENO

DB6.DBW4 DATA

DB11.DBW0 TABLE

Realitzat per: Data: 25/01/06 Pàgina: 65/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

M255.4 A125.0
CMP==I
2

DB10.DBW0 IN1

DB10..DBW2 IN2

Realitzat per: Data: 25/01/06 Pàgina: 66/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E16.1 PROGRAMACIÓ DEL OB10

El OB10, permet interrompre el OB 1 i executar-se en una data determinada o diferents intervals a partir
d'una data determinada.
Es pot programar perquè s'executi en els següents intervals:
Un cop: S’ executarà només una vegada en el moment especificat.
• Cada minut: S’ executarà 1 cop cada minut a partir del moment especificat.
• Cada hora: S’executarà 1 cop cada hora a partir del moment especificat.
• Cada dia: S’ executarà una vegada al dia a partir del moment especificat
• Cada mes: S’ executarà un cop al mes a partir del moment especificat.
• Cada any: S’ executarà un cop l'any a partir del moment especificat
• Al final de mes: S’ executarà una vegada al final del mes a partir del moment especificat.

Tenim dues formes de programar-lo:


Primera forma:
1º Anar a l’ Administrador Hardware (Picar dues vegades sobre d’ell) Picar dues vegades sobre
CPU Seleccionar la pestanya “Alarmes horàries” En periodicitat seleccionar cada quant temps
volem que actuï (1 minut) En data i hora posar a partir de quin moment volem que comenci ( data
23.10.02, hora 12:54) Copiar i tranferir el Hardware a la CPU.

2ºProgramar l’ OB10.( Realitzar el programa que ve a continuació).

ADD_I
1 EN ENO

MW10 IN1 OUT MW10

1 IN2

Provar l'exercici transferint el OB10 i en la taula d'estat visualitzar el valor de MW10 en decimal.

Realitzat per: Data: 25/01/06 Pàgina: 67/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

Segona forma:

1ª Mitjançant la funció FC3 (D_TOD_DT)de Librerias de Standard Library de IEC Funtión Blocks pasem la
data i hora a la que volem que comenci el OB10 a la variable temporal “hora començar” (definir-la en el OB1
amb format de DATE_AND_TIME)

2º Mijançant la funció SFC28 (SET_TINT) de Librerias de Standard Library de System Funtions Blocks,
indiquem quin és l’OB amb el que volem treballar(OB_NR), a quina hora volem que comenci (SDT) i quina
serà la seva periodicitat (PERIOD) i on va el còdi d’ error (RET_VAL)
PERIOD W#16#0000 = una vegada
W#16#0201 = cada minut
W#16#0401 = cada hora
W#16#1001 = diaria
W#16#1201 = setmanal
W#16#1401 = mensual
W#16#1801 = anual
W#16#2001 = al final del mes

3º Mijançant la funció SFC30 (ACT_TINT)de Librerias de Standard Library de System Funtions Blocks,
activem o desactivem l’ execució de l’OB10.
OB1
D_TOD_DT
EN ENO

D#2002-10-21 IN1 RET_VAL #hora començar

TOD#15:23:45.0 IN2

SET_TINT
EN ENO

10 OB_NR RET_VA MW0

#hora començar SDT

W#16#201 PERIOD

E124.0 ACT_TINT
EN ENO

10 OB_NR RET_VA MW2

4ºProgramar l’OB10. (Realitzar el programa que ve a continuació).

ADD_I
EN ENO

MW10 IN1 OUT MW10

1 IN2

Realitzat per: Data: 25/01/06 Pàgina: 68/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E16.2 PROGRAMACIÓ DEL OB20

• L’OB20, permet interrompre l’OB 1 y executar-se despres d’ un temps de demora determinat.


• L’OB20 arrenca després d’ una trucada al SFC32 .
• El SFC32 el podem trobar en Librerias Standard Library System Funtions Blocks

Parametres del SFC32


OB_NR Nombre de l’OB que arrencarà amb retard.
DTIME Duració del retard (1 a 60000 ms)
SIGN Identificador que es posa en la informació d’ arrencada de l’OB quan es truca a l’OB de
retard.
RET_VALUE Conté el codi de l'error si es produís un mentre es processa l’OB.

OB1
E124.0 M20.0 SRT_D_INT
P EN ENO

20 OB_NR RET_VAL MW0

T#2S DTIME

W#16#1 SIGN
E124.1 A124.0
R

OB20
SET
= A124.0

Enviar l’OB1 i l’OB20 al PLC i comprovar el funcionament.

Realitzat per: Data: 25/01/06 Pàgina: 69/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E16.3 PROGRAMACIÓ DEL OB35

• L’OB35, permet interrompre l'execució del OB1 a intervals fixos i ser executat.
• L'interval de temps és respecte al moment que la CPU es posa en RUN.
• Cal assegurar-se que el temps d'execució del programa del OB35 és menor que el temps d'interval
programat com repetició de l'execució de l’OB35.

Configuració de l’OB35:

1º Anar a l’ Administrador Hardware (Picar dues vegades sobre d’ell) Picar dues vegades
sobre CPU Seleccionar la pestanya “Alarmes cicliques” En periodicitat seleccionar cada quant
temps volem que actuï (1 a 60000 ms), posar 125 ms Compilar i transferir el Hardware a la CPU.

OB35

ADD_I
EN ENO

MW10 IN1 OUT MW10

1 IN2

CMP==I MOVE
EN ENO

MW10 IN1
0 IN OUT MW10
256 IN2

Comprovar que amb els bits 0 al 7 de MW10, hem creat generadors d'impulsos (MB11)
Si el temps d'execució del OB35 és de 125 ms
• El M11.0 serà un generador de 0’25 S
• El M11.1 serà un generador de 0’5 S
• El M11.2 serà un generador de 1 S
• El M11.3 serà un generador de 2 S
• El M11.4 serà un generador de 4 S
• El M11.5 serà un generador de 8 S
• El M11.6 serà un generador de 16 S
• El M11.7 serà un generador de 32 S

-Transferir l’OB35 i en la taula d’ estat visualitzar el valor de MW10 en Binari.

Realitzat per: Data: 25/01/06 Pàgina: 70/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E16.4 PROGRAMACIÓ DE L’OB121

-El sistema operatiu de la CPU truca a l’OB 121 quan apareix un un error durant l'execució del programa.
-Quan es produeixi un error si en l'automat no està programat l’OB121, el PLC es posa en STOP i
s'il·lumina el led SF
-Quan es produeixi un error si en l'automat aquesta programat l’OB121, el PLC segueix en RUN i
s'il·lumina el led SF.

Exemples: -Dins del programa es diu a un bloc que no va ser carregat en la CPU
- Es numera una entrada o una sortida que no existeix
- Es numera un temporitzador o comptador inexistent
- Error en crida a DB o DB inexistent
- Trucada a un FC no carregat
Hi han dues maneres de localitzar les errades:
- Una és utilitzant les variables temporals del OB121 i desxifrant el que volen dir els valors escrits en ells
- Una altra forma és la d'usar la informació del mòdul (descrita en segon lloc)

A) Primera forma de revisar errors de programació


OB121

MOVE
EN ENO

#OB121_SW_FLT IN OUT MB200

MOVE
EN ENO

#OB121_FLT_REG IN OUT MW202

MOVE
EN ENO

#OB121_BLK_TYPE IN OUT MB204

MOVE
EN ENO

#OB121_BLK_NUM IN OUT MW205

OB121_SW_FLT

B#16#21 Error de conversió BCD


B#16#22 Infracció d'àrea en la lectura
B#16#23 Infracció d’àrea en l’escriptura
B#16#28 Accés de lectura a un registre amb un punter la direcció binària és diferent a 0
B#16#29 Accés d'escriptura a un registre amb un punter la direcció binària és diferent a 0
B#16#24 Error en àrea de lectura
B#16#25 Error en àrea d'escriptura
B#16#26 Error en direcció de temporitzador

Realitzat per: Data: 25/01/06 Pàgina: 71/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

B#16#27 Error en direcció de comptador


B#16#30 Accés a un DB global protegit contra escriptura
B#16#31 Accés a un DB d'instància protegit contra escriptura
B#16#32 Error de número de base de dades en l'accés a un DB global
B#16#33 Error de número de base de dades en l'accés a un DB d'instància
B#16#34 Error de número de FC en la trucada a FC
B#16#3A Accés a un DB no carregat, el nombre de DB està dins de l'àrea admissible
B#16#3C Accés a un FC no carregat, el nombre de FC està dins de l’àrea admissible
B#16#3D Accés a un SFC no carregat, el nombre de SFC està dins de l'àrea admissible
B#16#3E Accés a un FB no carregat, el nombre de FB està dins de l’àrea admissible
B#16#3F Accéss a un SFB no carregat, el nombre de SFB està dins de l’àrea admissible

OB121_FLT_REG
En la majoria dels casos indica el nombre de registre afectat (decimal)

OB121_BLK_TYPE
Tipus de bloc en què ha aparegut l'error (en S7-300 no es consigna aquí un valor vigent):
B#16#88: OB
B#16#8A: DB
B#16#8C: FC
B#16#8E: FB

OB121_BLK_NUM (decimal)
Nombre del bloc on ha aparegut l'error

NOTA:-Transferir tots els mòduls a excepció del FC34, i anar localitzant els errors de programació
realitzats.

OB1
E124.0 MOVE
EN ENO

DB1.DBW10 IN OUT MW6

DB2
E124.1 FB 80
EN ENO

E124.2 FC 34
EN ENO

Realitzat per: Data: 25/01/06 Pàgina: 72/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

E124.3 FC 100
EN ENO

FC34

E124.5 T1230
SA
T12 A124.1

FC100

E124.7 A1240.6

E124.6 A124.7

DB1
Direcció Nom Tipus Valor inicial Comentari
0.0 STRUCT
0.0 Primer_valor WORD W#16#0
2.0 Segundo_valor WORD W#16#0
4.0 Tercer_valor WORD W#16#0
=6.0 END_STRUCT

DB2
Direcció Nom Tipus Valor inicial Comentari
0.0 STRUCT
0.0 Valor_tiempo_1 WORD W#16#0
2.0 Valor_tiempo_2 WORD W#16#0
4.0 Valor_tiempo_3 WORD W#16#0
=6.0 END_STRUCT

Realitzat per: Data: 25/01/06 Pàgina: 73/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

B) Revisió dels errors en el buffer de disgnòstic .. Es farà a l'editor AWL / FUP / KOP

1º Seleccionar “Sistema
de destino”

2º Clicar sobre
”Información del
modulo”

3º Clicar sobre
bufer de
diagnostico

4º En aquesta
casella sortirà
informació sobre
l’error

Realitzat per: Data: 25/01/06 Pàgina: 74/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

- Activar l'entrada E124.3 i comprovar a la taula de variables els valors que em donaran les dades de l'error
ocorregut.

Infracció de l’àrea
en escriure

Nombre erroni.

Tipus del mòdul on


està l’error (FC)

Nombre del mòdul


on està l’error (100)

- Anar a la informació del mòdul i comprovar l'error ocorregut.

Error ocorregut

Descripció de l’error

Clicar i s’obrirà el bloc


i el segment on està
l’errada

Realitzat per: Data: 25/01/06 Pàgina: 75/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

Localització de l’error

Realitzat per: Data: 25/01/06 Pàgina: 76/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

- Activar l'entrada E124.0 i comprovar a la taula de variables els valors que em donaran les dades de l'error
ocorregut.

Infracció de
l’àrea al llegir.

Nombre erroni.

Tipus del mòdul on


està l’error (OB)

Nombre del mòdul


on està l’error (1)

- Anar a la informació del mòdul i comprovar l'error ocorregut.

Error ocorregut

Descripció de l’error

Realitzat per: Data: 25/01/06 Pàgina: 77/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

- Activar l'entrada E124.1 i comprovar a la taula de variables els valors que em donaran les dades de l'error
ocorregut.

Accés a un DB
no carregat

Nombre del DB

Tipus del mòdul on


està l’error (OB)

Nombre del mòdul


on està l’error (1)

- Anar a la informació del mòdul i comprovar l'error ocorregut.

Error ocorregut

Descripció de l’error

Realitzat per: Data: 25/01/06 Pàgina: 78/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

- Activar l'entrada E124.2 i comprovar a la taula de variables els valors que em donaran les dades de l'error
ocorregut.

Accés a un FC
no carregat.

Nombre FC

Tipus del mòdul on


està l’error (OB)

Nombre del mòdul


on està l’error (1)

- Anar a la informació del mòdul i comprovar l'error ocorregut.

Error ocorregut

Descripció de l’error

Realitzat per: Data: 25/01/06 Pàgina: 79/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa
Departament d’Ensenyament Grup
INSTRUCCIONS AVANÇADES DE de
L’AUTOMATA S7-300 treball
Electricitat/Electrònica Siemens

- Transferir el FC34 al PLC i activar de nou l'entrada E124.2 i comprovar a la taula de variables els valors
que em donaran les dades de l'error ocorregut.

Error en direcció
d’un temporizador

Nombre erroni.

Tipus del mòdul on


està l’error (FC)

Nombre del mòdul


on està l‘error (34)

- Anar a la informació del mòdul i comprovar l'error ocorregut.

Error ocorregut

Descripció de l’error

Realitzat per: Data: 25/01/06 Pàgina: 80/80


Ramon L.. Yuste Yuste IES SEP COMTE DE RIUS Fitxer: Palabra_2
Versió: 3
Luis Martinez Novoa

You might also like