Input Descriptions

../_images/00f65fed48beead60a331390002281eb

Note

The inputs marked with a triangle e4225be96777e4220a33139000e72bc9_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 400051 from the drive.

With the input NVAR_READ the Function Block can be configured to read between 0 and 12 data more from the drive in addition to the 3 signals that are always read from Modbus registers addresses 400051 .. 400053.

If NVAR_READ input is set to e.g. 5 the internal read job addresses the Modbus registers from 400051 .. 400058.

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.

See table ACS_COM_MOD_RTU_ENHANCED Communication for ACS Drives via MODBUS RTU using ABB Drives Profile Enhanced about how to configure the drive and where the data is stored in AC500.

Default value = 0. Minimum = 0, Maximum = 12.

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.

NVAR_WRITE (number of variables for writing)

Data type: BYTE

The internal MODBUS write job writes 3 + NVAR_WRITE words starting from MODBUS register address 400001 to the drive, every time a change in those variables is detected.

With the input NVAR_WRITE the Function Block can be configured to write between 0 and 12 variables more to the drive in addition to the 3 controls (CW, ref1 and ref2). These are always written to MODBUS registers addresses 400001 .. 400003 if changed.

If NVAR_WRITE input is set to e.g. 5 the internal write job addresses the MODBUS registers from 400001 .. 400008.

The first 3 signals are always the Control word (CW), Reference value1 and Reference value2 and will be taken from the DRIVE_DATA variable.

The additional NVAR_WRITE data will be taken from the array at the WRITE_VALUES input.

Default value = 0. Minimum 0, Maximum 12.

WRITE_VALUES (write values to mapped parameters in drive group DATA_OUT)

Data type: ARRAY[1..12] OF INT

The values from the array at input WRITE_VALUE will be written to MODBUS registers 400004 400015 in the drive. The number of data written to the drive is specified at the input NVAR_WRITE.

See table in chapter Writing Control Word and Reference Values to the drive for information about how to configure the drive.

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.