ItpLoadProgEx

ItpLoadProgEx 1:

The ItpLoadProgrEx function block loads the desired NC program.

The text file containing the NC program must be coded in ANSI or UTF-8 format. Other text encodings (e.g. UTF-8-BOM) may contain hidden special characters that lead to syntax errors.

If no file path is specified, the NC program is searched for in the default directory.

This is from TwinCAT 3.1 Build 4026:
C:\ProgramData\Beckhoff\TwinCAT\Mc\Nci
and for previous versions: C:\TwinCAT\Mc\Nci.

ItpLoadProgEx 2: Inputs

VAR_INPUT
    bExecute       : BOOL;
    sPrg           : STRING(255);
    nLength        : UDINT;
    tTimeOut       : TIME;
END_VAR

Name

Type

Description

bExecute

BOOL

The function block reads the NC program when a rising edge is encountered.

sPrg

STRING(255)

Name of the NC program that is loaded.

nLength

UDINT

String length of the program name

tTimeOut

TIME

ADS Timeout-Delay

ItpLoadProgEx 3:/ItpLoadProgEx 4: Inputs/Outputs

VAR_IN_OUT
    sNciToPlc           : NCTOPLC_NCICHANNEL_REF;
END_VAR

Name

Type

Description

sNciToPlc

NCTOPLC_NCICHANNEL_REF

The structure of the cyclic channel interface from the NCI to the PLC. This structure is read-only (type: NCTOPLC_NCICHANNEL_REF).

ItpLoadProgEx 5: Outputs

VAR_OUTPUT
    bBusy     : BOOL;
    bErr      : BOOL;
    nErrId    : UDINT;
END_VAR

Name

Type

Description

bBusy

BOOL

This output remains TRUE until the function block has executed a command, but at the longest for the duration supplied to the 'Timeout' input. While Busy = TRUE, no new command will be accepted at the inputs. Please note that it is not the execution of the service but its acceptance whose time is monitored.

bErr

BOOL

This output is switched to TRUE as soon as an error occurs during the execution of a command. The command-specific error code is contained in 'nErrId'. Is reset to FALSE by the execution of a command at the inputs.

nErrId

UDINT

Contains the command-specific error code of the most recently executed command. Is reset to 0 by the execution of a command at the inputs. The error numbers in ErrId can be looked up in the ADS error documentation or in the NC error documentation (error codes above 0x4000).

Example

VAR
    in_stItpToPlc AT %I*         : NCTOPLC_NCICHANNEL_REF;
    fbLoadProg                   : ItpLoadProgEx;
    sProgramPath                 : STRING (255):= 'TestIt.nc';
END_VAR
fbLoadProg(
    bExecute := TRUE,
    sPrg := sProgramPath,
    nLength := LEN(sProgramPath),
    tTimeOut := t#200ms,
    sNciToPlc := in_stItpToPlc
);

Requirements

Development environment

Target platform

PLC libraries to be linked

TwinCAT v3.1.0

PC or CX (x86 or x64)

Tc2_NCI