Output Description

../_images/ed9399bd48bee5790a33139000ce1d20

LINE_TOKEN (line token)

Data type: ACS_MOD_TOKEN_TYPE

The combined input/output LINE_TOKEN must be connected to the one variable of ACS_MOD_TOKEN_TYPE of the related MODBUS line. Each MODBUS line must have its own LINE_TOKEN variable.

The LINE_TOKEN variable contains the token for the MODBUS line and must be connected to all related ACS3XX_COM_MOD_RTU Function Blocks of this line (COMx).

Description:

The ACS_COM_MOD_RTU_ENHANCED Function Block writes its SLAVE number to the LINE_TOKEN variable (takes the token) when it is 0.

If the token is already occupied it writes its SLAVE number to the next-token-request.

If all MODBUS jobs of a drive are terminated, the ACS_COM_MOD_RTU_ENHANCED Function Block resets the token on the LINE_TOKEN variable to 0 (release the token) if the next-token-request is set (not 0).

If an ACS_COM_MOD_RTU_ENHANCED takes the token it releases the next-token-request at the same time.

DRIVE_DATA (drive data)

Data type: ACS_DRIVE_DATA_TYPE ACS_DRIVE_DATA_TYPE Structure to Exchange Data Between Function Blocks for 1 Drive

The combined input/output DRIVE_DATA must be connected to the variable of type ACS_DRIVE_DATA_TYPE of the related ACS drive (slave). Each drive must have its own DRIVE_DATA variable.

The DRIVE_DATA variable contains the data of the drive and must be connected to all related Function Blocks of this drive.

The Function Block ACS_COM_MOD_RTU_ENHANCED reads the Control Word and references (CW, SPEED_REF, REF_VALUE2) from the DRIVE_DATA variable and writes the status information (SW, ACT_SPEED, ACT-VALUE2) to the DRIVE_DATA variable. It also receives requests and data for MODBUS jobs from other Function Blocks e.g. ACS_MOD_READ_N_PRM or ACS_MOD_WRITE_N_PRM via the DRIVE_DATA variable.

DONE (done)

Data type: BOOL

Output DONE indicates the state of the job processing. After completing or aborting the processing (due to an error), DONE is set to TRUE for one cycle. For that reason, the output always has to be considered together with output ERR. If ERR is TRUE, an error occurred. In this case, the error number can be read at output ERNO.

ERR (error)

Data type: BOOL

Output ERR indicates whether an error occurred during block processing. This output always has to be considered together with output DONE. If DONE = TRUE and ERR = TRUE, an error occurred. In this case, the error number can be read at output ERNO.

ERNO (error number)

Data type: WORD

Output ERNO provides an error identifier, if an invalid value was applied to an input or if an error occurred during request processing. ERNO always has to be considered together with the outputs DONE and ERR. The value output at ERNO is only valid, if DONE is TRUE and ERR is TRUE.

The encoding of the error messages output at ERNO is explained in the chapter Error Messages: Error Messages of the Function Block Libraries

BUSY (busy)

Data type: BOOL

Output BUSY indicates whenever there is a communication action performed.

ONLINE (online)

Data type: BOOL

After the first time input EN is set to TRUE and at least one read job and one write job is performed successfully, output ONLINE is set to TRUE.

Output ONLINE is reset to FALSE after a rising edge of EN or if an error occurs while reading the status information or writing the Control Word and Reference Values.

READ_VALUE (actual speedarray of read values)

Data type: ARRAY[1..9] OF WORD

At output READ_VALUES the values of the array are updated after the read status information job was terminated successfully (DONE = TRUE, ERR = FALSE, BUSY = FALSE).

The read status information job is requested cyclically. It reads data from the ACS drive starting at MODBUS register 400051 up to the number specified at input NVAR_READ +3.

READ_VALUES contains the data as follows:

READ_VALUES[1] = <Modbus register 400054>

READ_VALUES[2] = <Modbus register 400055>

READ_VALUES[12] = <Modbus register 400065>.

Function Call in ST:

ACS3XXComModRTU   (EN        := xACS3XXComModRTU_EN,
                   \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ COM        := byACS3XXComModRTU_COM,
                  \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \  SLAVE      := byACS3XXComModRTU_SLAVE,
                   \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ TIMEOUT    := wACS3XXComModRTU_TIMEOUT,
                   \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ DRIVE_TYPE := eACS3XXComModRTU_DRIVE_TYPE,
                  \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \  NVAR_READ  := byACS3XXComModRTU_NVAR_READ,
                   \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ LINE_TOKEN := tsLineToken,
                   \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ DRIVE_DATA := tsDriveData);
xACS3XXComModRTU_DONE         := ACS3XXComModRTU.DONE;
xACS3XXComModRTU_ERR          := ACS3XXComModRTU.ERR;
wACS3XXComModRTU_ERNO         := ACS3XXComModRTU.ERNO;
xACS3XXComModRTU_BUSY         := ACS3XXComModRTU.BUSY;
xACS3XXComModRTU_ONLINE       := ACS3XXComModRTU.ONLINE;
awACS3XXComModRTU_READ_VALUE  := ACS3XXComModRTU.READ_VALUE;