MicroLogix 1100 Protocolo de comunicación: Ethernet/IP a) Asignar IP a nuestra PC que en este caso tiene un sistema oper
Views 200 Downloads 0 File size 2MB
MicroLogix 1100 Protocolo de comunicación: Ethernet/IP a) Asignar IP a nuestra PC que en este caso tiene un sistema operativo Windows XP. Pasos: 1.- Primeramente nos dirigimos a inicio y damos clic, se desplegará un menú donde aparecerá configuración y seleccionamos con un clic conexiones de red, vea figura 1; se desplegara una ventana con el nombre de las conexiones de red que existen figura 2, nos posicionamos en el icono, damos clic secundario y nos dirigimos en donde dice propiedades.
Figura 1
Figura 2
2.- Se desplegará una nueva ventana la cual lleva por nombre propiedades de conexión, seleccionamos la opción donde dice Protocolo Internet (TCP/IP) y a continuación oprimimos propiedades.
Figura 3 3.-Nos saldrá nuevamente otra venta donde finalmente le asignamos la IP a nuestra PC, que en este caso tiene dirección IP: 192.168.30.25 y una Máscara de subred que se genera por default con la numeración: 255.255.255.0, finalmente damos aceptar
Figura 4
b)
Asignar IP a nuestro PLC MicroLogix 1100
Pasos: 1.- Nos dirigimos a inicio y damos clic, se desplegará un menú donde aparecerá Programas, vamos a la carpeta de Rockwell Software, ahora pasamos a la carpeta BOOTP-DHCP Server y damos clic en BOOTP-DHCP Server como se muestra en la figura 5.
Figura 5
2.- Se desplegara una ventana la cual lleva por nombre BOOTP/DCHP, como se puede observar en la figura 6, en la pestaña Ethernet Addres (MAC), que es la MAC que tiene nuestro PLC MicroLogix 1100, damos doble clic y nos desplegara otra ventana que se llama New Entry, ver figura 7, aquí es el lugar donde le vamos asignar una IP al PLC, es importante que esta IP tenga la misma estructura que la de la PC a excepción de la última cifra esta debe de ser diferente, recordemos que la dirección IP de nuestra PC es: 192.168.30.25, así pues la IP de PLC entonces será 192.168.30.15, como se muestra en la figura 8.
Figura 6
Figura 7
Figura 8 3.- Presionamos OK en la ventana New Entry, y ahora observamos que en la ventana BOOTP/DHCP Server en la parte de Relation List, en las pestañas Type, IP Address, aparece BOOTP y la dirección 192.168.30.15 que fue la q le asignamos al PLC esto quiere decir que se le asigno una IP satisfactoriamente al PLC, ver figura 9 .
Figura 9
Instrucciones de bits (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)
Introducción
Use las instrucciones de bits (tipo relé) para monitorear y controlar el estado de los bits
Si desea
Use esta instrucción
Habilitar salidas cuando se establece un bit Habilitar salidas cuando se borra un bit. establecer un bit establecer un bit (retentivo) borrar un bit (retentivo) habilitar salidas por un escán cada vez que el renglón se hace verdadero establecer un bit por un escán cada vez que el renglón se hace verdadero establecer un bit por un escán cada vez que el renglón se hace falso (1)
XIC XIO OTE OTL OTU ONS
Disponible en estos lenguajes lógica de escalera de relés texto estructurado(1) lógica de escalera de relés texto estructurado(1) lógica de escalera de relés texto estructurado(1) lógica de escalera de relés texto estructurado(1) lógica de escalera de relés texto estructurado(1) lógica de escalera de relés texto estructurado(1)
OSR
lógica de escalera de relés
OSF
lógica de escalera de relés
No hay una instrucción equivalente en texto estructurado. Use otra programación en texto estructurado para lograr el mismo resultado. Vea la descripción de la instrucción
Examinar si está cerrado (XIC)
La instrucción XIC examina el bit de datos para determinar si está establecido.
Operandos: Lógica de escalera de relés Operando bit de datos
Tipo BOOL
Formato Tag
Descripción bit que se va a probar
Texto estructurado El texto estructurado no tiene una instrucción XIC, pero usted puede lograr los mismos resultados usando una construcción IF...THEN. IF data_bit THEN ; END_IF; Descripción
La instrucción XIC examina el bit de datos para determinar si está establecido
Identificación de estado aritmético: Condiciones de fallo:
No afectados ninguna
Ejecución Condición
Acción de lógica de escalera de relé
preescán
La condición de salida de renglón se establece como falsa La condición de salida de renglón se establece como falsa.
condición de entrada de renglón es falsa Condición de entrada de renglón es verdadera Examinar bit de datos
Bit de datos =0 La condición de salida de renglón se establece como falsa
Bit de datos =1
La condición de salida de renglón se conoce como verdadera fin
post-escán
La condición de salida de renglón se establece como falsa.
Ejemplo 1: Si se establece limit_switch_1, esto habilita la siguiente instrucción (la condición de salida de renglón es verdadera).
Lógica de escalera de relés
Texto estructurado IF limit_switch THEN ; END_IF;
Examinar si está abierto (XIO)
La instrucción XIO examina el bit de datos para determinar si está borrado.
Operandos: Lógica de escalera de relés Operando bit de datos
Tipo BOOL
Formato Tag
Descripción bit que se va a probar
Texto estructurado El texto estructurado no tiene una instrucción XIO, pero usted puede lograr los mismos resultados usando una construcción IF...THEN. IF NOT data_bit THEN ; END_IF; Descripción
La instrucción XIO examina el bit de datos para determinar si está borrado
Identificación de estado aritmético: Condiciones de fallo:
No afectados Ninguna
Ejecución Condición
Acción de lógica de escalera de relé
preescán
La condición de salida de renglón se establece como falsa La condición de salida de renglón se establece como falsa.
condición de entrada de renglón es falsa Condición de entrada de renglón es verdadera Examinar bit de datos
Bit de datos =0 La condición de salida de renglón se establece como verdadera
Bit de datos =1
La condición de salida de renglón se conoce como falsa fin
post-escán
La condición de salida de renglón se establece como falsa.
Ejemplo 1: Si se borra limit_switch_2, esto habilita la siguiente instrucción (la condición de salida de renglón es verdadera). Lógica de escalera de relés
Texto estructurado IF NOT limit_switch_2 THEN ; END_IF;
Ectivacion de salida (OTE)
La instrucción OTE establece o barra el bit de datos.
Operandos: Lógica de escalera de relés Operando bit de datos
Tipo BOOL
Formato Tag
Descripción bit que se va a establecer o borrar
Texto estructurado El texto estructurado no tiene una instrucción OTE, pero usted puede lograr los mismos resultados usando una asignación no retentiva. data_bit [:=] BOOL_expression;
Descripción
Identificación de estado aritmético: Condiciones de fallo:
Cuando se habilita la instrucción OTE, el controlador establece el bit de datos. Cuando se inhabilita la instrucción OTE, el controlador borra el bit de datos No afectados Ninguna
Ejecución Condición
Acción de lógica de escalera de relé
preescán
El bit de datos se borra. La condición de salida de renglón se establece como falsa. El bit de datos se borra. La condición de salida de renglón se establece como falsa. El bit de datos se establece. La condición de salida de renglón se establece como verdadera El bit de datos se borra. La condición de salida de renglón se establece como falsa.
condición de entrada de renglón es falsa
condición de entrada de renglón es verdadera post-escán
Condición de entrada de renglón es verdadera Examinar bit de datos
Bit de datos =0 La condición de salida de renglón se establece como falsa
Bit de datos =1
La condición de salida de renglón se conoce como verdadera El bit de datos se borra.
bit que se va a establecer o borrar
Bit de datos =0
El bit de datos se borra. La condición de salida de renglón se establece como falsa.
Bit de datos =1
El bit de datos se establece. La condición de salida de renglón se establece como verdadera.
fin
Ejemplo: Cuando se establece switch, la instrucción OTE establece (activa) light_1. Cuando se borra switch, la instrucción OTE borra (desactiva) light_1.
Lógica de escalera de relés
Texto estructurado light_1 [:=] switch;
Ectivacion de salida (OTL)
La instrucción OTL establece (enclava) el bit de datos.
Operandos: Lógica de escalera de relés Operando bit de datos
Tipo BOOL
Formato Tag
Descripción bit que se va a establecer
Texto estructurado El texto estructurado no tiene una instrucción OTL, pero usted puede lograr los mismos resultados usando una construcción IF...THEN y una asignación. IF BOOL_expression THEN data_bit := 1; END_IF;
Descripción
Identificación de estado aritmético: Condiciones de fallo:
Cuando se habilita, la instrucción OTL establece el bit de datos. El bit de datos permanece establecido hasta que es borrado, generalmente por una instrucción OTU. Cuando se inhabilita, la instrucción OTL no cambia el estado del bit de datos No afectados Ninguna
Ejecución Condición
Acción de lógica de escalera de relé
preescán
El bit de datos no se modifica. La condición de salida de renglón se establece como falsa. El bit de datos no se modifica. La condición de salida de renglón se establece como falsa. El bit de datos se establece. La condición de salida de renglón se establece como verdadera . El bit de datos no se modifica. La condición de salida de renglón se establece como falsa.
condición de entrada de renglón es falsa
condición de entrada de renglón es verdadera post-escán
Condición de entrada de renglón es verdadera Examinar bit de datos
Bit de datos =0 La condición de salida de renglón se establece como falsa
Bit de datos =1
La condición de salida de renglón se conoce como verdadera El bit de datos no se modifica.
bit que se va a establecer
Bit de datos =0
El bit de datos no se modifica. La condición de salida de renglón se establece como falsa.
Bit de datos =1
El bit de datos se establece. La condición de salida de renglón se establece como verdadera.
fin
Ejemplo: Cuando se habilita, la instrucción OTL establece light_2. Este bit de datos permanece establecido hasta que es borrado, generalmente por una instrucción OTU.
Lógica de escalera de relés
Texto estructurado IF BOOL_expression THEN light_2 := 1; END_IF;
Desenclavamiento de salida (OTU)
La instrucción OTU borra (desenclava) el bit de datos.
Operandos: Lógica de escalera de relés Operando bit de datos
Tipo BOOL
Formato Tag
Descripción bit que se va a borrar
Texto estructurado El texto estructurado no tiene una instrucción OTU, pero usted puedelograr los mismos resultados usando una construcción IF...THEN y una asignación. IF BOOL_expression THEN data_bit := 0; END_IF;
Descripción Identificación de estado aritmético: Condiciones de fallo:
Cuando se habilita, la instrucción OTU borra el bit de datos. Cuando se inhabilita, la instrucción OTU no cambia el estado del bit de datos No afectados Ninguna
Ejecución Condición
Acción de lógica de escalera de relé
preescán
El bit de datos no se modifica. La condición de salida de renglón se establece como falsa. El bit de datos no se modifica. La condición de salida de renglón se establece como falsa. El bit de datos se borra. La condición de salida de renglón se establece como verdadera . El bit de datos no se modifica. La condición de salida de renglón se establece como falsa.
condición de entrada de renglón es falsa
condición de entrada de renglón es verdadera post-escán
Condición de entrada de renglón es verdadera
Examinar bit de datos
Bit de datos =0 La condición de salida de renglón se establece como falsa
Bit de datos =1
La condición de salida de renglón se conoce como verdadera El bit de datos no se modifica.
bit que se va a borrar
Bit de datos =0
El bit de datos no se modifica. La condición de salida de renglón se establece como falsa.
Bit de datos =1
El bit de datos se establece. La condición de salida de renglón se establece como verdadera.
fin
Ejemplo: Cuando se habilita, la instrucción OTU borra light_2. Lógica de escalera de relés
Texto estructurado IF BOOL_expression THEN light_2 := 0; END_IF;
Un impulso (ONS)
La instrucción ONS habilita o inhabilita el resto del renglón, dependiendo del estado del bit de almacenamiento
Operandos: Lógica de escalera de relés Operando storage bit
Tipo BOOL
Formato Tag
Descripción bit de almacenamiento interno almacena la condición de entrada del renglón desde la última vez que se ejecutó la instrucción
Texto estructurado El texto estructurado no tiene una instrucción ONS, pero usted puede lograr los mismos resultados usando una construcción IF...THEN. IF BOOL_expression AND NOT storage_bit THEN ; END_IF; storage_bit := BOOL_expression;
Descripción
Identificación de estado aritmético: Condiciones de fallo:
Cuando se habilita y el bit de almacenamiento se borra, la instrucción ONS habilita el resto del renglón. Cuando se inhabilita o cuando el bit de almacenamiento se establece, la instrucción ONS inhabilita el resto del renglón. No afectados Ninguna
Ejecución Condición
Acción de lógica de escalera de relé
preescán
El bit de almacenamiento se establece para evitar una activación no válida durante el primer escán. La condición de salida de renglón se establece como falsa. El bit de almacenamiento se borra. La condición de salida de renglón se establece como falsa.
condición de entrada de renglón es falsa
condición de entrada de renglón es verdadera bit de almacenamiento=0
Examinar el bit de almacenamiento
bit de almacenamiento=1
El bit de almacenamiento permanece establecido la condición de salida de renglón se establece como
post-escán
falsa
el bit de almacenamiento se establece la condición de salida de renglón se establece como verdadera
fin
El bit de almacenamiento se borra. La condición de salida de renglón se establece como falsa.
Ejemplo: Normalmente una instrucción ONS está precedida por una instrucción de entrada, porque la instrucción ONS se escanea cuando ésta se habilita y cuando se inhabilita para que funcione correctamente. Una vez que la instrucción ONS se habilita, la condición de entrada de renglón debe borrarse, o el bit de almacenamiento debe borrarse para que la instrucción ONS se habilite nuevamente. En todo escán en que limit_switch_1 se borra o storage_1 se establece, este renglón no tiene efecto. En todo escán en que limit_switch_1 se establece y storage_1 se borra, la instrucción ONS establece storage_1 y la instrucción ADD incrementa sum en 1. Siempre que limit_switch_1 permanezca establecido, sum permanece con el mismo valor. limit_switch_1 debe cambiar de borrado a establecido nuevamente para que se incremente sum nuevamente.
Texto estructurado IF limit_switch_1 AND NOT storage_1 THEN sum := sum + 1; END_IF; storage_1 := limit_switch_1;
Un impulso en flanco ascendente (OSR)
La instrucción OSR establece o borra el bit de salida, dependiendo del estado del bit de almacenamiento.
Operandos: Lógica de escalera de relés Operando
Descripción
Identificación de estado aritmético: Condiciones de fallo:
storage bit
Tipo BOOL
Formato tag
output bit
BOOL
tag
Descripción bit de almacenamiento interno almacena la condición de entrada del renglón desde la última vez que se ejecutó la instrucción bit que se va a establecer
Cuando se habilita y el bit de almacenamiento está borrado, la instrucción OSR establece el bit de salida. Cuando se habilita y el bit de almacenamiento está establecido o cuando se inhabilita, la instrucción OSR borra el bit de salida.
No afectados Ninguna
Ejecución Condición
Acción de lógica de escalera de relé
preescán
El bit de almacenamiento se establece para evitar una activación no válida durante el primer escán. El bit de salida se borra. La condición de salida de renglón se establece como falsa. El bit de almacenamiento se borra. El bit de salida no se modifica. La condición de salida de renglón se establece como falsa.
condición de entrada de renglón es falsa
condición de entrada de renglón es verdadera bit de almacenamiento=0
Examinar el bit de almacenamiento
bit de almacenamiento=1
el bit de almacenamiento permanece establecido el bit de salida se borra la condición de salida de renglón se establece como verdadera
post-escán
el bit de almacenamiento se establece el bit de salida se establece la condición de salida de renglón se establece como verdadera
fin
El bit de almacenamiento se borra. La condición de salida de renglón se establece como falsa.
Ejemplo: Cada vez que limit_switch_1 cambia de borrado a establecido, la instrucción OSR establece output_bit_1 y la instrucción ADD incrementa sum en 5. Siempre que limit_switch_1 permanezca establecido, sum permanece con el mismo valor. El limit_switch_1 debe cambiar de borrado a establecido nuevamente para que sum se incremente nuevamente. Usted puede usar output_bit_1 en varios renglones para activar otras operaciones.
Un impulso en flanco descendente (OSR)
La instrucción OSF establece o borra el bit de salida dependiendo del estado del bit de almacenamiento.
Operandos: Lógica de escalera de relés Operando
Descripción
Identificación de estado aritmético: Condiciones de fallo:
storage bit
Tipo BOOL
Formato tag
output bit
BOOL
tag
Descripción bit de almacenamiento interno almacena la condición de entrada del renglón desde la última vez que se ejecutó la instrucción bit que se va a establecer
Cuando se inhabilita y el bit de almacenamiento está establecido, la instrucción OSF establece el bit de salida. Cuando se inhabilita y el bit de almacenamiento está borrado o cuando se habilita, la instrucción OSF borra el bit de salida.
No afectados Ninguna
Ejecución Condición
Acción de lógica de escalera de relé
preescán
El bit de almacenamiento se borra para evitar una activación no válida durante el primer escán. El bit de salida se borra. La condición de salida de renglón se establece como falsa.
condición de entrada de renglón es falsa bit de almacenamiento=0
Examinar el bit de almacenamiento
el bit de almacenamiento permanece borrado el bit de salida se borra la condición de salida de renglón se establece como falsa
bit de almacenamiento=1
el bit de almacenamiento se borra el bit de salida se establece la condición de salida de renglón se establece como falsa
fin
condición de entrada de renglón es verdadera
El bit de almacenamiento se establece. El bit de salida se borra. La condición de salida de renglón se establece como verdadera.
post-escán
Nótese que la condición de entrada del renglón es falsa arriba.
Ejemplo: Cada vez que limit_switch_1 cambia de establecido a borrado, la instrucción OSF establece output_bit_2 y la instrucción ADD incrementa sum en 5. Siempre que limit_switch_1 permanezca borrado, sum permanece con el mismo valor. El limit_switch_1 debe cambiar de establecido a borrado nuevamente para que sum se incremente nuevamente. Usted puede usar output_bit_2 en varios renglones para activar otras operaciones.
Instrucciones de temporizador y contador (TON, TOF, RTO, CTU, CTD, RES)
Introducción Si desea establecer el tiempo durante el cual un temporizador está habilitado establecer el tiempo durante el cual un temporizador está inhabilitado acumular tiempo conteo progresivo conteo regresivo restablecer un temporizador o un contador
Los temporizadores y contadores controlan operaciones en base a tiempo o número de eventos. Use esta instrucción Disponible en estos lenguajes lógica de escalera de relés TON TOF
lógica de escalera de relés
RTO CTU CTD RES
lógica de escalera de relés lógica de escalera de relés lógica de escalera de relés lógica de escalera de relés
Temporizador de retardo a la conexión (TON)
La instrucción TON es un temporizador no retentivo que acumula el tiempo cuando la instrucción está habilitada (la condición de entrada del renglón es verdadera)..
Operandos: Lógica de escalera de relés Operando Timer
Tipo TIMER
Formato tag
Descripción Estructura de temporizador
Preset Acum
DINT DINT
inmediato inmediato
bit que se va a establecer el tiempo en ms contado por el temporizador el valor inicial es típicamente 0
Estructura TIMER Mnemónico .EN
Tipo de datos BOOL
.TT
BOOL
.DN .PRE
BOOL DINT
.ACC
DINT
Descripción:
Descripción El bit de habilitación indica que la instrucción TON está habilitada El bit de temporización indica que se está ejecutando una operación de temporización El bit de efectuado se establece cuando .ACC ≥.PRE. El valor de preajuste especifica el valor (en unidades de 1 ms) al que debe llegar el valor acumulado para que la instrucción establezca el bit .DN. El valor acumulado especifica el número de milisegundos que han transcurrido desde que se habilitó la instrucción TON.
La instrucción TON acumula tiempo hasta que: la instrucción TON se inhabilita .ACC ≥.PRE La base de tiempo siempre es 1 ms. Por ejemplo, en un temporizador de 2 segundos, introduzca 2000 como valor .PRE.
Cuando se inhabilita la instrucción TON, se borra el valor .ACC
Un temporizador se ejecuta restando la hora de su último escán de la hora actual: ACC = ACC + (current_time - last_time_scanned) Después de que se actualiza el ACC, el temporizador establece last_time_scanned = current_time. Esto deja el temporizador listo para el siguiente escán.
Importante: Asegúrese de escanear el temporizador por lo menos cada 69 minutos mientras se ejecuta. De no hacerse, el valor ACC no será correcto. El valor last_time_scanned tiene un rango de hasta 69 minutos. El cálculo del temporizador regresa al valor inicial si usted no escanea el temporizador en un lapso de 69 minutos. Si esto sucede, el valor ACC no será correcto. Durante la ejecución de un temporizador, escanéelo dentro de un lapso no mayor de 69 minutos si lo coloca en una: subrutina sección de código comprendida entre las instrucciones JMP y LBL diagrama de función secuencial (SFC) evento o tarea periódica rutina de estado de una fase
Indicadores de estado aritmético:
no afectados
Condiciones de fallo: Ocurrirá mayor si
un
fallo
Tipo de fallo
.PRE < 0 .ACC sourceB THEN ;
Descripción:
La instrucción GRT determina si Source A es mayor que Source B. Cuando usted compara cadenas: Los valores hexadecimales de los caracteres determinan si una cadena es mayor o menor que otra cadena. Para obtener el código hexadecimal de un carácter, remítase a la contraportada de este manual. Cuando las dos cadenas se clasifican como en un directorio telefónico, el orden de las cadenas determina cuál es mayor.
Indicadores de estado aritmético: No afectados. ninguna
Condiciones de fallo:
Ejecución
Condición Preescan condición de entrada de renglón es falsa
Acción lógica de escalera de relés La condición de salida de renglón se establece como falsa. La condición de salida de renglón se establece como falsa.
a condición de entrada de renglón es verdadera
Sourse A > Sourse B
Si
La condición de salida de renglón se establece como verdadera
no La condición de salida de renglón se establece como falsa
Fin
Post-escan
La condición de salida de renglón se establece como falsa.
Ejemplo: Si value_1 es mayor que value_2, establezca light_1. Si value_1 es menor o igual que value_2, borre light_1.
Lógica de escalera de relés
Texto estructurado light_1 := (value_1 > value_2);
Menor o igual que (LEQ)
La instrucción LEQ determina si Source A es menor o igual que Source B.
Operandos: Lógica de escalera de relés Operando Source A
Tipo SINT
Formato
INT
Tag
Inmediato
Descripción Valor que se compara con Source B
DINT REAL Cadena
Source B
SINT
Inmediato
INT
Tag
valor que se compara con Source A
DINT REAL Cadena
Si usted introduce un tag SINT o INT, el valor se convierte en un valor DINT mediante extensión de signo. Los tipos de datos de cadena son: – tipo de datos STRING predeterminado – cualquier tipo de datos nuevo que usted cree Para probar los caracteres de una cadena, introduzca un tag de cadena tanto para Source A como para Source B.
Texto estructurado Use los signos menor que e igual “ .LEN
error
no
Destination = (Destination AND (NOT(Mask))) OR (Array[control.POS] AND Mask)
El bit .ER se establece
la condicion de salida de renglon se establece como verdadera
fin
Post-escan
La condición de salida de renglón se establece como falsa.
Ejemplo: Cuando se habilita, la instrucción SQO incrementa la posición, pasa los datos en esa posición en array_dint a través de la máscara y almacena el resultado en value_1.
Un número 0 en la máscara significa que el bit no se compara (designado por xxxx en este ejemplo).
Uso de SQI con SQO Si usted empareja una instrucción SQI con una instrucción SQO, asegúrese de que ambas instrucciones usen los mismos valores de Control, Length y Position.
Restablecimiento de la posición de SQO Cada vez que el controlador cambia del modo de programación al modo de marcha, la instrucción SQO borra (inicializa) el valor .POS. Para restablecer .POS al valor de inicialización (.POS = 0), use una instrucción RES a fin de borrar el valor de posición. Este ejemplo usa el estado del bit de primer escán para borrar el valor .POS.
Carga de secuenciador (SQL)
La instrucción SQL carga condiciones de referencia en una matriz de secuenciador
Operandos: Lógica de escalera de relés Operando
Tipo
Formato
Descripción
Array
DINT
Tag de matriz
matriz de secuenciador especifica el primer elemento de la matriz de secuenciador
SINT INT DINT
Mask
Tag inmediato
Control
CONTROL
tag
Length
DINT
inmediato
Position
Dint
inmediato
no use CONTROL.POS en el subíndice datos de entrada que se van a cargar en la matriz de secuenciador
estructura de control para la operación normalmente, se usa el mismo CONTROL que para las instrucciones SQI y SQL número de elementos en la matriz (tabla de secuenciador) que se va a establecer como salida posición actual en la matriz el valor inicial es típicamente 0
Estructura de control Mnemonico
Tipo de datos
descripción
.EN
BOOL
El bit de habilitación indica que la instrucción SQO está habilitada.
.DN
BOOL
.ER
BOOL
El bit de efectuado se establece cuando todos los elementos especificados se han transferido a Destination. El bit de error se establece cuando .LEN ≤0, .POS < 0, o .POS > .LEN.
.LEN
DINT
La longitud especifica el número de pasos en la matriz de secuenciador
.PDS
DINT
La posición identifica el elemento que el controlador está manipulando actualmente.
Descripción:
Importante
Cuando se habilita, la instrucción SQL incremente la siguiente posición en la matriz de secuenciador y carga el valor de Source en dicha posición. El bit .DN se establece, o si .POS ≥.LEN, la instrucción establece .POS=1. Normalmente, se usa la misma estructura de CONTROL que para las instrucciones SQI y SQO. Usted debe probar y confirmar que la instrucción no cambie datos que usted no desea que cambien. La instrucción SQL realiza la operación en memoria contigua. En algunos casos, la instrucción carga datos más allá de la matriz en otros miembros del tag. Esto sucede si la longitud es excesiva y el tag es de un tipo de datos definido por el usuario.
Indicadores de estado aritmético: No afectados
Condiciones de fallo:
Ejecución Condición Preescan
condición de entrada de renglón es falsa
Acción lógica de escalera de relés El bit .EN se establece para impedir una carga falsa cuando se inicia el escán del programa. La condición de salida de renglón se establece como falsa. El bit .EN se borra. La condición de salida de renglón se establece como falsa.
a condición de entrada de renglón es verdadera
.EN=0
no
.LEN ≤ 0 o .POS < 0
Examine el bit .EN
El bit .EN se establece El bit .ER se borra El bit .DN se borra
.EN=1 si no
si
.POS ≥ .LEN
.POS=1
.POS = .LEN no
si .POS =.POS+1
El bit .DN se establece
si El valor .POS retorna al valor inicial
Ir a error
no
si El bit .DN se establece
.POS =.LEN
no
si .POS > .LEN
error
si
no
.LEN > tamaño de la matriz Fallo mayor
no El bit .ER se establece Array[control.POS] = Source
la condicion de salida de renglon se establece como verdadera
fin
Post-escan
La condición de salida de renglón se establece como falsa.
Ejemplo: Una vez habilitada, la instrucción SQL carga value_3 en la próxima posición en la matriz de secuenciador la cual es array_dint[5] en este ejemplo.
Instrucciones de matriz (Archivo/misceláneas) (PID, PTO, PWM, LCD)