MC_AxAdsPtrArrCommServer_BkPlcMc

MC_AxAdsPtrArrCommServer_BkPlcMc 1:

The function block gives the application the capacity to function as an ADS server. Calls function blocks of type MC_AxAdsReadDecoder_BkPlcMc and MC_AxAdsWriteDecoder_BkPlcMc as required. The ADS codes are listed in the Knowledge Base.

MC_AxAdsPtrArrCommServer_BkPlcMc 2:

For most applications an MC_AxAdsCommServer_BkPlcMc is adequate and preferable.

(MC_AxAdsCommServer_BkPlcMc)

MC_AxAdsPtrArrCommServer_BkPlcMc 3: Inputs

VAR_INPUT
     nFirstAxisIndex:  INT;
     nLastAxisIndex:   INT;
END_VAR

Name

Type

Description

nFirstAxisIndex

INT

This parameter is used to specify the dimensioning of the Axis_Ref_BkPlcMc array.

An incorrect specification at this point excludes some of the axes from the communication or results in a crash of the PLC application by triggering serious runtime errors (Page Fault Exception).

nLastAxisIndex

INT

MC_AxAdsPtrArrCommServer_BkPlcMc 4: Inputs/outputs

VAR_INOUT
     pAxItfArr:        POINTER TO DWORD;
END_VAR

Name

Type

Description

pAxItfArr

POINTER

Here, the address of a variable of type ARRAY [ncnstFirstAxId..ncnstLastAxId] OF POINTER TO Axis_Ref_BkPlcMc should be transferred.

An incorrect specification at this point causes the PLC application to crash inevitably through triggering of serious runtime errors (Page Fault Exception).

MC_AxAdsPtrArrCommServer_BkPlcMc 5: Outputs

VAR_OUTPUT
    PlcMcManOffline:    BOOL;
END_VAR

Name

Type

Description

PlcMcManOffline

BOOL

This parameter corresponds to the parameter of the same name of the MC_AxAdsCommServer_BkPlcMc function block.

Behavior of the function block

Through cyclic calling of this function block in the PLC application, the application assumes the character of an ADS server and responds to ADS read and ADS write-access like any other ADS server. This includes the decoding of IdxGroup/IdxOffset addressing. Function blocks of type MC_AxAdsReadDecoder_BkPlcMc and MC_AxAdsWriteDecoder_BkPlcMc are called as required.

MC_AxAdsPtrArrCommServer_BkPlcMc 6:

This function block must not be used if the PLC application already is an ADS server.

In this case the function blocks of type MC_AxAdsReadDecoder_BkPlcMc and MC_AxAdsWriteDecoder_BkPlcMc should be called from the existing ADS server function block of the application.

A program example #16 is available.