El editor Lista de instrucciones (IL) es un editor de tablas. La estructura de red de los programas FBD o LD también se representa en un programa IL. Básicamente, una red es suficiente en un programa IL, pero teniendo en cuenta el cambio entre FBD, LD e IL, también puede utilizar redes para la estructuración de un programa IL.
Active el lenguaje de implementación IL para EcoStruxure Machine Expert en el cuadro de diálogo , categoría , ficha .
La información sobre herramientas contiene información sobre las variables o los parámetros del módulo.
Consulte Trabajo en el editor FBD y LD.
Los comandos para trabajar en el editor están disponibles en el menú
. Los comandos de uso frecuente también están disponibles en el menú contextual.Las unidades de programación que sean elementos se insertan cada una en la posición actual del cursor a través de los comandos
, disponibles en el menú .Es posible arrastrar un elemento de Herramientas hasta la flecha hacia arriba o hacia abajo de la parte izquierda del editor. Se creará una nueva red encima o debajo del elemento existente.
desdePuede utilizar los comandos para cortar, copiar, pegar y eliminar disponibles en el menú
para organizar los elementos.Consulte también algo de información sobre el lenguaje de programación Lista de instrucciones - IL.
Los operadores con funcionalidad EN/ENO solo se pueden insertar dentro del editor FBD y LD.
En este capítulo se describe cómo se estructura el editor de tablas, cómo se puede navegar en el editor y cómo utilizar operandos complejos, llamadas y saltos.
Editor de tablas IL
Cada línea de programa está escrita en una fila de la tabla, estructurada en campos por las columnas de la tabla:
Columna |
Contiene... |
Descripción |
---|---|---|
1 |
operador |
Este campo contiene el operador IL (LD, ST, CAL, AND, OR, etc.) o un nombre de función.
En el caso de una llamada de bloque de funciones, los parámetros respectivos también se especifican aquí. Introduzca el campo de prefijo Para obtener más información, consulte Modificadores y operadores en IL. |
2 |
operando |
Este campo contiene exactamente un operando o un símbolo de salto. Si se necesita más de un operando (operadores múltiples o extensibles AND A, B, C, o llamadas a funciones con varios parámetros), escríbalos en las siguientes líneas y deje el campo del operador vacío. En este caso, añada una coma de separación de parámetros. En el caso de un bloque de funciones, programa o llamada de acción, añada los paréntesis de apertura o cierre. |
3 |
dirección |
Este campo contiene la dirección del operando como se define en la parte de declaración. No se puede editar este campo. Utilice la opción para activarlo o desactivarlo. |
4 |
comentario de símbolo |
Este campo contiene el comentario definido para el operando en la parte de declaración. No se puede editar este campo. Utilice la opción para activarlo o desactivarlo. |
5 |
comentario de operandos |
Este campo contiene el comentario de la línea actual. Es editable y se puede activar o desactivar mediante la opción . |
Teclas de flecha ARRIBA y ABAJO: desplazamiento al campo superior o inferior.
TABULADOR: desplazamiento dentro de una línea al campo de la derecha.
MAYÚS+TABULADOR: desplazamiento dentro de una línea al campo de la izquierda.
ESPACIO: abre el campo seleccionado para su edición. Como alternativa, realiza una pulsación del ratón sobre el campo. Si procede, el asistente Accesibilidad estará disponible a través del botón
Puede cerrar un campo de edición abierto presionando INTRO, lo que confirma las entradas actuales, o presionando ESC para cancelar las entradas realizadas.CTRL+INTRO: introduce una nueva línea debajo de la actual.
SUPR: borra la línea actual, o sea, donde haya seleccionado actualmente cualquier campo.
, , : para copiar 1 o varias líneas, seleccione al menos 1 campo de las líneas y ejecute el comando . Para cortar una línea, utilice el comando . insertará las líneas copiadas o cortadas previamente antes de la línea donde actualmente se ha seleccionado un campo. Si no se ha seleccionado ningún campo, se insertarán en el extremo de la red.
CTRL+INICIO desplaza hasta el principio del documento y marca la primera red.
CTRL+FIN desplaza hasta el final del documento y marca la última red.
RE PÁG desplaza hacia arriba 1 pantalla y marca el rectángulo superior.
AV PÁG desplaza hacia abajo 1 pantalla y marca el rectángulo superior.
Si el mismo operador se utiliza con varios operandos, se pueden emplear 2 formas de programación:
Los operandos se introducen en las líneas siguientes, separados por comas, por ejemplo:
LD 7
ADD 2,
4,
7
ST iVar
La instrucción se repite en las líneas siguientes, por ejemplo:
LD 7
ADD 2
ADD 4
ADD 7
ST iVar
Si se va a utilizar un operando complejo, escriba antes un paréntesis de apertura y, a continuación, utilice las siguientes líneas para los componentes particulares del operando. Por debajo de ellos, en una línea distinta, introduzca el paréntesis de cierre.
Ejemplo: rotación de una cadena de 1 carácter en cada ciclo.
Código ST correspondiente:
stRotate := CONCAT(RIGHT(stRotate, (LEN(stRotate) - 1)), (LEFT(stRotate, 1)));
LD stRotate
RIGHT( stRotate
LEN
SUB 1
)
CONCAT( stRotate
LEFT 1
)
ST stRotate
Introduzca el nombre de la función en el campo del operador. Proporcione el parámetro de entrada (primero) como operando en una operación LD precedente. Si hay más parámetros, proporcione el siguiente en la misma línea de la del nombre de la función. Puede añadir más parámetros en esta línea, separados por comas o en líneas posteriores.
El valor de retorno de la función se almacenará en el acumulador. Se aplica la siguiente restricción relativa a la norma IEC.
Ejemplo: se llama a la función GeomAverage, que contiene 3 parámetros de entrada. El primer parámetro lo proporciona X7 en una operación precedente. El segundo, 25, lo proporciona el nombre de la función. El tercero lo proporciona la variable tvar, en la misma línea o en la siguiente. El valor de retorno se asigna a la variable Ave.
Código ST correspondiente:
Ave := GeomAverage(X7, 25, tvar);
Llamada de función en IL:
LD X7
GeomAverage 25
tvar
ST Ave
Utilice el operador CAL- o CALC. Introduzca el nombre de la instancia del bloque de funciones o el nombre del programa en el campo de operando (segunda columna), seguido de un paréntesis de apertura. Introduzca los parámetros de entrada en una de las siguientes líneas:
Campo de operador: Nombre de parámetro
Campo de prefijo:
:=
para los parámetros de entrada
=>
para los parámetros de salida
Campo de operando: parámetro Current
Campo de sufijo:
,
si siguen otros parámetros
)
después del último parámetro
()
en caso de llamadas sin parámetros
Ejemplo: llamada de POUToCAll con 2 parámetros de entrada y 2 parámetros de salida.
Código ST correspondiente:
POUToCall(Counter := iCounter, iDecrement:=2, bError=>bErr, wError=>wResult);
Llamada de programa en IL con los parámetros de entrada y de salida:
No es necesario utilizar todos los parámetros de un bloque de funciones o de un programa.
Para realizarse como un bloque de funciones o una llamada de programa, el nombre de la acción se va a añadir al nombre de la instancia o del programa.
Ejemplo: llamada de la acción ResetAction.
Código ST correspondiente:
Inst.ResetAction();
Llamada de acción en IL:
CAL Inst.ResetAction()
Para realizarse como una llamada de función, el nombre de la instancia con el nombre de método anexado se introducirá en la primera columna (operador).
Ejemplo: Llamada del método Home
.
Código ST correspondiente:
Z := IHome.Home(TRUE, TRUE, TRUE);
Llamada de método en IL:
LD TRUE
IHome.Home TRUE
TRUE
ST Z
Un salto se programa con JMP
en la primera columna (operador) y un nombre de etiqueta en la segunda columna (operando). La etiqueta se ha de definir en la red de destino en el campo etiqueta.
La lista de instrucciones que precede al salto incondicional debe finalizar con uno de los siguientes comandos: ST, STN, S, R, CAL, RET u otro JMP.
Este no es el caso de un salto condicional . La ejecución del salto depende del valor cargado.
Ejemplo: instrucción de salto condicional; en caso de que bCallRestAction
sea TRUE, el programa debe saltar a la red marcada con Cont
.
Instrucción de salto condicional en IL:
LDN bCallResetAction
JMPC Cont