Allows defining axes that are not present. Typical case is the machine with several options (options consisting of axes) where the programmer wants to make a single application in full configuration and then, depending on the machine being delivered, configure the axes that are present and those that are absent.
Syntax |
NOT_PRESENT_AXES mask NOT_PRESENT_AXES = mask (from RTE>34.19.4) |
---|---|
mask |
Mask of axes not present |
Notes |
From RTE>34.19.4 added information in report of the use of NOT_PRESENT_AXES also in RTE.CFG |
RTE behavior for a defined axis not present
•Does not count the axis for the purpose of counting the total number of axes fired
•Does not count the axis in power set management (enable, feedback)
•Does not generate alarm if kinematic variables are imposed from program (ip, iv, ia)
•Does not generate alarm if axis variables (pro_gai, ser_thr,..) are accessed from program
Methods for declaring an axis not present
An axis can be declared not present in three ways:
•From Project Configurator --> Axis --> General by setting FLAG to "not present." In generation of the RTE.CFG file the keyword not_present_axes will then be inserted with the relative bit in one (see image)
•Via the file present on the CF and precisely /fa/override.cfg
•Via file present on the CF and precisely /fa/not_present_axes.def
Functioning
To establish axes not present and give information about them through the read-only predefined variable MASK_NOP_AX, RTE at switch on reads the files from CF in the following order:
•override.cfg
•not_present_axes.def
•rte.cfg
The first present is the one used to initialize the MASK_NOP_AX.
In the case of canOpen applications the user will need to:
•manage the absence of any axes also from the can network configuration file (.coc file) by removing the attribute of "Node must always be present." This will eliminate the checks at switch on by RTE
•at the beginning of task 1 (program entry point) check from application that the axes that must be present are actually present on the can line using, for example, the CO_RNMT function and testing the OPERATIONAL operational state in accordance with the MASK_NOP_AX variable
Example
NOT_PRESENT_AXES 0xC ; gli assi 3 e 4 non ci sono |