PROGRAMACI�N AVANZADA DE PLC�s - PowerPoint

Document Sample
PROGRAMACI�N AVANZADA DE PLC�s - PowerPoint Powered By Docstoc
					                   PROGRAMACIÓN
                  AVANZADA DE PLC’s




Soporte Técnico
                               MOV, FUN(21)



 LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE
 UN CANAL A OTRO.
 EL CONTENIDO DEL CANAL FUENTE S SE TRANSFIERE AL CANAL DESTINO D.




 LAS ÁREAS DE DATOS UTILIZABLES EN LA TRANSFERENCIA SON :

      — S:#, IR, SR, HR, TIM, CNT
      — D: IR, HR


Soporte Técnico
                    EJEMPLO. EMBOTELLADORA



                                          EL MOTOR M1 ESTARÁ EN MARCHA HASTA
                        E1          F1
                                          QUE LA FOTOCÉLULA F1 DETECTE
                                          CUANDO F1 DETECTE, COMENZARÁ A
                                          LLENARSE LA BOTELLA AL ACTIVARSE LA
                                          ELECTROVÁLVULA E1
                                          CUANDO LA BOTELLA PESE LO DESEADO,
                                          SE ACTIVARÁ E1 Y DESPUÉS DE 3
                                          SEGUNDOS, LA CINTA SE PONDRÁ EN
                                          MARCHA HASTA QUE LA FOTOCÉLULA F1
   M1             4 / 20 mA               VUELVA A DETECTAR.


  ENTRADAS
   F1 :                   0000
   CÉLULA DA CARGA:       ENTRADA ANALÓGICA
  SALIDAS
   M1 :                      1000
   E1 :                      1001

Soporte Técnico
                           SFT, FUN(10) /1



 LA INSTRUCCIÓN SFT REALIZA LA FUNCIÓN DE REGISTRO DE DESPLAZAMIENTO
  EN SERIE
 EL DESPLAZAMIENTO AFECTA A LOS BITS, EN SENTIDO DEL MENOS
  SIGNIFICATIVO AL MÁS SIGNIFICATIVO


  – IN= ENTRADA DE DATOS. EL ESTADO DE ESTA ENTRADA SE INTRODUCE EN EL
       REGISTRO DE DESPLAZAMIENTO CON EL FLANCO ASCENDENTE DEL IMPULSO
       DE RELOJ.

  – SP= IMPULSO DEL RELOJ.      EL FLANCO ASCENDENTE CREA EL DESPLAZAMIENTO
       DE LOS DATOS, SI RT 0
  – RT= RESET. SU FLANCO ASCENDENTE DETERMINA EL RESET DEL CANAL (O
       CANALES) SOBRE LOS QUE SE PRODUCE EL DESPLAZAMIENTO

  – B , E= PRIMER Y ÚLTIMO CANAL DEL ÁREA DE DATOS SOBRE LA QUE SE
       PRODUCE EL DESPLAZAMIENTO




Soporte Técnico
                                 SFT, FUN(10) /2



 SI COMO CANALES DE DESPLAZAMIENTO SE UTILIZAN LOS DEL ÁREA HR, EN
  CASO DE FALLO DE ALIMENTACIÓN LOS DATOS SE MANTIENEN



                  0000      IN
                                     SFT               LD         0000
                  0001      CP                         LD         0001
                                     05
                                                       LD         0002
                  0002      R
                                     06                SFT (10)     05
                                                                    06

                                     CH 05
                         0 1 2 3                   14 15
      DATOS



                                                                         ESTE DATO
                                                                         SE PIERDE
                         0 1 2 3      CH 06        14 15


Soporte Técnico
                  EJEMPLO. APLICACIÓN FUNCIÓN SFT




   SE TIENE UNA LÍNEA DE SUMINISTRO DE BOTELLAS.

   SOBRE LA LÍNEA EXISTEN 10 PUESTOS QUE PUEDEN EN UN MOMENTO DADO
    CONTENER BOTELLA.

   LA PRESENCIA DE BOTELLA EN UN PUESTO SE DETECTA CON UN SENSOR.
    CON OTRO SENSOR SE DETERMINA SI LA BOTELLA ES BUENA O MALA.

   SEGÚN LA NATURALEZA DE CADA BOTELLA ÉSTA ES RECHAZADA O NO.




Soporte Técnico
                    EJEMPLO. APLICACIÓN FUNCIÓN SFT




   LA LÍNEA ACCIONADA POR UN MOTOR, ES CONTROLADA CON UN PULSADOR
    DE START, UNO DE STOP Y UNO DE EMERGENCIA.

   ANTE UNA FALTA DE ALIMENTACIÓN, LA MÁQUINA DEBE PODER CONTINUAR
    CORRECTAMENTE CON EL PROCESO CUANDO LA ALIMENTACIÓN VUELVE,
    PREVIO START.

   UN PULSADOR ACTÚA DE RESET DE LA LÍNEA:
     (MOTOR OFF, NINGUNA BOTELLA BUENA SOBRE LA LÍNEA).

                  ENTRADAS                          SALIDAS
       RESET                 0007         START MOTOR          1000
       PRESENCIA             0001         RECHAZADOR           1001
       BUENA/MALA            0002
       START                 0003         AUX                   1002
       STOP                  0004         CLOCK               HR0000
       EMERGENCIA            0005



Soporte Técnico
                      EJEMPLO. APLICACIÓN FUNCIÓN SFT




                               SENSOR DE PRESENCIA EN PUESTO
                  SENSOR “BUENA / MALA”
                                          RECHAZADOR


                  0   1    2    3     4   5    6    7    8     9


                  1   1    0    0     0   1    0    1    0     1


Soporte Técnico
                                  EJEMPLO. BRAZO ROBOT



                                                    START 0000

                                                    LS1    0001
                          LS3
                                                    LS2    0002
                            IZQ
                                                    LS3    0003
      PS1

             LS1                     LS4            LS4    0004


                           LS2                      LS5    0005
  A
                   DCHA
                                                    PS1    0006
                                     LS5
                                           RTRANSPORTADORA 1000

                                            GIRO DERECHA   1001
  B
                                            GIRO IZQUIERDA 1002

                                                   SUBIR   1003

                                                   BAJAR 1004

                                                   COGER 1005

                                                   SOLTAR 1006
                                                                  0   1   2   3   4     5    6   7   8

                                                                          CICLO DE TRABAJO




Soporte Técnico
                  RELLENAR BLOQUE, FUN(71) @FUN(71)




   FUNCIÓN: TRANSFIERE EL DATO CONTENIDO EN UN CANAL (O CONSTANTE)
    A UN GRUPO DE CANALES ESPECIFICADOS.



                                     BSET
                                                 D= DATO
                                     D
                                                 I= CANAL INICIAL
                                     I
                                                 F= CANAL FINAL
                                     F




Soporte Técnico
                  RELLENAR BLOQUE, FUN(71) @FUN(71)




          3200
                        BSET
                        #2345

                        DM10

                        DM20




                                          DM10        #2345
                                #2345
                                          DM11        #2345




                                          DM20        #2345




Soporte Técnico
                  MOVER BLOQUE, FUN(70) @FUN(70)




   FUNCIÓN: TRANSFIERE DATOS DE VARIOS CANALES CONSECUTIVOS A
    OTROS CANALES TAMBIÉN CONSECUTIVOS



                               XFER
                                           N= Nº CANALES
                               N
                                           O= CANAL ORIGEN
                               O
                                           D= CANAL DESTINO
                               D




Soporte Técnico
                        MOVER BLOQUE, FUN(70) @FUN(70)



           3300
                               XFER
                               #4

                               LR00

                               HR04




                  LR 0000   3456              HR 0400    3456

                  LR 0001   5629              HR 0401    5629

                  LR 0002   5894              HR 0402    5894

                  LR 0003   8974              HR 0403    8974




Soporte Técnico
                     MENSAJE, FUN(46) @FUN(46)




     FUNCIÓN: LEE LOS DATOS ASCII CONTENIDOS EN OCHO CANALES (16
      CARACTERES) Y LOS VISUALIZA EN EL DYSPLAY DEL DISPOSITIVO DE
      PROGRAMACIÓN



                             MSG               N= CANAL DE COMIENZO
                             N



                                   NOTA: EL ÚLTIMO CARÁCTER DEBE SER OD




Soporte Técnico
                  MENSAJE DE LONGITUD DOBLE, FUN(47) @FUN(47)




     FUNCIÓN: LEE LOS DATOS ASCII CONTENIDOS EN DIECISEIS CANALES (32
      CARACTERES) Y LOS VISUALIZA EN EL DYSPLAY DEL DISPOSITIVO DE
      PROGRAMACIÓN (CONSOLA O INTERFACE RS232)



                                        LMSG
                                                     N= CANAL DE COMIENZO
                                        N
                                                     D= CANAL DE DESTINO
                                        D



                                      NOTA: EL ÚLTIMO CARÁCTER DEBE SER OD




Soporte Técnico
                  CONTADOR REVERSIBLE, FUN(12)




   FUNCIÓN: CONTADOR REVERSIBLE. CUENTA ENTRE CERO Y SV DE
    ACUERDO CON LOS CAMBIOS EN DOS CONDICIONES DE EJECUCIÓN, LA
    ENTRADA DE CON TAJE ADELANTE (II) Y LA DE CONTAJE ATRÁS (DI)


                       II
                             CNTR12        N= Nº CANAL DE COMIENZO
                       DI     N                 # (000 A 511)
                       R
                              SV           SV= VALOR SELECCIONADO
                                                IR, SR, AR, DM, HR, LR, #




Soporte Técnico
            EJEMPLO. SECUENCIA DE MENSAJE EN CONSOLA DE PROGRAMACIÓN




   APLICACIÓN:    Utilizar la instrucción MSG para mostrar mensajes en la
      consola de programación PRO-27.


     La instrucción MSG permite mostrar un mensaje de hasta 16 caracteres
      sobre el display de la consola de programación. En este caso el programa
      deberá hacer posible el desplazamiento de un mensaje de 32 caracteres por el
      display, a izquierda o a derecha según voluntad del usuario e incluso poder
      detenerlo.




Soporte Técnico
            EJEMPLO. SECUENCIA DE MENSAJE EN CONSOLA DE PROGRAMACIÓN




                                                      CANAL       HEX    ASCII
   El mensaje estará contenido
    en los DM’s del 10 al 25 en                       DM10        4F4D   OM
    formato ASCII de la siguiente                     DM11        524F   RO
    forma:                                            DM12        4E20   N
                                                      DM13        454C   EL
                                                      DM14        4543   EC
                                                      DM15        5452   TR
 ORDEN DE PARADA DE MENSAJE:                         DM16        4F4E   ON
    Entrada 0000.                                     DM17        4943   IC
 SENTIDO DE DESPLAZAMIENTO DEL MENSAJE:              DM18        5320   S
    Entrada 1                                         DM19        4C45   LE
 FRECUENCIA DE DESPLAZAMIENTO:                       DM20        2053   S
    Base de tiempo constante.                         DM21        414C   AL
                                                      DM22        5544   UD
                                                      DM23        4120   A
                                                      DM24        484F    HO
                                                      DM25        4C41    LA

Soporte Técnico
                      DIRECCIONAMIENTO INDIRECTO




     Cuando para un operando se especifica el área dde DM, se puede utilizar
      una dirección indirecta.
        – Para diferenciar el direccionamiento de DM indirecto se coloca un
           asterisco delante de DM : *DM
     Cuando se especifica una dirección indirecta de DM, el canal DM designado
      contendrá la dirección del canal DM que contiene el dato que se utilizará como
      operando de la instrucción.

     Cuando se utilice direccionamiento indirecto, la dirección del canal deseado
      debe estar en BCD y debe especificar un canal comprendido en área de DM.




Soporte Técnico
                       DIRECCIONAMIENTO INDIRECTO




     Normalmente la variable especificada por una cierta instrucción es tal que la
      instrucción opera con el dato especificado en la variable especificada.


                                     TIM00
                                     DM0011               #0432     DM0011

                       EN ESTE CASO SV = 432

      El direccionamiento indirecto permite especificar un dato por la dirección de
       DM donde ése dato está contenido (la dirección es la variable).


                        TIM00
                       *DM0011                #0432   DM0011        #0432       DM0432

            EN ESTE CASO SV = 1547




Soporte Técnico
                      DIRECCIONAMIENTO INDIRECTO



  Ejemplo:                                          Canal   Contenido


                  MOV(21)                       DM 0000       4C59

                  *DM 0001                      DM 0001       1111
                                Dirección
                  LR 00         indirecta       DM 0002       F35A      Indica
                                                                        DM 1111.



                                                DM 1111       5555

                                                DM 1112       2506      5555 movido
                                                                        a LR 00.
                                                DM 1113       D541


Si se designa *DM 0001 como primer operando y
LR 00 como segundo operando de MOV(21), los
contenidos de DM0001 son 1111 y DM 1111
contiene 5555, el valor 5555 será movido a LR 00.


Soporte Técnico
                  DIRECCIONAMIENTO INDIRECTO




      EJEMPLO

                    ALMACENAR LA TEMPERATURA EN UN HORNO
                    CADA 15 SEG. Y DURANTE 2 HRS., TIEMPO DE
                    DURACIÓN DEL PROCESO.

                    DATOS
                           Tº ENTRADA ANALÓGICA: CANAL 101
                           INICIO DATOS:          DM 0001




Soporte Técnico
                       STC / CLC, FUN 40 / 41




   FUNCIÓN: ESTAS INSTRUCCIONES GESTIONAN EL FLAG DE ACARREO,
    O FLAG CY.
    EL FLAG CY SE UTILIZA EN LAS OPERACIONES MATEMÁTICAS, PARA
    DETECTAR:
      – EXISTENCIA DE OVERFLOW EN EL RESULTADO DE UNA SUMA
        (ADD)
      – EXISTENCIA DE RESULTADO NEGATIVO EN UNA SUBSTRACCIÓN
        (SUB)

                                      LD        0000
                                      STC(40)
                                      LD NOT    0000
                                      CLC(41)
                                      LD        1904
                                      OUT       1000


Soporte Técnico
                              ADD, FUN(30) /1



  LA INSTRUCCIÓN ADD EJECUTA LA SUMA ENTRE DOS DATOS DE 16 BIT
   (CANALES Y/O CONSTANTES) EN FORMATO BCD

  AL RESULTADO SE LE SUMA EL ACARREO SUMANDO 1 SI CY= ON

  LOS PARÁMETROS DE LAS INSTRUCCIONES SON 3:

           – A1,A2 = SUMANDOS (#, IR, SR, HR, TIM, CNT)
           –R=       RESULTADO (IR, HR) = A1+A2+CY


                                                 LD        0000
                                                 STC(40)
                                                 ADD(30)
                                         A1
                                                           HR00
                                         A2                #0001
                                                           HR00
                                         R




Soporte Técnico
                            ADD, FUN(30) /2




        EN EL CASO DE ACARREO (CY = 1), LA SUMA DE LOS DOS SUMANDOS
         HA SUPERADO EL LÍMITE 9999. EL RESULTADO EFECTIVO ES ENTONCES
         10000+R


        EN EL CASO DE SUMA CON 8 O MÁS CIFRAS BCD, (SUMA COMBINADA)
         SE DEBERÁ RESETEAR CY SÓLO PARA LA PRIMERA SUMA.


        SI EL RESULTADO DE LA OPERACIÓN SUMA ES = 0, ENTONCES EL FLAG
         EQ = 1

        SI LOS SUMANDOS NO ESTÁN EN FORMATO BCD, LA OPERACIÓN NO SE
         EJECUTA Y ENTONCES ER = 1




Soporte Técnico
                              SUB, FUN(31) /1


  LA INSTRUCCIÓN SUB EJECUTA LA SUBSTRACCIÓN DE DOS DATOS DE
   16 BIT EN FORMATO BCD

  AL RESULTADO SE LE RESTA EL ACARREO O BIEN SE LE SUMA -1 SI
   CY = ON

  LOS PARÁMETROS DE LA INSTRUCCIÓN SON 3:

      – Mi = MINUENDO (#, IR, SR, HR, TIM, CNT)
      – Su = SUSTRAENDO (#, IR, SR, HR, TIM, CNT)
      – R = RESULTADO (IR, HR) = Mi - Su - CY

                                              LD        0000
                                              STC(40)
                                              SUB(31)
                                     Mi
                                                        #0100
                                     Su                    00
                                                           05
                                     R

Soporte Técnico
                                SUB, FUN(31) /2




  SEGÚN LOS VALORES QUE TENGAN Mi Y Su, SE TIENEN LOS SIGUIENTES
   CASOS:


                  DATOS       RESULTADO           CY     EQ


                  Mi > Su       R= Mi - Su        0       0

                  Mi = Su         R= 0            0       1

                  Mi < Su   R= Mi + (10000-Su)    1       0


   SI Mi Y Su NO ESTÁN EN EL FORMATO BCD, LA OPERACIÓN NO SE
    EJECUTA, Y ER = 1




Soporte Técnico
                  MULTIPLICACIÓN BCD, FUN(32) @FUN(32)




   FUNCIÓN: MULTIPLICA EL CONTENIDO DE LOS DATOS ESPECIFICADOS
    EN LA INSTRUCCIÓN (EN BCD) Y EL RESULTADO SE TRANSFIERE A UN
    REGISTRO.



                             MUL
                                         A, B = CANALES /CONSTANTES
                             A
                                         R=    REGISTRO RESULTADO
                             B

                             C




Soporte Técnico
                  MULTIPLICACIÓN BCD, FUN(32) @FUN(32)



                       3300
                                       MUL
                                       10

                                       #0021

                                       DM100




                       0034    CH 10

                       X
                      0021
                      =




                       714     DM100= (CH 10) X 21




Soporte Técnico
                   DIVISIÓN BCD, FUN(33) @FUN(33)




    FUNCIÓN: DIVIDE EL CONTENIDO DE LOS DATOS ESPECIFICADOS EN LA
      INSTRUCCIÓN (EN BCD) Y EL RESULTADO SE TRANSFIERE A DOS REGISTROS
      (COCIENTE Y RESTO).




                           DIV          A=      DIVIDENDO
                           A            B=      DIVISOR
                                        R=      COCIENTE
                           B
                                        R+1 =   RESTO
                           C
                                        A, B = CANAL / CONSTANTE




Soporte Técnico
                  DIVISIÓN BCD, FUN(33) @FUN(33)



                    3300
                                    DIV
                                    10

                                    #4

                                    LR10




                    133     CH 10


                                           (CH 10) = (LR 10) X 4 + LR 11
                       4

                     33     LR 10

                      1     LR 11




Soporte Técnico
                       EJEMPLO DE PROGRAMACIÓN

SUMA DE DATOS DE HASTA 8 DÍGITOS
    APLICACIÓN: SE TRATA DE SUMAR DOS DATOS QUE PUEDEN TENER UNA
     LONGITUD DE HASTA 8 DÍGITOS.
   ESTE PROGRAMA PUEDE LLEVARSE A CABO UTILIZANDO DIRECTAMENTE LA
     INSTRUCCIÓN DE SUMA DE DOBLE LONGITUD PERO LO HAREMOS USANDO LA
     INSTRUCCIÓN ADD NORMAL.
    LOS DATOS A SUMAR SON LOS SIGUIENTES:

          – DATO A:     4 DÍGITOS MAYORES                   DM1
                        4 DÍGITOS MENORES                   DM0
          – DATO B:     4 DÍGITOS MAYORES                   DM3
                        4 DÍGITOS MENORES                   DM2
    EL RESULTADO SE GUARDARÁ EN :
          – DÍGITO NUM 9                  DM6
          – 4 DÍGITOS MAYORES             DM5
          – 4 DÍGITOS MENORES             DM4
     El programa debe poder detectar si alguno de los datos A o B no está en
   formato
     BCD. Utilizar el CARRY en las instrucciones suma.
Soporte Técnico

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:30
posted:2/10/2012
language:
pages:32