A Modbus Users' Community

A Control.com syndicated community

Link to Control.com main site
Control.com main forum
Link to the Modbus.org site
Modbus.org main site
Developers' Forum

To view additional discussions, click here.


Return to Modbus Users' Community Home Page

Modbus write to register 40002
Apr 25, 2008 12:29 am, by Joe Oliphant
Subject : PCs in Automation
from the End of the rope department dept.
Text :
I'm working with an old ABB ACS400 variable frequency drive. I'm trying to get it to start from a VB program. This requires setting a value to register 40002 and then writing values to the command word at 40001.

I've written similar programs for Allen Bradley and Altivar drives and both of those have odd quirks where you have to write more than one register at a time or write to a goofy offset.

On the above I've used MODBUS/TCP but on this antique, it requires an RS232 and CRC checking.

The ABB drive simply refuses to let me write anything to 40001, 40002, or 40003 but will let me write to any other valid register. Maybe it's something with the CRC. It beats me. I've stumped them at tech support at ABB so if anyone here has any great ideas, I'd appreciate it.

-Joe
Reply


  • Re: Modbus write to register 40002
    Apr 26, 2008 12:19 am, by Lee Clore
    I believe 40002 is mapped to the Control Word Speed (or Torque) reference. You likely can't change it if the Drive is enabled. Depending on the operating macro, you will need to verify the enable or run signal is low before the source can be set. If you are using the DDCS Bus (fiber converter), then forget all that--I think that had more to it...

    -Lee
    Reply

  • Re: Modbus write to register 40002
    Apr 26, 2008 11:48 pm, by Lee
    Let me clarify that--I think 40002 sets the control word source (ai, comm, keypad, etc.), not the actual reference itself. Something to verify...
    Reply

  • Re: Modbus write to register 40002
    Apr 29, 2008 1:16 am, by Joe Oliphant
    I found the problem. You have to be connected through the RS485 port. It will let you change every other register through the RS232 port but not the command word at 40001 or the two holding registers 40002 and 40003.

    Anyway, I ordered up a RS232 to RS 485 converter so I'm holding so to say 'till that arrives.

    -Joe
    Reply

  • Re: Modbus write to register 40002
    Apr 29, 2008 11:50 pm, by David
    Hip Hip Hooray for Joe. He posted some feedback on what he found his problem to be.

    His example is worthwhile of emulation.

    Thank you, Joe.

    David
    Reply

  • Re: Modbus write to register 40002
    Apr 25, 2008 11:59 pm, by Mark
    Download Automated Solutions Modbus Master ActiveX Control.

    http://automatedsolutions.com/products/modbusrtu.asp

    Run the pre-built MiniHMI example application and write to the register that you are having trouble with.

    If there is an issue, MiniHMI will provide a detailed error description that should point you in the right direction.

    -Mark
    www.automatedsolutions.com
    Reply

  • Re: Modbus write to register 40002
    Apr 25, 2008 11:45 pm, by Mark
    Hello Joe,

    1. Download the MODBUS TCP/IP slave simulator at
    http://www.peakhmi.com/.

    2. Execute your register write to the simulator.

    This will validate your code.

    If it does not work post your write command stream, in hex, and I will look at it.

    Ciao,

    Mark
    http://www.peakhmi.com/
    Reply


  • The man who sets out to carry a cat by its tail learns something that will always be useful and which never will grow dim or doubtful. - Mark Twain
    Your use of this site is subject to the terms and conditions set forth under Legal Notices and the Privacy Policy. Please read those terms and conditions carefully. Subject to the rights expressly reserved to others under Legal Notices, the content of this site and the compilation thereof is ©1999-2006 Control Technology Corporation. Powered by Python, Zope, and Squishdot, inspiration by Slashdot. (Vers.ZSQ1.0)