Tiaportal

533
Automatización Industrial Principios de Programación en STEP7 TEMA – Principios de Programación en STEP7 1. – Programas en la CPU 2. – Edición de Programas 2.1 – IEC 1131-3 2.2 – Instrucciones/Operandos/Módulos 3. – Estructura de Programas 4. – Tipos de Módulos 4.1 – Módulos de Sistema 4.2 – Módulos de Usuario 5. – Tipos de Procesamiento 6. – Tiempos de Ciclo y Respuesta 7. – Proyectos STEP7 Índice

description

Conveyor

Transcript of Tiaportal

  • Automatizacin Industrial

    Principios de Programacin en STEP7

    TEMA Principios de Programacin en STEP7

    1. Programas en la CPU

    2. Edicin de Programas

    2.1 IEC 1131-3

    2.2 Instrucciones/Operandos/Mdulos

    3. Estructura de Programas

    4. Tipos de Mdulos

    4.1 Mdulos de Sistema

    4.2 Mdulos de Usuario

    5. Tipos de Procesamiento

    6. Tiempos de Ciclo y Respuesta

    7. Proyectos STEP7

    ndice

  • En una CPU corren dos programas

    Sistema operativo: Est contenido en cada CPU y organiza todas las funciones y procesos de la CPU no relacionados con una tarea de control especfica.Entre sus funciones estn: gestionar el arranque normal y completo del PLC/API actualizar la imagen del proceso de entradas y salidas llamar al programa de usuario detectar alarmas y llamar a los programas de atencin a las mismas reconocer y tratar los errores administrar las reas de memoria comunicar con unidades de programacin y otros sistemas de supervisin

    Programa de usuario: Hay que crearlo y cargarlo la CPU. Contiene todas las funcionesnecesarias para la tarea de control de una aplicacin especfica.Entre las tareas del programa de usuario estn: definir las condiciones de arranque (completo normal) de la CPU tratar datos del proceso (funciones combinatorias, valores analgicos, ....) reaccionar a alarmas tratamiento de perturbaciones en el funcionamiento normal del programa

    Programas en la CPU

    Parte Ttulo Contenidos

    Parte 1 Informacin general Definicin de trminos y glosario del PLC/APICaractersticas funcionales del PLC/API

    Parte 2 Especificaciones Prestaciones elctricas, mecnicas y funcionalesy ensayos de los Informacin a suministrar por el fabricanteequipos Ensayos y verificaciones

    Parte 3 Lenguajes de Estructura del software de los PLC/APIprogramacin Lenguajes de programacin

    Elementos del lenguaje

    Parte 4 Gua para usuarios Especificaciones y anlisis del sistemaAplicacin y seleccin del PLC/APISeguridad y proteccin, instalacin y mantenimiento

    Parte 5 Comunicaciones Modelos, bloques de comunicacin, mapeado enprotocolos ISO

    La Norma IEC 1131 / EN-UNE 61131

  • Lenguaje IEC 1131-3 STEP 7Diagrama de funciones FBD FBD/FUP

    Function Block Diagram Function Block Diagram

    Diagrama de contactos LD LAD/KOPLadder Diagram Ladder Logic

    Lista de instrucciones IL STL/AWLInstruction List Statement List

    Texto estructurado ST SCLStructured Text Structured Control Language

    Grfico secuencial SFC GRAPH7Sequential Function Chart

    Diagrama de bloques CFCContinuous Function Chart

    Diagrama de grfico HIGRAPH7de estados

    Lenguajes de IEC 1131 - 3 / STEP7

    El entorno de programacin permite desarrollar proyectos de controly automatizacin con las siguiente funcionalidad:

    Crear la estructura de directorios necesaria para la gestin de cada proyecto Configurar el hardware del equipo Desarrollar programas off-line Cargar y descargar programas y datos en el PLC/API (on-line) Depurar el programa en fase de ejecucin sin necesidad de interrumpir la

    ejecucin del programa (on-line) Realizar funciones de test o estado de variables y zonas de la memoria Realizar funciones de forzado de variables Elaborar documentos para la fase de mantenimiento posterior Analizar el estado y comportamiento de la CPU (pilas, tiempos, ...) y de los

    mdulos de seal asociados

    Funcionalidad del Software

  • Programas de Usuario

    STEP 7 permite estructurar el programa. Esto aporta las siguientes ventajas:

    los programas se pueden dividir en bloques se pueden estandarizar secciones individuales del programa se simplifica la organizacin del programa las modificaciones del programa pueden realizarse ms fcilmente se simplifica el test del programa, ya que puede ejecutarse por partes se simplifica la puesta en servicio

    Bloque en el Programa de Usuario

    Programa conjunto de todas las instrucciones y convenciones para el tratamiento de las seales, por medio de las cuales se acta sobre la instalacin a controlar (proceso), de acuerdo con unas rdenes de control

    Estructura

    Tcnica modularSegmentosComentarios

    Representacin

    FBD / FUP LAD / KOP STL / AWL

    Edicin de un Programa

  • Instruccin

    Operando

    Instruccin

    unidad ms pequea autnoma del programa y constituye una orden de trabajo para el procesador

    OperacinOperando

    002: A I 1.0ParmetroIdentificador del operando

    Direccin relativa de la instruccin en elmdulo respectivo

    Parte operacional

    Identificacin Parmetro

    Instruccin

    Marcas M Para almacenar resultados binarios intermedios

    Datos D Para almacenar resultados digitales intermedios

    OPERANDOS NEMONICO FUNCION

    Entradas I Imagen del proceso de entradas (PII)

    Salidas Q Imagen del proceso de salidas (PIQ)

    Tiempos T Funciones de tiempo (temporizadores)

    Contadores C Funciones de cmputo (contadores)

    Periferia P Para acceder directamente a la periferia

    Locales L Datos locales temporales

    Mdulos OB, FB, FC Para estructurar el programaSFB, SFC

    Operandos

  • H1

    S2

    S1

    A I 0.0AN I 0.1= Q 4.5

    Q 4.5I 0.1

    I 0.0Q 4.5I 0.1I 0.0

    EsquemaElctrico

    STL/AWL FBD/FUP LAD/KOP

    &

    =

    Ejemplo de Programa

    STEP 7 provee tres posibilidades para organizar un programa. Programacin

    LinealProgramacin

    DivididaProgramacinEstructurada

    Programa Lineal:Todas la instruccionesestn contenidas en unmdulo (normalmenteen el mdulo deorganizacin, OB1)

    Programa dividido en reas:Las instrucciones para funcionesindividuales estn contenidas enmdulos individuales. El OB1llama a los mdulos individualessucesivamente.

    Programa Estructurado:Las funciones reutilizables soncargadas en mdulos individuales.El OB1 (u otros mdulos) llaman a estos mdulos y les pasan datosrelevantes.

    OB1

    Arranque

    FB1 FC1

    FB2FC2

    FC3

    OB1

    Arranque

    OB1

    Arranque

    Receta A

    Receta B

    Mezclador

    Descarga

    Estructuracin de los Programas

  • 1 instruccin

    2 instruccin

    ltima instruccin

    OB1

    ......

    .

    Estructura de Programa. Programacin Lineal

    OB1: Ejemplo de de un simple mdulo lineal en FUP

    Segmento 1: motor marcha/paro

    Segmento 2: Seguridad y seales de aviso

    OB1: ejemplo de un simplemdulo lineal en AWL

    Segmento 1: motor on/off

    Segmento 2: Seguridad y seales de aviso

    I 0.0

    Q 4.0

    Q 4.0

    &I 0.2

    I 0.3

    >=1

    =

    &

    I 0.1

    I 0.4Q 4.1

    =

    A(O I 0.0O Q 4.0)AN I 0.1= Q 4.0

    A I 0.2AN I 0.3AN I 0.4= Q 4.1

    Programacin Lineal

  • Programacin Lineal. Ejemplo

    (CALL)

    (CALL)

    (CALL)

    (CALL)

    Ingrediente_A

    Ingrediente_B

    Mezclador

    Descarga

    OB1FC

    FC

    FC

    FC

    >=1

    =&

    >=1=

    &

    >=1

    =&

    >=1=

    Programacin Dividida

  • Programa principal Mdulo subrutina

    Procesamientodel programa

    Procesamientodel programaInstruccin que llaman

    otros mdulos

    Fin de mdulo

    OB FC

    Ejecucin de un Programa Dividido

    Programa Dividido. Control de nivel

  • Sis

    tem

    a O

    pera

    tivo

    OB1 FC

    FB FC

    FB

    SFC

    SFB

    OtrosOBs

    Programacin Estructurada I

    Motor

    Descarga

    OB1

    >=1

    =&

    >=1

    =&

    =&

    =

    Programacin Estructurada II

  • Procesarmdulo 7

    OB1 Mdulo 7

    Lamar almdulo 32.....

    Mdulo 32

    Llamar almdulo X

    Mdulo R

    Retornar

    Retornar Retornar

    ...

    Nivel1 Nivel2 Nivel3 Niveles 4..7 Nivel 8

    Retornar

    Mdulo 10

    Retornar

    Procesarmdulo 10

    Estructura del Programa

    Sist

    ema

    oper

    ativ

    o

    Iniciodel

    cicloOB 1 FB 10

    FB 20

    FC 50

    DB inst. 10

    DB inst. 2

    Tren

    CALL FB 10

    CALL FB 20

    CINTA A

    CALL FC 50

    CINTA B

    CALL FC 50

    Acciona-miento

    Divisin Tecnolgica de un Programa

  • FB

    FB

    FB

    FC

    SFC

    SFB

    Mdulo dedatos deinstancia

    Leyenda:

    OB

    Mdulo deOrganizacin

    Ciclo

    Tiempo

    Proceso

    Error

    Modos de operacin del sistemaBloques CPU 315 CPU 315-2DP Tamao

    Md. de organizacin (OB) 13 14 8 Kby

    Mdulo de funcin (FB) 128 128 (0-127) 8 Kby

    Funcin (FC) 128 128 (0-127) 8 Kby

    Mdulo de datos (DB) 127 127(1-127) 8 Kby

    Funcin del sistema (SFC) 48 53

    Md. func. sistema (SFB) 7 7

    Tipos de Mdulos de Programa

    Tipo de Mdulo Caractersticas

    Organizacin (OB) - Interfase de usuario entre el sistema operativo y el programa- Prioridades establecidas de (1a 29)- Informacin especial de inicio en la pila de datos locales- Definen la estructura del programa de usuario

    Mdulo de - Mdulos con memoria que puede programar el usuariofuncin (FB) - Parametrizable / retentiva

    - No parametrizable / retentiva- No parametrizable / no retentiva

    Funcin (FC) - Rutina de programa para funciones frecuentes.- Un valor de retorno es transferido.

    (Los parmetros deben ser asignados por la llamada.)- No retentivo- Parametrizable

    Mdulo de Datos - Estructurado, almacenamiento de datos locales (DB instan.)(DB) - Estructurado, almacenamiento de datos globales

    (vlido en todo el programa)

    Mdulos de Usuario

  • Tipo de Mdulo Caractersticas

    Funcin del - Integrados en el sistema operativo de la CPUSistema - Un usuario puede llamar esta funcin(SFC) (sin memoria).

    Mdulos deFunciones - Integrados en el sistema operativo de la CPU del Sistema - Un usuario puede llamar esta funcin (SFB) (con memoria).

    Dato de Sistema - Mdulo de datos para datos de configuracin(SDB) y parmetros

    Mdulos del Sistema

    Bloques de Organizacin (OB): Constituyen el interfaz entre el sistema operativo y el programa de usuario. Tienen prioridad.

    En las CPUs del S7 300 la prioridad de los OBs es fija Es posible asignar la misma prioridad a varios OBs Con prioridad 0 se desactiva el OB de alarmas

    Son llamados por el sistema operativo. Cada OB contine una informacin de arranque de 20 bytes de

    datos locales que entrega al S.O. durante el arranque Controlan:

    El procesamiento cclico El procesamiento controlado por alarmas del programa El comportamiento en el arranque del sistema de automatizacin El tratamiento de errores

    Mdulos de Organizacin OBs (I)

  • Tipo de Alarma Mdulo de organizacin PrioridadCiclo libre OB1 1

    Alarmas horarias OB 10 a OB 17 2

    Alarmas de retardo OB 20 a OB 23 de 3 a 6

    Alarmas cclicas OB 30 a OB 38 de 7 a 15

    Alarmas de Proceso OB 40 a OB 47 de 16 a 23

    Alarma de OB 60 25multiprocesamiento

    Error de redundancia OB 70 y OB 72 25 y 28

    Errores asncronos OB 80 a OB 87 26

    Ciclo no prioritario OB 90 29

    Arranque OB 100 a OB 102 27

    Errores sncronos OB 121y OB 122 la del OB del error

    Mdulos de Organizacin OBs (II)

    Sistema operativo

    Conectar

    ProgramaprincipalCiclo

    Programa de usuario

    Ejecucin Cclica I

  • Sistema operativo

    Conectar

    ProgramaprincipalCiclo

    Programa de usuario

    Programa de usuario

    Alarma

    Error

    Interrup-cin

    Interrup-cin

    Programa de alarma

    Tratamiento de errores

    Ejecucin Cclica II

    Sist

    ema

    oper

    ativ

    o

    Iniciodel

    cicloOB 1 FB 1 FC 1

    FB 2 FB 1 SFC 1

    FC 1 DB 1

    Profundidad de anidamiento

    DB inst. 1

    DB inst. 2 DB inst. 1

    Secuencia y Profundidad de Anidamiento

  • Llamada de un mdulo Mdulo llamado

    (OB, FB, FC) (FB, FC, SFB, SFC)

    Ejecucindel programa

    Ejecucindel programaInstruccin que llama a

    otro mdulo

    Fin de mdulo

    Llamadas a los Mdulos

    El sistema operativo inicia el tiempo de vigilancia del ciclo

    La CPU escribe los valores de la PIQen los mdulos de salida

    La CPU lee el estado de las entradas en losmdulos de entrada y actualiza la PII

    La CPU ejecuta el programa de usuario

    Al final del ciclo, el S.O. realiza las tareas pendientes(cargar y borrar mdulos, recibir y enviar datos globales..)

    Fases de la Ejecucin Cclica

  • El tiempo de ciclo es el tiempo que el S.O. necesita para: ejecutar el programa cclico partes del programa que interrumpen al cclico (ejecucin otros OBs) actividades del sistema (p.e. actualizacin de imgenes, ..)

    El tiempo de ciclo se vigila El tiempo de ciclo no es igual para cada ciclo

    Tiempo de Ciclo I

    La figura muestra la funcin del tiempo de vigilancia del ciclo en laejecucin del programa en las CPUs

    Tiempo de Ciclo II

  • Son mdulos programables. Con parmetros absolutos o fromales

    Es un mdulo lgico sin memoria

    Las variables temporales de FCs se memorizan en la pila de datos locales

    Los datos locales se pierden tras la ejcucin de las FCs

    Para memorizar los datos, pueden utilizar mdulos de datos globales.

    A los datos locales de una FC no se le pueden asignar valores iniciles

    Como una FC no tiene memoria, se han de indicar siempre parmetros actuales

    Las FCs se pueden utilizar para: devolver un valor de funcin al mdulo invocante (p.e. Fun. Matemticas) ejecutar una funcin tecnolgica (p.e. Una combinacin binaria)

    Funciones FCs

    Son mdulos programables. Con parmetros absolutos o formales

    Es un mdulo con memoria

    Tiene asigando un mdulo de datos como memoria (DB de instancia)

    Los parmetros que se transfieren al FB y las varaiables estticas, sememorizan en el DB de instancia

    Las variables temporales se memorizan en la pila de datos locales

    Los datos del DB de instancia no se pierden al finalizar la ejecucin del FB

    Los datos memorizados en la pila de datos locales se pierden al finalizar laejecucin del FB

    Un FB contiene: un programa que se ejecuta cada vez que se le llama desde otro mdulo facilitan la programacin de funciones complejas de uso frecuente

    Mdulo de Funcin FBs

  • A cada llamada de un FB que transfiere parmetros est asignado un DB de instancia

    Un FB puede ejecutarse con diferentes DBs de instancia, luego se ejecutacon diferentes valores para los parmetros con cada DB de instancia

    Arranque: INT INRevoluciones: INT INHistorial: DT IN_OUTTiempo efec.: TIME IN_OUT

    FB 20: MotorParmetros formales

    Entero (16 bits): Arranque

    Entero (16 bits): Revoluciones

    Fecha y hora (48 bits):Puntero a direccin del historialTiempo (32 bits): Tiempo ejec.

    DB 202: Motor_2Parmetros actuales (reales)

    FBs y DBs de Instancia

    Son mdulos de datos. No contienen instrucciones STEP 7

    Contienen datos de usuario, datos variables con los que trabaja el programa

    Cualquier FB, FC o OB puede leer/escribir datos en un DB global

    El tamao mximo de los DBs depende de las CPUs

    La estructura de los DBs de datos globales se puede definir discrecionalmente

    Los datos de un DB de datos globales no se borran al cerrar el DB o concluirla ejecucin del mdulo de programa que lo utiliza

    FC 10 DB global

    (DB 20)FC 11

    FC 12 DB de instancia(DB 112)

    Acceso desde todos los bloques

    Acceso slo desde FB 12

    Mdulo de Datos Globales DBs

  • Son mdulos ya programados que ofrecen las CPUs S7 a los usuarios

    SFBs: Es un FB integrado en la CPU Forman parte del S.O. No se cargan como parte integrante del programa Al igual que los FBs, son mdulos con memoria Hay que crear los DBs de instancia y cargarlos en la CPU como parte

    intrgrante del programa. Las CPUs ofrecen SFBs:

    para la comunicacin va enlaces configurados para las funciones especiales

    SFCs: Es una funcin programada integrada en la CPU Las SFC se pueden llamar desde el programa de usuario Forman parte del S.O. No se cargan como parte integrante del programa Al igual que las FCs, las SFCs son mdulos sin memoria Las CPUs ofrecen SFCs para un conjunto muy amplio de aplicaciones

    Mdulos del Sistema SFBs y SFCs

    Byte de datos 0

    Byte de datos 8191

    8 Bits

    El tamao mximo de un mduloen la CPU 314 es 8 Kbyte. La cantidad mxima de memoriadisponible en un mdulo de datosdepende de la CPU.

    Tipos de Mdulos de Datos

  • EN ENOFB7DB45

    Llamada al FB7 (a travs delmdulo de datos de instancia DB45) y asignacin de parmetros.

    CALL FB7, DB45Start: = I 1.0Stop: = I 1.1Longitud := MW20Ejecutar: = M2.1

    FB parmetro formal

    Direccin actual de los datos(parmetro vigente)

    Llamada al FB7 (a travs delmdulo de datos de instancia DB45) y asignacin de parmetros.

    Direccin actualde los datos FB parmetro formal

    I 1.0I 1.1MW20

    StartStopLongitud

    ejecutar M2.1

    STL/AWL

    FBD/FUP

    Llamada de Mdulos Asignacin de Parmetros

    Cabecera del Mdulo(36 Bytes)

    Cuerpo del mdulo :

    Seccin de declaraciny

    Seccin de programao

    Datos

    InterfaseDescripcin breve

    Estructura del Mdulo

  • a b

    Botn de la seleccindel tanque

    0 0 0 0

    Ingrediente AIngrediente B

    LTLT

    LT

    LT

    LT

    Ejemplo de Programacin Estructurada

    Inicia el mdulo (OB 100), procesndose una vez despus de conectar la alimentacin, por ejemplo

    Iniciando el tiempo de control de ciclo

    Lectura del estado de las seales de los mdulosguardando los datos en la tabla de la imagen de proceso de entradas (PII)

    Ejecucin del programa en el OB1 (procesamientocclico)Eventos (tiempo de interrupcin, interrupcin de proceso, etc.) Llamada a otros mdulos OBs, FBs, FCs, etc.

    Escritura en la tabla de imagen de proceso desalida (PIQ) en los mdulos de salida.

    Mdulo de entrada

    CPU

    cic

    lo d

    e sc

    an

    Mdulo de salida

    A I 0.1A I 1.1= Q 4.0

    .

    .

    .

    .

    Mdulo OB 1

    Procesamiento Cclico del Programa

  • I2.0

    Q4.3

    I2.7 I0.5 I03 Q4.4

    1

    PII PIQByte 0Byte 1Byte 2....

    Byte 0Byte 1Byte 2....

    A(O I 2.0O Q 4.3)AN I 2.7AN I 0.5AN I 0.3= Q 4.4

    Programade usuario

    1

    Imagen del Proceso

    Tipo de Alarma OBs de alarma Aplicacin

    Alarma horaria OB 10 a OB 17 Calcula el flujo de un proceso demezcla al final de un turno

    Alarma de retardo OB 20 a OB 23 Controla un ventilador para que se pare 20 seg despus de parar un motor

    Alarma cclica OB 30 a OB 38 Muestrear el valor de una seal parael control de una planta

    Alarma de proceso OB 40 a OB 47 Notificar que se ha alcanzado el valor mximo de un depsito

    Los OBs de alarmas permiten: ejecutar partes del programa dependientes del tiempo reaccionar eficazmente a seales externas al proceso

    Mdulos de Organizacin de Alarmas

  • CON

    Alarma

    Alarma

    Alarma

    del procesoAlarma de Procesogobierno por interrupciones

    Procesamiento Cclicoprocesamiento normal. OB1

    Arranquecomprobacin e inicializacin de valorescondiciones de arranque

    Alarma cclicaperiodos de tiempo predeterminadosimportante en lazos regulacin

    Tratamiento de Erroren funcin de fallosslo en algunas gamas

    cclica

    Alarmahoraria Alarma horariaAlarmade retardo Alarma de retardo

    por errores

    Ejecucin de Programas Tipos de Procesamiento

    Definicin: El tiempo de ciclo es el tiempo que transcurre durante unciclo de programa. Est constituido por:

    Tiempo de ejecucin del S.O. Tiempo de transferencia de las imgenes del proceso (PII, PIQ) Tiempo de ejecucin del programa Temporizadores Funciones integradas Carga por alarmas Carga por comunicacin (Profibus-DP, MPI)

    Programa de usuarioA I 1.0= Q 4.0

    Tiempo de ciclo

    PII S.O. PIQ PII

    S.O.Programade usuario

    Interrupcionespor alarmas

    Tiempo de Ciclo

  • El tiempo de respuesta es el tiempo que transcurre entre el reconocimiento de una sealde entrada y el cambio de estado de la seal de la salida correspondiente. Depende de:

    Tiempo de ciclo Retardo en las entradas y salidas Tiempos de rotacin adicionales en la red Profibus

    Ejecucin del programaA I 1.0= Q 4.0

    Tiempo de reaccinRetardo delos mdulosde entrada

    10

    10

    I 1.0

    Q 4.0tiempo

    PII S.O. PIQ PII

    Tiempo de Respuesta

    El tiempo de respuesta ms corto se presenta cuando el estado de la entrada observada cambia justo antes de la carga de la PII. En este casohay que tener en cuenta:

    Tiempo de retardo de la entradas Tiempo de actualizacin de la PII Tiempo de paso por el S.O. Tiempo del programa de usuario Tiempo de ejecucin de los temporizadores Tiempo de actualizacin de la PIQ Retardo de las salidas

    Tiempo de Respuesta ms Corto y ms Largo

    El tiempo de respuesta ms largo se presenta cuando el estado de la entrada observada cambia durante la carga de la PII. En este casoel tiempo de respuesta es:

    tiempo de retardo de la entradas 2 x tiempo de actualizacin de la PII 2 x tiempo de paso por el S.O. 2 x tiempo del programa de usuario tiempo de ejecucin de los temporizadores 2 x tiempo de actualizacin de la PIQ tiempo de retardo de las salidas

  • Si se ha definido un tiempo de ciclo mnimo y este es mayor que el tiempo de ciclo real, al finalizar el programa cclico la CPU dispone de tiempo de ejecucin.

    El tiempo disponible se utiliza para procesar el OB de tarea no prioritaria.

    Mdulos de Org. de Tarea no Prioritaria

    Los OBs de alarmas cclicas permiten: ejecutar partes del programa en periodos de tiempo determinados

    Mdulo de Organizacin de Alarmas Cclicas

  • Programas S7/M7 (no asignados a ningn HW)

    Programas de usuario con mdulos S7:OBs, FBs, FCs, DBs,....... Fuentes AWL para programas de usuario

    CPU programable de un S7-400Programas S7/M7 (asignados a HW)Programas de usuario (off-line)

    Estacin HW de un S7 - 400

    M7-FM programable

    Fuentes AWL

    Estructura de un Proyecto S7

    Mdulos de STEP7

  • La herramienta Programar Mdulo S7 (KOP, AWL) se puede utilizar para editar mdulos off-line (almacenados en el dispositivo de programacin) o bien on-line(mdulos que estn en la CPU). Hay que indicar la opcin deseada y seleccionar el mdulo.

    Seleccionar un Mdulo para la Edicin

    Tabla deDeclaracinde Variables

    Seccin deCdigo

    Partes de un Mdulo

  • Word Bits S7

    8 7 6 5 4 3 2 1 0 BR CC0 CC1 OV OS OR STA RLO /FC

    Bit /FC Firts Check Bit de Primera Consulta

    Cada operacin lgica consulta el estado del bit /FC, as como el estado de seal del operando direccionado. Si el bit /FC es 0, la operacin almacenar el resultado de la consulta del estado de seal en el bit RLO de la palabra de estado (bit RLO) y el bit /FC se pone a 1. Este proceso se denomina primera consulta.

    Ciertas instrucciones como =, S y R establecen el /FC bit a 0 iniciando as una nueva lgica despus de ellas: condicionesacciones (Con esos operandos, se cierra la consulta actual y se abre una nueva (adems del inicio del programa).

    Otras instrucciones como AND o OR establecern el bit / FC a 1 para combinar la lgica con la siguiente instruccin.

    Bit RLO Result of Logic Operation Resultado Lgico

    Este bit almacena el resultado de una operacin lgica binaria (AND, NAND, OR, NOR, NOT) o de una comparacin (XOR--or exclusiva--, XNOR --nor exclusiva--). Otras instrucciones leen el RLO (=, S, R) para determinar cmo se van a ejecutar.

    STA Status (bit 2) El bit estado almacena el estado de la direccin de Booleana actual (bit direccionado). Ejemplo con RLO, STA y / FC Si ests acostumbrado a la lgica de escalera (ladder) y estas luchando por entender el propsito del RLO y STA puede ayudarte el siguiente ejemplo. El STA se utiliza para realizar un seguimiento del estado de la direccion. El RLO se utiliza para mantener seguimiento del estado del rengln.

  • EL programa AWL equivalente seria el siguiente:

    1. Al iniciar el primer chequeo el bit /FC es cero por lo que una instruccin Y lgica reflejar el bit de

    estado (STA) hacia el Resultado de Operacin lgica (RLO) . En este caso, la direccin de E 1.0 es 1 por lo que el

    STA es 1 y el resultado de la lgica (RLO) ser 1. Es decir, en la primera operacin lee el STA de la primera

    instruccin y lo copia en el RLO de la primera instruccin.

    2. En la segunda lnea el bit /FC es ahora 1 que indica que esta lnea tiene que usar el RLO de la anterior direccin

    I1.0 con el STA de la actual direccion I1.1. Como STA = 1 en I1.1, el RLO de la linea procesada es 1 . Es decir, lee el

    RLO de I1.0 (instruccin anterior) y el STA de I1.1 (instruccin actual) y realiza una AND logica, que es lo que dice

    la instruccin (si fuese O haria OR logica), y el resultado lo copia al RLO de I1.1 (instruccin actual).

    3. Lo mismo ocurre en la segunda lnea, pero esta vez de 1 hace que el actual RLO = 0. Es decir, AND entre RLO de

    I1.1 y STA de M0.0, almacenandolo en STA de M0.0)

    4. La cuarta es la instruccin de asignacin que toma el RLO y lo escribe en la direccion/es correspondientes (en

    las otras instrucciones las lee - marcas, entradas --, en asignaciones, set y reset las escribe). En este caso final

    RLO = 0 por lo que la salida ser OFF. (Si M0.0 fuese 1, entonces la operacin se evaluar como TRUE haciendo el

    RLO = 1 activando la salida Q1.0).

  • Operaciones de Y lgica.

    Esto lo vas a pillar enseguida vers. Imagina que tienes dos entradas que cuando estn las dos a true (1), tenemos que activar una salida. La logica sera as:

    U E 0.0

    U E 0.1

    = A 1.0

    Es decir, iniciamos el segmento leyendo lo que hay en el E0.0 y le hacemos un AND con el E0.1 y su resultado se lo asignamos a la salida A1.0.

    O de otra forma, cargamos el E0.0 en el RLO y luego hacemos un AND de la E0.1 con el RLO y se lo asignamos a la A1.0

    Operacin O lgica

    En buena lgica (nunca mejor dicho), podras pensar que la forma correcta de hacer un OR sera:

    U E0.0

    O E0.1

    = A1.0

    Y eso funcionria bien. Pero la forma ms mejr sera haciendo:

    O E0.0

    O E0.1

    = A1.0

    Por qu?

    Lgicamente hacen lo mismo. Pero me gusta ms hacerlo as porque de hecho, cuando traduces un OR de KOP a AWL as lo representa. Mejor que escribamos todos de la misma manera no?

    Bueno, al grano. Adivinas como actuara no?

    Inicialmente hara un:

  • U E0.0 // O E0.0

    Como en el caso anterior leera el estado del E0.0 y lo volcara en el RLO (imaginemos un cero).

    Luego un:

    O E0.1

    Y aqu hara un OR con el RLO. Imaginemos que el E0.1 estuviera a uno. El resultado del OR sera un bonito uno.

    = A1.0

    E igualamos el uno a la salida A1.0. Sencilo no? Vayamos ahora con los parntesis.

    NOTA: TENEMOS TODAS LAS OPERACIONES LOGICAS CON PUERTASAND, NAND, OR, NOR, XOR, XNOR, NOT

    Parntesis en AWL en Step 7

    Como puedes imaginar, en cuanto queramos realizar combinaciones un poco ms elaboradas necesitaremos parntesis para poder realizar estas lgicas.

    As, dispondremos de las siguientes operaciones:

    U( ..) //UN(..) que valdr para realizar un (N)AND con el contenido interior al parntesis O(..) // ON(..) que valdr para realizar un (N)OR con el contenido interior del parntesis. X(..) // XN(..) que valdr para realizar una (N)XOR con el contenido interior del parntesis

    En definitiva en lo que se basa es en realizar la combinatoria interior del parntesis y luego ejecutar la operacin asociada al parntesis.

    Los parntesis pueden anidarse metiendo parntesis dentro de otros parntesis. As, odramos hacer algo similar a lo anteriores ejemplos:

    U(

    U E0.0

    O E0.1

    )

    O(

    U E0.2

    U E0.3

    )

    = A1.0

  • En este caso primero resolvera la combinatoia interior de los parntesis por separado y luego realizara el OR entre el resultado de los parntesis.

    Hay que aadir que el caso del OR es un poco especial ya que si dentro del parntesis del OR la combinatoria es de AND exclusivamente, el parntesis se podra haber obviado quedando esa parte as:

    O

    U E0.2

    U E0.3

    Y funcionara exctamente igual.

    Operandos de cierre de consulta

    A estas alturas de la pelcula te estars preguntando si los resultados de la combinatoria se van almacenando en el RLO, qu pasa despus de una igualacin si quiero empezar a realizar una nueva combinatoria?

    Pues efectivamente despus de los operandos:

    Igualacin (=) Set (S) Reset (R)

    Con esos operandos, se cierra la consulta actual y se abre una nueva (adems del inicio del programa)

    Da igual por tanto lo siguiente que hagas (U,O, UN) porque lo que se har es una lectura del operando en el RLO. Es decir, si la siguiente a una igualacin es

    = A1.0

    UN E1.0

    U E1.1

    = A1.2

    Lo que har es leer el estado de la E1.0, le cambiar el signo y lo cargar en el RLO. No har un NAND con nadie. Simplemente realizar la carga en el RLO.

    Ojo. Un cambio de segmento no es un inicio de programa. Por tanto si la ltima instruccin de un segmento es la lectura de un bit haciendo un U E0.7, este afecta al siguiente segmento. A efectos prcticos es como si lo hubieras escrito al principio del nuevo segmento

  • FUNCIONES DE RLO EN CONTADORES Y TEMPORIZADORES

    Ya hemos visto la logica binaria, pero ahora vamos a emplearlo a temporizadores y contadores. Os habeis preguntado porque cuando cargamos un temporizador SE sigue contando?? La primera idea es que se siga CUMPLIENDO LA CONDICION.Pues la respuesta es que mientras el RLO no cambie sigue contando.

    De ah que si solo creemos que el programa funciona CUMPLE CONDICIONEJECUTA INSTRUCCIN la respuesta esta mal, pues en cada vuelta de ciclo de programa, cuando le toque evaluar la misma instruccion deberia CARGAR DE NUEVO el temporizador, pero no lo hace. Y lo mismo ocurre con los contadores.

    DE HECHO, UN PRIMER PROBLEMA DE PROGRAMACION RESIDE EN QUE DEBEMOS PROVOCAR UN CAMBIO DE RLO PARA QUE FUNCIONEN CIERTAS CONDICIONES COMO QUEREMOS, O VICEVERSA.

    UN SEGUNDO PROBLEMA ES QUE LAS OPERACIONES DEBEN TENER SIEMPRE EL FORMATO CONCRETO DE DATOS PARA LA OPERACIN A REALIZAR.

    Qu es un set, reset y asignacion en AWL?

    Un SET no es mas que fijar a uno una variable booleana. Como la has fijado, esta variable seguir a uno aun cuando las condiciones de ponerla a uno desaparezcan.

    Se diferencia de una igualacin (asignacion) en que en esta, el resultado final es dependiente en todo momento de las condiciones para estar a uno o a cero. Mientras que todas las condiciones se cumplan la variable estara a uno. Cuando una o varias de las condiciones no se cumpla, la seal cae, sera false, 0.

    Aqu no. Una vez dadas las condiciones la seal estar a uno indefinidamente o hasta que se le haga un RESET. Y es que el RESET lo que hace es fijar a cero la variable. Como en el caso anterior, aunque las condiciones de reset desaparezcan, la seal seguir a cero y no recobrar su estado de uno hasta un nuevo SET.

    Qu pasa si se dan ambas condiciones, SET y RESET en AWL?

    Pues lo primero que habra que darte un capn por hacer un programa en el que el set y reset se de simultneamente.

    Puede darse ese caso? Porsupuestsimo que s.

    Es grave? No conozco a nadie que haya enfermado de ello, pero mejor evitarlo.

    Qu pasa si se da? La respuesta seguro que la sabes. Depende.

    De qu depende ? De segn como se ejecute todo depende .

    Como bien sabes, si ambas condiciones se dan simultneamente y seguidas una de otra, la que sobrevivir del envite ser la segunda.

  • Qu pasa si mezco Set, Reset e igualaciones?

    Espero que esto no se te haya pasado siquiera por la cabeza crcel directamente. Punto. Y sin galletas en el desayuno hasta nuevo aviso.

    Vale, vale pero qu hay del SET y RESET en AWL?

    O E0.0

    O E0.1

    S A 1.0

    U E0.2

    U E0.3

    R A1.0

    Chupado no?

    Como bien imaginars, la seal A1.0 se pondr a uno, cuando el OR formado por la E0.0 y E0.1 de como resultado un uno poniendo el RLO a uno.

    Igualmente, la A1.0 se podr a cero, cuando el AND de la E0.2 y E0.3 se ponga a uno poniendo el RLO tambin a uno haciendo por tanto el reset.

    En definitiva, el Set y el Reset se ejecutarn forzando la marca o salida en una direccin u otra, cuando el RLO est a uno y pasando olmpicamente del Set o Reset cuando el RLO est a cero.

    Fcil no?

    Forzado del RLO SET y CLR

    Unas instrucciones muy interesantes son las de forzar el RLO, es decir, cargar en el RLO un cero o un uno de forma incondicional hasta que haya una nueva operacin de combinatoria booleana:

    SET: Fijaremos con ello el RLO a uno CLR: Fijaremos con ello el RLO a cero

    Por ejemplo:

    U E0.1

    U E0.2

    SET

    = A1.0

  • Cunto valdr A1.0?

    Pues efectivamente, la salida A1.0 estar forzada a uno ya que da igual lo que pase con la combinacin de las dos entradas ya que luego se fuerza el RLO a uno y se iguala su valor a la A1.0

    Flancos en AWL

    Finalmente vamos a ver los pulsos. Hay dos:

    Positivo (FP) Negativo (FN)

    Los pulsos como bien sabes son instrucciones que ponen el RLO a uno cuando se cumple el escalon de subida de cero a uno (el positivo) o que el RLO previo pase de uno a cero (el negativo).

    Necesitan una marca auxiliar que es la que almacena la informacin de cmo estaba el RLO en el ciclo anterior.

    Mejor con un ejemplo:

    U E0.0

    FP M1.0

    = A1.0

    Lo que har este mini ejemplo ser: Mientras que la marca E0.0 est a cero, la el RLO tras el pulso estar a cero. Cuando la entrada pase a uno, entonces en ese ciclo de scan el pulso pondr el RLO a 1 haciendo que la salida A1.0 se active en ese ciclo de scan. En el ciclo siguiente an estando la entrada a uno, la salida volver a cero ya que el RLO a la salida del pulso estar a cero.

    Si hicieramos un ejemplo similar con el flanco negativo:

    U E0.0

    FN M1.0

    = A1.0

    El comportamiento sera igual salvo que esta vez, el RLO despus del FN se pondr a uno cuando la seal de la E0.0 pase de estar a uno a estar a cero. Anlogamente al caso anterior slo estar a uno en ese ciclo de scan, volviendo a cero en los sucesivos con independencia de que la salida siga a cero en este caso.

  • Automatizacin Industrial

    Operaciones con Bits de Estado

    TEMA Operaciones con Bits de Estado

    1. Descripcin de los Bits de Estado

    2. Modificacin de los Bits de Condicin

    3. Evaluacin de Bits de la Palabra de Estado

    4. Operaciones sobre el RLO

    ndice

  • Estructura de la Palabra de Estado

    Bits de Estado Palabra de Estado

    Los Bits de Estado son bits indicadores de operacin (flags) Son utilizados por la CPU para controlar las operaciones binarias y las actualiza durante el

    procesamiento digital. La palabra de estado contiene bits a los que se puede acceder con el operando de

    operaciones lgicas con bits y con palabras.

    Definicin

    Descripcin de los Bits de Estado (I)

    Cada operacin lgica consulta el estado del bit /FC, as como el estado de seal del operando direccionado. Si el bit /FC es 0, la operacin almacenar el resultado de la consulta del estado de seal en el bit RLO de la palabra de estado (bit RLO) y el bit /FC se pone a 1. Este proceso se denomina primera consulta

    Bit /FC Firts Check Bit de Primera Consulta

    Este bit almacena el resultado de una operacin lgica binaria o de una comparacin.

    Bit RLO Result of Logic Operation Resultado Lgico

  • Descripcin de los Bits de Estado (II)

    El bit de estado almacena el valor del bit direccionado.

    Bit STA Status Bit de Estado

    El bit OR (O) se requiere al realizar una combinacin Y antes de O con una operacin O.

    Bit OR Bit de Estado OR

    Indica un desbordamiento en el rango de un nmero o la utilizacin de nmeros reales no vlidos.

    Bit OV Overflow Bit de Desbordamiento

    Se activa junto con OV, pero permanece activo hasta llamada a bloque, fin de bloque o JOS (salto si OS = 1).

    Bit OS Stored Overflow Bit de Desbordamiento Memorizado

    Descripcin de los Bits de Estado (III)

    Los bits CC1 y CC0 dan informacin sobre los resultados o bits siguientes:

    Resultado de una operacin aritmtica Resultado de una operacin de comparacin Resultado de una operacin digital Bits que han sido desplazados por una operacin de desplazamiento o de rotacin

    Bits CC1 y CC0 Condition Code Bits Bits Condicin

    El bit BR corresponde a la salida de habilitacin (ENO) para el cuadro KOP.Con la operacin SAVE (en STL) o con la bobina se guarda un RLO en el bit BR.

    Bit BR Binary Result Bit de Resultado Binario

  • Modificacin de los Bits de Condicin (I)

    CC1 y CC0 tras operaciones aritmticas con enteros, con desbordamiento

    CC1 y CC0 tras operaciones aritmticas (coma flotante) con desbordamiento

    CC1 y CC0 tras operaciones aritmticas, sin desbordamiento

    Modificacin de los Bits de Condicin (II)CC1 y CC0 tras operaciones de comparacin

    CC1 y CC0 tras operaciones de desplazamiento y rotacin

    CC1 y CC0 tras operaciones lgicas digitales

  • Evaluar los Bits de la Palabra de Estado (I)

    Bit de Anomala - Registro BR Consulta el valor de seal del bit BR (resultado binario)

    BR&

    1BR S

    I 0.0

    I 0.1 Q 4.0

    Bit de Anomala - Operacin no Vlida Determina si el resultado de una funcin aritmtica de nmeros en coma flotante es o

    no admisible (es decir, si uno de los valores de la funcin aritmtica no es un nmero en coma flotante vlido). Para ello se evalan los cdigos de condicin de la palabra de estado (CC1 y CC0).

    UO

    Bit de Anomala - Desbordamiento Detecta un desbordamiento (OV) en la funcin aritmtica ejecutada en ltimo lugar. Si

    tras una funcin aritmtica el resultado se encuentra fuera de rango.

    OV

    Bit de Anomala - Desbordamiento Memorizado Detecta un desbordamiento permanente (OS). A diferencia del bit OV (bit de

    desbordamiento), el bit OS permanece activado aunque las operaciones aritmticas se ejecuten sin error.

    OS

    Evaluar los Bits de la Palabra de Estado (II)

    Bits de Resultado Determinar la relacin entre el resultado de una

    operacin aritmtica y 0

    SUB_IENIN1 OUTIN2 ENO

    &>=0 S

    IW0IW2 Q 4.1

    I 0.0MW10

  • Operaciones de Consulta de Bits de Estado en STL

    Evaluar los Bits de la Palabra de Estado (III)

    Resultado Binario [BR = 1]BR

    Overflow Memorizado [OS = 1]OS

    Overflow [OV = 1]OV

    Resultado invlido (fuera de orden) [(CC0 = 1) && (CC1 = 1)]UO

    Resultado igual a 0 [(CC0 = 0) && (CC1 = 0)]==0

    Resultado distinto de 0 [(CC0=0) && (CC1=1) v (CC0=1) && (CC1=0)]0

    Resultado menor o igual que 0 [(CC1 = 0)]0

    Chequea que no cumple condicin y operacin lgica XOR-XN

    Chequea que no cumple condicin y operacin lgica OR-ON

    Chequea que no cumple condicin y operacin lgica AND-AN

    Chequea que cumple condicin y operacin lgica XOR-X

    Chequea que cumple condicin y operacin lgica OR-O

    Chequea que cumple condicin y operacin lgica AND -A

    Operaciones de Bits de Estado en STL

    Evaluar los Bits de la Palabra de Estado (IV)

    JOS1-----

    JO-1----

    JUO--11--

    JN, JM, JMZ--01--

    JN, JP, JPZ--10--

    JZ, JMZ, JPZ--00--

    JNBI----0-

    JBI----1-

    JCN, JNB-----0

    JC, JCB-----1

    Funciones de Salto EjecutablesOSOVCC1CC0BRRLO

  • Operaciones sobre el RLO en STL

    Operaciones sobre el RLO

    Niega el contenido del RLONOT

    Guarda el contenido del RLO en BRSAVE

    Establece el RLO a 0CLR

    Establece el RLO a 1SET

    Operaciones de Carga y Transferencia de la Palabra de Estado

    Carga y Transferencia de la Palabra de Estado

    Transfiere el valor del ACU1 a la palabra de estadoT STW

    Carga la palabra de estado en el ACU1L STW

    Dependiendo de la CPU, los bits /FC, STA y OR no se copian en el ACU1, se ponen a 0

  • Ejemplo 1:

    Ejemplos

    SET ;S M 8.0; // Pone a 1 marcaR M 8.1; // Pone a 0 marcaCLR ;S C 1; // Pone a 0 el

    // flanco del set del contador

    Ejemplo 2:SET ;SAVE; // Pone BR a 1...AN OV;SAVE; // Pone BR a 0 con overflow...

  • Tipos de datos en S7

    www.campusabierto.es AdolfoMolina

    Tipo y descripcin Tamao

    en bits Opciones de formato Mrgenes y representacin

    numrica Ejemplo

    BOOL (bit)

    1 Variable booleana Todo / Nada

    TRUE/FALSE 1 / TRUE 0 / FALSE

    Formatodevariablesnumricasmatematizables(conoperacionesdeclculo)

    INT (nmero entero) Identificador: I

    16 W

    Nmero entero con signo -32768 hasta 32767

    150

    DINT (entero de 32 bits) Identificador: D

    32 DW

    Nmero entero con signo L#-2147483648 hasta L#2147483647

    L#85

    REAL (nmero decimal en coma flotante) Identificador: R

    32 DW

    IEEE Nmero en coma flotante

    Lmite superior: 3.402823e+38 Lmite inferior: 1.175 495e-38

    1.234567e+13 6,0 0,0

    Formatosdetiempo

    S5TIME (tiempo SIMATIC)

    16 W

    Tiempo S7 en pasos de 10 ms (valor estndar)

    S5T#0H_0M_0S_10MS hasta S5T#2H_46M_30S_0MS

    S5T#0H_1M_0S_0MS S5TIME#0H_1H_1M_0S_0MS

    TIME (tiempo IEC)

    32 DW

    Tiempo IEC en intervalos de 1 ms, nmero entero con signo Equivale al formato DINT (D) con unidad de 1ms

    -T#24D_20H_31M_23S_648MS hasta T#24D_20H_31M_23S_647MS

    T#0D_1H_1M_0S_0MS TIME#0D_1H_1M_0S_0MS

    DATE (fecha IEC)

    16 W

    Fecha IEC en pasos de 1 da D#1990-1-1 hasta D#2168-12-31

    D#1994-3-15 DATE#1994-3-15

    TIME_OF_DAY (hora)

    32 DW

    Hora en intervalos de 1 ms TOD#0:0:0.0 hasta TOD#23:59:59.999

    TOD#1:10:3.3 TIME_OF_DAY#1:10:3.3

  • Tipos de datos en S7

    www.campusabierto.es AdolfoMolina

    Tipo y descripcin Tamao en bits

    Opciones de formato Mrgenes y representacin numrica

    Ejemplo

    BYTE (byte)

    8 B

    Nmero hexadecimal

    B#16#0 hasta B#16#FF

    B#16#10

    WORD (palabra)

    16 W

    Nmero binario Nmero hexadecimal BCD Formato carga contadores Z Nmero decimal sin signo Dos Byte

    2#0 hasta 2#1111_1111_1111_1111 W#16#0 hasta W#16#FFFF C#0 hasta C#999 B#(0,0) hasta B#(255,255)

    2#0001_0000_0000_0000 W#16#1000 C#12 B#(136,20)

    DWORD (palabra doble)

    32 DW

    Nmero binario Nmero hexadecimal Nmero decimal sin signo Cuatro Byte

    2#0 hasta 2#1111_1111_1111_1111_ 1111_1111_1111_1111

    DW#16#0000_0000 hasta DW#16#FFFF_FFFF B#(0,0,0,0) hasta B#(255,255,255,255)

    2#1000_0001_0001_1000_ 1011_1011_0111_1111 DW#16#00A2_1234 B#(1, 14, 100, 120)

    Variable ASCII (carcter)

    8 B

    Caracteres ASCII 'A','B' etc. 'E'

  • PLCs Pgina 1 Curso 2009/10

    1. STEP 7

    2. PROGRAMACIN BSICA AWL Introduccin Operaciones lgicas a nivel de bit Marcas Simblicos Flancos Temporizadores Diagnosis e informacin del sistema Contadores Carga y Transferencia Operaciones con acumuladores Saltos

    3. PROGRAMACIN ESTRUCTURADA

    Tema 2: Programacin de PLCs

  • PLCs Pgina 2 Curso 2009/10 Curso 2009/10

    Introduccin a los Tipos de Datos en STEP 7

    Tipos de datos elementales (hasta 32 bits)

    Tipos de datos complejos (mayores de 32 bits)

    Tipos de datos definidos por el usuario (mayores de 32 bits)

    Tipos de Datos de bit (BOOL, BYTE, WORD, DWORD, CHAR)

    Tipos de Datos Matemticos (INT, DINT, REAL)

    Tipos de Tiempo (S5TIME, TIME, DATE, TIME_OF_DAY)

    Tiempo (DATE_AND_TIME)

    Array (ARRAY)

    Estructura (STRUCT)

    Cadena de Caracteres (STRING)

    Tipo de Datos UDT (User Defined Type)

  • PLCs Pgina 3 Curso 2009/10 Curso 2009/10

    La memoria del Autmata est estructurada en bytes.

    Estos bytes podemos agruparlos/descomponerlos, obteniendo los siguientes tamaos de datos: Bit _ _ _ .N

    Byte (8 bits) _ _ _ B

    Palabra/word (16 bits) _ _ _ W

    Doble palabra/double word (32 bits) _ _ _ D

    Se puede acceder a cualquier rea de la memoria: marcas, entrada, salida, etc. con cualquiera de los tamaos de datos:

    TIPOS DE DATOS DE BIT TAMAO

  • PLCs Pgina 4 Curso 2009/10 Curso 2009/10

    E Tam BBB.b

    Zona de memoria:

    E -> Entradas A -> Salidas T -> Temporizadores Z -> Contadores M -> Marcas DB -> Mdulos de datos P -> Acceso directo (PA, PE)

    Tamao del Dato que vamos a usar (bit por omisin): B, W, D

    Nmero de byte y bit (0-7), en su caso

    DIRECCIONAMIENTO 1/3

  • PLCs Pgina 5 Curso 2009/10 Curso 2009/10

    DIRECCIONAMIENTO 2/3

    124

    125

    125

    125

    124

    125

  • PLCs Pgina 6 Curso 2009/10 Curso 2009/10

    Dentro de cada byte, palabra o doble palabra, los bits se numeran de derecha a izquierda, de 0 al 7. E 124.0

    Dir. byte: rea de memoria + B + n de byte EB124

    Dir. palabra: rea de memoria + W + n de su 1er byte

    EW124 => EB124 EB125

    Dir. doble palabra: rea de memoria + D + n de su 1er byte

    MD0 => MB0 MB1 MB2 MB3

    DIRECCIONAMIENTO 3/3

  • PLCs Pgina 7 Curso 2009/10 Curso 2009/10

    Sistemas numricos soportados: Decimal (enteros y fraccionarios), binario, hexadecimal, BCD

    Tipos de datos: Entero (en cualquiera de los sistemas numricos anteriores) Real (coma flotante) Carcter Tiempo: cantidad de tiempo, hora, S5T, fecha Puntero

    SISTEMAS NUMRICOS

    Ver ayuda Admin. Simatic Tipos de datos simples

  • PLCs Pgina 8 Curso 2009/10 Curso 2009/10

    Tipos de Datos Elementales en STEP 7

    BOOL 1 1 0 BYTE 8 B#16#A9 o B169 WORD 16 W#16#12AE o W4782 DWORD 32 DW#16#ADAC o DW44460 CHAR 8 ' w '

    S5TIME 16 S5T#5s_200ms

    INT 16 123 DINT 32 65539 REAL 32 1.2 o 34.5E-12

    TIME 32 T#2D_1H_3M_45S_12MS DATE 16 D#1993-01-20 TIME_OF_DAY 32 TOD#12:23:45.12

    Palabra Clave Long. (en bits) Ejemplo de una constante de este tipo

  • PLCs Pgina 9 Curso 2009/10 Curso 2009/10

    Nmeros en COMA FLOTANTE (1/2)

    - Signo (S) 1: negativo , 0: positivo (bit 31)

    - Mantisa (M) La mantisa incluye 23 bits (bit 0.. 22).

    - Exponente (E) El exponente incluye 8 bits (bit 23..30).

    ... 31 30 23 22 21 2 1 0 ...

    Estndar IEEE754: Expresa nmeros reales en 32 bits

    N decimal = (-1)signo 2exponente-127 (1+Mantisa2-23)

  • PLCs Pgina 10 Curso 2009/10 Curso 2009/10

    Nmeros en COMA FLOTANTE (2/2)

    Estndar IEEE754: Expresa nmeros reales en 32 bits

    N decimal = (-1)signo 2exponente-127 (1+Mantisa2-23)

    Ejemplo: 1#10000000#11000000000000000000000

    Parte ligada al signo: (-1)1 = -1 Parte ligada al exponente: 2128-127=21 = 2 Parte ligada a la mantisa: 1+62914562-23=1+0.75 =1.75 Resultado: -1 2 1.75 = -3.5

  • PLCs Pgina 11 Curso 2009/10 Curso 2009/10

    Registros auxiliares de 32 bits para intercambio de datos y operaciones de comparacin y aritmeticas.

    CPU 314IFM tiene 2 acumuladores. Carga al ACCU1,

    y el antiguo ACCU1 pasa al ACCU2.

    Si cargamos o transferimos tamaos de datos menores a la doble palabra ( bits, bytes (B), word (W) ), se empieza a leer y escribir por la derecha (byte menos significativo)

    ACUMULADORES (1/2)

    ACCU-H (16 bits) ACCU-L (16 bits)

  • PLCs Pgina 12 Curso 2009/10 Curso 2009/10

    Operaciones entre acumuladores:

    TAK: intercambia contenido ACCU1 y ACCU2 .

    PUSH: copia el contenido de ACCU1 al ACCU2, sin cambiar el 1.

    POP: copia el contenido de ACCU2 al ACCU1, sin cambiar el 2.

    ENT (slo S7-400): ACCU2 a ACCU3 y ACCU3 a ACCU4.

    LEAVE (slo S7-400): ACCU3 a ACCU2 y ACCU4 a ACCU3.

    ACUMULADORES (2/2)

  • PLCs Pgina 13 Curso 2009/10 Curso 2009/10

    Permiten programar intercambio de informacin entre mdulos de E/S y reas de memoria.

    L --> Instruccin de carga a ACCU-1

    T --> Instruccin de transferencia desde ACCU-1

    Cargan y transfieren del acumulador ACCU1, independientemente del valor RLO, y tampoco lo modifican.

    A dichas instrucciones les sigue un cdigo en el que se indica el tamao, formato y el nmero/posicin a cargar o transferir.

    CARGA Y TRANSFERENCIA 1/7

  • PLCs Pgina 14 Curso 2009/10 Curso 2009/10

    Ejemplos: LC Z0 --> Carga el contenido del contador en el acumulador en BCD.

    Si Z0=10 ACU1: 00 00 00 .......... 0001 0000 (BCD)

    L Z0 --> Idem pero en Binario Si Z0=10 ACU1: 00 00 00 .......... 0000 1010 (Binario autntico)

    L S5T#5S --> Herencia de versiones previas a S7: mximo nmero 9990sg,

    CARGA Y TRANSFERENCIA 2/7

  • PLCs Pgina 15 Curso 2009/10 Curso 2009/10

    Ejemplos:

    L ED124 (Cargar en el acumulador la doble palabra 124 de la PAE)

    ACU1: EB124 EB125 EB126 EB127

    Obsrvese: el byte ms significativo del acumulador (parte izquierda) queda

    relleno con el byte de direccin menor, y el de mayor direccin, a la dcha.

    L EW8 (Cargar en el ACU1 la palabra 8 de la PAE) 00 00 EB8 EB9

    L EB8 (Cargar en el ACU1 el byte 8 de la PAE) 00 00 00 EB8

    CARGA Y TRANSFERENCIA 3/7

  • PLCs Pgina 16 Curso 2009/10 Curso 2009/10

    Ejemplos (con los Registros de Direcciones, AR1 y AR2): LAR1 ----> Carga el reg.de direccin AR1 con el contenido de ACU1 LAR1 R2 ----> Carga el reg. de direccin AR1 con el contenido de reg AR2 TAR ----> Intercambia los contenidos de registros AR1 y AR2 TAR1 R2 ----> Transfiere el contenido de AR1 a AR2 El listado AWL siguiente:

    L ED 124 LAR1 L ED 128 LAR2 TAR

    Tendr como resultado:

    ED124 ----> AR2

    ED128 ----> AR1

    CARGA Y TRANSFERENCIA 4/7

  • PLCs Pgina 17 Curso 2009/10 Curso 2009/10

    Ejemplos (L y T con diferentes tamaos):

    L EB124 (Cargar en el ACU1 el byte 124 de las entradas) 00 00 00 EB124

    Si ahora hacemos T MW32 00 00 00 EB124

    MB32 MB33

    L ED124 EB124 EB125 EB126 EB127

    T MB32 MB32

    CARGA Y TRANSFERENCIA 5/7

  • PLCs Pgina 18 Curso 2009/10 Curso 2009/10

    L +5 --> Carga entero de 16 bits

    L L#523123 --> Carga un entero de 32 bits

    L B#16#EF --> Carga un hexadecimal de 8 bits

    L 2#0011_0110_1110_0011 --> Carga binario de 16 bits

    T MB0 --> Transfiere (el ACU1) al byte de marcas 0

    T AD256 --> Transfiere (el ACU1) a la doble palabra de salida 256

    CARGA Y TRANSFERENCIA 6/7

    NOTA:

    Ver ayuda Adm. Simatic

    Tipos de datos simples

  • PLCs Pgina 19 Curso 2009/10 Curso 2009/10

    CARGA Y TRANSFERENCIA 7/7

  • PLCs Pgina 20 Curso 2009/10 Curso 2009/10

    EJERCICIO (Entregable 4)

    Tenemos una mezcladora que produce 2 tipos de productos, magdalenas y donuts, para lo cual controla la receta, modificando las proporciones de harina (A124.0) y leche (A124.1), y el tiempo que est mezclndolos (A124.2).

    La produccin empezar cuando E124.0 se ponga a 1 Si E124.1=1 produce magdalenas, para lo cual A124.0 est

    encendido 3 segundos, A124.1 est encendido 1 segundo y A124.2 durante 2 sg.

    Si E124.1=0 produce donuts, para lo cual los tiempos son 4, 3 y 2 segundos respectivamente.

    El sistema debe ser robusto de forma que si est en medio de una receta no debe interrumpirse aunque cualquiera de los dos botones de entrada se modifique

  • Automatizacin Industrial

    Mdulos de Datosy

    Tipos de datos

    TEMA Mdulos de Datos y Tipos de Datos

    1. Tipos de Mdulos de Datos

    2. Edicin de Mdulos de Datos

    3. Llamada a Mdulos de Datos

    4. Acceso a Mdulos de Datos

    5. Tipos de Datos

    5.1 Tipos de Datos Elementales

    5.2 Tipos de Datos Estructurados

    ndice

  • Mdulo de datos a instancia

    Leyenda:

    FB

    FB

    FB

    FC

    SFC

    SFBOB

    Mdulo deorganizacin

    OB = Mdulo de OrganizacinFB = Mdulo de FuncinFC = FuncinSFB = Mdulo de Funcin de SistemaSFC = Funcin de Sistema SDB = Mdulo de Datos de SistemaDB = Mdulo de Datos

    DB

    DB DB

    DB

    Introduccin

    Byte datos 0

    Byte datos 8191

    8 bits

    El mximo tamao del mdulopara la CPU 314 es 8 kBytes.La cantidad de memoria disponible para los mdulos de datos depende de la CPU.

    Global (normalmente usados)

    Instancia (local)

    Tipos de Mdulos de Datos

  • Edicin de Mdulos de Datos (I)

    STEP 7Direccin

    de memorialocal Nombre

    Valorinicial

    Datablock c:\class\machine1\db10

    Edicin de Mdulos de Datos (II)

    Tipo de datos Comentario

  • :OPN DB 12:::L DB:T DB::CALL FC 16:::L DB:T DB:::BE

    ::::L DB:T DB::::OPN DB 13::L DB:T DB:::BE

    FC 15 FC 16 DB 12

    DB 13

    Del OB 1

    Al OB 1

    Llamada a Mdulos de Datos

    OPN DB 19OPN valores

    L DBB 1 Cargar el byte de datos 1.L DBW 2 Cargar la palabra de datos 2 (byte 2/3).L 5 Cargar el nmero 5.T DBW 4 Transferir a la palabra 4.L 'A' Cargar el carcter ASCII A.L DBB28 Cargar el byte de datos 28.==I Comparar.

    U DBX 3.1 Consultar el bit 1 del byte 3.

    L DB19.DBW4 Cargar la palabra de datos 4del DB19 (incluye OPN DB 19).

    L valores.N1 Acceso simblico a la variableN1. valores es el nombre simblicodel DB que contiene dicha variable

    Abrir mdulo de datos Carga y Transferencia en Mdulos de Datos

    Acceso a Elementos de Datos

  • STEP 7 permite tener dos DBs abiertos simultneamente Uno se referencia por DB (global) y el otro por DI (instancia) La forma de abrirlos: OPN DB 5, OPN DI 7 Para cargar o transferir al DB: L DBB 0, T DBB 1 Para cargar o transferir al DI: L DIB 0, T DIB 3 Otra forma de direccionar sin abrir el DB:

    L DB5.DBB 0, T DB7.DBB 1 Para direccionamiento de bit, byte, palabra y doble palabra:

    A DB5.DBX 0.7, para direccionar un bitL DB5.DBB 7, para direccionar un byteL DB5.DBW 7, para direccionar una palabraL DB5.DBD 7, para direccionar una doble palabra

    Direccionamiento

    Notas de Acceso a Elementos de Datos

    Las variables de tipos de datos bsicos tiene una longitud mxima dedoble palabra

    Son procesadas con instrucciones de carga y transferencia o con operaciones lgicas binarias

    Los tipos de datos elementales pueden ocupar un bit, un byte, unapalabra o una doble palabra

    Declaracin:

    Varname : datatype := pre-assignment

    Varname es el nombre de la variabledatatype es un tipo de dato elementalpre-assignment es el valor asignado

    Una variable pude ser declarada global en la tabla de simblicos olocamente en la seccin de declaraciones

    Tipos de Datos Elementales

  • Tipo de Datos Tamao(Bit)

    Descripcin

    BYTE 8 Byte. Rango: 0 a 255WORD 16 Palabra. Rango: 0 a 65.535DWORD 32 Doble Palabra. Rango: 0 a 2

    32-1

    CHAR 8 Carcter. Cada carcter imprimible (Cdigo ASCII>31)

    STRING 8 X 254 Cadena de caracteres desde 2 a 254INT 16 Entero. Rango: -32.768 a 32.767DINT 32 Doble entero. Rango: -231 a 231-1REAL 32 Nmero en coma flotante. (IEEE)TIME 32 Tiempo en intervalos de 1 ms (IEC)DATE 16 Fecha en intervalos de 1 da (IEC)TOD 32 Hora y da en intervalos de 1 ms: hora (0 a 23),

    minutos (0 a 59), segundos (0 a 59), ms (0 a 999)S5TIME 16 Valor de tiempo para los temporizadores.

    Rango: 0H_0M_0S_0MS a 2H_46M_30_0MS

    BOOL 1 Bit. Rango: true o false

    Tabla de Tipos de Datos Elementales

    Longitud = 1 BIT BYTE Longitud = 8 BITS

    PALABRA Longitud = 16 BITS

    DOBLE PALABRA Longitud = 32 BITS

    01234567

    01234567

    01234567

    01234567

    01234567 01234567 01234567

    BIT

    Una variable tipo BOOL representa un bit (p.e. entrada I 0.0) Una variable tipo BYTE es un conjunto de 8 bits (p.e.salidas QB 5) Una variable tipo WORD es un conjunto de 16 bits (p.e. marcas MW 7) Una variable tipo DWORD es un conjunto de 32 bits

    Bit, Byte, Palabra y Doble Palabra

  • Nmero BCD, 3 dcadas

    8111215 0347

    010110210Signo

    Byte m Byte m+1

    8111215 0347

    410510610Signo

    Byte m Byte m+1

    8111215 0347

    010110210

    Byte m+2 Byte m+3

    310

    Nmero BCD, 7 dcadas

    Se pueden introducir datos en BCD con tipo de dato 16# (hexa) y usar slo dgitosde 0 a 9 (p.e. L W#16#2468)

    Para temporizadores est definido el tipo de datos S5TIME# (p.e. L S5TIME#30s.) Para contadores est definido el tipo de datos C# o 16# (p.e. L C#368)

    Representacin en BCD

    EL tipo de datos CHAR representa un carcter en cdigo ASCII. Cada variable de tipo CHAR ocupa un byte (p.e. L A)

    Dato tipo CHAR

    01234567

    Cdigo ASCII

    Byte m

    Tipo de Dato CHAR

  • Una variable de tipo de dato INT representa un entero que esalmacenado en 16 bits (una palabra) en coma fija

    No tiene un identificador especial Los bits 0-14 representan el valor de la variable El bit 15 representa el signo (0 -> positivo ; 1 -> negativo) Nmeros negativos son almacenados en forma de complemento a dos El rango posible desde +32.767 (7FFFhex) a -32.768 (8000hex)

    INT:

    S 021222.....214 .....15 14 .......0

    Representacin de Nmeros (I)

    Una variable de tipo de dato DINT representa un entero que esalmacenado en 32 bits (doble palabra) en coma fija

    Un entero es almacenado como una variable DINT: si es mayor de 32.767 o menor de -32.768 si el identificador L # precede al nmero

    Los bits 0-30 representan el valor de la variable El bit 31 representa el signo (0 -> positivo ; 1 -> negativo) Nmeros negativos son almacenados en forma de complemento a dos El rango posible desde:

    +2,147,483,647 (7FFF FFFFhex) a -2,147,483,648 (8000 0000hex)

    DINT:

    S 021222.....230 .....31 30 .......0.......16 15.....

    162.... ....215

    L -100 // Se carga un nmero INT en ACU1. Palabra izquierda ACU1 (0000hex)L L#-100 //se carga un nmero DINT en ACU1. Palabra izquierda ACU1 (FFFFhex)

    Representacin de Nmeros (II)

  • Una variable de tipo de dato REAL representa una fraccin que esalmacenado en 32 bits (doble palabra) en coma flotante

    Un entero es almacenado como una variable REAL:- si el punto decimal es seguido por un cero (L 100.0 o L 1.0e+2)

    La variable real consiste internamente en tres partes:- el signo (bit 31) ( 0 -> positivo; 1 -> negativo)- 8 bits para el exponente (en base 2) (bits 23 a 30) - 23 bits de mantisa (bits 0 a 29)

    Nmeros normalizados en coma flotante:- rango desde -3.402 823 x 10 +38 a -1.175 494 x 10 -38)- +1.175 494 x 10 -38 a 3.402 823 x 10 +38

    Nmeros no normalizados en coma flotante:- - 1.17 494 x 10 -38 a -1.401 298 x 10 -45- + 1.401 298 x 10 -45 a +1.175 494 x 10 -38

    REAL:

    S 12 232...27 .....31 30.... .......0.2322.....

    02.... ....2 2

    Exponente Mantisa

    Representacin de Nmeros (III)

    REAL:

    Representacin de Nmeros (IV)

  • Una variable de tipo de dato S5TIME es usada para inicializar temporizadores en STL, LAD y FBD

    Ocupa una palabra de 16 bits con 1 + 3 dcadas El tiempo se especifica en horas, minutos, segundos y milisegundos La conversin a la representacin interna la realiza el STEP 7 El nmero es representado internamente en BCD de 000 a 999 El tiempo base puede se: 10 ms (00), 100ms (01), 1s (10) y 10s (11) El tiempo es el producto del valor por la base

    S5TIME:

    01015 14 .......0

    S5TIME#500ms (=0050hex)S5T#2h46m30s (=3999hex)

    010110210Valor de tiempoBase de tiempo

    Representacin de Tiempos (I)

    Una variable de tipo de dato DATE es almacenada en una palabra como un nmero sin signo en coma fija

    El contenido de la variable corresponde al nmero de das desdeel 01.01.1990.

    La representacin contiene el ao, el mes y el ao, cada unoseparado por (-)

    DATE:

    DATE#1990-01-01 (=0000hex)D#2168-12-31 (=FF62hex)

    021222.....214 .....15 14 .......0152

    Ejemplos:

    Representacin de Tiempos (II)

  • Una variable de tipo de dato TIME ocupa una doble palabra La representacin contiene especificacin de da (d), hora (h),

    minutos (m), segundos (s) y milisegundos (ms) El contenido de la variable es interpretado como milisegundos (ms)

    y almacenados como un nmero de 32 bits en coma fija con signo

    TIME:

    TIME#24d20h31m23s647ms (=7FFF_FFFFhex)TIME#0ms (=0000_0000hex)

    Ejemplos:

    S 021222.....230 .....31 30 .......0.......16 15.....

    162.... ....215

    Representacin de Tiempos (III)

    Una variable de tipo de dato TIME_OF_DAY ocupa una doble palabra Contiene el nmero de milisegundos desde el comienzo del da (0:00)

    como un nmero si signo en coma fija La representacin contiene la especificacin de horas, minutos,

    segundos y milisegundos.

    TIME_OF_DAY:

    TIME_OF_DAY#00:00:00 (=0000_0000hex)TOD#23:59:59.999 (=0526_5BFFhex)

    Ejemplos:

    021222.....230 .....31 30 .......0.......16 15.....

    162.... ....215312

    Representacin de Tiempos (IV)

  • Ejemplo:

    Representacin de Tiempos (V)

    El tipo de dato DATE_AND_TIME representa un tiempo consistenteen fecha y momento del da

    Se puede utilizar la abreviacin DT en lugar de DATE_AND_TIMEcomo un nmero si signo en coma fija

    La representacin interna es de 64 bitsSe indica como Ao-Mes-Da -h:min:s.ms

    DATE_AND_TIME:

    DT#1995-02-02-08:30:01.999

    Tipos de Datos Estructurados y Arrays

    COMPONENTESGEOMTRICOS

    TIPOGEO_COMPONENTES

    STRUCTCIRCULO: ENTEROTRIANGULO: PALABRA

    CUADRADO: REALRECTANGULO: ENTERO

    END_STRUCTEND_TYPE

    FUNCTION_BLOCK: EJEMPLO

    VARGEOMETRY:ARRAY [1...3 ] of GEO_COMPONENTSEND_VAR

    Estructura Array

  • Strings

    Antes de utilizar los datos locales dinmicos del tipo STRING, el usuario los debe inicializar p.ej. mediante una secuencia AWL tal como:

    LAR1 P#lokal_string_var // lokal_string_var est declarada en VAR_TEMP como STRING[200]

    L 200 // longitud de STRING indicada arriba

    T LB [AR1, P#0.0] // introducido en el MAX Len Byte de la cadena

    L 5 // longitud real de la cadena

    T LB [AR1, P#1.0] // introducir longitud real de la cadena

    UDT: Tipos de Datos de Usuario

    Despus de abrir un UDT se visualiza en una nueva ventana de trabajo la tabla de este tipo de datos de usuario en modo "Declaracin".

    La primera y la ltima lnea contienen ya las declaraciones STRUCT y END_STRUCT, respectivamente, que indican el comienzo y el fin del tipo de datos de usuario.

    Puede editar el tipo de datos de usuario comenzando a partir de la segunda lnea de la tabla de declaracin en las columnas correspondientes.

    Los tipos de datos de usuario pueden estar formados por: tipos de datos simples, tipos de datos compuestos o tipos de datos de usuario ya existentes

    UDTSon estructuras de datos creadas por el usuario y que, una vez definidas, pueden utilizarse en todo el programa.Los tipos de datos de usuario (UDTs) se crean en el Administrador SIMATIC o con el editor incremental.

    Estructura de un UDT

  • UDT: Ejemplo en AWL

    TYPE UDT 20 STRUCT arranque : BOOL; //variable del tipo BOOL terico : INT; //variable del tipo INT alor : WORD; //variable del tipo WORD END_STRUCT; END_TYPE

  • Step 7 Elementary Data Types

    Type and Description

    Size in Bits

    Format Options

    Range and Number Notation (lowest to highest values)

    Example in STL

    BOOL (Bit)

    1 Boolean text

    TRUE/FALSE TRUE

    BYTE (Byte)

    8 Hexadecimal number

    B#16#0 to B#16#FF L B#16#10 L byte#16#10

    WORD (Word)

    16 Binary number

    2#0 to 2#1111_1111_1111_1111

    L 2#0001_0000_0000_0000

    Hexadecimal number

    W#16#0 to W#16#FFFF L W#16#1000 L word#16#1000

    BCD C#0 to C#999 L C#998

    Decimal number unsigned

    B#(0,0) to B#(255,255) L B#(10,20) L byte#(10,20)

    DWORD (Double word)

    32 Binary number

    2#0 to 2#1111_1111_1111_1111_ 1111_1111_1111_1111

    L 2#1000_0001_0001_1000_ 1011_1011_0111_1111

    Hexadecimal number

    W#16#0000_0000 to W#16#FFFF_FFFF

    L DW#16#00A2_1234 L dword#16#00A2_1234

    Decimal number unsigned

    B#(0,0,0,0) to B#(255,255,255,255)

    L B#(1, 14, 100, 120) L byte#(1,14,100,120)

    INT (Integer)

    16 Decimal number signed

    -32768 to 32767 L 101

    DINT (Double integer)

    32 Decimal number signed

    L#-2147483648 to L#2147483647

    L L#101

    REAL (Floating-point number)

    32 IEEE Floating-point number

    Upper limit +/-3.402823e+38 Lower limit +/-1.175495e-38

    L 1.234567e+13

  • S5TIME (SIMATIC time)

    16 S7 time in steps of 10ms (default)

    S5T#0H_0M_0S_10MS to S5T#2H_46M_30S_0MS and S5T#0H_0M_0S_0MS

    L S5T#0H_1M_0S_0MS L S5TIME#0H_1H_1M_0S_0MS

    TIME (IEC time)

    32 IEC time in steps of 1 ms, integer signed

    T#24D_20H_31M_23S_648MS to T#24D_20H_31M_23S_647MS

    L T#0D_1H_1M_0S_0MS L TIME#0D_1H_1M_0S_0MS

    DATE (IEC date)

    16 IEC date in steps of 1 day

    D#1990-1-1 to D#2168-12-31

    L D#1996-3-15 L DATE#1996-3-15

    TIME _OF_DAY (Time)

    32 Time in steps of 1 ms

    TOD#0:0:0.0 to TOD#23:59:59.999

    L TOD#1:10:3.3 L TIME_OF_DAY#1:10:3.3

    CHAR (Character)

    8 ASCII characters

    A', 'B' etc. L 'E'

    S5TIME NOTES

    Underscores in time and date are optional It is not required to specify all time units (for example: T#5h10s is valid) Maximum time value = 9,990 seconds or 2H_46M_30S

    S5TIME Format

    Time base Binary Code

    10 ms 00

    100 ms 01

  • 1 s 10

    10 s 11

    Symbol Table Allowed Addresses and Data Types

    English

    Mnemonics

    German

    Mnemonics Description Data Type

    Address

    Range

    I/O Signals

    I E Input bit BOOL 0 to

    65535.7

    IB EB Input byte BYTE, CHAR 0 to 65535

    IW EW Input word WORD, INT, S5TIME,

    DATE 0 to 65534

    ID ED Input double word DWORD, DINT, REAL,

    TOD, TIME 0 to 65532

    Q A Output bit BOOL 0 to

    65535.7

    QB AB Output byte BYTE, CHAR 0 to 65535

    QW AW Output word WORD, INT, S5TIME,

    DATE 0 to 65534

    QD AD Output double word DWORD, DINT, REAL,

    TOD, TIME 0 to 65532

    Marker Memory

    M M Memory bit BOOL 0 to

    65535.7

    MB MB Memory byte BYTE, CHAR 0 to 65535

    MW MW Memory word WORD, INT, S5TIME,

    DATE 0 to 65534

  • MD MD Memory double word DWORD, DINT, REAL,

    TOD, TIME 0 to 65532

    Peripheral I/O

    PIB PEB Peripheral input byte BYTE, CHAR 0 to 65535

    PIW PEW Peripheral input word WORD, INT, S5TIME,

    DATE 0 to 65534

    PID PED Peripheral input double

    word

    DWORD, DINT, REAL,

    TOD, TIME 0 to 65532

    PQB PAB Peripheral output byte BYTE, CHAR 0 to 65535

    PQW PAW Peripheral output word WORD, INT, S5TIME,

    DATE 0 to 65534

    PQD PAD Peripheral output double

    word

    DWORD, DINT, REAL,

    TOD, TIME 0 to 65532

    Timers and Counters

    T T Timer TIMER 0 to 65535

    C Z Counter COUNTER 0 to 65535

    Logic Blocks

    FB FB Function block FB 0 to 65535

    OB OB Organization block OB 1 to 65535

    FC FC Function FC 0 to 65535

    SFB SFB System function block SFB 0 to 65535

    SFC SFC System function SFC 0 to 65535

    Data Blocks

    DB DB Data block DB, FB, SFB, UDT 1 to 65535

    User-defined data types

  • UDT UDT User-defined data type UDT 0 to 65535

  • PLCs Pgina 1 Curso 2009/10

    1. STEP 7

    2. PROGRAMACIN BSICA AWL Introduccin Operaciones lgicas a nivel de bit Marcas Simblicos Flancos Temporizadores Diagnosis e informacin del sistema Contadores Carga y Transferencia Operaciones con acumuladores Saltos

    3. PROGRAMACIN ESTRUCTURADA

    Tema 2: Programacin de PLCs

  • PLCs Pgina 2 Curso 2009/10

    Introduccin

    Tabla de declaracin de variables

    Variables locales y atributos del sistema

    rea de instrucciones

    Formado por uno o varios segmentos

    Lenguajes posibles: AWL(ingls, aleman),

    KOP, FUP

    Propiedades de bloques Autor del bloque Fecha y hora de creacin..........

    OBs, FBs, FCs

  • PLCs Pgina 3 Curso 2009/10

    Introduccin

    Toda instruccin se compone de: marca de salto (opc.), operacin, operando y comentario (opc.).

    Ejemplo: M001: U E1.0 //Comentario

    Cada instruccin ocupa una lnea propia.

    Por cada segmento se pueden introducir unas 2000 lneas.

    Al introducir operaciones o direcciones absolutas no se distingue entre maysculas y minsculas.

  • PLCs Pgina 4 Curso 2009/10

    Operaciones lgicas a nivel de bit

    Qu son ? Parte del conjunto de instrucciones que permiten desarrollar operaciones con operandos binarios de un bit.

    Cules son ?

    U, UN combinacin serie (AND)

    O, ON combinacin paralelo (OR)

    U(O Posibles anidamientos

    O(U Posibles anidamientos

    X or exclusiva

    = asignacin

  • PLCs Pgina 5 Curso 2009/10

    Operaciones lgicas a nivel de bit

    La CPU chequea el estado de las seales de los sensores (operandos)

    La primera vez, en cada operacin lgica:

    Se guarda el estado de la entrada (primer operando) en el RLO Result of Logic Operation, bit del registro de estado CPU

    No se ejecuta operacin lgica

    Siguientes veces, dentro de operacin lgica: Se ejecuta operacin lgica entre valor de RLO y valor de estado de entrada (nuevo operando).

    El resultado de operacin lgica se guarda en el RLO

  • PLCs Pgina 6 Curso 2009/10

    Operaciones lgicas a nivel de bit

  • PLCs Pgina 7 Curso 2009/10

    Operaciones lgicas a nivel de bit

    El elemento fundamental es el RLO (Resultado de operacin lgica).

    El RLO es un bit de la palabra de estado.

    Refleja el resultado de la ltima operacin lgica realizada: Cuando una operacin si se ejecuta/cumple: RLO=1 Cuando una operacin no se ejecuta/cumple: RLO=0

    Es entrada y salida en las operaciones combinacionales.

  • PLCs Pgina 8 Curso 2009/10 Curso 2009/10

    Realiza la operacin AND de dos bits.

    En diagrama de contactos equivale a una conexin serie

    A 125.0 E 125.0 E 124.2

    U E124.2

    U E125.0

    =A 125.0

    AWL

    Diagrama de contactos

    KOP

    Operaciones lgicas a nivel de bit

  • PLCs Pgina 9 Curso 2009/10 Curso 2009/10

    Realiza la operacin OR de dos bits.

    En diagrama de contactos equivale a una conexin paralelo.

    O E124.2

    O E125.0

    =A 125.0

    AWL

    A 125.0

    E 125.0 E 124.2

    KOP

    Operaciones lgicas a nivel de bit

  • PLCs Pgina 10 Curso 2009/10 Curso 2009/10

    KOP

    E 124.0

    E 124.1

    A 124.0 O E124.1

    ON E124.0

    =A 124.0

    AWL

    U E124.1

    UN E124.0

    =A 124.0

    AWL

    KOP

    A 124.0

    E 124.0

    E 124.1

    Operaciones lgicas a nivel de bit

  • PLCs Pgina 11 Curso 2009/10

    FUP

    KOP

    AWL

    Operaciones lgicas a nivel de bit

  • PLCs Pgina 12 Curso 2009/10

    Operaciones lgicas a nivel de bit

  • PLCs Pgina 13 Curso 2009/10

    U E 124.0 Primera consulta UN E 124.1 = A 124.0 U E 125.0 Primera consulta

    Operaciones lgicas a nivel de bit

  • PLCs Pgina 14 Curso 2009/10 Curso 2009/10

    OPERACIONES CON SLO RLO

    NOT negar RLO SET activar RLO (=1) CLR desactivar RLO (=0)

    SAVE SAVE almacena el RLO (resultado lgico) en el bit RB (bit de resultado binario).

  • PLCs Pgina 15 Curso 2009/10 Curso 2009/10

    OPERACIONES CON MEMORIA (I/IV)

    U E 124.0

    S A 125.0

    1) Si la entrada 124.0 est activa se enciende la salida 125.0 2) Si la entrada 124.0 se desactiva no se desactiva la salida 125.0

  • PLCs Pgina 16 Curso 2009/10 Curso 2009/10

    OPERACIONES CON MEMORIA (II/IV)

  • PLCs Pgina 17 Curso 2009/10 Curso 2009/10

    OPERACIONES CON MEMORIA (III/IV)

    U E 124.0 S A 124.0

    U E 124.1 R A 124.0

    Prevalece el Reset

    sobre el Set

    U E 124.0 R A 124.0

    U E 124.1 S A 124.0

    Prevalece el Set sobre

    el Reset

  • PLCs Pgina 18 Curso 2009/10 Curso 2009/10

    OPERACIONES CON MEMORIA (IV/IV)

    U E 124.0 S A 124.0

    U E 124.1 R A 124.0

    Tiempo de ciclo

  • PLCs Pgina 19 Curso 2009/10 Curso 2009/10

    MARCAS

  • PLCs Pgina 20 Curso 2009/10 Curso 2009/10

    El estado de disponibilidad o no de servicio lo proporciona un selector de dos posiciones: Conectado-Desconectado. La electrobomba se pondr en marcha cuando el sensor de mnimo est encendido y se apagar cuando, o bien se encienda el sensor de mximo, o bien salte el trmico o bien la desconectemos mediante el selector. Si la electrobomba est en servicio deber lucir una lmpara indicadora. Si salta el trmico se encender otra lmpara avisndolo.

    EJERCICIO (Entregable 1)

  • Automatizacin Industrial

    Operaciones Binarias y de Memoria

    TEMA Operaciones Binarias y de Memoria

    1. Palabra de Estado

    2. Instrucciones de Bit

    3. Operaciones Lgicas Binarias

    4. Consideraciones sobre Sensores

    5. Operaciones de Memoria

    5.1 Detectores de Flanco

    5.2 Operaciones SR/RS

    6. Consideraciones sobre Primera Consulta

    ndice

  • Contiene bits con informacin de estado Las operaciones interpretan o activan los bits de estado La palabra de estado tiene 16 bits

    RLO/FCSTAOROSOVCC0CC1BR

    021222324252627282.....215

    Bit Ocupacin Significado0 /FC Bit de primera consulta

    - En el comienzo de un segmento su valor es 0- Excepto cuando el seg. previo finaliza con SAVE

    1 RLO Bit de resultado lgico. Se almacena resultado lgico2 STA Bit de estado3 OR Bit OR (necesario en operaciones Y antes de O)4 OS Bit de desbordamiento memorizado

    Palabra de Estado (I)

    Bit Ocupacin Significado5 OV Bit de desbordamiento. Error de desbordamiento en

    operaciones en coma flotante6 CC0 Cdigo de condicin 07 CC1 Cdigo de condicin 1

    Proporcionan informacin sobre:- Resultado de una operacin aritmtica- Resultado de una comparacin- Resultado de una operacin digital- Bits desplazados del operando por desplazamiento

    o rotacin8 BR Resultado binario. Establece un enlace entre el

    procesamiento de palabras y el procesamiento de bits9 a 15 No ocupado

    Palabra de estado (II)

  • Las instrucciones bit trabajan con los dos nmeros binarios, 0 y 1. En el mbito de las operaciones lgicas:

    - 1 significa activado- 0 significa no activado

    Las instrucciones bit interpretan estados de seal de 1 y 0 y los combina segn lgica de Boole

    El resultado de estas combinaciones es 1o 0. Se indican como "Resultado de Operacin Lgica" (RLO).

    Instrucciones bit

    NOT

    #

    S

    SR_FFS Q

    R

    RS_FFR Q

    S

    &

    =

    XOR>=1

    O I 0.1O I 0.2= Q 4.1A I 0.1

    A I 0.2= Q 4.1

    Operaciones Lgicas Binarias I

  • Operacin A Funcin Y = Funcin de asignacinAN Funcin YN # Conector intermedioA( Y - abrir parntesis FP Funcin de flanco positivoAN( NO-Y abrir parntesis FN Funcin de flanco negativoO Funcin O NOT Funcin negacinON Funcin ON S Funcin set de un biestableO Funcin O de funciones Y R Funcin reset de biestableO( O - abrir parntesis SAVE Salvar RLO en RBON( NO-O abrir parntesisX Funcin O-EXCLUSIVAXN Funcin NO-O-EXCLUSIVAX( O-EXCLUSIVA abrir parntesisXN( NO-O-EXCLUSIVA abrir parntesis) Cerrar parntesis

    Operaciones Lgicas Binarias II

    &I 0.1

    I 0.2Q 4.0

    A I 0.1A I 0.2= Q 4.0=

    Operacin lgica Y

    Operacin lgica O

    >=1I 0.3

    I 0.4Q 4.1

    O I 0.3O I 0.4= Q 4.1=

    Operaciones lgicas binarias III

  • &I 0.0

    I 0.1

    Q 4.0

    A I 0.0A I 0.1OA I 0.2A I 0.3= Q 4.0

    &I 0.2

    I 0.3

    >=1

    I 0.0

    I 0.1

    Q 4.1I 0.2

    I 0.3

    >=1

    >=1

    &

    A(O I 0.0O I 0.1)A(O I 0.2O I 0.3)= Q 4.1

    =

    =

    Operacin lgica O de funciones Y

    Operacin lgica Y de funciones O

    Operacin lgica binarias IV

    XORI 0.1

    I 0.2Q 4.0

    X I 0.1X I 0.2= Q 4.0

    A I 0.1AN I 0.2OAN I 0.1A I 0.2= Q 4.0

    =

    Operacin Lgica O-exclusiva

  • Insertarentrada binaria

    Invertir unaentrada binaria

    Asignacin

    Conector

    Otras Funciones Binarias I

    Cargar resultado lgico (RLO) en registro BR

    Activar salida

    Desactivar salida

    &I 0.1

    I 0.2 SAVE

    &I 0.1

    I 0.2 S

    Q 4.0

    &I 0.1

    I 0.2 R

    Q 4.0

    Otras Funciones Binarias II

  • I 0.0

    I 0.1

    Q 4.0

    I 0.3 I 0.5

    I 0.2

    I 0.4

    Q 1.0I 0.2I 0.1I 0.0

    I 0.3

    I 0.5

    I 0.4

    .

    &

    &

    = Q 4.0

    >=1

    I 0.0I 0.1

    I 0.2

    I 0.3

    I 0.4

    I 0.5

    A I 0.0A I 0.1A I 0.2 OA I 0.3A I 0.4OA I 0.5= Q 4.0

    Ejemplo (I)

    >=1

    &

    &

    >=1

    = Q 4.0

    I 0.0

    I 0.1

    I 0.2

    I 0.3 >=1

    >=1

    I 0.4

    I 0.6

    I 0.5

    A(A(O I 0.0O I 0.1)A(O I 0.2O I 0.3)O I 0.4)A(O I 0.5O I 0.6)= Q 4.0

    Ejemplo (II)

  • Q 4.0

    I 0.0 I 0.1

    S1 S2

    Q 4.0

    I 0.0 I 0.1

    S1 S2

    Q 4.0

    I 0.0 I 0.1

    S1 S2

    Q 4.0

    I 0.0 I 0.1

    S1 S2

    ENUNCIADO: Accionar la salida cuando est activado S1 y no est activado S2

    A I 0.0AN I 0.1= Q 4.0

    AN I 0.0AN I 0.1= Q 4.0

    A I 0.0A I 0.1= Q 4.0

    AN I 0.0A I 0.1= Q 4.0

    &&

    &&

    Consideraciones sobre Sensores

    I 0.0

    I 0.1

    Q 4.1

    I 0.3 I 0.5

    I 0.2

    I 0.4

    Q 4.1I 0.2I 0.1I 0.0

    I 0.3

    I 0.5

    I 0.4

    &>=1

    >=1

    = Q 4.1

    I 0.0I 0.3I 0.5

    I 0.1

    I 0.4

    I 0.2

    A(O I 0.0O I 0.3O I 0.5)A(O I 0.1O I 0.4)A I 0.2= Q 4.1

    Ejemplo (III)

  • I 0.0I 0.1

    Q 4.0

    I 0.2

    I 0.3

    I 0.5

    =

    I 0.4

    &

    XOR

    X(A(O I 0.0O I 0.1)A(O I 0.2O I 0.3)A I 0.4)X(A I 0.5A(O I 0.6O I 0.7))= Q 4.0

    >=1

    >=1&

    I 0.6I 0.7

    >=1

    Ejemplo (IV)

    &I 0.0I 0.1

    Q 4.0

    XORI 0.3

    I 0.4

    I 0.5

    >=1

    =

    #

    I 0.2

    #

    &

    #

    M 0.0

    M 1.1

    M 2.2#

    DB5.DBX 3.2

    A I 0.0A I 0.1A I 0.2NOT= M 0.0A M 0.0A(A(X I 0.3X I 0.4)NOT= M 1.1A M 1.1O(A I 0.5= M 2.2A M 2.2))NOT= DB5.DBX 3.2A DB5.DBX 3.2= Q 4.0

    Ejemplo (V)

  • Smbolo Operando ComentarioF3F I 0.0 Sobreintensidad (NC)SOQ I 0.1 Paro (NC)S1B I 0.2 Marcha (NA)K1M Q 4.0 RelH1 Q 4.1 Lmpara sealizacin desconectadoH2 Q 4.2 Lmpara sealizacin conectado

    L11-50 Hz 220v

    NH1 H2

    K1MS1B

    SOQ

    F3FF1F

    K1MK1M

    K1M

    Circuitos de Mando

    M3-%P

    1 3 5

    1 3 5

    U1 V1 W1

    2 4 6

    2 4 6

    F3F

    K1M

    F2F

    L1L2L3

    Circuito de Potencia

    Ejemplo (VI-a)

    >=1I 0.2

    Q 4.0

    I 0.0I 0.1

    &

    =Q 4.0

    &Q 4.0 =

    Q 4.1

    &Q 4.0 =Q 4.2

    A I 0.0A I 0.1A(O I 0.2O Q 4.0)= Q 4.0

    AN Q 4.0= Q 4.1

    A Q 4.0= Q 4.2

    Ejemplo (VI-b)

  • I 0.1 Q 4.0

    I 0.0

    Q 4.0

    Marcha

    Paro

    Prioridad a la Desconexin

    A(O I 0.1O Q 4.0)A I 0.0= Q 4.0

    Prioridad a la Conexin

    I 0.1 Q 4.0

    Q 4.0

    Marcha

    ParoI 0.0

    A I 0.1OA Q 4.0A I 0.0= Q 4.0

    Operaciones de Memoria

    RLO1

    0 Tiempo

    Flanco Positivo Flanco Negativo

    I 1.0

    M 1.0

    Q 4.0

    Lista de InstruccionesDiagrama del estado de la seal

    A I 1.0FP M 1.0= Q 4.0

    I 1.0 Q 4.0PM 1.0

    Funciones lgicas

    Detector de Flanco Positivo RLO (0 --> 1)

  • RLO1

    0 Tiempo

    Flanco Positivo Flanco Negativo

    I 1.0

    M 1.0

    Q 4.0

    Lista de InstruccionesDiagrama del estado de la seal

    A I 1.0FN M 1.0= Q 4.0

    I 1.0 Q 4.0NM 1.0

    Funciones lgicas

    Detector de Flanco Negativo RLO (1 --> 0)

    Compara el estado de la seal del con el estado de seal de la consulta precedente, que se ha almacenado en en M_BIT. Si se produce un cambio de 0 a 1, la salida Q ser 1.

    POS

    I 0.4

    I 0.3

    M 0.0 &=

    Q 4.0M_BIT Q

    A(A I 0.3BLD 100FP M 0.0)A I 0.4= Q 4.0

    Detector de Flanco de Seal (0 --> 1)

  • Compara el estado de la seal del con el estado de seal de la consulta precedente, que se ha almacenado en en M_BIT. Si se produce un cambio de 1 a 0, la salida Q ser 1.

    NEG

    I 0.4

    I 0.3

    M 0.0 &=

    Q 4.0M_BIT Q

    A(A I 0.3BLD 100FN M 0.0)A I 0.4= Q 4.0

    Detector Flanco de Seal (1 --> 0)

    Biestable preponderante al reset (R) Esta operacin es afectada por el Master Control Relay (MCR)

    SRS

    QR

    Q 4.1

    =

    &I 0.1

    I 0.2

    &I 0.3

    I 0.4

    M 1.0A I 0.1A I 0.2S M 1.0A I 0.3A I 0.4R M 1.0A M 1.0= Q 4.1

    Flip-Flop SR

  • RSR

    QS

    A I 0.1A I 0.2R M 0.0A I 0.3A I 0.4S M 0.0A M 0.0= Q 4.0

    Biestable preponderante al set (S) Esta operacin es afectada por el Master Control Relay (MCR)

    Q 4.0

    =

    &I 0.1I 0.2

    &I 0.3I 0.4

    M 0.0

    Flip-Flop RS

    I 0.7

    M 1.0

    Q 5.0

    A I 0.7AN M 1.0S Q 5.0A I 0.7A M 1.0R Q 5.0

    AN I 0.7A Q 5.0S M 1.0AN I 0.7AN Q 5.0R M 1.0

    S

    R Q

    I 0.7M 1.0

    Q 5.0

    Segmento 1

    I 0.7M 1.0

    &

    &

    Segmento 2

    S

    R Q

    I 0.7Q 5.0

    M 1.0

    I 0.7Q 5.0

    &

    &

    Divisor Binario

  • & &

    R S

    & &

    R S

    Q/Q

    Q Q

    I 0.1 I 0.0

    I 0.7

    M 10.0

    M 10.1

    Q 5.0

    S

    R Q

    M 2.0

    M 10.1M 10.0

    Segmento 3

    Segmento 2

    M 2.0

    M 10.1

    &

    &

    S

    R Q

    M 2.0

    M 10.0M 10.1

    M 2.0

    M 10.0

    &

    &

    M 10.1 Q 5.0&Segmento 4

    I 0.0

    I 0.1

    I 0.7 M2.0PM 2.1

    Bscula JK

    Asignacin de EntradasI 0.0 SelectorI 0.1 Rel trmicoI 0.2 Boya nivel mximoI 0.3 Boya nivel mnimoAsignacin de SalidasQ 5.0 ElectrobombaQ 5.1 Sealizacin de

    estado operativo Q 5.2 Seal. rel trmicoAsignacin de MarcasM 1.0 Marca auxiliar

    electrobomba

    Nivel Mximo

    Nivel Mnimo

    Bomba

    Con. Desc.

    Luz deFuncionamiento

    Luz disparorel trmico

    Selector

    A I 0.0AN I 0.2AN I 0.3S M 1.0ON I 0.1ON I 0.0O I 0.2R M 1.0

    A M 1.0= Q 5.0

    A I 0.0= Q 5.1

    AN I 0.1= Q 5.2

    Electrobomba

  • A I 1.0ANI 1.1A M 4.0= Q8.0A I 2.0 Primera consulta

    RLO estado de seal

    .... ....

    .... ....

    .... ....

    .... ....

    Consideraciones sobre Primera Consulta

  • 1Instrucciones Bsicas:Operaciones lgicas con bitsInstrucciones Bsicas:Operaciones lgicas con bits 11DivDiv . Ingeniera de . Ingeniera de Sistemas y AutomticaSistemas y AutomticaDivDiv . Ingeniera de . Ingeniera de Sistemas y AutomticaSistemas y Automtica

    Tema 4

    Instrucciones Bsicas:Operaciones lgicas con bits

    Instrucciones Bsicas:Operaciones lgicas con bitsInstrucciones Bsicas:Operaciones lgicas con bits 22

    Bibliografa

    l Ttulo: Step7 Avanzadol Autor: Jos Martnez Torresl Descargar de la pgina web

    l Manual Siemens Step7-AWL para S7-300 y S7-400l Manual Siemens Step7-KOP para S7-300 y S7-400l Manual Siemens Step7-FUP para S7-300 y S7-400l Ttulo: Automating with Step7 in STL and SCLl Autor: Hans Bergerl ISBN: 3-89578-140-1

  • 2Instrucciones Bsicas:Operaciones lgicas con bitsInstrucciones Bsicas:Operaciones lgicas con bits 33

    ndice

    l Operaciones lgicas con bitsl Operaciones bsicasl Instrucciones de terminacin de cadenas lgicasl Combinacin de operaciones bsicasl Funcin memorial Instrucciones que afectan al RLOl Operaciones que detectan cambios en el

    resultado lgico

    Instrucciones Bsicas:Operaciones lgicas con bitsInstrucciones Bsicas:Operaciones lgicas con bits 44

    ndice

    l Operaciones lgicas con bitsl Operaciones bsicasl Instrucciones de terminacin de cadenas lgicasl Combinacin de operaciones bsicasl Funcin memorial Instrucciones que afectan al RLOl Operaciones que detectan cambios en el

    resultado lgico

  • 3Instrucciones Bsicas:Operaciones lgicas con bitsInstrucciones Bsicas:Operaciones lgicas con bits 55

    Operaciones lgicas con bits

    l Las operaciones lgicas con bits operan con dos dgitos, 1 y 0.

    Estos dos dgitos constituyen la base de un sistema numrico denominado sistema binario. Los dos dgitos 1 y 0 se denominan dgitos binarios o bits.

    En el mbito de los contactos y bobinas, un 1 significa activado(conductor) y un 0 significa desactivado (no conductor).

    l Las operaciones lgicas con bits interpretan los estados de seal 1 y 0, y los combinan de acuerdo con la lgica del lgebra de Boole. l Estas combinaciones producen un 1 un 0 como resultado

    y se denominan resultado lgico (RLO). Las operaciones lgicas con bits permiten ejecutar las ms diversas funciones.

    Instrucciones Bsicas:Operaciones lgicas con bitsInstrucciones Bsicas:Operaciones lgicas con bits 66

    Operaciones lgicas con bits1.- Las operaciones bsicas para las operaciones lgicas con bits son:U YUN Y-NoO OON O-NoX O-exclusivaXN O-exclusiva-No

    3.- Las siguientes operaciones permite