ItpLoadProgEx

ItpLoadProgEx 1:

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:

The NC program is looked up in directory TwinCAT\Mc\Nci, if no further information is available. It is however also possible to give an absolute path.

ItpLoadProgEx 4:/ItpLoadProgEx 5: 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 6: 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