DrvControlModbusEng (FB)
FUNCTION_BLOCK DrvControlModbusEng EXTENDS AbbLConCA
Function Block DrvControlModbusEng is used as an engineering interface for ACS Drives with ABB Drives profile.
Inputs RefValue1, RefValue2 and the generated Control Word are written to the DriveData variable which transfers these values to a communication function Block, e.g. DrvModbusRtu / DrvModbusTcp. Communication function block writes them to the drive. In the same way ActValue1, ActValue2 and the Status Word are transferred from the communication Function Block to the DrvControlModbusEng block where they are written to the outputs.
As long as Enable = FALSE no values are read nor written to the DriveData variable.
The Control Word can be generated in 2 ways. First way is to set the single bits of the ControlWord separately at the inputs Off1, Off2 … ControlWordB15 while the input UseControlWord = FALSE. Second way is to set the input UseControlWord = TRUE and write the ControlWord as a whole word directly to the input ControlWord. The generated ControlWord is written to the DriveData variable and for diagnosis purpose also available at output UsedControlWord
- Preconditions
The data transfer to the ACS drive is realized via the InOut variable DriveData, which must be connected to any of the following Modbus communication function blocks DrvModbusRtu or DrvModbusTcp
The input and output names of the bits of the ControlWord and StatusWord reflect the functions used with ABB Drive Profile. So the block should be used with ABB Drives profile setting in the drive.
The function block does not execute any functionality expect data transfer to and from the DriveData variable. So there is no special drive parameter setting necessary to use this block.
The programmer using this block should have a detailed understanding of how to set the ControlWord according to the StatusWord and the description of the used drive.
For standard speed & torque control application it is recommended to the use the DrvControlModbusACS instead.
- InOut:
Scope
Name
Type
Initial
Comment
Inherited from
Input
EnableBOOLFALSE
A rising edge (Enable = TRUE) starts the operation, the output Busy goes to TRUE. All other inputs are read and considered continuously. A falling edge (Enable = FALSE) aborts the operation. During Aborting the Busy is still TRUE. Afterward all outputs are reset.
AbbLConCA
Output
BusyBOOLFALSE
Operation is running (while output Error is FALSE)
AbbLConCA
ErrorBOOLFALSE
Operation is stopped with error (while output Busy is FALSE). This output is TRUE for at least one cycle or until Enable is set to FALSE. The output ErrorID gives more details about the error.
AbbLConCA
Input
Off1BOOLFALSE
2: Low active; stop with normal ramp
Off2BOOLFALSE
3: Low active; emergency stop, no torque
Off3BOOLFALSE
4: Low active; emergency stop, special ramp
InhibitOpBOOLFALSE
5: General operation enable
RampOutZeroBOOLFALSE
6: Enable ramp out
RampHoldBOOLFALSE
7: Activate ramp out
RampInZeroBOOLFALSE
8: Low active; enable reference of ramp out
ResetBOOLFALSE
9: Rising edge will reset all active faults
ControlWordB8BOOLFALSE
10: Bit 8 on Control Word - according to user specific drive configuration.
ControlWordB9BOOLFALSE
11: Bit 9 on Control Word - according to user specific drive configuration.
RemoteCmdBOOLFALSE
12: High active; remote control active
ExtCtrlLocBOOLFALSE
13: High active; select Ext2 as external control location - FALSE = Ext1
ControlWordB12BOOLFALSE
14: Bit 12 on Control Word - according to user specific drive configuration.
ControlWordB13BOOLFALSE
15: Bit 13 on Control Word - according to user specific drive configuration.
ControlWordB14BOOLFALSE
16: Bit 14 on Control Word - according to user specific drive configuration.
ControlWordB15BOOLFALSE
17: Bit 15 on Control Word - according to user specific drive configuration.
UseControlWordBOOLFALSE
18: Use input “ControlWord” instead of using single bit inputs for main control word
ControlWordWORD0
19: Main control word - only be used if UseControlWord input is set to TRUE
RefValue1INT0
- 20: Speed reference value as 16bit integer: -20000 .. 20000 will be send to drive as reference value1.
Valid range: for ACS880 and ACX5x0 limited to -20000 .. +20000. See drive manual for specific scaling parameter, e.g. ACS580= Par.30.12, ACS880= Par30.12
RefValue2INT0
- 21: Reference value 2 as 16bit integer to drive -10000..+10000 will be send to drive as reference value2.
Valid range: for ACS880 and ACX5x0 limited to -10000 .. +10000 See drive manual for specific scaling parameter, e.g. ACS580= Par.30.20, ACS880= Par30.20
Inout
DriveData22: Drive reference variable to connect to all function blocks of this drive
Output
NoConToDriveBOOLFALSE
3: No connection to drive can be established, StatusWord = 0
ReadyOnBOOLFALSE
4: Ready to switch on
ReadyRunBOOLFALSE
5: Ready to start
ReadyRefBOOLFALSE
6: Running
TrippedBOOLFALSE
7: Drive is tripped
Off2StateBOOLFALSE
8: Off2 not active
Off3StateBOOLFALSE
9: Off3 not active
SwitchOnInhibitBOOLFALSE
10: Switch on inhibited
AlarmBOOLFALSE
11: Warning or tripped
AtSetpointBOOLFALSE
12: Actual value in tolerance band
RemoteBOOLFALSE
13: Remote control active
AboveLimitBOOLFALSE
14: Actual value above limit - Par.32.03
ExtCtrlLocActBOOLFALSE
15: Ext2 control location selected FALSE = Ext1
ExtRunEnableBOOLFALSE
16: External Run Enable signal received, must be set to run. Source is chosen via 20.12 (ACS880 / ACS580)
StatusWordB13BOOLFALSE
17: Bit 13 on Status Word - according to user specific drive configuration.
StatusWordB14BOOLFALSE
18: Bit 14 on Status Word - according to user specific drive configuration
StatusWordB15BOOLFALSE
19: Bit 15 on Status Word - according to user specific drive configuration
ActStatusWordWORD0
20: Actual StatusWord read from drive
ActValue1INT0
- 21: Actual value1 read from drive. For scaling see drive documentaion.
Mostly -20000 .. +20000 e.g.: Ref1min/ Ref1max Par30.11/12 for ACS5x0 or ACS880
ActValue2INT0
22: Actual value 2 read from drive
UsedControlWordWORD0
23: Used ControlWord, built in function block