Top Banner
Tema 5 Operaciones básicas de programación 20/10/14 TEMA 5 OPERACIONES BÁSICAS DE PROGRAMACIÓN 1
35

Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Jul 10, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Tema  5  Operaciones  básicas  de  programación  

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

1  

Page 2: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Índice  •  Áreas  de  memoria  •  Tipos  de  datos  •  Direccionamiento  •  Estructura  del  programa  en  KOP  •  Operaciones  lógicas  con  bits  

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

2  

Page 3: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Áreas  de  memoria  •  La  CPU  ofrece  disNntas  áreas  de  memoria,  incluyendo  entradas  (I),  salidas  (Q),  marcas  (M),  bloque  de  datos  (DB)  y  memoria  temporal  o  local  (L).    •  El  programa  de  usuario  accede  a  (lee  de  y  escribe  en)  los  datos  almacenados  en  estas  áreas  de  memoria.  

•  Cada  posición  de  memoria  Nene  una  dirección  unívoca.  •   El  programa  de  usuario  uNliza  estas  direcciones  para  acceder  a  la  información  de  la  posición  de  memoria.    

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

3  

3  

5HVXPHQ�EUHYH� �����,QIRUPDFLµQ�E£VLFD�VREUH�FµPR�IXQFLRQD�OD�&38�

� *HWWLQJ�6WDUWHG�GHO�6���������� *HWWLQJ�6WDUWHG��SULPHURV�SDVRV������������$�(������������

����� �UHDV�GH�PHPRULD�GHO�6��������

� 1RWD�8VR�GH�GLUHFFLRQHV�VLPEµOLFDV�HQ�YH]�GH�GLUHFFLRQHV�DEVROXWDV�67(3���%DVLF�IDFLOLWD�OD�SURJUDPDFLµQ�VLPEµOLFD��/RV�QRPEUHV�VLPEµOLFRV�R��YDULDEOHV��VH�FUHDQ�SDUD�ODV�GLUHFFLRQHV�GH�ORV�GDWRV��\D�VHD�FRPR�YDULDEOHV�3/&�DVLJQDGDV�D�GLUHFFLRQHV�GH�PHPRULD�\�(�6�R�FRPR�YDULDEOHV�ORFDOHV�XWLOL]DGDV�GHQWUR�GH�XQ�EORTXH�OµJLFR��3DUD�XWLOL]DU�HVWDV�YDULDEOHV�HQ�HO�SURJUDPD�GH�XVXDULR�EDVWD�FRQ�LQWURGXFLU�HO�QRPEUH�GH�OD�YDULDEOH�SDUD�HO�SDU£PHWUR�GH�OD�LQVWUXFFLµQ��3DUD�XQD�PHMRU�FRPSUHQVLµQ�GH�FµPR�OD�&38�HVWUXFWXUD�\�GLUHFFLRQD�ODV�£UHDV�GH�PHPRULD��ORV�VLJXLHQWHV�S£UUDIRV�H[SOLFDQ�HO�GLUHFFLRQDPLHQWR��DEVROXWR��UHIHUHQFLDGR�SRU�ODV�YDULDEOHV�3/&��

/D�&38�RIUHFH�GLVWLQWDV�£UHDV�GH�PHPRULD��LQFOX\HQGR�HQWUDGDV��,���VDOLGDV��4���PDUFDV��0���EORTXH�GH�GDWRV��'%��\�PHPRULD�WHPSRUDO�R�ORFDO��/���(O�SURJUDPD�GH�XVXDULR�DFFHGH�D��OHH�GH�\�HVFULEH�HQ��ORV�GDWRV�DOPDFHQDGRV�HQ�HVWDV�£UHDV�GH�PHPRULD��&DGD�SRVLFLµQ�GH�PHPRULD�WLHQH�XQD�GLUHFFLµQ�XQ¯YRFD��(O�SURJUDPD�GH�XVXDULR�XWLOL]D�HVWDV�GLUHFFLRQHV�SDUD�DFFHGHU�D�OD�LQIRUPDFLµQ�GH�OD�SRVLFLµQ�GH�PHPRULD�����UHD�GH�PHPRULD� 'HVFULSFLµQ�,��0HPRULD�LPDJHQ�GH�SURFHVR�GH�ODV�HQWUDGDV�

/D�&38�FRSLD�HO�HVWDGR�GH�ODV�HQWUDGDV�I¯VLFDV�HQ�OD�PHPRULD�,�DO�FRPLHQ]R�GHO�FLFOR��3DUD�HO�DFFHVR�LQPHGLDWR�R�IRU]DGR�SHUPDQHQWH�GH�ODV�HQWUDGDV�I¯VLFDV�HV�SUHFLVR�D³DGLU���3��D�OD�GLUHFFLµQ�R�YDULDEOH��S��HM���6WDUW�3��R�,����3���

4��0HPRULD�LPDJHQ�GH�SURFHVR�GH�ODV�VDOLGDV�

/D�&38�FRSLD�HO�HVWDGR�GH�OD�PHPRULD�4�HQ�ODV�VDOLGDV�I¯VLFDV�DO�FRPLHQ]R�GHO�FLFOR��3DUD�HO�DFFHVR�LQPHGLDWR�R�IRU]DGR�SHUPDQHQWH�GH�ODV�VDOLGDV�I¯VLFDV�HV�SUHFLVR�D³DGLU���3��D�OD�GLUHFFLµQ�R�YDULDEOH��S��HM���6WRS�3��R�4����3���

0���UHD�GH�PDUFDV�

(O�SURJUDPD�GH�XVXDULR�OHH�\�HVFULEH�ORV�GDWRV�DOPDFHQDGRV�HQ�OD�PHPRULD�0��&XDOTXLHU�EORTXH�OµJLFR�SXHGH�DFFHGHU�D�OD�PHPRULD�0��(V�SRVLEOH�FRQILJXUDU�GLUHFFLRQHV�HQ�OD�PHPRULD�0�SDUD�FRQVHUYDU�ORV�YDORUHV�GH�ORV�GDWRV�WUDV�GHVFRQHFWDU�\�YROYHU�D�FRQHFWDU�OD�DOLPHQWDFLµQ��

/�0HPRULD�WHPSRUDO�

&DGD�YH]�TXH�VH�OODPD�XQ�EORTXH�OµJLFR��OD�&38�DVLJQD�OD�PHPRULD�WHPSRUDO�R�ORFDO��/��TXH�GHEH�XWLOL]DUVH�GXUDQWH�OD�HMHFXFLµQ�GHO�EORTXH��&XDQGR�ILQDOL]D�OD�HMHFXFLµQ�GHO�EORTXH�OµJLFR��OD�&38�UHDVLJQD�OD�PHPRULD�ORFDO�SDUD�OD�HMHFXFLµQ�GH�RWURV�EORTXHV�OµJLFRV���

'%�%ORTXH�GH�GDWRV�

/RV�EORTXHV�GH�GDWRV�VH�XWLOL]DQ�SDUD�DOPDFHQDU�GLIHUHQWHV�WLSRV�GH�GDWRV��LQFOX\HQGR�HO�HVWDGR�LQWHUPHGLR�GH�XQD�RSHUDFLµQ�X�RWUD�LQIRUPDFLµQ�GH�FRQWURO��SDU£PHWURV�GH�)%V��DV¯�FRPR�HVWUXFWXUDV�GH�GDWRV�UHTXHULGDV�SDUD�QXPHURVDV�LQVWUXFFLRQHV��S��HM��WHPSRUL]DGRUHV�\�FRQWDGRUHV��(V�SRVLEOH�GHWHUPLQDU�TXH�XQ�EORTXH�GH�GDWRV�VHD�GH�OHFWXUD�HVFULWXUD�R�GH�VµOR�OHFWXUD��$�ORV�EORTXHV�GH�GDWRV�VH�SXHGH�DFFHGHU�HQ�IRUPDWR�GH�ELWV��E\WHV��SDODEUDV�R�SDODEUDV�GREOHV��/RV�DFFHVRV�WDQWR�GH�OHFWXUD�FRPR�GH�HVFULWXUD�HVW£Q�SHUPLWLGRV�SDUD�ORV�EORTXHV�GH�GDWRV�GH�OHFWXUD�HVFULWXUD��$�ORV�EORTXHV�GH�GDWRV�GH�VµOR�OHFWXUD�VH�SHUPLWHQ�VµOR�ORV�DFFHVRV�GH�OHFWXUD��

7DQWR�VL�VH�XWLOL]D�XQD�YDULDEOH��S��HM���6WDUW��R��6WRS���FRPR�VL�XWLOL]D�XQD�GLUHFFLµQ�DEVROXWD��S��HM���,�����R��4�������XQD�UHIHUHQFLD�D�ODV�£UHDV�GH�PHPRULD�GH�ODV�HQWUDGDV��,��R�VDOLGDV��4��DFFHGH�D�OD�PHPRULD�LPDJHQ�GH�SURFHVR��\�QR�D�OD�VDOLGD�I¯VLFD��3DUD�HO�DFFHVR�LQPHGLDWR�R�HO�IRU]DGR�SHUPDQHQWH�GH�OD�HQWUDGD�R�VDOLGD�I¯VLFD��GH�SHULIHULD��HQ�HO�SURJUDPD�GH�XVXDULR�HV�SUHFLVR�D³DGLU���3��D�OD�UHIHUHQFLD��S��HM���6WRS�3��R��4����3�����

Page 4: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Tipos  de  datos  •  El  Npo  de  datos  especifica  no  sólo  el  tamaño  de  un  elemento  de  datos,  sino  también  la  estructura  de  los  bits  en  los  datos.    

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

4  

4  

� 5HVXPHQ�EUHYH�� ����,QIRUPDFLµQ�E£VLFD�VREUH�FµPR�IXQFLRQD�OD�&38�

*HWWLQJ�6WDUWHG�GHO�6�������*HWWLQJ�6WDUWHG��SULPHURV�SDVRV������������$�(������������ ���

����� 7LSRV�GH�GDWRV�VRSRUWDGRV�SRU�HO�6�������(O�WLSR�GH�GDWRV�HVSHFLILFD�QR�VµOR�HO�WDPD³R�GH�XQ�HOHPHQWR�GH�GDWRV��VLQR�WDPEL«Q�OD�HVWUXFWXUD�GH�ORV�ELWV�HQ�ORV�GDWRV���

�7LSR�GH�GDWRV� 7DPD³R� 5DQJR� (MHPSORV�GH�HQWUDGD�GH�

FRQVWDQWHV�%RRO��ERROHDQR�� ��ELW� ��D��� 758(��)$/6(�������%\WH��E\WH��

��ELWV����E\WH��

������D����))� ����������$%�

:RUG��SDODEUD��

���ELWV����E\WHV��

��������D����))))� ���$%&'����������

':RUG��SDODEUD�GREOH��

���ELWV����E\WHV��

������������D����))))))))� ��������$&(�

&KDU��FDU£FWHU��

��ELWV����E\WH��

������D����))� $��W��#�

6,QW��HQWHUR�FRUWR��

��ELWV����E\WH��

�����D����� ����������

86,QW��HQWHUR�FRUWR�VLQ�VLJQR��

��ELWV����E\WH��

��D����� ����

,QW���HQWHUR��

���ELWV����E\WHV��

��������D�������� ����������

8,QW��HQWHUR�VLQ�VLJQR��

���ELWV����E\WHV��

��D�������� ����

',QW��HQWHUR�GREOH��

���ELWV����E\WHV��

���������������D��������������� ����������

8',QW��HQWHUR�GREOH�VLQ�VLJQR��

���ELWV����E\WHV��

��D��������������� ����

5HDO��UHDO�R�FRPD�IORWDQWH��

���ELWV����E\WHV��

��������[��������D���������[������� �������������������(���������(���

/5HDO��UHDO�ODUJR��

���ELWV����E\WHV��

��������[��������D���������[������� ��������������������(����

7LPH��KRUD��

���ELWV����E\WHV��

7����GB��KB��PB��VB���PV�WR�7���GB��KB��PB��VB���PV�$OPDFHQDGR�FRPR�����������������PV��WR����������������PV��

7��PB��V�����G�7��GB�KB��PB��[B��PV�

6WULQJ��FDGHQD�GH�FDUDFWHUHV��

9DULDEOH� ��D�����FDUDFWHUHV�HQ�WDPD³R�GH�E\WH� $%&�

'7/���IHFKD�\�KRUD�ODUJD��

���E\WHV� 0¯QLPR���'7/�����������������������0£[LPR���'7/���������������������������������

'7/�������������������������

�� (O�WLSR�GH�GDWRV�'7/�HV�XQD�HVWUXFWXUD�GH����E\WHV�TXH�DOPDFHQD�LQIRUPDFLµQ�GH�IHFKD�\�KRUD�HQ�XQD�HVWUXFWXUD�SUHGHILQLGD��8Q�'7/�VH�SXHGH�GHILQLU�HQ�OD�PHPRULD�WHPSRUDO�GHO�EORTXH�R�HQ�XQ�'%���

Page 5: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Direccionamiento  

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

5  

5  

Page 6: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Direccionamiento  

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

6  

6  

5HVXPHQ�EUHYH� �����,QIRUPDFLµQ�E£VLFD�VREUH�FµPR�IXQFLRQD�OD�&38�

� *HWWLQJ�6WDUWHG�GHO�6���������� *HWWLQJ�6WDUWHG��SULPHURV�SDVRV������������$�(������������

����� 'DWRV�GLJLWDOHV�DOPDFHQDGRV�HQ�ELWV��E\WHV��SDODEUDV�\�P£V��

8Q��ELW���R��G¯JLWR�ELQDULR���HV�OD�XQLGDG�GH�LQIRUPDFLµQ�P£V�SHTXH³D�HQ�XQ�VLVWHPD�GLJLWDO��8Q�ELW�DOPDFHQD�XQR�GH�GRV�HVWDGRV�SRVLEOHV��ELHQ�VHD������IDOVR��µ������YHUGDGHUR���

8Q�LQWHUUXSWRU�GH�OX]�HV�XQ�HMHPSOR�GH�XQ�VLVWHPD��ELQDULR��FRQ�VµOR�GRV�HVWDGRV��(O�LQWHUUXSWRU�GH�OX]�GHWHUPLQD�HO�HVWDGR��HQFHQGLGR��R��DSDJDGR��\�HVWH��YDORU��VH�SXHGH�JXDUGDU�HQ�XQ�ELW��(O�YDORU�GLJLWDO�GHO�LQWHUUXSWRU�GH�OX]�UHVSRQGH�D�OD�SUHJXQWD����(VW£�HQFHQGLGD�OD�OX]"��6L�OD�OX]�HVW£�HQFHQGLGD���YHUGDGHUR����HO�YDORU�HV����6L�OD�OX]�HVW£�DSDJDGD���IDOVR����HO�YDORU�HV����

�/D�&38�RUJDQL]D�ORV�ELWV�GH�GDWRV�HQ�JUXSRV��8Q�JUXSR�GH���ELWV��VH�GHQRPLQD�E\WH���

&DGD�ELW�GHO�JUXSR�HVW£�GHILQLGR�H[DFWDPHQWH�SRU�XQD�SRVLFLµQ�SURSLD�FRQ�XQD�GLUHFFLµQ�HVSHF¯ILFD��7RGR�ELW�WLHQH�XQD�GLUHFFLµQ�GH�E\WH�\�GLUHFFLRQHV�GH�ELW�GH���D����

8Q�JUXSR�GH���E\WHV�VH�GHQRPLQD��SDODEUD���8Q�JUXSR�GH���E\WHV�VH�GHQRPLQD��SDODEUD�GREOH���

� 3DODEUD�� %\WH�

� %LW�

(O�VLVWHPD�QXP«ULFR�ELQDULR��HQ�EDVH����VH�XWLOL]D�SDUD�FRQWDU�ORV�Q¼PHURV��8QD�SDODEUD�SXHGH�UHSUHVHQWDU�XQ�Q¼PHUR�HQWHUR�FRPSUHQGLGR�HQWUH��������\���������(O�ELW�FRQ�HO�YDORU�����VH�XWLOL]D�SDUD�LQGLFDU�XQ�Q¼PHUR�QHJDWLYR��VL�OD�SRVLFLµQ�����WLHQH�HO�YDORU������VLJQLILFD�TXH�HO�Q¼PHUR�HV�QHJDWLYR����

� 1RWD�/D�&38�VRSRUWD�DVLPLVPR�JUXSRV�GH���E\WHV�TXH�IRUPDQ�XQ�WLSR�GH�GDWRV��ORQJ�UHDO���/5HDO��SDUD�DOPDFHQDU�YDORUHV�PX\�JUDQGHV�R�PX\�SUHFLVRV��(O�UDQJR�GH�/5HDO�HV����������[��������D���������[�������

MB100   MB100  

0  7  

MB100   MB101  MW100  

MB100   MB101   MB102   MB103  MD100  

0  

0  

7  

7  

Page 7: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Estructura  del  programa  en  KOP  •  KOP  

•  la  lógica  se  divide  en  unidades  pequeñas  y  de  fácil  comprensión  llamadas  “segmentos"  o  “networks”  

•  El  programa  se  ejecuta  segmento  por  segmento,  de  izquierda  a  derecha  y  luego  de  arriba  a  abajo.    

•  Tras  alcanzar  la  CPU  el  final  del  programa,  comienza  nuevamente  en  la  primera  operación  del  mismo  

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

7  

7  

Cuadros  representan  operaciones  adicionales  tales  como  temporizadores,  contadores  u  operaciones  aritméNcas.    

Contactos  representan  condiciones  lógicas  de  "entrada"  similares  a  interruptores,  botones,  condiciones  internas,  etc.  

Bobinas    representan  condiciones  lógicas  de  "salida"  similares  a  lámparas,  arrancadores  de  motor,  relés  interpuestos,  condiciones  internas  de  salida,  etc.  

Page 8: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

&RQWURODGRU�SURJUDPDEOH�6�������0DQXDO�GH�VLVWHPD�����������$�(������������ ����

,QVWUXFFLRQHV�E£VLFDV� ���� ,QVWUXFFLRQHV�OµJLFDV�FRQ�ELWV�

����� &RQWDFWRV�\�ERELQDV�HQ�LQVWUXFFLRQHV�OµJLFDV�FRQ�ELWV�.23�\�)83�UHVXOWDQ�PX\�HIHFWLYRV�SDUD�SURFHVDU�OµJLFD�ERROHDQD��3RU�RWUR�ODGR��DXQTXH�6&/�UHVXOWD�HVSHFLDOPHQWH�HIHFWLYR�SDUD�OD�FRPSXWDFLµQ�PDWHP£WLFD�FRPSOHMD�\�SDUD�HVWUXFWXUDV�GH�FRQWURO�GH�SUR\HFWRV��VH�SXHGH�XWLOL]DU�SDUD�OD�OµJLFD�ERROHDQD��

&RQWDFWRV�.23�

7DEOD������ &RQWDFWRV�QRUPDOPHQWH�DELHUWRV�\�QRUPDOPHQWH�FHUUDGRV�

.23� 6&/� 'HVFULSFLµQ�

IF in THEN Statement; ELSE Statement; END_IF;

IF NOT (in) THEN Statement; ELSE Statement; END_IF;

&RQWDFWRV�QRUPDOPHQWH�DELHUWRV�\�QRUPDOPHQWH�FHUUDGRV��/RV�FRQWDFWRV�VH�SXHGHQ�FRQHFWDU�D�RWURV�FRQWDFWRV��FUHDQGR�DV¯�XQD�OµJLFD�FRPELQDFLRQDO�SURSLD��6L�HO�ELW�GH�HQWUDGD�LQGLFDGR�XWLOL]D�HO�LGHQWLILFDGRU�GH�PHPRULD�,��HQWUDGD��R�4��VDOLGD���HO�YDORU�GH�ELW�VH�OHH�GH�OD�PHPRULD�LPDJHQ�GH�SURFHVR��/DV�VH³DOHV�GH�ORV�FRQWDFWRV�I¯VLFRV�GHO�SURFHVR�FRQWURODGR�VH�FDEOHDQ�FRQ�ORV�ERUQHV�GH�HQWUDGD�GHO�3/&��/D�&38�FRQVXOWD�ODV�VH³DOHV�GH�HQWUDGD�FDEOHDGDV�\�DFWXDOL]D�FRQWLQXDPHQWH�ORV�YDORUHV�GH�HVWDGR�FRUUHVSRQGLHQWHV�HQ�OD�PHPRULD�LPDJHQ�GH�SURFHVR�GH�ODV�HQWUDGDV������/D�OHFWXUD�LQPHGLDWD�GH�XQD�HQWUDGD�I¯VLFD�VH�LQGLFD�LQWURGXFLHQGR���3��GHVSX«V�GHO�RIIVHW�,��S��HM����,����3����(Q�XQD�OHFWXUD�LQPHGLDWD��ORV�YDORUHV�GH�GDWRV�GH�ELW�VH�OHHQ�GLUHFWDPHQWH�GH�OD�HQWUDGD�I¯VLFD�\�QR�GH�OD�PHPRULD�LPDJHQ�GH�SURFHVR��/D�OHFWXUD�LQPHGLDWD�QR�DFWXDOL]D�OD�PHPRULD�LPDJHQ�GH�SURFHVR��

7DEOD������ 7LSRV�GH�GDWRV�SDUD�ORV�SDU£PHWURV�

3DU£PHWUR� 7LSR�GH�GDWRV� 'HVFULSFLµQ�,1� %RRO� %LW�DVLJQDGR�

Ⴠ� (O�FRQWDFWR�QRUPDOPHQWH�DELHUWR�VH�FLHUUD��21��FXDQGR�HO�YDORU�GH�ELW�DVLJQDGR�HV�LJXDO�D����

Ⴠ� (O�FRQWDFWR�QRUPDOPHQWH�FHUUDGR�VH�FLHUUD��21��FXDQGR�HO�YDORU�GH�ELW�DVLJQDGR�HV�LJXDO�D����

Ⴠ� /RV�FRQWDFWRV�FRQHFWDGRV�HQ�VHULH�FUHDQ�VHJPHQWRV�OµJLFRV�<��

Ⴠ� /RV�FRQWDFWRV�FRQHFWDGRV�HQ�SDUDOHOR�FUHDQ�VHJPHQWRV�OµJLFRV�2��

Operaciones  lógicas  con  bits  •  CONTACTOS  

•  Los  contactos  son  la  base  de  programación  en  lenguaje  KOP.  Son  elementos  Npo  bit  que  pueden  adoptar  los  valores  1  ó  0.  Se  representan  como  abiertos  o  cerrados,  y  su  uso  es  idénNco  al  que  se  hace  de  los  contactos  de  relés  en  esquemas  cableados.  Pueden  estar  asociados  a  diversas  áreas  de  memoria  (E/S  dsicas,  temporizadores,  contadores,  marcas  y  variables,  etc.).    

•  La  dirección  de  memoria  asociada  al  contacto  será  una  dirección  Npo  bit  de  acuerdo  a  la  estructura  de  direccionamiento  directo  anteriormente  vista.    

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

8  

8  

&RQWURODGRU�SURJUDPDEOH�6�������0DQXDO�GH�VLVWHPD�����������$�(������������ ����

,QVWUXFFLRQHV�E£VLFDV� ���� ,QVWUXFFLRQHV�OµJLFDV�FRQ�ELWV�

����� &RQWDFWRV�\�ERELQDV�HQ�LQVWUXFFLRQHV�OµJLFDV�FRQ�ELWV�.23�\�)83�UHVXOWDQ�PX\�HIHFWLYRV�SDUD�SURFHVDU�OµJLFD�ERROHDQD��3RU�RWUR�ODGR��DXQTXH�6&/�UHVXOWD�HVSHFLDOPHQWH�HIHFWLYR�SDUD�OD�FRPSXWDFLµQ�PDWHP£WLFD�FRPSOHMD�\�SDUD�HVWUXFWXUDV�GH�FRQWURO�GH�SUR\HFWRV��VH�SXHGH�XWLOL]DU�SDUD�OD�OµJLFD�ERROHDQD��

&RQWDFWRV�.23�

7DEOD������ &RQWDFWRV�QRUPDOPHQWH�DELHUWRV�\�QRUPDOPHQWH�FHUUDGRV�

.23� 6&/� 'HVFULSFLµQ�

IF in THEN Statement; ELSE Statement; END_IF;

IF NOT (in) THEN Statement; ELSE Statement; END_IF;

&RQWDFWRV�QRUPDOPHQWH�DELHUWRV�\�QRUPDOPHQWH�FHUUDGRV��/RV�FRQWDFWRV�VH�SXHGHQ�FRQHFWDU�D�RWURV�FRQWDFWRV��FUHDQGR�DV¯�XQD�OµJLFD�FRPELQDFLRQDO�SURSLD��6L�HO�ELW�GH�HQWUDGD�LQGLFDGR�XWLOL]D�HO�LGHQWLILFDGRU�GH�PHPRULD�,��HQWUDGD��R�4��VDOLGD���HO�YDORU�GH�ELW�VH�OHH�GH�OD�PHPRULD�LPDJHQ�GH�SURFHVR��/DV�VH³DOHV�GH�ORV�FRQWDFWRV�I¯VLFRV�GHO�SURFHVR�FRQWURODGR�VH�FDEOHDQ�FRQ�ORV�ERUQHV�GH�HQWUDGD�GHO�3/&��/D�&38�FRQVXOWD�ODV�VH³DOHV�GH�HQWUDGD�FDEOHDGDV�\�DFWXDOL]D�FRQWLQXDPHQWH�ORV�YDORUHV�GH�HVWDGR�FRUUHVSRQGLHQWHV�HQ�OD�PHPRULD�LPDJHQ�GH�SURFHVR�GH�ODV�HQWUDGDV������/D�OHFWXUD�LQPHGLDWD�GH�XQD�HQWUDGD�I¯VLFD�VH�LQGLFD�LQWURGXFLHQGR���3��GHVSX«V�GHO�RIIVHW�,��S��HM����,����3����(Q�XQD�OHFWXUD�LQPHGLDWD��ORV�YDORUHV�GH�GDWRV�GH�ELW�VH�OHHQ�GLUHFWDPHQWH�GH�OD�HQWUDGD�I¯VLFD�\�QR�GH�OD�PHPRULD�LPDJHQ�GH�SURFHVR��/D�OHFWXUD�LQPHGLDWD�QR�DFWXDOL]D�OD�PHPRULD�LPDJHQ�GH�SURFHVR��

7DEOD������ 7LSRV�GH�GDWRV�SDUD�ORV�SDU£PHWURV�

3DU£PHWUR� 7LSR�GH�GDWRV� 'HVFULSFLµQ�,1� %RRO� %LW�DVLJQDGR�

Ⴠ� (O�FRQWDFWR�QRUPDOPHQWH�DELHUWR�VH�FLHUUD��21��FXDQGR�HO�YDORU�GH�ELW�DVLJQDGR�HV�LJXDO�D����

Ⴠ� (O�FRQWDFWR�QRUPDOPHQWH�FHUUDGR�VH�FLHUUD��21��FXDQGR�HO�YDORU�GH�ELW�DVLJQDGR�HV�LJXDO�D����

Ⴠ� /RV�FRQWDFWRV�FRQHFWDGRV�HQ�VHULH�FUHDQ�VHJPHQWRV�OµJLFRV�<��

Ⴠ� /RV�FRQWDFWRV�FRQHFWDGRV�HQ�SDUDOHOR�FUHDQ�VHJPHQWRV�OµJLFRV�2��

&RQWURODGRU�SURJUDPDEOH�6�������0DQXDO�GH�VLVWHPD�����������$�(������������ ����

,QVWUXFFLRQHV�E£VLFDV� ���� ,QVWUXFFLRQHV�OµJLFDV�FRQ�ELWV�

����� &RQWDFWRV�\�ERELQDV�HQ�LQVWUXFFLRQHV�OµJLFDV�FRQ�ELWV�.23�\�)83�UHVXOWDQ�PX\�HIHFWLYRV�SDUD�SURFHVDU�OµJLFD�ERROHDQD��3RU�RWUR�ODGR��DXQTXH�6&/�UHVXOWD�HVSHFLDOPHQWH�HIHFWLYR�SDUD�OD�FRPSXWDFLµQ�PDWHP£WLFD�FRPSOHMD�\�SDUD�HVWUXFWXUDV�GH�FRQWURO�GH�SUR\HFWRV��VH�SXHGH�XWLOL]DU�SDUD�OD�OµJLFD�ERROHDQD��

&RQWDFWRV�.23�

7DEOD������ &RQWDFWRV�QRUPDOPHQWH�DELHUWRV�\�QRUPDOPHQWH�FHUUDGRV�

.23� 6&/� 'HVFULSFLµQ�

IF in THEN Statement; ELSE Statement; END_IF;

IF NOT (in) THEN Statement; ELSE Statement; END_IF;

&RQWDFWRV�QRUPDOPHQWH�DELHUWRV�\�QRUPDOPHQWH�FHUUDGRV��/RV�FRQWDFWRV�VH�SXHGHQ�FRQHFWDU�D�RWURV�FRQWDFWRV��FUHDQGR�DV¯�XQD�OµJLFD�FRPELQDFLRQDO�SURSLD��6L�HO�ELW�GH�HQWUDGD�LQGLFDGR�XWLOL]D�HO�LGHQWLILFDGRU�GH�PHPRULD�,��HQWUDGD��R�4��VDOLGD���HO�YDORU�GH�ELW�VH�OHH�GH�OD�PHPRULD�LPDJHQ�GH�SURFHVR��/DV�VH³DOHV�GH�ORV�FRQWDFWRV�I¯VLFRV�GHO�SURFHVR�FRQWURODGR�VH�FDEOHDQ�FRQ�ORV�ERUQHV�GH�HQWUDGD�GHO�3/&��/D�&38�FRQVXOWD�ODV�VH³DOHV�GH�HQWUDGD�FDEOHDGDV�\�DFWXDOL]D�FRQWLQXDPHQWH�ORV�YDORUHV�GH�HVWDGR�FRUUHVSRQGLHQWHV�HQ�OD�PHPRULD�LPDJHQ�GH�SURFHVR�GH�ODV�HQWUDGDV������/D�OHFWXUD�LQPHGLDWD�GH�XQD�HQWUDGD�I¯VLFD�VH�LQGLFD�LQWURGXFLHQGR���3��GHVSX«V�GHO�RIIVHW�,��S��HM����,����3����(Q�XQD�OHFWXUD�LQPHGLDWD��ORV�YDORUHV�GH�GDWRV�GH�ELW�VH�OHHQ�GLUHFWDPHQWH�GH�OD�HQWUDGD�I¯VLFD�\�QR�GH�OD�PHPRULD�LPDJHQ�GH�SURFHVR��/D�OHFWXUD�LQPHGLDWD�QR�DFWXDOL]D�OD�PHPRULD�LPDJHQ�GH�SURFHVR��

7DEOD������ 7LSRV�GH�GDWRV�SDUD�ORV�SDU£PHWURV�

3DU£PHWUR� 7LSR�GH�GDWRV� 'HVFULSFLµQ�,1� %RRO� %LW�DVLJQDGR�

Ⴠ� (O�FRQWDFWR�QRUPDOPHQWH�DELHUWR�VH�FLHUUD��21��FXDQGR�HO�YDORU�GH�ELW�DVLJQDGR�HV�LJXDO�D����

Ⴠ� (O�FRQWDFWR�QRUPDOPHQWH�FHUUDGR�VH�FLHUUD��21��FXDQGR�HO�YDORU�GH�ELW�DVLJQDGR�HV�LJXDO�D����

Ⴠ� /RV�FRQWDFWRV�FRQHFWDGRV�HQ�VHULH�FUHDQ�VHJPHQWRV�OµJLFRV�<��

Ⴠ� /RV�FRQWDFWRV�FRQHFWDGRV�HQ�SDUDOHOR�FUHDQ�VHJPHQWRV�OµJLFRV�2��

Page 9: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  •  BOBINA  DE  RELÉ  •      La  instrucción  "Bobina  de  salida,  rele”  escribe  un  valor  en  un  bit  de  salida.  Si  el  bit  de  salida  indicado  uNliza  el  idenNficador  de  memoria  Q,  la  CPU  acNva  o  desacNva  el  bit  de  salida  en  la  memoria  imagen  de  proceso,  poniendo  el  bit  especificado  al  correspondiente  estado  de  flujo  de  corriente.    •    Si  fluye  corriente  a  través  de  una  bobina  de  salida,  el  bit  de  salida  se  pone  a  1.    

•  Si  no  fluye  corriente  a  través  de  una  bobina  de  salida,  el  bit  de  la  bobina  de  salida  se  pone  a  0.    

•  Si  fluye  corriente  a  través  de  una  bobina  de  rele  negada,  el  bit  de  salida  se  pone  a  0.    

•  Si  no  fluye  corriente  a  través  de  una  bobina  de  rele  negada,  el  bit  de  salida  se  pone  a  1.  

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

9  

9  

Programación cada vez más sencilla 6.3 Instrucciones eficaces que facilitan la programación

Easy Book 88 Manual de producto, 04/2011, A5E02486778-02

Bobina de relé, salida Bobina de relé negada

● Si fluye corriente a través de una bobina de salida, el bit de salida se pone a 1.

● Si no fluye corriente a través de una bobina de salida, el bit de la bobina de salida se pone a 0.

● Si fluye corriente a través de una bobina de relé negada, el bit de salida se pone a 0.

● Si no fluye corriente a través de una bobina de relé negada, el bit de salida se pone a 1.

La instrucción "Bobina de salida, relé" escribe un valor en un bit de salida. Si el bit de salida indicado utiliza el identificador de memoria Q, la CPU activa o desactiva el bit de salida en la memoria imagen de proceso, poniendo el bit especificado al correspondiente estado de flujo de corriente. Las señales de salida de los actuadores de control se cablean con los terminales de salida del PLC. En el modo RUN, el sistema CPU explora las señales de entrada, procesa los estados de entrada acorde con la lógica del programa de usuario, y a continuación reacciona aplicando nuevos estados lógicos de salida en la memoria imagen de proceso de las salidas. Tras cada ciclo del programa, la CPU transfiere el nuevo estado de las salidas almacenado en la memoria imagen de proceso a los bornes de salida cableados.

La escritura inmediata de una salida física se especifica introduciendo ":P" después de la variable de una salida (p. ej. "Motor_on:P" o "Q3.4:P"). En una escritura inmediata, los valores de datos de bit se escriben en la memoria imagen de proceso de las salidas y directamente en la salida física.

Las bobinas no tienen que estar necesariamente al final de un segmento. Se pueden insertar en el centro de un circuito del segmento KOP, entre contactos u otras instrucciones.

Contacto negado NOT (KOP)

Cuadro Y con una entrada lógica negada (FUP)

Cuadro Y con entrada y salida lógica negada (FUP)

El contacto NOT KOP invierte el estado lógico de la entrada de flujo de corriente.

● Si no fluye corriente al contacto NOT, hay flujo de corriente en la salida.

● Si fluye corriente al contacto NOT, no hay flujo de corriente en la salida.

En la programación FUP es posible arrastrar la función "Negar valor binario" desde la barra de herramientas "Favoritos" o desde el árbol de instrucciones y soltarla en una entrada o salida para crear un inversor lógico en ese conector del cuadro.

Cuadro Y (FUP) Cuadro O (FUP) Cuadro O-exclusiva (FUP)

Page 10: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  •  FUNCIONES  SET/RESET  •  La  acNvación  de  salidas  (áreas  de  memoria)  asociada  a  bobinas  sólo  se  manNene  durante  el  Nempo  que  dure  la  señal  acNvadora.  Es  posible  no  obstante  producir  un  cambio  permanente  en  el  área  de  memoria  con  sólo  un  flanco  posiNvo  de  señal  (cambio  de  0  a  1  en  la  alimentación  de  la  bobina)  mediante  la  función  SET.    

•  Una  vez  hecho  un  SET  de  una  salida  (área  de  memoria),  sólo  se  podra  desacNvar  haciendo  un  correspondiente  RESET,  ya  que  aunque  no  le  llegue  alimentación  a  la  función  SET,  la  salida  sobre  la  que  actuo  conNnuará  acNvada  en  tanto  no  se  realice  su  correspondiente  RESET.    

•  Existen  las  funciones  S_BF  y  R_BF,  que  permiten  poner  a  SET  o  a  RESET  un  bloque  de  bits  indicando  su  dirección  inicial  y  su  tamaño.    

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

10  

10  

,QVWUXFFLRQHV�E£VLFDV� �����,QVWUXFFLRQHV�OµJLFDV�FRQ�ELWV�

� &RQWURODGRU�SURJUDPDEOH�6����������� 0DQXDO�GH�VLVWHPD�����������$�(������������

7DEOD������ 7LSRV�GH�GDWRV�SDUD�ORV�SDU£PHWURV�

3DU£PHWUR� 7LSR�GH�GDWRV� 'HVFULSFLµQ�287� %RRO� %LW�DVLJQDGR�

Ⴠ� 6L�IOX\H�FRUULHQWH�D�WUDY«V�GH�XQD�ERELQD�GH�VDOLGD�R�VH�KDELOLWD�XQ�FXDGUR�)83�� ���HO�ELW�GH�VDOLGD�VH�SRQH�D����

Ⴠ� 6L�QR�IOX\H�FRUULHQWH�D�WUDY«V�GH�XQD�ERELQD�GH�VDOLGD�R�QR�VH�KDELOLWD�XQ�FXDGUR�GH�DVLJQDFLµQ�)83�� ���HO�ELW�GH�VDOLGD�VH�SRQH�D����

Ⴠ� 6L�IOX\H�FRUULHQWH�D�WUDY«V�GH�XQD�ERELQD�GH�VDOLGD�LQYHUWLGD�R�VH�KDELOLWD�XQ�FXDGUR�)83��� ���HO�ELW�GH�VDOLGD�VH�SRQH�D����

Ⴠ� 6L�QR�IOX\H�FRUULHQWH�D�WUDY«V�GH�XQD�ERELQD�GH�VDOLGD�LQYHUWLGD�R�QR�VH�KDELOLWD�XQ�FXDGUR�)83��� ���HO�ELW�GH�VDOLGD�VH�SRQH�D����

����� ,QVWUXFFLRQHV��$FWLYDU�VDOLGD��\��'HVDFWLYDU�VDOLGD��

$FWLYDU�\�GHVDFWLYDU���ELW�

7DEOD������ ,QVWUXFFLRQHV�6�\�5�

.23� )83� 6&/� 'HVFULSFLµQ�

� �

1R�GLVSRQLEOH� 6L�VH�DFWLYD�6��6HW��HO�YDORU�GH�GDWRV�GH�OD�GLUHFFLµQ�287�VH�SRQH�D����6L�6�QR�HV�HVW£�DFWLYDGR��287�QR�FDPELD��������

� �

1R�GLVSRQLEOH� 6L�VH�DFWLYD�5��5HVHW���HO�YDORU�GH�GDWRV�GH�OD�GLUHFFLµQ�GH�VDOLGD�287�VH�SRQH�D����6L�QR�VH�DFWLYD�5��QR�VH�PRGLILFD�287��

�� (Q�.23�\�)83��(VWDV�LQVWUXFFLRQHV�SXHGHQ�GLVSRQHUVH�HQ�FXDOTXLHU�SRVLFLµQ�GHO�VHJPHQWR���� (Q�6&/��(V�QHFHVDULR�HVFULELU�FµGLJR�SDUD�GXSOLFDU�HVWD�IXQFLµQ�HQ�OD�DSOLFDFLµQ���

7DEOD������ 7LSRV�GH�GDWRV�SDUD�ORV�SDU£PHWURV�

3DU£PHWUR� 7LSR�GH�GDWRV� 'HVFULSFLµQ�,1��R�FRQHFWDU�D�FRQWDFWR�OµJLFD�GH�SXHUWD�� %RRO� 'LUHFFLµQ�GH�ELW�TXH�GHEH�YLJLODUVH�287� %RRO� 'LUHFFLµQ�GH�ELW�TXH�VH�GHEH�DFWLYDU�R�GHVDFWLYDU�

,QVWUXFFLRQHV�E£VLFDV� �����,QVWUXFFLRQHV�OµJLFDV�FRQ�ELWV�

� &RQWURODGRU�SURJUDPDEOH�6����������� 0DQXDO�GH�VLVWHPD�����������$�(������������

7DEOD������ 7LSRV�GH�GDWRV�SDUD�ORV�SDU£PHWURV�

3DU£PHWUR� 7LSR�GH�GDWRV� 'HVFULSFLµQ�287� %RRO� %LW�DVLJQDGR�

Ⴠ� 6L�IOX\H�FRUULHQWH�D�WUDY«V�GH�XQD�ERELQD�GH�VDOLGD�R�VH�KDELOLWD�XQ�FXDGUR�)83�� ���HO�ELW�GH�VDOLGD�VH�SRQH�D����

Ⴠ� 6L�QR�IOX\H�FRUULHQWH�D�WUDY«V�GH�XQD�ERELQD�GH�VDOLGD�R�QR�VH�KDELOLWD�XQ�FXDGUR�GH�DVLJQDFLµQ�)83�� ���HO�ELW�GH�VDOLGD�VH�SRQH�D����

Ⴠ� 6L�IOX\H�FRUULHQWH�D�WUDY«V�GH�XQD�ERELQD�GH�VDOLGD�LQYHUWLGD�R�VH�KDELOLWD�XQ�FXDGUR�)83��� ���HO�ELW�GH�VDOLGD�VH�SRQH�D����

Ⴠ� 6L�QR�IOX\H�FRUULHQWH�D�WUDY«V�GH�XQD�ERELQD�GH�VDOLGD�LQYHUWLGD�R�QR�VH�KDELOLWD�XQ�FXDGUR�)83��� ���HO�ELW�GH�VDOLGD�VH�SRQH�D����

����� ,QVWUXFFLRQHV��$FWLYDU�VDOLGD��\��'HVDFWLYDU�VDOLGD��

$FWLYDU�\�GHVDFWLYDU���ELW�

7DEOD������ ,QVWUXFFLRQHV�6�\�5�

.23� )83� 6&/� 'HVFULSFLµQ�

� �

1R�GLVSRQLEOH� 6L�VH�DFWLYD�6��6HW��HO�YDORU�GH�GDWRV�GH�OD�GLUHFFLµQ�287�VH�SRQH�D����6L�6�QR�HV�HVW£�DFWLYDGR��287�QR�FDPELD��������

� �

1R�GLVSRQLEOH� 6L�VH�DFWLYD�5��5HVHW���HO�YDORU�GH�GDWRV�GH�OD�GLUHFFLµQ�GH�VDOLGD�287�VH�SRQH�D����6L�QR�VH�DFWLYD�5��QR�VH�PRGLILFD�287��

�� (Q�.23�\�)83��(VWDV�LQVWUXFFLRQHV�SXHGHQ�GLVSRQHUVH�HQ�FXDOTXLHU�SRVLFLµQ�GHO�VHJPHQWR���� (Q�6&/��(V�QHFHVDULR�HVFULELU�FµGLJR�SDUD�GXSOLFDU�HVWD�IXQFLµQ�HQ�OD�DSOLFDFLµQ���

7DEOD������ 7LSRV�GH�GDWRV�SDUD�ORV�SDU£PHWURV�

3DU£PHWUR� 7LSR�GH�GDWRV� 'HVFULSFLµQ�,1��R�FRQHFWDU�D�FRQWDFWR�OµJLFD�GH�SXHUWD�� %RRO� 'LUHFFLµQ�GH�ELW�TXH�GHEH�YLJLODUVH�287� %RRO� 'LUHFFLµQ�GH�ELW�TXH�VH�GHEH�DFWLYDU�R�GHVDFWLYDU�

� ,QVWUXFFLRQHV�E£VLFDV�� ����,QVWUXFFLRQHV�OµJLFDV�FRQ�ELWV�

&RQWURODGRU�SURJUDPDEOH�6�������0DQXDO�GH�VLVWHPD�����������$�(������������ ����

$FWLYDU�\�GHVDFWLYDU�PDSD�GH�ELWV�

7DEOD������� ,QVWUXFFLRQHV�6(7B%)�\�5(6(7B%)�

.23�� )83� 6&/� 'HVFULSFLµQ�

� �

1R�GLVSRQLEOH� &XDQGR�VH�DFWLYD�6(7B%)��HO�YDORU�GH�GDWRV���VH�DVLJQD�D��Q��ELWV��FRPHQ]DQGR�HQ�OD�GLUHFFLµQ�287��6L�6(7B%)�QR�VH�DFWLYD��287�QR�FDPELD��

� �

1R�GLVSRQLEOH� 5(6(7B%)�HVFULEH�HO�YDORU�GH�GDWRV���HQ��Q��ELWV��FRPHQ]DQGR�HQ�OD�GLUHFFLµQ�287��6L�5(6(7B%)�QR�VH�DFWLYD��287�QR�FDPELD��

�� (Q�.23�\�)83��(VWDV�LQVWUXFFLRQHV�VµOR�VH�SXHGHQ�GLVSRQHU�HQ�HO�H[WUHPR�GHUHFKR�GH�XQD�UDPD���� (Q�6&/��(V�QHFHVDULR�HVFULELU�FµGLJR�SDUD�GXSOLFDU�HVWD�IXQFLµQ�HQ�OD�DSOLFDFLµQ���

7DEOD������� 7LSRV�GH�GDWRV�SDUD�ORV�SDU£PHWURV�

3DU£PHWUR� 7LSR�GH�GDWRV� 'HVFULSFLµQ�287� %RRO� (OHPHQWR�LQLFLDO�GH�XQ�PDSD�GH�ELWV�TXH�VH�GHEH�DFWLYDU�R�

GHVDFWLYDU��HMHPSOR���0\$UUD\>�@��Q� &RQVWDQWH��8,QW�� 1¼PHUR�GH�ELWV�TXH�GHEHQ�HVFULELUVH�

)OLSIORS�GH�DFWLYDFLµQ�GHVDFWLYDFLµQ�\�IOLSIORS�GH�GHVDFWLYDFLµQ�DFWLYDFLµQ�

7DEOD������� ,QVWUXFFLRQHV�56�\�65�

.23���)83� 6&/� 'HVFULSFLµQ�

1R�GLVSRQLEOH� 56�HV�XQ�IOLSIORS�HQ�HO�TXH�GRPLQD�OD�DFWLYDFLµQ��6L�ODV�VH³DOHV�GH�DFWLYDFLµQ��6���\�GHVDFWLYDFLµQ��5��VRQ�YHUGDGHUDV��OD�GLUHFFLµQ�GH�VDOLGD�287�VH�SRQH�D����

1R�GLVSRQLEOH� 65�HV�XQ�IOLSIORS�HQ�HO�TXH�GRPLQD�OD�GHVDFWLYDFLµQ��6L�ODV�VH³DOHV�GH�DFWLYDFLµQ��6��\�GHVDFWLYDFLµQ��5���VRQ�YHUGDGHUDV��OD�GLUHFFLµQ�GH�VDOLGD�287�VH�SRQH�D����

�� (Q�.23�\�)83��(VWDV�LQVWUXFFLRQHV�VµOR�VH�SXHGHQ�GLVSRQHU�HQ�HO�H[WUHPR�GHUHFKR�GH�XQD�UDPD���� (Q�6&/��(V�QHFHVDULR�HVFULELU�FµGLJR�SDUD�GXSOLFDU�HVWD�IXQFLµQ�HQ�OD�DSOLFDFLµQ���

� ,QVWUXFFLRQHV�E£VLFDV�� ����,QVWUXFFLRQHV�OµJLFDV�FRQ�ELWV�

&RQWURODGRU�SURJUDPDEOH�6�������0DQXDO�GH�VLVWHPD�����������$�(������������ ����

$FWLYDU�\�GHVDFWLYDU�PDSD�GH�ELWV�

7DEOD������� ,QVWUXFFLRQHV�6(7B%)�\�5(6(7B%)�

.23�� )83� 6&/� 'HVFULSFLµQ�

� �

1R�GLVSRQLEOH� &XDQGR�VH�DFWLYD�6(7B%)��HO�YDORU�GH�GDWRV���VH�DVLJQD�D��Q��ELWV��FRPHQ]DQGR�HQ�OD�GLUHFFLµQ�287��6L�6(7B%)�QR�VH�DFWLYD��287�QR�FDPELD��

� �

1R�GLVSRQLEOH� 5(6(7B%)�HVFULEH�HO�YDORU�GH�GDWRV���HQ��Q��ELWV��FRPHQ]DQGR�HQ�OD�GLUHFFLµQ�287��6L�5(6(7B%)�QR�VH�DFWLYD��287�QR�FDPELD��

�� (Q�.23�\�)83��(VWDV�LQVWUXFFLRQHV�VµOR�VH�SXHGHQ�GLVSRQHU�HQ�HO�H[WUHPR�GHUHFKR�GH�XQD�UDPD���� (Q�6&/��(V�QHFHVDULR�HVFULELU�FµGLJR�SDUD�GXSOLFDU�HVWD�IXQFLµQ�HQ�OD�DSOLFDFLµQ���

7DEOD������� 7LSRV�GH�GDWRV�SDUD�ORV�SDU£PHWURV�

3DU£PHWUR� 7LSR�GH�GDWRV� 'HVFULSFLµQ�287� %RRO� (OHPHQWR�LQLFLDO�GH�XQ�PDSD�GH�ELWV�TXH�VH�GHEH�DFWLYDU�R�

GHVDFWLYDU��HMHPSOR���0\$UUD\>�@��Q� &RQVWDQWH��8,QW�� 1¼PHUR�GH�ELWV�TXH�GHEHQ�HVFULELUVH�

)OLSIORS�GH�DFWLYDFLµQ�GHVDFWLYDFLµQ�\�IOLSIORS�GH�GHVDFWLYDFLµQ�DFWLYDFLµQ�

7DEOD������� ,QVWUXFFLRQHV�56�\�65�

.23���)83� 6&/� 'HVFULSFLµQ�

1R�GLVSRQLEOH� 56�HV�XQ�IOLSIORS�HQ�HO�TXH�GRPLQD�OD�DFWLYDFLµQ��6L�ODV�VH³DOHV�GH�DFWLYDFLµQ��6���\�GHVDFWLYDFLµQ��5��VRQ�YHUGDGHUDV��OD�GLUHFFLµQ�GH�VDOLGD�287�VH�SRQH�D����

1R�GLVSRQLEOH� 65�HV�XQ�IOLSIORS�HQ�HO�TXH�GRPLQD�OD�GHVDFWLYDFLµQ��6L�ODV�VH³DOHV�GH�DFWLYDFLµQ��6��\�GHVDFWLYDFLµQ��5���VRQ�YHUGDGHUDV��OD�GLUHFFLµQ�GH�VDOLGD�287�VH�SRQH�D����

�� (Q�.23�\�)83��(VWDV�LQVWUXFFLRQHV�VµOR�VH�SXHGHQ�GLVSRQHU�HQ�HO�H[WUHPR�GHUHFKR�GH�XQD�UDPD���� (Q�6&/��(V�QHFHVDULR�HVFULELU�FµGLJR�SDUD�GXSOLFDU�HVWD�IXQFLµQ�HQ�OD�DSOLFDFLµQ���

Page 11: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

11  

•  EJEMPLO  

Page 12: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

12  

12  

•  AND(SERIE)  Y  OR(PARALELO)  

AND  

OR  

AND  

Page 13: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Ejemplos  de  programación  •  La  figura  siguiente  muestra  una  cinta  transportadora  que  se  pone  en  marcha  eléctricamente.  Al  principio  de  la  cinta  transportadora  se  encuentran  dos  pulsadores:  S1  para  MARCHA  y  S2  para  PARO.  Al  final  de  la  cinta  transportadora  se  encuentran  otros  dos  pulsadores:  S3  para  MARCHA  y  S4  para  PARO.  La  cinta  transportadora  puede  ponerse  en  marcha  o  pararse  desde  cualquiera  de  ambos  extremos.    

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

13  

13  

��� (MHPSORV�GH�SURJUDPDFLµQ

����� (MHPSORV�GH�SURJUDPDFLµQ�.23

������� (MHPSOR�GH�FRQWURO�GH�XQD�FLQWD�WUDQVSRUWDGRUD�

&RQWURO�GH�XQD�FLQWD�WUDQVSRUWDGRUD���/D�ILJXUD�VLJXLHQWH�PXHVWUD�XQD�FLQWD�WUDQVSRUWDGRUD�TXH�VH�SRQH�HQ�PDUFKD�HO«FWULFDPHQWH��$O�SULQFLSLR�GH�OD�FLQWD�WUDQVSRUWDGRUD�VH�HQFXHQWUDQ�GRV�SXOVDGRUHV��6��SDUD�0$5&+$�\�6��SDUD�3$52��$O�ILQDO�GH�OD�FLQWD�WUDQVSRUWDGRUD�VH�HQFXHQWUDQ�RWURV�GRV�SXOVDGRUHV��6��SDUD�0$5&+$�\�6��SDUD�3$52��/D�FLQWD�WUDQVSRUWDGRUD�SXHGH�SRQHUVH�HQ�PDUFKD�R�SDUDUVH�GHVGH�FXDOTXLHUD�GH�DPERV�H[WUHPRV�

5HDOL]DFLµQ/D�WDEOD�VLJXLHQWH�PXHVWUD�OD�GHILQLFLµQ�GH�ODV�YDULDEOHV�XWLOL]DGDV�

1RPEUH 7LSR�GH�GDWRV 'HVFULSFLµQ0DUFKDBL]TXLHUGD��6�� %22/ 3XOVDGRU�GH�PDUFKD�HQ�HO�

H[WUHPR�L]TXLHUGR�GH�OD�FLQWD�WUDQVSRUWDGRUD

3DURBL]TXLHUGD��6�� %22/ 3XOVDGRU�GH�SDUR�HQ�HO�H[WUHPR�L]TXLHUGR�GH�OD�FLQWD�WUDQVSRUWDGRUD

0DUFKDBGHUHFKD��6�� %22/ 3XOVDGRU�GH�PDUFKD�HQ�HO�H[WUHPR�GHUHFKR�GH�OD�FLQWD�WUDQVSRUWDGRUD

3DURBGHUHFKD��6�� %22/ 3XOVDGRU�GH�SDUR�HQ�HO�H[WUHPR�GHUHFKR�GH�OD�FLQWD�WUDQVSRUWDGRUD

02725B21 %22/ &RQHFWDU�HO�PRWRU�GH�OD�FLQWD�WUDQVSRUWDGRUD

3URJUDPDU�HO�3/&����(MHPSORV�GH�SURJUDPDFLµQ

67(3���%DVLF�9����0DQXDO�GH�VLVWHPD������������ ����

��� (MHPSORV�GH�SURJUDPDFLµQ

����� (MHPSORV�GH�SURJUDPDFLµQ�.23

������� (MHPSOR�GH�FRQWURO�GH�XQD�FLQWD�WUDQVSRUWDGRUD�

&RQWURO�GH�XQD�FLQWD�WUDQVSRUWDGRUD���/D�ILJXUD�VLJXLHQWH�PXHVWUD�XQD�FLQWD�WUDQVSRUWDGRUD�TXH�VH�SRQH�HQ�PDUFKD�HO«FWULFDPHQWH��$O�SULQFLSLR�GH�OD�FLQWD�WUDQVSRUWDGRUD�VH�HQFXHQWUDQ�GRV�SXOVDGRUHV��6��SDUD�0$5&+$�\�6��SDUD�3$52��$O�ILQDO�GH�OD�FLQWD�WUDQVSRUWDGRUD�VH�HQFXHQWUDQ�RWURV�GRV�SXOVDGRUHV��6��SDUD�0$5&+$�\�6��SDUD�3$52��/D�FLQWD�WUDQVSRUWDGRUD�SXHGH�SRQHUVH�HQ�PDUFKD�R�SDUDUVH�GHVGH�FXDOTXLHUD�GH�DPERV�H[WUHPRV�

5HDOL]DFLµQ/D�WDEOD�VLJXLHQWH�PXHVWUD�OD�GHILQLFLµQ�GH�ODV�YDULDEOHV�XWLOL]DGDV�

1RPEUH 7LSR�GH�GDWRV 'HVFULSFLµQ0DUFKDBL]TXLHUGD��6�� %22/ 3XOVDGRU�GH�PDUFKD�HQ�HO�

H[WUHPR�L]TXLHUGR�GH�OD�FLQWD�WUDQVSRUWDGRUD

3DURBL]TXLHUGD��6�� %22/ 3XOVDGRU�GH�SDUR�HQ�HO�H[WUHPR�L]TXLHUGR�GH�OD�FLQWD�WUDQVSRUWDGRUD

0DUFKDBGHUHFKD��6�� %22/ 3XOVDGRU�GH�PDUFKD�HQ�HO�H[WUHPR�GHUHFKR�GH�OD�FLQWD�WUDQVSRUWDGRUD

3DURBGHUHFKD��6�� %22/ 3XOVDGRU�GH�SDUR�HQ�HO�H[WUHPR�GHUHFKR�GH�OD�FLQWD�WUDQVSRUWDGRUD

02725B21 %22/ &RQHFWDU�HO�PRWRU�GH�OD�FLQWD�WUDQVSRUWDGRUD

3URJUDPDU�HO�3/&����(MHPSORV�GH�SURJUDPDFLµQ

67(3���%DVLF�9����0DQXDO�GH�VLVWHPD������������ ����

Page 14: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Ejemplos  de  programación  

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

14  

14  

/RV�VHJPHQWRV�VLJXLHQWHV�PXHVWUDQ�OD�SURJUDPDFLµQ�.23�SDUD�VROXFLRQDU�OD�WDUHD�

6HJPHQWR���

(O�PRWRU�GH�OD�FLQWD�WUDQVSRUWDGRUD�VH�FRQHFWD�FXDQGR�VH�DFFLRQD�HO�SXOVDGRU�GH�PDUFKD��6���R��6���

6HJPHQWR���

(O�PRWRU�GH�OD�FLQWD�WUDQVSRUWDGRUD�VH�GHVFRQHFWD�FXDQGR�VH�DFFLRQD�HO�SXOVDGRU�GH�SDUR��6���R��6���

������� (MHPSOR�GH�GHWHFFLµQ�GHO�VHQWLGR�GH�PDUFKD�GH�XQD�FLQWD�WUDQVSRUWDGRUD

'HWHFFLµQ�GHO�VHQWLGR�GH�PDUFKD�GH�XQD�FLQWD�WUDQVSRUWDGRUD�����/D�ILJXUD�PXHVWUD�XQD�FLQWD�WUDQVSRUWDGRUD�HTXLSDGD�FRQ�GRV�EDUUHUDV�IRWRHO«FWULFDV��%)��\�%)����/DV�EDUUHUDV�IRWRHO«FWULFDV�VLUYHQ�SDUD�GHWHUPLQDU�HQ�TX«�VHQWLGR�VH�GHVSOD]D�XQ�REMHWR�VREUH�OD�FLQWD�WUDQVSRUWDGRUD�

3URJUDPDU�HO�3/&����(MHPSORV�GH�SURJUDPDFLµQ

67(3���%DVLF�9�������� 0DQXDO�GH�VLVWHPD������������

Page 15: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Ejemplos  de  programación  

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

15  

15  

•  TAREA  DE  CONTROL  DE  UNA  PRENSA.  •  Una  prensa  con  disposiNvo  de  protección  solo  se  acNvará  con  un  pulsador  START  de  inicio  S3  si  está  cerrada  la  rejilla  

protectora.  Este  estado  se  vigila  con  un  sensor  de  rejilla  protectora  cerrada  B1.  •  Si  es  así,  se  acciona  una  válvula  distribuidora  5/2  M0  para  el  cilindro  de  la  prensa,  para  que  se  pueda  prensar  un  molde  de  

plásNco.  •  La  prensa  debe  elevarse  de  nuevo  al  accionar  el  pulsador  de  PARADA  DE  EMERGENCIA  (NC),  al  dejar  de  responder  el  sensor  

de  rejilla  protectora  B1  o  al  responder  el  sensor  de  cilindro  B2  reNrado.    

•  Lista  de  asignación:    Direcc          Símbolo    Comentario    %I  0.1        PARADA  EMERG  Pulsador  de  parada  de  emergencia  NC  %I  0.3          S3    Pulsador  de  inicio  S3  %I  0.4          B1    Sensor  rejilla  protectora  cerrada  %I  0.5          B2    Sensor  cilindro  reNrado  %Q  0.0        M0    Extraer  cilindro  A  

PARADA DE EMERGENCIA

Page 16: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  •  CONTACTO  NOT  •  El  contacto  NOT  KOP  invierte  el  estado  lógico  de  la  entrada  de  flujo  de  corriente.    •  Si  no  fluye  corriente  al  contacto  NOT,  hay  flujo  de  corriente  en  la  salida.    •  Si  fluye  corriente  al  contacto  NOT,  no  hay  flujo  de  corriente  en  la  salida.    

•  CONSULTA  DE  FLANCO  •  Todas  las  instrucciones  de  detección  de  flancos  uNlizan  una  marca  (M_BIT)  para  almacenar  el  estado  anterior  de  la  señal  de  entrada  que  se  está  vigilando.  Un  flanco  se  detecta  comparando  el  estado  de  la  entrada  con  el  estado  de  la  marca.  Si  los  estados  indican  un  cambio  de  la  entrada  en  el  senNdo  deseado,  se  noNfica  un  flanco  acNvando  la  salida  (TRUE).  De  lo  contrario,  se  desacNvará  la  salida  (FALSE).    

•  Contacto  P:  •  El  estado  de  este  contacto  es  TRUE  (verdadero)  cuando  se  detecta  un  flanco  

ascendente  (OFF  a  ON)  en  el  bit  "IN"  asignado.  El  estado  lógico  del  contacto  se  combina  entonces  con  el  estado  de  entrada  del  flujo  de  corriente  para  acNvar  el  estado  de  salida  del  flujo  de  corriente.  El  contacto  P  puede  disponerse  en  cualquier  posición  del  segmento,  excepto  al  final  de  una  rama.  

•  Contacto  N:  •  El  estado  de  este  contacto  es  TRUE  (verdadero)  cuando  se  detecta  un  flanco  

descendente  (ON  a  OFF)  en  el  bit  de  entrada  asignado.  El  estado  lógico  del  contacto  se  combina  entonces  con  el  estado  de  entrada  del  flujo  de  corriente  para  acNvar  el  estado  de  salida  del  flujo  de  corriente.  El  contacto  N  puede  disponerse  en  cualquier  posición  del  segmento,  excepto  al  final  de  una  rama.  

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

16  

16  

Programación cada vez más sencilla 6.3 Instrucciones eficaces que facilitan la programación

Easy Book 88 Manual de producto, 04/2011, A5E02486778-02

Bobina de relé, salida Bobina de relé negada

● Si fluye corriente a través de una bobina de salida, el bit de salida se pone a 1.

● Si no fluye corriente a través de una bobina de salida, el bit de la bobina de salida se pone a 0.

● Si fluye corriente a través de una bobina de relé negada, el bit de salida se pone a 0.

● Si no fluye corriente a través de una bobina de relé negada, el bit de salida se pone a 1.

La instrucción "Bobina de salida, relé" escribe un valor en un bit de salida. Si el bit de salida indicado utiliza el identificador de memoria Q, la CPU activa o desactiva el bit de salida en la memoria imagen de proceso, poniendo el bit especificado al correspondiente estado de flujo de corriente. Las señales de salida de los actuadores de control se cablean con los terminales de salida del PLC. En el modo RUN, el sistema CPU explora las señales de entrada, procesa los estados de entrada acorde con la lógica del programa de usuario, y a continuación reacciona aplicando nuevos estados lógicos de salida en la memoria imagen de proceso de las salidas. Tras cada ciclo del programa, la CPU transfiere el nuevo estado de las salidas almacenado en la memoria imagen de proceso a los bornes de salida cableados.

La escritura inmediata de una salida física se especifica introduciendo ":P" después de la variable de una salida (p. ej. "Motor_on:P" o "Q3.4:P"). En una escritura inmediata, los valores de datos de bit se escriben en la memoria imagen de proceso de las salidas y directamente en la salida física.

Las bobinas no tienen que estar necesariamente al final de un segmento. Se pueden insertar en el centro de un circuito del segmento KOP, entre contactos u otras instrucciones.

Contacto negado NOT (KOP)

Cuadro Y con una entrada lógica negada (FUP)

Cuadro Y con entrada y salida lógica negada (FUP)

El contacto NOT KOP invierte el estado lógico de la entrada de flujo de corriente.

● Si no fluye corriente al contacto NOT, hay flujo de corriente en la salida.

● Si fluye corriente al contacto NOT, no hay flujo de corriente en la salida.

En la programación FUP es posible arrastrar la función "Negar valor binario" desde la barra de herramientas "Favoritos" o desde el árbol de instrucciones y soltarla en una entrada o salida para crear un inversor lógico en ese conector del cuadro.

Cuadro Y (FUP) Cuadro O (FUP) Cuadro O-exclusiva (FUP)

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 Manual de sistema, 11/2009, A5E02486683-02 109

6.1.1.2 Instrucciones "Consultar flanco de señal ascendente de un operando" y "Consultar flanco de señal descendente de un operando"

Consultar flanco de señal ascendente de un operando y Consultar flanco de señal descendente de un operando

Contacto P: KOP Contacto N: KOP Cuadro P: FUP Cuadro N: FUP

Bobina P: KOP Bobina N: KOP Cuadro P=: FUP Cuadro N=: FUP

P_TRIG: KOP/FUP N_TRIG: KOP/FUP

Parámetro Tipo de

datos Descripción

M_BIT Bool Marca en la que se almacena el estado anterior de la entrada IN Bool Bit de entrada cuyo flanco debe detectarse OUT Bool Bit de salida que indica que se ha detectado un flanco CLK Bool Flujo de corriente o bit de entrada cuyo flanco debe detectarse Q Bool Salida que indica que se ha detectado un flanco

Contacto P: KOP

El estado de este contacto es TRUE (verdadero) cuando se detecta un flanco ascendente (OFF a ON) en el bit "IN" asignado. El estado lógico del contacto se combina entonces con el estado de entrada del flujo de corriente para activar el estado de salida del flujo de corriente. El contacto P puede disponerse en cualquier posición del segmento, excepto al final de una rama.

Contacto N: KOP

El estado de este contacto es TRUE (verdadero) cuando se detecta un flanco descendente (ON a OFF) en el bit de entrada asignado. El estado lógico del contacto se combina entonces con el estado de entrada del flujo de corriente para activar el estado de salida del flujo de corriente. El contacto N puede disponerse en cualquier posición del segmento, excepto al final de una rama.

Page 17: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  •  CONSULTA  DE  FLANCO  •  Bobina  P:  

•  El  bit  asignado  "OUT"  es  TRUE  (verdadero)  cuando  se  detecta  un  flanco  ascendente  (OFF  a  ON)  en  el  flujo  de  corriente  que  entra  a  la  bobina.  El  estado  de  entrada  del  flujo  de  corriente  atraviesa  la  bobina  como  el  estado  de  salida  del  flujo  de  corriente.  La  bobina  P  puede  disponerse  en  cualquier  posición  del  segmento.    

•  Bobina  N:  •  El  bit  asignado  "OUT"  es  TRUE  (verdadero)  cuando  se  detecta  un  flanco  descendente  (ON  a  OFF)  en  el  flujo  de  corriente  que  entra  a  la  bobina.  El  estado  de  entrada  del  flujo  de  corriente  atraviesa  la  bobina  como  el  estado  de  salida  del  flujo  de  corriente.  La  bobina  N  puede  disponerse  en  cualquier  posición  del  segmento.    

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

17  

17  

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 Manual de sistema, 11/2009, A5E02486683-02 109

6.1.1.2 Instrucciones "Consultar flanco de señal ascendente de un operando" y "Consultar flanco de señal descendente de un operando"

Consultar flanco de señal ascendente de un operando y Consultar flanco de señal descendente de un operando

Contacto P: KOP Contacto N: KOP Cuadro P: FUP Cuadro N: FUP

Bobina P: KOP Bobina N: KOP Cuadro P=: FUP Cuadro N=: FUP

P_TRIG: KOP/FUP N_TRIG: KOP/FUP

Parámetro Tipo de

datos Descripción

M_BIT Bool Marca en la que se almacena el estado anterior de la entrada IN Bool Bit de entrada cuyo flanco debe detectarse OUT Bool Bit de salida que indica que se ha detectado un flanco CLK Bool Flujo de corriente o bit de entrada cuyo flanco debe detectarse Q Bool Salida que indica que se ha detectado un flanco

Contacto P: KOP

El estado de este contacto es TRUE (verdadero) cuando se detecta un flanco ascendente (OFF a ON) en el bit "IN" asignado. El estado lógico del contacto se combina entonces con el estado de entrada del flujo de corriente para activar el estado de salida del flujo de corriente. El contacto P puede disponerse en cualquier posición del segmento, excepto al final de una rama.

Contacto N: KOP

El estado de este contacto es TRUE (verdadero) cuando se detecta un flanco descendente (ON a OFF) en el bit de entrada asignado. El estado lógico del contacto se combina entonces con el estado de entrada del flujo de corriente para activar el estado de salida del flujo de corriente. El contacto N puede disponerse en cualquier posición del segmento, excepto al final de una rama.

Page 18: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  •  INSTRUCCIONES  DE  COMPARACIÓN  

•  Las  instrucciones  de  comparación  se  uNlizan  para  comparar  dos  valores  de  un  mismo  Npo  de  datos.  Si  la  comparación  de  contactos  KOP  es  TRUE  (verdadera),  se  acNva  el  contacto.  Si  la  comparación  de  cuadros  FUP  es  TRUE  (verdadera),  la  salida  del  cuadro  es  TRUE.    

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

18  

18  

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 126 Manual de sistema, 11/2009, A5E02486683-02

6.1.4 Comparación

KOP FUP

Las instrucciones de comparación se utilizan para comparar dos valores de un mismo tipo de datos. Si la comparación de contactos KOP es TRUE (verdadera), se activa el contacto. Si la comparación de cuadros FUP es TRUE (verdadera), la salida del cuadro es TRUE.

Tras hacer clic en la instrucción en el editor de programación, es posible seleccionar el tipo de comparación y el tipo de datos en las listas desplegables respectivas. Tipo de relación La comparación se cumple si:

== IN1 es igual a IN2 <> IN1 es diferente de IN2 >= IN1 es mayor o igual a IN2 <= IN1 es menor o igual a IN2 > IN1 es mayor que IN2 < IN1 es menor que IN2

Parámetro Tipo de datos Descripción IN1, IN2 SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal,

String, Char, Time, DTL, constante Valores que deben compararse

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 126 Manual de sistema, 11/2009, A5E02486683-02

6.1.4 Comparación

KOP FUP

Las instrucciones de comparación se utilizan para comparar dos valores de un mismo tipo de datos. Si la comparación de contactos KOP es TRUE (verdadera), se activa el contacto. Si la comparación de cuadros FUP es TRUE (verdadera), la salida del cuadro es TRUE.

Tras hacer clic en la instrucción en el editor de programación, es posible seleccionar el tipo de comparación y el tipo de datos en las listas desplegables respectivas. Tipo de relación La comparación se cumple si:

== IN1 es igual a IN2 <> IN1 es diferente de IN2 >= IN1 es mayor o igual a IN2 <= IN1 es menor o igual a IN2 > IN1 es mayor que IN2 < IN1 es menor que IN2

Parámetro Tipo de datos Descripción IN1, IN2 SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal,

String, Char, Time, DTL, constante Valores que deben compararse

Page 19: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  •  TEMPORIZADORES  •  Todos  los  temporizadores  Nenen  base  de  Nempo  de  1ms,  por  lo  que  el  valor  de  Nempo  puede  introducirse  directamente  independientemente  del  número  de  temporizador.    

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

19  

19  

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 112 Manual de sistema, 11/2009, A5E02486683-02

6.1.2 Temporizadores Las instrucciones con temporizadores se utilizan para crear retardos programados: ● TP: El temporizador Impulso genera un impulso con una duración predeterminada. ● TON: La salida Q del temporizador de retardo al conectar se activa al cabo de un tiempo

de retardo predeterminado. ● TOF: La salida Q del temporizador de retardo al desconectar se desactiva al cabo de un

tiempo de retardo predeterminado. ● TONR: La salida Q del acumulador de tiempo se activa al cabo de un tiempo de retardo

predeterminado. El tiempo transcurrido se acumula a lo largo de varios periodos de temporización hasta que la entrada R inicializa el tiempo transcurrido.

● RT: Inicializa un temporizador borrando los datos de tiempo almacenados en el bloque de datos instancia del temporizador indicado.

Todos los temporizadores utilizan una estructura almacenada en un bloque de datos para mantener los datos. El bloque de datos se asigna al colocar la instrucción de temporización en el editor. Al colocar instrucciones de temporización en un bloque de función es posible seleccionar la opción de bloque de datos multiinstancia. Los nombres de estructura de los temporizadores pueden diferir en las distintas estructuras, pero los datos de los temporizadores se encuentran en un bloque de datos individual y no requieren un bloque de datos propio para cada temporizador. Esto reduce el tiempo de procesamiento y la memoria de datos necesaria para gestionar los temporizadores. No hay interacción entre las estructuras de datos de los temporizadores en el bloque de datos multiinstancia compartido.

Los temporizadores TP, TON y TOF tienen los mismos parámetros de entrada y salida.

El temporizador TONR dispone adicionalmente de la entrada de reset R.Cree un "Nombre de temporizador" propio para designar el bloque de datos temporizador y describir el objetivo de este temporizador en el proceso.

"Nombre de temporizador" ----[ RT ]----

La instrucción RT inicializa el tiempo del temporizador indicado.

Parámetro Tipo de datos Descripción IN Bool Habilitar entrada del temporizador R Bool Poner a cero el tiempo transcurrido de TONR PT Bool Entrada que indica el tiempo predeterminado Q Bool Salida del temporizador ET Time Salida que indica el tiempo transcurrido Bloque de datos temporizador

DB Indica qué temporizador debe inicializarse con la instrucción RT

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 114 Manual de sistema, 11/2009, A5E02486683-02

Valores TIME Los valores PT (tiempo predeterminado) y ET (tiempo transcurrido) se almacenan en la memoria como enteros dobles con signo que representan milisegundos. Los datos TIME utilizan el identificador T# y pueden introducirse como unidad de tiempo simple "T#200ms" o como unidades de tiempo compuestas "T#2s_200ms". Tipo de datos

Tamaño Rangos válidos

TIME 32 bits Almacenado

como

T#-24d_20h_31m_23s_648ms hastaT#24d_20h_31m_23s_647ms -2.147.483.648 ms hasta +2.147.483.647 ms

Nota El rango negativo del tipo de datos TIME indicado arriba no puede utilizarse con las instrucciones de temporización. Los valores PT (tiempo predeterminado) negativos se ponen a cero cuando se ejecuta la instrucción de temporización. ET (tiempo transcurrido) es siempre un valor positivo.

TP: Cronograma de impulsos

TON: Cronograma de retardo al conectar

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 112 Manual de sistema, 11/2009, A5E02486683-02

6.1.2 Temporizadores Las instrucciones con temporizadores se utilizan para crear retardos programados: ● TP: El temporizador Impulso genera un impulso con una duración predeterminada. ● TON: La salida Q del temporizador de retardo al conectar se activa al cabo de un tiempo

de retardo predeterminado. ● TOF: La salida Q del temporizador de retardo al desconectar se desactiva al cabo de un

tiempo de retardo predeterminado. ● TONR: La salida Q del acumulador de tiempo se activa al cabo de un tiempo de retardo

predeterminado. El tiempo transcurrido se acumula a lo largo de varios periodos de temporización hasta que la entrada R inicializa el tiempo transcurrido.

● RT: Inicializa un temporizador borrando los datos de tiempo almacenados en el bloque de datos instancia del temporizador indicado.

Todos los temporizadores utilizan una estructura almacenada en un bloque de datos para mantener los datos. El bloque de datos se asigna al colocar la instrucción de temporización en el editor. Al colocar instrucciones de temporización en un bloque de función es posible seleccionar la opción de bloque de datos multiinstancia. Los nombres de estructura de los temporizadores pueden diferir en las distintas estructuras, pero los datos de los temporizadores se encuentran en un bloque de datos individual y no requieren un bloque de datos propio para cada temporizador. Esto reduce el tiempo de procesamiento y la memoria de datos necesaria para gestionar los temporizadores. No hay interacción entre las estructuras de datos de los temporizadores en el bloque de datos multiinstancia compartido.

Los temporizadores TP, TON y TOF tienen los mismos parámetros de entrada y salida.

El temporizador TONR dispone adicionalmente de la entrada de reset R.Cree un "Nombre de temporizador" propio para designar el bloque de datos temporizador y describir el objetivo de este temporizador en el proceso.

"Nombre de temporizador" ----[ RT ]----

La instrucción RT inicializa el tiempo del temporizador indicado.

Parámetro Tipo de datos Descripción IN Bool Habilitar entrada del temporizador R Bool Poner a cero el tiempo transcurrido de TONR PT Bool Entrada que indica el tiempo predeterminado Q Bool Salida del temporizador ET Time Salida que indica el tiempo transcurrido Bloque de datos temporizador

DB Indica qué temporizador debe inicializarse con la instrucción RT

Page 20: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  •  TEMPORIZADORES  •  Todos  los  temporizadores  uNlizan  una  estructura  almacenada  en  un  bloque  de  datos  para  mantener  los  datos.  El  bloque  de  datos  se  asigna  al  colocar  la  instrucción  de  temporización  en  el  editor.    

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

20  

20  

Page 21: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  •  TEMPORIZADORES  •  TP:  El  temporizador  Impulso  genera  un  impulso  con  una  duración  predeterminada.    

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

21  

21  

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 112 Manual de sistema, 11/2009, A5E02486683-02

6.1.2 Temporizadores Las instrucciones con temporizadores se utilizan para crear retardos programados: ● TP: El temporizador Impulso genera un impulso con una duración predeterminada. ● TON: La salida Q del temporizador de retardo al conectar se activa al cabo de un tiempo

de retardo predeterminado. ● TOF: La salida Q del temporizador de retardo al desconectar se desactiva al cabo de un

tiempo de retardo predeterminado. ● TONR: La salida Q del acumulador de tiempo se activa al cabo de un tiempo de retardo

predeterminado. El tiempo transcurrido se acumula a lo largo de varios periodos de temporización hasta que la entrada R inicializa el tiempo transcurrido.

● RT: Inicializa un temporizador borrando los datos de tiempo almacenados en el bloque de datos instancia del temporizador indicado.

Todos los temporizadores utilizan una estructura almacenada en un bloque de datos para mantener los datos. El bloque de datos se asigna al colocar la instrucción de temporización en el editor. Al colocar instrucciones de temporización en un bloque de función es posible seleccionar la opción de bloque de datos multiinstancia. Los nombres de estructura de los temporizadores pueden diferir en las distintas estructuras, pero los datos de los temporizadores se encuentran en un bloque de datos individual y no requieren un bloque de datos propio para cada temporizador. Esto reduce el tiempo de procesamiento y la memoria de datos necesaria para gestionar los temporizadores. No hay interacción entre las estructuras de datos de los temporizadores en el bloque de datos multiinstancia compartido.

Los temporizadores TP, TON y TOF tienen los mismos parámetros de entrada y salida.

El temporizador TONR dispone adicionalmente de la entrada de reset R.Cree un "Nombre de temporizador" propio para designar el bloque de datos temporizador y describir el objetivo de este temporizador en el proceso.

"Nombre de temporizador" ----[ RT ]----

La instrucción RT inicializa el tiempo del temporizador indicado.

Parámetro Tipo de datos Descripción IN Bool Habilitar entrada del temporizador R Bool Poner a cero el tiempo transcurrido de TONR PT Bool Entrada que indica el tiempo predeterminado Q Bool Salida del temporizador ET Time Salida que indica el tiempo transcurrido Bloque de datos temporizador

DB Indica qué temporizador debe inicializarse con la instrucción RT

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 114 Manual de sistema, 11/2009, A5E02486683-02

Valores TIME Los valores PT (tiempo predeterminado) y ET (tiempo transcurrido) se almacenan en la memoria como enteros dobles con signo que representan milisegundos. Los datos TIME utilizan el identificador T# y pueden introducirse como unidad de tiempo simple "T#200ms" o como unidades de tiempo compuestas "T#2s_200ms". Tipo de datos

Tamaño Rangos válidos

TIME 32 bits Almacenado

como

T#-24d_20h_31m_23s_648ms hastaT#24d_20h_31m_23s_647ms -2.147.483.648 ms hasta +2.147.483.647 ms

Nota El rango negativo del tipo de datos TIME indicado arriba no puede utilizarse con las instrucciones de temporización. Los valores PT (tiempo predeterminado) negativos se ponen a cero cuando se ejecuta la instrucción de temporización. ET (tiempo transcurrido) es siempre un valor positivo.

TP: Cronograma de impulsos

TON: Cronograma de retardo al conectar

Page 22: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  •  TEMPORIZADORES  •  TON:  La  salida  Q  del  temporizador  de  retardo  al  conectar  se  acNva  al  cabo  de  un  Nempo  de  retardo  predeterminado.    

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

22  

22  

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 114 Manual de sistema, 11/2009, A5E02486683-02

Valores TIME Los valores PT (tiempo predeterminado) y ET (tiempo transcurrido) se almacenan en la memoria como enteros dobles con signo que representan milisegundos. Los datos TIME utilizan el identificador T# y pueden introducirse como unidad de tiempo simple "T#200ms" o como unidades de tiempo compuestas "T#2s_200ms". Tipo de datos

Tamaño Rangos válidos

TIME 32 bits Almacenado

como

T#-24d_20h_31m_23s_648ms hastaT#24d_20h_31m_23s_647ms -2.147.483.648 ms hasta +2.147.483.647 ms

Nota El rango negativo del tipo de datos TIME indicado arriba no puede utilizarse con las instrucciones de temporización. Los valores PT (tiempo predeterminado) negativos se ponen a cero cuando se ejecuta la instrucción de temporización. ET (tiempo transcurrido) es siempre un valor positivo.

TP: Cronograma de impulsos

TON: Cronograma de retardo al conectar

Page 23: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  •  TEMPORIZADORES  •  TOF:  La  salida  Q  del  temporizador  de  retardo  al  desconectar  se  desacNva  al  cabo  de  un  Nempo  de  retardo  predeterminado.    •  Si  IN  cambia  a  TRUE  durante  el  funcionamiento  del  temporizador,  éste  se  inicializará  y  se  detendra.    

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

23  

23  

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 Manual de sistema, 11/2009, A5E02486683-02 115

TOF: Cronograma de retardo al desconectar

TONR: Cronograma del acumulador de tiempo

� ,QVWUXFFLRQHV�E£VLFDV�� ����7HPSRUL]DGRUHV�

&RQWURODGRU�SURJUDPDEOH�6�������0DQXDO�GH�VLVWHPD�����������$�(������������ ����

��� 7HPSRUL]DGRUHV�/DV�LQVWUXFFLRQHV�FRQ�WHPSRUL]DGRUHV�VH�XWLOL]DQ�SDUD�FUHDU�UHWDUGRV�SURJUDPDGRV��(O�Q¼PHUR�GH�WHPSRUL]DGRUHV�TXH�SXHGHQ�XWLOL]DUVH�HQ�HO�SURJUDPD�GH�XVXDULR�HVW£�OLPLWDGR�VµOR�SRU�OD�FDQWLGDG�GH�PHPRULD�GLVSRQLEOH�HQ�OD�&38��&DGD�WHPSRUL]DGRU�XWLOL]D�XQD�HVWUXFWXUD�GH�'%�GHO�WLSR�GH�GDWRV�,(&B7LPHU�GH����E\WHV�SDUD�JXDUGDU�OD�LQIRUPDFLµQ�GHO�WHPSRUL]DGRU�HVSHFLILFDGD�HQFLPD�GH�OD�LQVWUXFFLµQ�GH�FXDGUR�R�ERELQD��67(3���FUHD�DXWRP£WLFDPHQWH�HO�'%�DO�LQWURGXFLU�OD�LQVWUXFFLµQ���������������������

7DEOD������� ,QVWUXFFLRQHV�FRQ�WHPSRUL]DGRUHV�

&XDGURV�.23���)83� %RELQDV�.23�

6&/� 'HVFULSFLµQ�

"IEC_Timer_0_DB".TP( IN:=_bool_in_, PT:=_time_in_, Q=>_bool_out_, ET=>_time_out_);

(O�WHPSRUL]DGRU�73�JHQHUD�XQ�LPSXOVR�FRQ�XQD�GXUDFLµQ�SUHGHWHUPLQDGD���

"IEC_Timer_0_DB".TON ( IN:=_bool_in_, PT:=_time_in_, Q=>_bool_out_, ET=>_time_out_);

(O�WHPSRUL]DGRU�721�SRQH�OD�VDOLGD�4�D�21�WUDV�XQ�WLHPSR�GH�UHWDUGR�SUHGHWHUPLQDGR���

"IEC_Timer_0_DB".TOF ( IN:=_bool_in_, PT:=_time_in_, Q=>_bool_out_, ET=>_time_out_);

(O�WHPSRUL]DGRU�72)�SRQH�OD�VDOLGD�4�D�2))�WUDV�XQ�WLHPSR�GH�UHWDUGR�SUHGHWHUPLQDGR���

"IEC_Timer_0_DB".TONR ( IN:=_bool_in_, R:=_bool_in_ PT:=_time_in_, Q=>_bool_out_, ET=>_time_out_);

(O�WHPSRUL]DGRU�7215�SRQH�OD�VDOLGD�4�D�21�WUDV�XQ�WLHPSR�GH�UHWDUGR�SUHGHWHUPLQDGR���(O�WLHPSR�WUDQVFXUULGR�VH�DFXPXOD�D�OR�ODUJR�GH�YDULRV�SHULRGRV�GH�WHPSRUL]DFLµQ�KDVWD�TXH�OD�HQWUDGD�5�LQLFLDOL]D�HO�WLHPSR�WUDQVFXUULGR��

6µOR�)83���

�6LQ�HTXLYDOHQFLD�HQ�6&/�� /D�ERELQD�37��&DUJDU�WHPSRUL]DGRU��FDUJD�XQ�QXHYR�YDORU�GH�WLHPSR�35(6(7��SUHGHWHUPLQDGR��HQ�HO�,(&B7LPHU�HVSHFLILFDGR��

6µOR�)83���

��

�6LQ�HTXLYDOHQFLD�HQ�6&/�� /D�ERELQD�57��,QLFLDOL]DU�WHPSRUL]DGRU��LQLFLDOL]D�HO�,(&B7LPHU�HVSHFLILFDGR��

�� 67(3���FUHD�HO�'%�DXWRP£WLFDPHQWH�DO�LQVHUWDU�OD�LQVWUXFFLµQ����� (Q�ORV�HMHPSORV�6&/���,(&B7LPHUB�B'%��HV�HO�QRPEUH�GHO�'%�GH�LQVWDQFLD���

Page 24: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  •  TEMPORIZADORES  •  TONR:  La  salida  Q  del  acumulador  de  Nempo  se  acNva  al  cabo  de  un  Nempo  de  retardo  predeterminado.  El  Nempo  transcurrido  se  acumula  a  lo  largo  de  varios  periodos  de  temporización  hasta  que  la  entrada  R  inicializa  el  Nempo  transcurrido.    •  Si  IN  cambia  a  FALSE  durante  el  funcionamiento  del  temporizador,  éste  se  detendrá  pero  no  se  inicializará.  Si  IN  vuelve  a  cambiar  a  TRUE,  el  temporizador  comenzará  a  contar  desde  el  valor  de  Nempo  acumulado.    

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

24  

24  

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 Manual de sistema, 11/2009, A5E02486683-02 115

TOF: Cronograma de retardo al desconectar

TONR: Cronograma del acumulador de tiempo

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 112 Manual de sistema, 11/2009, A5E02486683-02

6.1.2 Temporizadores Las instrucciones con temporizadores se utilizan para crear retardos programados: ● TP: El temporizador Impulso genera un impulso con una duración predeterminada. ● TON: La salida Q del temporizador de retardo al conectar se activa al cabo de un tiempo

de retardo predeterminado. ● TOF: La salida Q del temporizador de retardo al desconectar se desactiva al cabo de un

tiempo de retardo predeterminado. ● TONR: La salida Q del acumulador de tiempo se activa al cabo de un tiempo de retardo

predeterminado. El tiempo transcurrido se acumula a lo largo de varios periodos de temporización hasta que la entrada R inicializa el tiempo transcurrido.

● RT: Inicializa un temporizador borrando los datos de tiempo almacenados en el bloque de datos instancia del temporizador indicado.

Todos los temporizadores utilizan una estructura almacenada en un bloque de datos para mantener los datos. El bloque de datos se asigna al colocar la instrucción de temporización en el editor. Al colocar instrucciones de temporización en un bloque de función es posible seleccionar la opción de bloque de datos multiinstancia. Los nombres de estructura de los temporizadores pueden diferir en las distintas estructuras, pero los datos de los temporizadores se encuentran en un bloque de datos individual y no requieren un bloque de datos propio para cada temporizador. Esto reduce el tiempo de procesamiento y la memoria de datos necesaria para gestionar los temporizadores. No hay interacción entre las estructuras de datos de los temporizadores en el bloque de datos multiinstancia compartido.

Los temporizadores TP, TON y TOF tienen los mismos parámetros de entrada y salida.

El temporizador TONR dispone adicionalmente de la entrada de reset R.Cree un "Nombre de temporizador" propio para designar el bloque de datos temporizador y describir el objetivo de este temporizador en el proceso.

"Nombre de temporizador" ----[ RT ]----

La instrucción RT inicializa el tiempo del temporizador indicado.

Parámetro Tipo de datos Descripción IN Bool Habilitar entrada del temporizador R Bool Poner a cero el tiempo transcurrido de TONR PT Bool Entrada que indica el tiempo predeterminado Q Bool Salida del temporizador ET Time Salida que indica el tiempo transcurrido Bloque de datos temporizador

DB Indica qué temporizador debe inicializarse con la instrucción RT

Page 25: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  •  TEMPORIZADORES  •  RT:  Inicializa  un  temporizador  borrando  los  datos  de  Nempo  almacenados  en  el  bloque  de  datos  instancia  del  temporizador  indicado.    

•  EJEMPLO  1  DE  UTILIZACION  DE  TEMPORIZADORES  •  AcMvación  directa  de  una  salida  una  vez  transcurrido  un  Mempo.  

•  Un  uso  inmediato  de  los  temporizadores,  consiste  en  uNlizar  la  salida  Q,  de  Npo  binario,  para  acNvar    de  forma  directa,  una  vez  que  se  ha  superado  el  Nempo  de  preselección  PT,  elementos  de  programación  en  formato  de  bit  como  salidas,  marcas  o  cualquier  otra  combinación  lógica.  

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

25  

25  

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 112 Manual de sistema, 11/2009, A5E02486683-02

6.1.2 Temporizadores Las instrucciones con temporizadores se utilizan para crear retardos programados: ● TP: El temporizador Impulso genera un impulso con una duración predeterminada. ● TON: La salida Q del temporizador de retardo al conectar se activa al cabo de un tiempo

de retardo predeterminado. ● TOF: La salida Q del temporizador de retardo al desconectar se desactiva al cabo de un

tiempo de retardo predeterminado. ● TONR: La salida Q del acumulador de tiempo se activa al cabo de un tiempo de retardo

predeterminado. El tiempo transcurrido se acumula a lo largo de varios periodos de temporización hasta que la entrada R inicializa el tiempo transcurrido.

● RT: Inicializa un temporizador borrando los datos de tiempo almacenados en el bloque de datos instancia del temporizador indicado.

Todos los temporizadores utilizan una estructura almacenada en un bloque de datos para mantener los datos. El bloque de datos se asigna al colocar la instrucción de temporización en el editor. Al colocar instrucciones de temporización en un bloque de función es posible seleccionar la opción de bloque de datos multiinstancia. Los nombres de estructura de los temporizadores pueden diferir en las distintas estructuras, pero los datos de los temporizadores se encuentran en un bloque de datos individual y no requieren un bloque de datos propio para cada temporizador. Esto reduce el tiempo de procesamiento y la memoria de datos necesaria para gestionar los temporizadores. No hay interacción entre las estructuras de datos de los temporizadores en el bloque de datos multiinstancia compartido.

Los temporizadores TP, TON y TOF tienen los mismos parámetros de entrada y salida.

El temporizador TONR dispone adicionalmente de la entrada de reset R.Cree un "Nombre de temporizador" propio para designar el bloque de datos temporizador y describir el objetivo de este temporizador en el proceso.

"Nombre de temporizador" ----[ RT ]----

La instrucción RT inicializa el tiempo del temporizador indicado.

Parámetro Tipo de datos Descripción IN Bool Habilitar entrada del temporizador R Bool Poner a cero el tiempo transcurrido de TONR PT Bool Entrada que indica el tiempo predeterminado Q Bool Salida del temporizador ET Time Salida que indica el tiempo transcurrido Bloque de datos temporizador

DB Indica qué temporizador debe inicializarse con la instrucción RT

Page 26: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  •  EJEMPLO  2  DE  UTILIZACION  DE  TEMPORIZADORES  

•  Asociación  de  contactos  a  un  temporizador.  •  Al  no  ser  temporizadores  hardware  y  no  exisNr  un  direccionamiento  directo  a  una  zona  de  memoria  específica  para  ellos,  ya  no  es  posible  asignar,  como  se  hacía  en  otros  PLC's,  contactos  a  los  temporizadores  mediante  su  idenNficador:  T1,  T2,  T3,  etc.    No  obstante,  para  hacer  algo  similar  se  puede  recurrir  a  diferentes  técnicas.  

•  Opción  1:  Uso  de  una  marca  asociada  al  temporizador.  Cuando  la  marca  es  "verdadera",  los  contactos  asociados  invierten  su  valor  lógico,  acNvando  o  desacNvando  los  segmentos  en  los  que  se  encuentran  programados.    

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

26  

26  

Page 27: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  •  EJEMPLO  3  DE  UTILIZACION  DE  TEMPORIZADORES  

•  Uso  de  un  solo  temporizador  para  acciones  a  diferentes  valores  de  Mempo.  Lo  visto  anteriormente  requiere  usar  un  temporizador  por  cada  conmutación  temporizada  que  se  desee  realizar.  Es  decir,  si  se  desea  acNvar  una  salida  a  los  5  segundos  y  otra  a  los  10  segundos,  es  necesario  uNlizar  dos  temporizadores  independientes  configurados,  cada  uno  de  ellos,  con  sus  respecNvos  Nempos  de  preselección.  

•  Sin  embargo,  si  se  lee  el  valor  de  la  salida  ET  del  temporizador  a  a  través  de  una  variable  o  a  través  de  DB  a  instancia,  es  posible  realizar  acciones  a  diferentes  valores  de  Nempo  de  un  mismo  temporizador.  

•  Opción  1:  Comparar  el  valor  de  una  variable  asignada  a  la  salida  ET  del  temporizador.  

•  La  variable  debe  tener  el  formato  de  doble  entero  (DInt)  y  debe  escribirse  en  la  salida  ET  del  temporizador.  El  Nempo  se  almacena  en  ella  en  formato  de  milisegundos.  Por  tanto,  las  operaciones  de  comparación  deben  hacerse  teniendo  esto  en  cuenta.  

•  En  el  siguiente  ejemplo  se  muestra  como  la  salida  Q0.6  se  acNva  si  el  Nempo  de  temporizador  es  mayor  o  igual  a  3  segundos  (3000ms)  y  la  Q0.7  lo  hace  si  el  Nempo  es  superior  o  igual  a  8  segundos  (8000ms).  

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

27  

27  

Page 28: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  •  EJEMPLO  3  DE  UTILIZACION  DE  TEMPORIZADORES  

•  Opción  1:  Comparar  el  valor  de  una  variable  asignada  a  la  salida  ET  del  temporizador.  

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

28  

28  

Page 29: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  •  EJEMPLO  3  DE  UTILIZACION  DE  TEMPORIZADORES  

•  Opción  2:  Comparar  el  valor  de  la  salida  ET  del  temporizador.  •  De  igual  forma  que  para  la  salida  Q  del  del  DB  a  instancia,  es  posible  leer  la  salida  ET  (que  Nene  formato  DInt)  y  operar  con  ella  en  las  comparaciones  sin  necesidad  de  crear  ninguna  variable  intermedia.  

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

29  

29  

En  las  comparaciones  se  puede  uNlizar  una  constate  numérica  en  ms  o  directamente  emplear  el  dato  en  formato  TIME:  

Page 30: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Ejemplos  de  programación  

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

30  

30  

•  TAREA  DE  CONTROL  DE  UNA  PRENSA.  •  Una  prensa  con  disposiNvo  de  protección  solo  se  acNvará  con  un  pulsador  START  de  inicio  S3  si  está  cerrada  la  rejilla  protectora.  Este  

estado  se  vigila  con  un  sensor  de  rejilla  protectora  cerrada  B1.  •  Si  es  así,  se  acciona  una  válvula  distribuidora  5/2  M0  para  el  cilindro  de  la  prensa,  para  que  se  pueda  prensar  un  molde  de  plásNco.  •  La  prensa  debe  elevarse  de  nuevo  al  accionar  el  pulsador  de  PARADA  DE  EMERGENCIA  (NC),  al  dejar  de  responder  el  sensor  de  rejilla  

protectora  B1  o  al  responder  el  sensor  de  cilindro  B2  reNrado.    •  Si  el  sensor  de  cilindro  reMrado  B2  responde,  la  prensa  debe  elevarse  de  nuevo  después  de  un  Mempo  de  prensado  de  5  segundos.  

•  Lista  de  asignación:    Direcc          Símbolo    Comentario    %I  0.1        PARADA  EMERG  Pulsador  de  parada  de  emergencia  NC  %I  0.3          S3    Pulsador  de  inicio  S3  %I  0.4          B1    Sensor  rejilla  protectora  cerrada  %I  0.5          B2    Sensor  cilindro  reNrado  %Q  0.0        M0    Extraer  cilindro  A  

PARADA DE EMERGENCIA

Page 31: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  •  CONTADORES  

•  Las  instrucciones  con  contadores  se  uNlizan  para  contar  eventos  del  programa  internos  y  eventos  del  proceso  externos:    •  CTU  es  un  contador  ascendente.    •  CTD  es  un  contador  descendente.    •  CTUD  es  un  contador  ascendente/descendente.    

•  Todo  contador  uNliza  una  estructura  almacenada  en  un  bloque  de  datos  para  conservar  sus  datos.  El  bloque  de  datos  se  asigna  al  colocar  la  instrucción  de  contaje  en  el  editor.    

•  Estas  instrucciones  uNlizan  contadores  por  souware  cuya  frecuencia  de  contaje  máxima  está  limitada  por  la  frecuencia  de  ejecución  del  OB  en  el  que  están  contenidas.  El  OB  en  el  que  se  depositan  las  instrucciones  debe  ejecutarse  con  suficiente  frecuencia  para  detectar  todas  las  transiciones  de  las  entradas  CU  o  CD.    

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

31  

31  

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 116 Manual de sistema, 11/2009, A5E02486683-02

6.1.3 Contadores

6.1.3.1 Contadores Las instrucciones con contadores se utilizan para contar eventos del programa internos y eventos del proceso externos: ● CTU es un contador ascendente. ● CTD es un contador descendente. ● CTUD es un contador ascendente/descendente. Todo contador utiliza una estructura almacenada en un bloque de datos para conservar sus datos. El bloque de datos se asigna al colocar la instrucción de contaje en el editor. Estas instrucciones utilizan contadores por software cuya frecuencia de contaje máxima está limitada por la frecuencia de ejecución del OB en el que están contenidas. El OB en el que se depositan las instrucciones debe ejecutarse con suficiente frecuencia para detectar todas las transiciones de las entradas CU o CD. Para operaciones de contaje rápido, consulte la instrucción CTRL_HSC. Al colocar instrucciones con contadores en un bloque de función es posible seleccionar la opción de bloque de datos multiinstancia. Los nombres de estructura de los contadores pueden diferir en las distintas estructuras, pero los datos de los contadores se encuentran en un bloque de datos individual y no requieren un bloque de datos propio para cada contador. Esto reduce el tiempo de procesamiento y la memoria de datos necesaria para los contadores. No hay interacción entre las estructuras de datos de los contadores en el bloque de datos multiinstancia compartido.

Seleccione el tipo de datos del valor de contaje en la lista desplegable debajo del nombre del cuadro.

Cree un "Nombre de contador" propio para designar el bloque de datos contador y describir el objetivo de este contador en el proceso.

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 116 Manual de sistema, 11/2009, A5E02486683-02

6.1.3 Contadores

6.1.3.1 Contadores Las instrucciones con contadores se utilizan para contar eventos del programa internos y eventos del proceso externos: ● CTU es un contador ascendente. ● CTD es un contador descendente. ● CTUD es un contador ascendente/descendente. Todo contador utiliza una estructura almacenada en un bloque de datos para conservar sus datos. El bloque de datos se asigna al colocar la instrucción de contaje en el editor. Estas instrucciones utilizan contadores por software cuya frecuencia de contaje máxima está limitada por la frecuencia de ejecución del OB en el que están contenidas. El OB en el que se depositan las instrucciones debe ejecutarse con suficiente frecuencia para detectar todas las transiciones de las entradas CU o CD. Para operaciones de contaje rápido, consulte la instrucción CTRL_HSC. Al colocar instrucciones con contadores en un bloque de función es posible seleccionar la opción de bloque de datos multiinstancia. Los nombres de estructura de los contadores pueden diferir en las distintas estructuras, pero los datos de los contadores se encuentran en un bloque de datos individual y no requieren un bloque de datos propio para cada contador. Esto reduce el tiempo de procesamiento y la memoria de datos necesaria para los contadores. No hay interacción entre las estructuras de datos de los contadores en el bloque de datos multiinstancia compartido.

Seleccione el tipo de datos del valor de contaje en la lista desplegable debajo del nombre del cuadro.

Cree un "Nombre de contador" propio para designar el bloque de datos contador y describir el objetivo de este contador en el proceso.

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 116 Manual de sistema, 11/2009, A5E02486683-02

6.1.3 Contadores

6.1.3.1 Contadores Las instrucciones con contadores se utilizan para contar eventos del programa internos y eventos del proceso externos: ● CTU es un contador ascendente. ● CTD es un contador descendente. ● CTUD es un contador ascendente/descendente. Todo contador utiliza una estructura almacenada en un bloque de datos para conservar sus datos. El bloque de datos se asigna al colocar la instrucción de contaje en el editor. Estas instrucciones utilizan contadores por software cuya frecuencia de contaje máxima está limitada por la frecuencia de ejecución del OB en el que están contenidas. El OB en el que se depositan las instrucciones debe ejecutarse con suficiente frecuencia para detectar todas las transiciones de las entradas CU o CD. Para operaciones de contaje rápido, consulte la instrucción CTRL_HSC. Al colocar instrucciones con contadores en un bloque de función es posible seleccionar la opción de bloque de datos multiinstancia. Los nombres de estructura de los contadores pueden diferir en las distintas estructuras, pero los datos de los contadores se encuentran en un bloque de datos individual y no requieren un bloque de datos propio para cada contador. Esto reduce el tiempo de procesamiento y la memoria de datos necesaria para los contadores. No hay interacción entre las estructuras de datos de los contadores en el bloque de datos multiinstancia compartido.

Seleccione el tipo de datos del valor de contaje en la lista desplegable debajo del nombre del cuadro.

Cree un "Nombre de contador" propio para designar el bloque de datos contador y describir el objetivo de este contador en el proceso.

Page 32: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  •  CONTADORES   20

/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

32  

32  

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 116 Manual de sistema, 11/2009, A5E02486683-02

6.1.3 Contadores

6.1.3.1 Contadores Las instrucciones con contadores se utilizan para contar eventos del programa internos y eventos del proceso externos: ● CTU es un contador ascendente. ● CTD es un contador descendente. ● CTUD es un contador ascendente/descendente. Todo contador utiliza una estructura almacenada en un bloque de datos para conservar sus datos. El bloque de datos se asigna al colocar la instrucción de contaje en el editor. Estas instrucciones utilizan contadores por software cuya frecuencia de contaje máxima está limitada por la frecuencia de ejecución del OB en el que están contenidas. El OB en el que se depositan las instrucciones debe ejecutarse con suficiente frecuencia para detectar todas las transiciones de las entradas CU o CD. Para operaciones de contaje rápido, consulte la instrucción CTRL_HSC. Al colocar instrucciones con contadores en un bloque de función es posible seleccionar la opción de bloque de datos multiinstancia. Los nombres de estructura de los contadores pueden diferir en las distintas estructuras, pero los datos de los contadores se encuentran en un bloque de datos individual y no requieren un bloque de datos propio para cada contador. Esto reduce el tiempo de procesamiento y la memoria de datos necesaria para los contadores. No hay interacción entre las estructuras de datos de los contadores en el bloque de datos multiinstancia compartido.

Seleccione el tipo de datos del valor de contaje en la lista desplegable debajo del nombre del cuadro.

Cree un "Nombre de contador" propio para designar el bloque de datos contador y describir el objetivo de este contador en el proceso.

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 116 Manual de sistema, 11/2009, A5E02486683-02

6.1.3 Contadores

6.1.3.1 Contadores Las instrucciones con contadores se utilizan para contar eventos del programa internos y eventos del proceso externos: ● CTU es un contador ascendente. ● CTD es un contador descendente. ● CTUD es un contador ascendente/descendente. Todo contador utiliza una estructura almacenada en un bloque de datos para conservar sus datos. El bloque de datos se asigna al colocar la instrucción de contaje en el editor. Estas instrucciones utilizan contadores por software cuya frecuencia de contaje máxima está limitada por la frecuencia de ejecución del OB en el que están contenidas. El OB en el que se depositan las instrucciones debe ejecutarse con suficiente frecuencia para detectar todas las transiciones de las entradas CU o CD. Para operaciones de contaje rápido, consulte la instrucción CTRL_HSC. Al colocar instrucciones con contadores en un bloque de función es posible seleccionar la opción de bloque de datos multiinstancia. Los nombres de estructura de los contadores pueden diferir en las distintas estructuras, pero los datos de los contadores se encuentran en un bloque de datos individual y no requieren un bloque de datos propio para cada contador. Esto reduce el tiempo de procesamiento y la memoria de datos necesaria para los contadores. No hay interacción entre las estructuras de datos de los contadores en el bloque de datos multiinstancia compartido.

Seleccione el tipo de datos del valor de contaje en la lista desplegable debajo del nombre del cuadro.

Cree un "Nombre de contador" propio para designar el bloque de datos contador y describir el objetivo de este contador en el proceso.

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 116 Manual de sistema, 11/2009, A5E02486683-02

6.1.3 Contadores

6.1.3.1 Contadores Las instrucciones con contadores se utilizan para contar eventos del programa internos y eventos del proceso externos: ● CTU es un contador ascendente. ● CTD es un contador descendente. ● CTUD es un contador ascendente/descendente. Todo contador utiliza una estructura almacenada en un bloque de datos para conservar sus datos. El bloque de datos se asigna al colocar la instrucción de contaje en el editor. Estas instrucciones utilizan contadores por software cuya frecuencia de contaje máxima está limitada por la frecuencia de ejecución del OB en el que están contenidas. El OB en el que se depositan las instrucciones debe ejecutarse con suficiente frecuencia para detectar todas las transiciones de las entradas CU o CD. Para operaciones de contaje rápido, consulte la instrucción CTRL_HSC. Al colocar instrucciones con contadores en un bloque de función es posible seleccionar la opción de bloque de datos multiinstancia. Los nombres de estructura de los contadores pueden diferir en las distintas estructuras, pero los datos de los contadores se encuentran en un bloque de datos individual y no requieren un bloque de datos propio para cada contador. Esto reduce el tiempo de procesamiento y la memoria de datos necesaria para los contadores. No hay interacción entre las estructuras de datos de los contadores en el bloque de datos multiinstancia compartido.

Seleccione el tipo de datos del valor de contaje en la lista desplegable debajo del nombre del cuadro.

Cree un "Nombre de contador" propio para designar el bloque de datos contador y describir el objetivo de este contador en el proceso.

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 Manual de sistema, 11/2009, A5E02486683-02 117

Parámetro Tipo de datos Descripción CU, CD Bool Contaje ascendente o descendente, en

incrementos de uno R (CTU, CTUD) Bool Poner a cero el valor del contador LOAD (CTD, CTUD) Bool Control de carga del valor predeterminado PV SInt, Int, DInt, USInt, UInt,

UDInt Valor de contaje predeterminado

Q, QU Bool Es verdadero si CV >= PV QD Bool Es verdadero si CV <= 0 CV SInt, Int, DInt, USInt, UInt,

UDInt Valor de contaje actual

El rango numérico de valores de contaje depende del tipo de datos seleccionado. Si el valor de contaje es un entero sin signo, es posible contar hacia atrás hasta cero o hacia delante hasta el límite del rango. Si el valor de contaje es un entero con signo, es posible contar hacia atrás hasta el límite de entero negativo y contar hacia delante hasta el límite de entero positivo. CTU: CTU se incrementa en 1 cuando el valor del parámetro CU cambia de 0 a 1. Si el valor del parámetro CV (valor de contaje actual) es mayor o igual al valor del parámetro PV (valor de contaje predeterminado), el parámetro de salida del contador Q = 1. Si el valor del parámetro de reset R cambia de 0 a 1, el valor de contaje actual se pone a 0. La figura siguiente muestra un cronograma de la instrucción CTU con un valor de contaje de entero sin signo (donde PV = 3).

Curso Autómatas Programables IES San Roque (BADAJOZ)

UD3. Lenguaje de programación y set de instrucciones.2. Elementos básicos de programación en LD / KOP.

José María Delgado Casado

2.5. Contadores.

En el siguiente ejemplo del S7-1200 puede observarse el funcionamiento de un contador incremental y su diagrama asociado:

Page 33: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  •  CONTADORES  

•  CTU:  CTU  se  incrementa  en  1  cuando  el  valor  del  parámetro  CU  cambia  de  0  a  1.    

•  Si  el  valor  del  parámetro  CV  (valor  de  contaje  actual)  es  mayor  o  igual  al  valor  del  parámetro  PV  (valor  de  contaje  predeterminado),  el  parámetro  de  salida  del  contador  Q  =  1.    

•  Si  el  valor  del  parámetro  de  reset  R  cambia  de  0  a  1,  el  valor  de  contaje  actual  se  pone  a  0.    

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

33  

33  

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 116 Manual de sistema, 11/2009, A5E02486683-02

6.1.3 Contadores

6.1.3.1 Contadores Las instrucciones con contadores se utilizan para contar eventos del programa internos y eventos del proceso externos: ● CTU es un contador ascendente. ● CTD es un contador descendente. ● CTUD es un contador ascendente/descendente. Todo contador utiliza una estructura almacenada en un bloque de datos para conservar sus datos. El bloque de datos se asigna al colocar la instrucción de contaje en el editor. Estas instrucciones utilizan contadores por software cuya frecuencia de contaje máxima está limitada por la frecuencia de ejecución del OB en el que están contenidas. El OB en el que se depositan las instrucciones debe ejecutarse con suficiente frecuencia para detectar todas las transiciones de las entradas CU o CD. Para operaciones de contaje rápido, consulte la instrucción CTRL_HSC. Al colocar instrucciones con contadores en un bloque de función es posible seleccionar la opción de bloque de datos multiinstancia. Los nombres de estructura de los contadores pueden diferir en las distintas estructuras, pero los datos de los contadores se encuentran en un bloque de datos individual y no requieren un bloque de datos propio para cada contador. Esto reduce el tiempo de procesamiento y la memoria de datos necesaria para los contadores. No hay interacción entre las estructuras de datos de los contadores en el bloque de datos multiinstancia compartido.

Seleccione el tipo de datos del valor de contaje en la lista desplegable debajo del nombre del cuadro.

Cree un "Nombre de contador" propio para designar el bloque de datos contador y describir el objetivo de este contador en el proceso.

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 Manual de sistema, 11/2009, A5E02486683-02 117

Parámetro Tipo de datos Descripción CU, CD Bool Contaje ascendente o descendente, en

incrementos de uno R (CTU, CTUD) Bool Poner a cero el valor del contador LOAD (CTD, CTUD) Bool Control de carga del valor predeterminado PV SInt, Int, DInt, USInt, UInt,

UDInt Valor de contaje predeterminado

Q, QU Bool Es verdadero si CV >= PV QD Bool Es verdadero si CV <= 0 CV SInt, Int, DInt, USInt, UInt,

UDInt Valor de contaje actual

El rango numérico de valores de contaje depende del tipo de datos seleccionado. Si el valor de contaje es un entero sin signo, es posible contar hacia atrás hasta cero o hacia delante hasta el límite del rango. Si el valor de contaje es un entero con signo, es posible contar hacia atrás hasta el límite de entero negativo y contar hacia delante hasta el límite de entero positivo. CTU: CTU se incrementa en 1 cuando el valor del parámetro CU cambia de 0 a 1. Si el valor del parámetro CV (valor de contaje actual) es mayor o igual al valor del parámetro PV (valor de contaje predeterminado), el parámetro de salida del contador Q = 1. Si el valor del parámetro de reset R cambia de 0 a 1, el valor de contaje actual se pone a 0. La figura siguiente muestra un cronograma de la instrucción CTU con un valor de contaje de entero sin signo (donde PV = 3).

La  figura  muestra  un  cronograma  de  la  instrucción  CTU  con  un  valor  de  contaje  de  entero  sin  signo  (donde  PV  =  3).    

Page 34: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  •  CONTADORES  

•  CTD:  CTD  se  decrementa  en  1  cuando  el  valor  del  parámetro  CD  cambia  de  0  a  1.    

•  Si  el  valor  del  parámetro  CV  (valor  de  contaje  actual)  es  menor  o  igual  a  0,  el  parámetro  de  salida  del  contador  Q  =  1.    

•  Si  el  valor  del  parámetro  LOAD  cambia  de  0  a  1,  el  valor  del  parámetro  PV  (valor  predeterminado)  se  carga  en  el  contador  como  nuevo  CV  (valor  de  contaje  actual).    

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

34  

34  

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 116 Manual de sistema, 11/2009, A5E02486683-02

6.1.3 Contadores

6.1.3.1 Contadores Las instrucciones con contadores se utilizan para contar eventos del programa internos y eventos del proceso externos: ● CTU es un contador ascendente. ● CTD es un contador descendente. ● CTUD es un contador ascendente/descendente. Todo contador utiliza una estructura almacenada en un bloque de datos para conservar sus datos. El bloque de datos se asigna al colocar la instrucción de contaje en el editor. Estas instrucciones utilizan contadores por software cuya frecuencia de contaje máxima está limitada por la frecuencia de ejecución del OB en el que están contenidas. El OB en el que se depositan las instrucciones debe ejecutarse con suficiente frecuencia para detectar todas las transiciones de las entradas CU o CD. Para operaciones de contaje rápido, consulte la instrucción CTRL_HSC. Al colocar instrucciones con contadores en un bloque de función es posible seleccionar la opción de bloque de datos multiinstancia. Los nombres de estructura de los contadores pueden diferir en las distintas estructuras, pero los datos de los contadores se encuentran en un bloque de datos individual y no requieren un bloque de datos propio para cada contador. Esto reduce el tiempo de procesamiento y la memoria de datos necesaria para los contadores. No hay interacción entre las estructuras de datos de los contadores en el bloque de datos multiinstancia compartido.

Seleccione el tipo de datos del valor de contaje en la lista desplegable debajo del nombre del cuadro.

Cree un "Nombre de contador" propio para designar el bloque de datos contador y describir el objetivo de este contador en el proceso.

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 118 Manual de sistema, 11/2009, A5E02486683-02

CTD: CTD se decrementa en 1 cuando el valor del parámetro CD cambia de 0 a 1. Si el valor del parámetro CV (valor de contaje actual) es menor o igual a 0, el parámetro de salida del contador Q = 1. Si el valor del parámetro LOAD cambia de 0 a 1, el valor del parámetro PV (valor predeterminado) se carga en el contador como nuevo CV (valor de contaje actual). La figura siguiente muestra un cronograma de la instrucción CTD con un valor de contaje de entero sin signo (donde PV = 3).

CTUD: CTUD se incrementa o decrementa en 1 cuando el estado lógico de las entradas de contaje ascendente (CU) o descendente (CD) cambia de 0 a 1. Si el valor del parámetro CV (valor de contaje actual) es mayor o igual al valor del parámetro PV (valor predeterminado), el parámetro de salida del contador QU = 1. Si el valor del parámetro CV es menor o igual a cero, el parámetro de salida del contador QD = 1. Si el valor del parámetro LOAD cambia de 0 a 1, el valor del parámetro PV (valor predeterminado) se carga en el contador como nuevo CV (valor de contaje actual). Si el valor del parámetro de reset R cambia de 0 a 1, el valor de contaje actual se pone a 0. La figura siguiente muestra un cronograma de la instrucción CTUD con un valor de contaje de entero sin signo (donde PV = 4).

La  figura  muestra  un  cronograma  de  la  instrucción  CTD  con  un  valor  de  contaje  de  entero  sin  signo  (donde  PV  =  3).    

Page 35: Tema%5 - umh2210.edu.umh.esumh2210.edu.umh.es/wp-content/uploads/sites/800/2013/02/Tema5.pdfdireccionamiento 20/10/14 6 6+ 5hvxphq euhyh ,qirupdflµq e£vlfd vreuh fµpr ixqflrqd od

Operaciones  lógicas  con  bits  •  CONTADORES  •  CTUD:  CTUD  se  incrementa  o  decrementa  en  1  cuando  el  estado  lógico  de  las  entradas  de  contaje  ascendente  (CU)  o  descendente  (CD)  cambia  de  0  a  1.    •  Si  el  valor  del  parámetro  CV  (valor  de  contaje  actual)  es  mayor  o  igual  al  valor  del  

parámetro  PV  (valor  predeterminado),  el  parámetro  de  salida  del  contador  QU  =  1.    •  Si  el  valor  del  parámetro  CV  es  menor  o  igual  a  cero,  el  parámetro  de  salida  del  

contador  QD  =  1.    •  Si  el  valor  del  parámetro  LOAD  cambia  de  0  a  1,  el  valor  del  parámetro  PV  (valor  

predeterminado)  se  carga  en  el  contador  como  nuevo  CV  (valor  de  contaje  actual).    •  Si  el  valor  del  parámetro  de  reset  R  cambia  de  0  a  1,  el  valor  de  contaje  actual  se  

pone  a  0.    

20/10/14

 TEMA  5  OPERA

CIONES  BÁS

ICAS

 DE  PR

OGR

AMAC

IÓN  

35  

35  

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 116 Manual de sistema, 11/2009, A5E02486683-02

6.1.3 Contadores

6.1.3.1 Contadores Las instrucciones con contadores se utilizan para contar eventos del programa internos y eventos del proceso externos: ● CTU es un contador ascendente. ● CTD es un contador descendente. ● CTUD es un contador ascendente/descendente. Todo contador utiliza una estructura almacenada en un bloque de datos para conservar sus datos. El bloque de datos se asigna al colocar la instrucción de contaje en el editor. Estas instrucciones utilizan contadores por software cuya frecuencia de contaje máxima está limitada por la frecuencia de ejecución del OB en el que están contenidas. El OB en el que se depositan las instrucciones debe ejecutarse con suficiente frecuencia para detectar todas las transiciones de las entradas CU o CD. Para operaciones de contaje rápido, consulte la instrucción CTRL_HSC. Al colocar instrucciones con contadores en un bloque de función es posible seleccionar la opción de bloque de datos multiinstancia. Los nombres de estructura de los contadores pueden diferir en las distintas estructuras, pero los datos de los contadores se encuentran en un bloque de datos individual y no requieren un bloque de datos propio para cada contador. Esto reduce el tiempo de procesamiento y la memoria de datos necesaria para los contadores. No hay interacción entre las estructuras de datos de los contadores en el bloque de datos multiinstancia compartido.

Seleccione el tipo de datos del valor de contaje en la lista desplegable debajo del nombre del cuadro.

Cree un "Nombre de contador" propio para designar el bloque de datos contador y describir el objetivo de este contador en el proceso.

Instrucciones de programación 6.1 Instrucciones básicas

Controlador programable S7-1200 118 Manual de sistema, 11/2009, A5E02486683-02

CTD: CTD se decrementa en 1 cuando el valor del parámetro CD cambia de 0 a 1. Si el valor del parámetro CV (valor de contaje actual) es menor o igual a 0, el parámetro de salida del contador Q = 1. Si el valor del parámetro LOAD cambia de 0 a 1, el valor del parámetro PV (valor predeterminado) se carga en el contador como nuevo CV (valor de contaje actual). La figura siguiente muestra un cronograma de la instrucción CTD con un valor de contaje de entero sin signo (donde PV = 3).

CTUD: CTUD se incrementa o decrementa en 1 cuando el estado lógico de las entradas de contaje ascendente (CU) o descendente (CD) cambia de 0 a 1. Si el valor del parámetro CV (valor de contaje actual) es mayor o igual al valor del parámetro PV (valor predeterminado), el parámetro de salida del contador QU = 1. Si el valor del parámetro CV es menor o igual a cero, el parámetro de salida del contador QD = 1. Si el valor del parámetro LOAD cambia de 0 a 1, el valor del parámetro PV (valor predeterminado) se carga en el contador como nuevo CV (valor de contaje actual). Si el valor del parámetro de reset R cambia de 0 a 1, el valor de contaje actual se pone a 0. La figura siguiente muestra un cronograma de la instrucción CTUD con un valor de contaje de entero sin signo (donde PV = 4).

La  figura  muestra  un  cronograma  de  la  instrucción  CTUD  con  un  valor  de  contaje  de  entero  sin  signo  (donde  PV  =  4).