Input Description

../_images/b95f3df548bee8080a33139000a5d3cf

Note

The inputs marked with a triangle fb5a26a9677727490a33139000fc4af5_78f228175b765b440a33139001315693 are of the class VAR_IN_OUT (input and output variable). These inputs must be connected to a variable.

EN (enable)

Data type: BOOL

The Function Block is activated (EN = TRUE) or deactivated (EN = FALSE) via input EN. If the block is active, the current values are available at the outputs. To start a new write job the input EN has to be set from FALSE to TRUE.

If the input values are valid, a request to perform a MODBUS job is sent to the Communication Block via the DRIVE_DATA variable. If at least 1 input is invalid, no job is generated and the error is displayed at the outputs ERR and ERNO instead.

COM (com)

Data type: BYTE

Interface identifier of MODBUS line.

COM = 1: COM1

COM = 2: COM2

COM = 11: COM11 (using CM574-RS)

(COM3 = FPB, COM4 .. COM11 = COMs on CM574-RS).

Default value = 1. Minimum = 1, Maximum = 11

The COM input should not be changed while the program is running. If changed nevertheless, the new value will become effective only after a new rising edge of EN input.

SLAVE (slave)

Data type: BYTE

At input SLAVE, the address of the drive (slave) to which the connection shall be established must be specified.

Default value = 2, Minimum = 1, Maximum = 255

The Function Block is designed to be used with a fix SLAVE device. The SLAVE input should not be changed while the program is running. If changed nevertheless the new value will become effective only after an already running MODBUS job is finished.

TIMEOUT (timeout)

Data type: WORD

The telegram timeout in milliseconds (ms) is specified at input TIMEOUT.

If no response is received within the time interval specified at TIMEOUT, the procedure is aborted and an error identifier is output.

Note

If several drives are connected to the MODBUS line and one drive cannot respond, the whole communication is waiting till the timeout is over and the MODBUS procedure (job) is aborted. Afterwards the next drive can take the LINE_TOKEN signal. The TIMEOUT should not be set too long if more than one drive is connected, but also not too short for having a chance to respond within the TIMEOUT. A minimum of 100 is required.

Typical values should be between 300 ms and 2000 ms (range: minimum 100, maximum 65535).

Default value = 1000. Minimum = 100, Maximum = 65535.

DRIVE_TYPE (drive type)

Data type: INT, Default value: ACS_DRIVE_ACS355

At the input DRIVE_TYPE the type of ACS drive is specified with an ENUM. The input can be set either by the value directly or by using the enum.

ENUM Value
ACS_DRIVE_ACS800 1
ACS_DRIVE_ACSM1 2
ACS_DRIVE_ACS350 3
ACS_DRIVE_ACS355 4
ACS_DRIVE_ACS310 5
ACS_DRIVE_ACS550 6
ACS_DRIVE_ACH550 7
ACS_DRIVE_ACQ810 8
ACS_DRIVE_ACS850 9
ACS_DRIVE_ACS880 10
ACS_DRIVE_ACS580 11
ACS_DRIVE_DCS800 12
ACS_DRIVE_DCS550 13
ACS_DRIVE_ACH580 14

NVAR_READ (number of variables for reading)

Data type: BYTE

The internal MODBUS read job reads 3 + NVAR_READ words starting from MODBUS register address 40004 from the drive.

Only for ACS drives using embedded fieldbus option, such as ACS3xx, ACx550, ACS850 and ACQ810 the input NVAR_READ should be set higher than 0.

With the input NVAR_READ the Function Block can be configured to read between 0 and 24 data more from the drive in addition to the 3 signals that are always read from MODBUS registers addresses 40004 .. 40006.

If NVAR_READ input is set to e.g. 5 the internal read job addresses the MODBUS registers from 40004 .. 40001.

See table ACS_COM_MOD_RTU Communication for ACS / DCS Drives via MODBUS RTU.

The first 3 signals are always the Status Word (SW), Actual Value1 and Actual Value2 and will be written to the <no title> variable.

The additional NVAR_READ data will be written to the array at the READ_VALUES output.

Example:

If e.g. NVAR_READ = 5 and all mapping Parameters, Par. 53.10 … 53.13 for ACS3XX / ACX550 or Par. 58.35 … 58.39 for ACS850 / ACQ810 are valid (not 0), then the values from READ_VALUES[1] to READ_VALUES[5] are updated.

Default value = 0, Minimum 0, Maximum 24.

Note

To read/write “one” 32 bit data, the NVAR should be equal to 2. Accordingly this has to be followed if we want to read/write more than one data.

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.