Skip to main content

Programming in Instruction List (IL)

Tip

IL can be enabled in the CODESYS options if required: In the FBD, LD and IL dialog, on the IL tab, select the Enable IL option.

Creating POUs in the Instruction List (IL) implementation language

  1. In the device tree, select the application.

  2. Click the Project → Add Object → POU command.

    The Add POU dialog opens.

  3. Specify a name and select the Instruction List (IL) implementation language.

    Click the Add button.

    CODESYS adds the POU to the device tree and opens it in the editor. A network is already inserted in the implementation part.

Programming networks (example: ADD operation)

Requirement: A POU (IL) is opened in the editor and has an empty network.

  1. Click the line indicated in color in the first column and enter the LD operator.

  2. Press the Tab key.

    The cursor jumps to the second column.

  3. Specify the first summand of your ADD operation.

    Example: 6

  4. Press Ctrl + Enter or click the FBD/LD/ILInsert IL line below command.

    CODESYS inserts a new instruction line. The first column of this line has the focus.

  5. Enter ADD and press Tab.

  6. Specify the second summand of your ADD operation (example: 12).

  7. Press Ctrl + Enter.

  8. Enter the ST operator and press Tab.

  9. Specify a variable of the data type INT (example: iVar).

    The result (16 in the example) is stored in the iVar.

Calling a function block

Requirement: A POU (IL) is opened in the editor and has an empty network. A variable with the <function block> data type is declared in the declaration part.

Example: C1:CTU;

  1. Click the highlighted line in the first column and click the FBD/LD/ILInsert Box command.

    The Input Assistant opens.

  2. In the Function Blocks category or POUs category, select the desired function block (for example, the CTU counter from the Standard library) and click OK.

    CODESYS inserts the selected CTU function block as follows:

    _cds_img_il_fb_call.png
  3. Replace the strings ??? with the variable name and the values or variables for the inputs and outputs of the function block.

  4. Alternatively to inserting the function block by means of the Input Assistant, you could also directly enter the call in the editor as shown in the image in Step 4.

For more information, see the following: Modifiers and Operators in IL