MC_AxRtReadForceDiff_BkPlcMc (from V3.0)

MC_AxRtReadForceDiff_BkPlcMc (from V3.0) 1:

The function block handles determination of the actual force of the axis from the input data of two analog input terminals. The actual pressure on the A- and B-sides is converted to the force acting on the load, taking into account the areas and the sliding friction.

If only one input signal is available, a function block of type MC_AxRtReadForceSingle_BkPlcMc should be used. If the actual pressure is to be determined, a function block of type MC_AxRtReadPressureDiff_BkPlcMc should be used.

MC_AxRtReadForceDiff_BkPlcMc (from V3.0) 2: Inputs

VAR_INPUT
    AdcValueA:      INT:=0;
    AdcValueB:      INT:=0;
    ScaleFactorA:   LREAL:=0.0;
    ScaleOffsetA:   LREAL:=0.0;
    ScaleFactorB:   LREAL:=0.0;
    ScaleOffsetB:   LREAL:=0.0;
    SlippingOffset: LREAL:=0.0;
    ReadingMode:    E_TcMcPressureReadingMode:=iTcHydPressureReadingDefault;
END_VAR

E_TcMcPressureReadingMode

Name

Type

Description

AdcValueA

INT

These parameters are used to transfer the input data of the analog terminals.

AdcValueB

INT

ScaleFactorA

LREAL

[N/ADC_INC] This value represents the weighting. It determines which pressure increase corresponds to a stage of the AD converter.

ScaleOffsetA

LREAL

[N/ADC_INC] This offset is used to correct the zero point of the pressure scale.

ScaleFactorB

LREAL

[N/ADC_INC] This value represents the weighting. It determines which pressure increase corresponds to a stage of the AD converter.

ScaleOffsetB

LREAL

[N/ADC_INC] This offset is used to correct the zero point of the pressure scale.

SlippingOffset

LREAL

[N] If the function block is used for calculating the active force, the force required to overcome the sliding friction can be entered here.

ReadingMode

E_TcMcPressureReadingMode

The actual value to be determined can be specified here. Axis_Ref_BkPlcMc.ST_TcHydAxRtData.fActPressure is selected as default target.

MC_AxRtReadForceDiff_BkPlcMc (from V3.0) 3: Inputs/outputs

VAR_INOUT
    Axis:       Axis_Ref_BkPlcMc;
END_VAR

Name

Type

Description

Axis

Axis_Ref_BkPlcMc

Here, the address of a variable of type Axis_Ref_BkPlcMc should be transferred.

MC_AxRtReadForceDiff_BkPlcMc (from V3.0) 4: Outputs

VAR_OUTPUT
    Error:          BOOL;
    ErrorID:        UDINT;
END_VAR

Name

Type

Description

Error

BOOL

The occurrence of an error is indicated here.

ErrorID

UDINT

An encoded indication of the cause of the error is provided here.

Behaviour of the function block:

The function block determines the actual pressure and the actual force of the axis by evaluating the variables AdcValueA and AdcValueB. The result is entered in ST_TcHydAxRtData.fActPressure.

MC_AxRtReadForceDiff_BkPlcMc (from V3.0) 5:

The parameters assigned to an axis can be saved in ST_TcHydAxParam.fCustomerData[...], for example. This ensures that the data are loaded, saved and backed up together with the standard parameters of the axis and are also exported and imported, as required.

Determining a differential actual pressure

Commissioning is usually done in one of three ways.

Commissioning option A (preferred for ±10V)

In this case, no movement of the axis is required. The achievable accuracy is sufficient for high-quality pressure sensors in most cases.

Commissioning option B

For this option it is necessary that a function block can be approached with full system pressure in both directions. A genuine movement of the axis is not required. Approaching of the end stops can be modeled by limiting the axis movement through provisional limits or even complete mechanical fixing.

Commissioning option C

Alternatively, commissioning can be carried out without axis control. However, the accuracy that can be achieved in this way is much lower.

Determining an active force

To determine an active force, first determine the actual pressure, as described above. Entering the active areas under ScaleArreaA and ScaleArreaA causes the function block to convert the pressures on both sides into forces, taking into account the areas.