ABB ACS550 Drive ModBus Control

vijay s

Member
Join Date
Mar 2010
Location
Coimbatore
Posts
6
Hai Folks
Have anybody got experienced with ABB ACS550 Drive... I have an Application of Speed Control of AC Motor... I'm gonna use ABB ACS550 drive for this.. How to control Drive with Modbus.. What are the registers we have to write to make a drive work at particular speed.. Any help is appreciated...
 
i'm Newbie to ModBus, Since i'm from Embedded Background... i have ACS550 Manual... i read that and i felt little complexity in beginning... so i thought with Good Assistance i can make it faster....
 
Modbus is embedded in the drive so you do not need a Fieldbus Adaptor. In my Instruction Manual, the setup begins on page 149 and should be quite clear as to the procedure.

In its most basic form, any fieldbus communication involves a control word and a status word. The control word bits are instructions from the bus to the drive such as start/stop. The status word provides drive data back to the fieldbus such as fault reporting.

In order to steer the drive parameters to fieldbus control, the parameter controlling that function must be set to "Comm". For example, to steer Start/Stop to the fieldbus you must change parameter 10.01 to Comm. The drive now looks to the control word for its start/stop instruction. You will need to do the same for the speed reference, forward/reverse control, current limits, and whatever you want to perform over fieldbus communication.

The same is true for drive outputs such as speed reporting which would normally appear on the analog output (15.01).

I cannot help you with Modbus itself. That's for a fielbus specialist.
 
Last edited:
In its most basic form, any fieldbus communication involves a control word and a status word. The control word bits are instructions from the bus to the drive such as start/stop. The status word provides drive data back to the fieldbus such as fault reporting.

I don't want to hijack this thread, but did notice this comment about the command/status words.

I have just had to setup an ACS550 on E/IP, and whilst I had a few minor issues, got everything working, but there does seem to be a minor issue.
I am using Bit 2 of the status word to tell me that the drive is running, standard code that if we ask it to run, and do not get a run confirmation, then we fault.

What seems to be happening though, is that after running for some time, we lose the run confirm signal. I have put a basic trap on this, and it does appear to be dropping, and I have not
been able to confirm why, yet that is.

The manual says that bit 2 is RDY_REF, or operation enabled/inhibited. I guess it is possible that something could be happening when the drive is running to inhibit operation? I did check the fault logger, but could not see anything in there of any relevance.
 
send me your email, danw, and I'll attach it to a return email. My address is the letters rbdv followed by the number zero and then one. That's at and the letter g then the word mail and then the usual dot and then com.
 
lostcontrol, it looks to me like you want bit 1 for running, not bit 2. The drive can be ready and not running as in bit 2.

Hi DickDV,
Thanks for the reply. In the manual that I have (3AFE64804588 (3AUA0000001418) Rev G), bit 1 is RDY_RUN, with a description of Ready to Operate. Does that mean then that the drive has been enabled, and is waiting for a speed reference?

This does sorta make sense.
 
I'm not exactly sure. But, looking at the descriptions for Bit 0,1, and 2, I would say that Bit 0 is the Drive Ready bit, Bit 1 is the Drive Run bit, and it isn't clear to me at all what Bit 2 is. They sure use clearer descriptions in the next column where Para 5305 is 1 but I don't think that is your configuration. Might want to check.

I struggle with Fieldbus everytime I have to use it. Maybe I'm just an old geezer but connecting wires sure seems easier!
 
I have just checked the status, and bit 1 is currently on, with the drive not running. Interesting enough, bit 0 is off, as is bit 2 (to be expected).

I struggle with Fieldbus everytime I have to use it. Maybe I'm just an old geezer but connecting wires sure seems easier!
Yeah, and probably more future proof!! But, to what terminals, and functions would the running signal be configured to? Theoretically, we are doing the same thing....
 
Hai ... Is these 'C' Routines Enough to Start ,Stop and Set Speed... Please let me Know any changes has to be made... i have not used Status Word... please suggest improvement to these code
/*
*********************************************************************************************************
* AC MOTOR CONTROL USING ABB ACS550-01 DRIVE
*
* FieldBus : ModBus
* Zero Based Addressing
*********************************************************************************************************
*/

Code:
void ACMotor_Init(void)
{
    ModBus_Write_Single_Coil(AC_MOTOR_ADD, 11, OFF);     /* EXT1 Selection   */

}
/*
*********************************************************************************************************
* Start AC Motor
* ModBus_Write_Single_Coil(Slave Address, Coil , Value)
*********************************************************************************************************
*/

Code:
void ACMotor_Start(void) 
{ 
    ModBus_Write_Single_Coil(AC_MOTOR_ADD, 1, ON);    
    ModBus_Write_Single_Coil(AC_MOTOR_ADD, 2, ON);
    DelayMs(100);
    ModBus_Write_Single_Coil(AC_MOTOR_ADD, 0, ON);    /*  Ready To Operate       */
    ModBus_Write_Single_Coil(AC_MOTOR_ADD, 3, ON);    /*  Operation Enabled         */
    ModBus_Write_Single_Coil(AC_MOTOR_ADD, 4, ON);      /*  RFG Enabled               */
    ModBus_Write_Single_Coil(AC_MOTOR_ADD, 5, ON);      /*  Enable Ramp Function   */
    ModBus_Write_Single_Coil(AC_MOTOR_ADD, 6, ON);    /*  RFG Input Enabled      */  
}
/*
*********************************************************************************************************
* Stop AC Motor
*********************************************************************************************************
*/

Code:
void ACMotor_Stop(void) 
{ 
    ModBus_Write_Single_Coil(AC_MOTOR_ADD, 0, OFF);    /*  Emergency OFF            */     
}
/*
*********************************************************************************************************
* AC Motor Speed Selection
*********************************************************************************************************
*/
Code:
void ACMotor_SetSpeed(UINT16 RPM) 
{ 
            
    ModBus_Write_Single_Registers(AC_MOTOR_ADD,1,  RPM);    /* Speed Calculation Here   */  
}

Do RPM Calculation depends on MIN and MAX Ref Value... :)
 
Personally, I would not be using a PC based application to start/stop a VSD, in this manner.

I know that it is often done, but just not something I would do.
 
How to set Reference for Speed... i have selected REF1... Do the calculation depends on

1104 Ref1 Min
1105 Ref1 Max

2001 RPM Min
2002 RPM Max
 

Similar Topics

Hello! In the attached photo you will see my ABB Drive in my device configuration tool in TIA v12. It will be controlled by PROFIBUS. I think...
Replies
0
Views
2,300
Hello, I know this isn't a plc question but thought I would see if anyone has experience with this application. I have available 0...10vdc for pid...
Replies
4
Views
4,275
Hi all First project on a GE 9030 and would like some help with setting up comms to an ABB ACS550 drive. Scenario: 10-slot rack with CPU363...
Replies
3
Views
4,909
I just replaced this drive as the old one went out when the plant had a power surge/flicker. 1-Installed the drive 2-Powered up 3- Got an...
Replies
4
Views
1,597
Hi Team, I am working on one Paper Coating machine, My Winder, infeed, Coater and Unwinder is runnning through ABB's ACS550 VFD, My winder is...
Replies
0
Views
1,287
Back
Top Bottom