Descripción
La instrucción "Materializar circuito secuencial sucesivo" ocupa los bits de salida programados (OUT1 a OUT16) y la palabra de salida (OUT_WORD) con los valores programados del parámetro OUT_VAL del paso respectivo. El paso en cuestión debe cumplir las condiciones de la máscara de habilitación programada en el parámetro S_MASK mientras la instrucción permanece en dicho paso. La instrucción pasa al paso siguiente cuando el evento de éste es verdadero y una vez transcurrido el tiempo programado para el paso actual, o bien cuando el valor del parámetro JOG cambia de "0" a "1". La instrucción se desactiva cuando el estado lógico del parámetro RESET cambia a "1". Con ello, el paso actual se iguala al paso predeterminado (DSP).
El tiempo de permanencia en un paso se calcula multiplicando la base de tiempo predeterminada (DTBP) por el valor de contaje predeterminado (S_PRESET) para cada paso. Al comienzo de un nuevo paso, este valor calculado se carga en el parámetro DCC, que contiene el tiempo restante para el paso actual. Por ejemplo, si el valor del parámetro DTBP es "2" y el valor predeterminado para el primer paso es "100" (100 ms), el parámetro DCC devolverá el valor "200" (200 ms).
Un paso puede programarse con un valor de tiempo, con un evento o con ambos. Los pasos programados con un bit de evento y el valor de tiempo "0" pasan al siguiente paso en cuanto el estado lógico del bit de evento es "1". Los pasos programados solo con un valor de tiempo empiezan a contar el tiempo inmediatamente. Los pasos programados con un bit de evento y un valor de tiempo mayor que "0" empiezan a contar el tiempo en cuanto el estado lógico del bit de evento es "1". Los bits de evento se inicializan con el estado lógico "1".
Si el circuito secuencial sucesivo se encuentra en el último paso programado (LST_STEP) y ha transcurrido el tiempo para dicho paso, el estado lógico del parámetro Q se pone a "1". De lo contrario, se pone a "0". Si está activado el parámetro Q, la instrucción permanece en el paso hasta la desactivación.
En la máscara configurable (S_MASK) es posible seleccionar los distintos bits de la palabra de salida (OUT_WORD) y activar o desactivar los bits de salida (OUT1 a OUT16) mediante los valores de salida (OUT_VAL). Si un bit de la máscara configurable tiene el estado lógico "1", el valor OUT_VAL activa o desactiva el bit correspondiente. Si el estado lógico de un bit de la máscara configurable es "0", no cambia el bit respectivo. Todos los bits de la máscara configurable de todos los 16 pasos se inicializan con el estado lógico "1".
El bit de salida del parámetro OUT1 equivale al bit menos significativo de la palabra de salida (OUT_WORD). El bit de salida del parámetro OUT16 equivale al bit más significativo de la palabra de salida (OUT_WORD).
Al insertar la instrucción en el programa, el cuadro de diálogo "Opciones de llamada" se abre automáticamente; en él se puede determinar si los parámetros de bloque de la instrucción se depositan en un bloque de datos propio (instancia individual) o bien como variable local (multiinstancia) en la interfaz del bloque. Si crea un bloque de datos propio, lo encontrará en el árbol del proyecto, en la carpeta "Recursos de programa", en "Bloques de programa > Bloques de sistema". Encontrará más información al respecto en "Consulte también".
Parámetros
La tabla siguiente muestra los parámetros de la instrucción:
|
Parámetro |
Declaración |
Tipo de datos |
Área de memoria |
Descripción |
|---|---|---|---|---|
|
RESET |
Input |
BOOL |
I, Q, M, D, L |
El estado lógico "1" indica una condición de desactivación. |
|
JOG |
Input |
BOOL |
I, Q, M, D, L |
Si el estado lógico cambia de "0" a "1", la instrucción pasa al siguiente paso. |
|
DRUM_EN |
Input |
BOOL |
I, Q, M, D, L |
El estado lógico "1" permite que el circuito secuencial sucesivo siga contando según el evento y los criterios de tiempo. |
|
LST_STEP |
Input |
BYTE |
I, Q, M, D, L |
Número del último paso programado. |
|
EVENT(i), 1 ≤ i ≤ 16 |
Input |
BOOL |
I, Q, M, D, L |
Bit de evento (i); El estado lógico inicial es "1". |
|
OUT(j), 1 ≤ j ≤ 16 |
Output |
BOOL |
I, Q, M, D, L |
Bit de salida (j) |
|
Q |
Output |
BOOL |
I, Q, M, D, L |
El estado lógico "1" indica que ha transcurrido el tiempo del último paso. |
|
OUT_WORD |
Output |
WORD |
I, Q, M, D, L, P |
Dirección de palabra en la que el circuito secuencial sucesivo escribe los valores de salida. |
|
ERR_CODE |
Output |
WORD |
I, Q, M, D, L, P |
Información de error |
|
JOG_HIS |
Static |
BOOL |
I, Q, M, D, L |
Bit de evolución del parámetro JOG |
|
EOD |
Static |
BOOL |
I, Q, M, D, L |
El estado lógico "1" indica que ha transcurrido el tiempo del último paso. |
|
DSP |
Static |
BYTE |
I, Q, M, D, L, P |
Paso predeterminado del circuito secuencial sucesivo |
|
DSC |
Static |
BYTE |
I, Q, M, D, L, P |
Paso actual del circuito secuencial sucesivo |
|
DCC |
Static |
DWORD |
I, Q, M, D, L, P |
Valor de contaje actual del circuito secuencial sucesivo |
|
DTBP |
Static |
WORD |
I, Q, M, D, L, P |
Base de tiempo predeterminada del circuito secuencial sucesivo |
|
PrevTime |
Static |
TIME |
I, Q, M, D, L |
Hora de sistema anterior |
|
S_PRESET |
Static |
ARRAY[1..16] of WORD |
I, Q, M, D, L |
Valor de contaje predeterminado para cada paso [1 a 16]; 1 ciclo de reloj = 1 ms. |
|
OUT_VAL |
Static |
ARRAY[1..16, 0..15] of BOOL |
I, Q, M, D, L |
Valores de salida para cada paso [1 a 16, 0 a 15]. |
|
S_MASK |
Static |
ARRAY[1..16, 0..15] of BOOL |
I, Q, M, D, L |
Máscara configurable para cada paso [1 a 16, 0 a 15]. Los estados lógicos iniciales son "1". |
Encontrará más información sobre los tipos de datos válidos en "Consulte también".
Parámetro ERR_CODE
La tabla siguiente muestra el significado de los valores del parámetro ERR_CODE:
|
ERR_CODE* |
Explicación |
|---|---|
|
W#16#0000 |
Ningún error |
|
W#16#000B |
El valor del parámetro LST_STEP es menor que 1 o mayor que 16. |
|
W#16#000C |
El valor del parámetro DSC es menor que 1 o mayor que el valor del parámetro LST_STEP. |
|
W#16#000D |
El valor del parámetro DSP es menor que 1 o mayor que el valor de LST_STEP. |
|
*En el editor de programas, los códigos de error se pueden representar como valores enteros o hexadecimales. Encontrará más información sobre el cambio de los formatos de visualización en "Consulte también". |
|
Ejemplo
En el ejemplo siguiente, la instrucción pasa del paso 1 al paso 2. Los bits de salida (OUT1 a OUT16) y la palabra de salida (OUT_WORD) se activan según la máscara configurada para el paso 2 y los valores del parámetro OUT_VAL.
|
Nota Los parámetros estáticos pueden inicializarse en el bloque de datos. |
|
"DRUM_DB"(RESET := "Tag_Reset" |
|
JOG := "Tag_Input_Jog" |
|
DRUM_EN := "Tag_Input_DrumEN" |
|
LST_STEP := "Tag_Number_LastStep" |
|
EVENT1 := "MyTag_Event_1" |
|
EVENT2 := "MyTag_Event_2" |
|
EVENT3 := "MyTag_Event_3" |
|
EVENT4 := "MyTag_Event_4" |
|
EVENT5 := "MyTag_Event_5" |
|
EVENT6 := "MyTag_Event_6" |
|
EVENT7 := "MyTag_Event_7" |
|
EVENT8 := "MyTag_Event_8" |
|
EVENT9 := "MyTag_Event_9" |
|
EVENT10 := "MyTag_Event_10" |
|
EVENT11 := "MyTag_Event_11" |
|
EVENT12 := "MyTag_Event_12" |
|
EVENT13 := "MyTag_Event_13" |
|
EVENT14 := "MyTag_Event_14" |
|
EVENT15 := "MyTag_Event_15" |
|
EVENT16 := "MyTag_Event_16" |
|
OUT1 => "MyTag_Output_1" |
|
OUT2 => "MyTag_Output_2" |
|
OUT3 => "MyTag_Output_3" |
|
OUT4 => "MyTag_Output_4" |
|
OUT5 => "MyTag_Output_5" |
|
OUT6 => "MyTag_Output_6" |
|
OUT7 => "MyTag_Output_7" |
|
OUT8 => "MyTag_Output_8" |
|
OUT9 => "MyTag_Output_9" |
|
OUT10 => "MyTag_Output_10" |
|
OUT11 => "MyTag_Output_11" |
|
OUT12 => "MyTag_Output_12" |
|
OUT13 => "MyTag_Output_13" |
|
OUT14 => "MyTag_Output_14" |
|
OUT15 => "MyTag_Output_15" |
|
OUT16 => "MyTag_Output_16" |
|
Q => "Tag_Output_Q" |
|
OUT_WORD => "Tag_OutputWord" |
|
ERR_CODE => "Tag_ErrorCode"); |
Las tablas siguientes muestran el funcionamiento de la instrucción con valores concretos.
Antes de la ejecución
En este ejemplo se utilizan los siguientes valores para asignar valores a los parámetros de entrada:
|
Parámetro |
Operando |
Dirección |
Valor |
|---|---|---|---|
|
RESET |
Tag_Reset |
M0.0 |
FALSE |
|
JOG |
Tag_Input_JOG |
M0.1 |
FALSE |
|
DRUM_EN |
Tag_Input_DrumEN |
M0.2 |
TRUE |
|
LST_STEP |
Tag_Number_LastStep |
MB1 |
B#16#08 |
|
EVENT2 |
MyTag_Event_2 |
M20.0 |
FALSE |
|
EVENT4 |
MyTag_Event_4 |
M20.1 |
FALSE |
|
EVENT6 |
MyTag_Event_6 |
M20.2 |
FALSE |
|
EVENT8 |
MyTag_Event_8 |
M20.3 |
FALSE |
|
EVENT10 |
MyTag_Event_10 |
M20.4 |
FALSE |
|
EVENT12 |
MyTag_Event_12 |
M20.5 |
FALSE |
|
EVENT14 |
MyTag_Event_14 |
M20.6 |
FALSE |
|
EVENT16 |
MyTag_Event_16 |
M20.7 |
FALSE |
Los siguientes valores se almacenan en el bloque de datos de instancia "DRUM_DB" de la instrucción:
|
Parámetro |
Dirección |
Valor |
|---|---|---|
|
JOG_HIS |
DBX12.0 |
FALSE |
|
EOD |
DBX12.1 |
FALSE |
|
DSP |
DBB13 |
W#16#0001 |
|
DSC |
DBB14 |
W#16#0001 |
|
DCC |
DBD16 |
DW#16#0000000A |
|
DTBP |
DBW20 |
W#16#0001 |
|
S_PRESET[1] |
DBW26 |
W#16#0064 |
|
S_PRESET[2] |
DBW28 |
W#16#00C8 |
|
OUT_VAL[1,0] |
DBX58.0 |
TRUE |
|
OUT_VAL[1,1] |
DBX58.1 |
TRUE |
|
OUT_VAL[1,2] |
DBX58.2 |
TRUE |
|
OUT_VAL[1,3] |
DBX58.3 |
TRUE |
|
OUT_VAL[1,4] |
DBX58.4 |
TRUE |
|
OUT_VAL[1,5] |
DBX58.5 |
TRUE |
|
OUT_VAL[1,6] |
DBX58.6 |
TRUE |
|
OUT_VAL[1,7] |
DBX58.7 |
TRUE |
|
OUT_VAL[1,8] |
DBX59.0 |
TRUE |
|
OUT_VAL[1,9] |
DBX59.1 |
TRUE |
|
OUT_VAL[1,10] |
DBX59.2 |
TRUE |
|
OUT_VAL[1,11] |
DBX59.3 |
TRUE |
|
OUT_VAL[1,12] |
DBX59.4 |
TRUE |
|
OUT_VAL[1,13] |
DBX59.5 |
TRUE |
|
OUT_VAL[1,14] |
DBX59.6 |
TRUE |
|
OUT_VAL[1,15] |
DBX59.7 |
TRUE |
|
OUT_VAL[2,0] |
DBX60.0 |
FALSE |
|
OUT_VAL[2,1] |
DBX60.1 |
FALSE |
|
OUT_VAL[2,2] |
DBX60.2 |
FALSE |
|
OUT_VAL[2,3] |
DBX60.3 |
FALSE |
|
OUT_VAL[2,4] |
DBX60.4 |
FALSE |
|
OUT_VAL[2,5] |
DBX60.5 |
FALSE |
|
OUT_VAL[2,6] |
DBX60.6 |
FALSE |
|
OUT_VAL[2,7] |
DBX60.7 |
FALSE |
|
OUT_VAL[2,8] |
DBX61.0 |
FALSE |
|
OUT_VAL[2,9] |
DBX61.1 |
FALSE |
|
OUT_VAL[2,10] |
DBX61.2 |
FALSE |
|
OUT_VAL[2,11] |
DBX61.3 |
FALSE |
|
OUT_VAL[2,12] |
DBX61.4 |
FALSE |
|
OUT_VAL[2,13] |
DBX61.5 |
FALSE |
|
OUT_VAL[2,14] |
DBX61.6 |
FALSE |
|
OUT_VAL[2,15] |
DBX61.7 |
FALSE |
|
S_MASK[2,0] |
DBX92.0 |
FALSE |
|
S_MASK[2,1] |
DBX92.1 |
TRUE |
|
S_MASK[2,2] |
DBX92.2 |
TRUE |
|
S_MASK[2,3] |
DBX92.3 |
TRUE |
|
S_MASK[2,4] |
DBX92.4 |
TRUE |
|
S_MASK[2,5] |
DBX92.5 |
FALSE |
|
S_MASK[2,6] |
DBX92.6 |
TRUE |
|
S_MASK[2,7] |
DBX92.7 |
TRUE |
|
S_MASK[2,8] |
DBX93.0 |
FALSE |
|
S_MASK[2,9] |
DBX93.1 |
FALSE |
|
S_MASK[2,10] |
DBX93.2 |
TRUE |
|
S_MASK[2,11] |
DBX93.3 |
TRUE |
|
S_MASK[2,12] |
DBX93.4 |
TRUE |
|
S_MASK[2,13] |
DBX93.5 |
TRUE |
|
S_MASK[2,14] |
DBX93.6 |
FALSE |
|
S_MASK[2,15] |
DBX93.7 |
TRUE |
Los parámetros de salida tienen los valores siguientes antes de ejecutarse la instrucción:
|
Parámetro |
Operando |
Dirección |
Valor |
|---|---|---|---|
|
Q |
Tag_Output_Q |
M6.0 |
FALSE |
|
OUTWORD |
Tag_OutputWord |
MW8 |
W#16#FFFF |
|
OUT1 |
MyTag_Output_1 |
M4.0 |
TRUE |
|
OUT2 |
MyTag_Output_2 |
M4.1 |
TRUE |
|
OUT3 |
MyTag_Output_3 |
M4.2 |
TRUE |
|
OUT4 |
MyTag_Output_4 |
M4.3 |
TRUE |
|
OUT5 |
MyTag_Output_5 |
M4.4 |
TRUE |
|
OUT6 |
MyTag_Output_6 |
M4.5 |
TRUE |
|
OUT7 |
MyTag_Output_7 |
M4.6 |
TRUE |
|
OUT8 |
MyTag_Output_8 |
M4.7 |
TRUE |
|
OUT9 |
MyTag_Output_9 |
M5.0 |
TRUE |
|
OUT10 |
MyTag_Output_10 |
M5.1 |
TRUE |
|
OUT11 |
MyTag_Output_11 |
M5.2 |
TRUE |
|
OUT12 |
MyTag_Output_12 |
M5.3 |
TRUE |
|
OUT13 |
MyTag_Output_13 |
M5.4 |
TRUE |
|
OUT14 |
MyTag_Output_14 |
M5.5 |
TRUE |
|
OUT15 |
MyTag_Output_15 |
M5.6 |
TRUE |
|
OUT16 |
MyTag_Output_16 |
M5.7 |
TRUE |
Después de la ejecución
Una vez ejecutada la instrucción, los valores siguientes se escriben en los parámetros de salida:
|
Parámetro |
Operando |
Dirección |
Valor |
|---|---|---|---|
|
OUT1 |
MyTag_Output_1 |
M4.0 |
TRUE |
|
OUT2 |
MyTag_Output_2 |
M4.1 |
FALSE |
|
OUT3 |
MyTag_Output_3 |
M4.2 |
FALSE |
|
OUT4 |
MyTag_Output_4 |
M4.3 |
FALSE |
|
OUT5 |
MyTag_Output_5 |
M4.4 |
FALSE |
|
OUT6 |
MyTag_Output_6 |
M4.5 |
TRUE |
|
OUT7 |
MyTag_Output_7 |
M4.6 |
FALSE |
|
OUT8 |
MyTag_Output_8 |
M4.7 |
FALSE |
|
OUT9 |
MyTag_Output_9 |
M5.0 |
TRUE |
|
OUT10 |
MyTag_Output_10 |
M5.1 |
TRUE |
|
OUT11 |
MyTag_Output_11 |
M5.2 |
FALSE |
|
OUT12 |
MyTag_Output_12 |
M5.3 |
FALSE |
|
OUT13 |
MyTag_Output_13 |
M5.4 |
FALSE |
|
OUT14 |
MyTag_Output_14 |
M5.5 |
FALSE |
|
OUT15 |
MyTag_Output_15 |
M5.6 |
TRUE |
|
OUT16 |
MyTag_Output_16 |
M5.7 |
FALSE |
|
Q |
Tag_Output_Q |
M6.0 |
FALSE |
|
OUTWORD |
Tag_OutputWord |
MW8 |
W#16#4321 |
|
ERR_CODE |
Tag_ErrorCode |
MW10 |
W#16#0000 |
Los siguientes valores se modifican en el bloque de datos de instancia "DRUM_DB" de la instrucción después de su ejecución:
|
Parámetro |
Dirección |
Valor |
|---|---|---|
|
JOG_HIS |
DBX12.0 |
FALSE |
|
EOD |
DBX12.1 |
FALSE |
|
DSC |
DBB14 |
W#16#0002 |
|
DCC |
DBD16 |
DW#16#000000C8 |