ACOPOSinverter P96 – Basic open-loop speed control via direct I/O mapping in Automation Studio (no mapp Motion)

Hello B&R community,

I am integrating an ACOPOSinverter P96 via POWERLINK in an Automation Studio project and I need to implement basic open-loop speed control in the simplest possible way — just command a speed reference and enable the drive, directly from ST code, without using mapp Motion or ACP10SDC.

For older inverter families (P74, P86, etc.) this is well documented: you add the device to the POWERLINK network, AS generates a set of mapped I/O variables (Control Word, Status Word, speed reference), and you drive them directly from the application. Straightforward.

With the P96 I cannot find any equivalent example or documentation — neither in the AS help, nor on this forum, nor in any available application note.

The use case is deliberately simple — no position control, no synchronization, just open-loop V/f speed command from ST. Any pointer to get started would be very welcome.

Thank you!

Hi @Ennio_Roberti ,
from the P96 manual:


Are you looking for the state machine (DS402)?

Status words:


Control word:

Ciao
Valerio

Hello Valerio, i saw the manual. But in Automation Studio there is no manual of P96 registers or an example like every previous inverter model. Also ABB documumentation about FEPL_02 show and explain about integration of every register.

yup it’s a new product, so far I just see the User’s Manual on our Website.
Let me check if I’ll find additional documentation or function block already developed to control the drive with just control and status words.

@thomas.strasser Could you help us?

Thanks
Ciao
Valerio

Hi,

This library (not written by me) wasn’t originally developed for the P96, but it might work—or at least serve as a good starting point for your own development.

DS402.zip (489.7 KB)

>Also ABB documentation about FEPL_02 show and explain about integration of every register.

yup I see on FEPL-02 Ethernet POWERLINK adapter module manual for example how to import, super clear steps, the xdd file in AS.

Hello, I see two possible approaches:

  1. Follow the manual and configure the inverter directly, setting all required parameters on the device itself. I’m familiar with ABB drives, so I assume the firmware logic is similar. However, doing this means losing the integrated parameterization provided by Automation Studio.

  2. Understand how the register structure is mapped in AS for each option, and then enter the correct values manually. For example, what exactly do the modes “motion configuration” or “direct control” represent in terms of register mapping?

In my case I only need two booleans and one integer, so using the physical I/O connection would probably work too, but it feels less elegant in a PLC project where everything is meant to stay integrated.

Hi Ennio,
I see in many prjs the customers develop 2 Fubs: one to initialize the drive, transfer the parameters and the second one just to control it.

just an idea
Ciao
Valerio

I’m sure that the P96 is fully integrated with AS, but normally I find that the default configuration is open-loop control (while in my case I need to regulate pressure and flow).
In similar situations, I usually expect to have a dedicated FUB to control the drive using its own instructions (as happens with the X64, P74, and P86), and this has been the case for many other brands I’ve integrated.

The more information is available, the faster the integration becomes — and for this application, which is quite simple, the coding usually takes just a few hours, if not less than one.

At the moment I’m following the information provided in the P86 help and comparing it with the register descriptions of the P96 to understand the meaning of each register.
After that, I will check whether the libraries I developed for the previous inverters can be reused or at least partially applied.

Hi Ennio,
I found one ticket in our system where another customer asked additional information regarding: “ACOPOSinverter P96 can be used in Direct Control mode. Therefore, the Control Word of the inverter is required for operation. It is not properly documented how to command the inverter with the Control Word.“

after you save your settings you should see these PV on the I/O mapping:

If you have the P96 let’s spin the motor in couple of minutes by forcing those PVs in monitor more.
————————————————————–
On the German release we have few notes for control word and DS402 compliant, but nothing for Simplified:

On the English version I don’t see any notes for both settings…sorry about that!

Ciao
Valerio

I saw it about ten minutes ago, when I changed the option and found both the control word and the status word. Now I’ll update the mapping in my FUB, and I think that should be enough for my project.

Grazie mille

Ennio

I can also point out an issue: with the terminal it’s not possible to complete the automatic configuration in a redundant CPU setup, because it’s necessary to manually insert the Powerlink node in parameter 51.03.
It’s logical that the node must be declared in a bus configuration, but this requirement is not mentioned anywhere in the help.

There is also a mismatch in the documentation regarding the installation slot: the manual specifies slot 2, but the firmware actually requires slot 1.

Best regards, Ennio

Hi @rafael.laury ,
Could you create a CASE for the missing information reported by Ennio on his last comment?
Thanks
Ciao
Valerio

Hi Valerio, it looks like Ennio is located in Italy, so I would recommend for Ennio to contact the local support office and open a CASE with them to report this issue.

I’m replying with some more information about my start-up.

The integrated control and status reading was quite simple — basically it’s just a matter of activating the fans with the P96. First of all, I need scalar (V/f) control, because DTC is more complex and not really efficient with fans.

There’s also a problem with the manual: a colleague suggested I change some parameters in chapter 28, but in the latest release of the manual this isn’t documented — even though it already exists in the keypad firmware. I only find page 288 / chapter 26 and page 289 / chapter 30.

On top of that, I have two more issues. First, the P96 cuts the frequency off at around 100 rpm (the motor is an async 22 kW, 2900 rpm) with no alarm, so I suspect it might be an automatic torque reduction. Second, the drive doesn’t receive the rpm reference from AS.

So, for the scalar configuration, is chapter 28 really necessary? And for starting a heavy blower, what would be the correct settings? The other small blowers are currently running at a fixed minimum frequency at the moment.

Best regards, Ennio

Ciao Ennio,
thanks for your feedback, I’m glad you made progress with P96.

On top of that, I have two more issues. First, the P96 cuts the frequency off at around 100 rpm (the motor is an async 22 kW, 2900 rpm) with no alarm, so I suspect it might be an automatic torque reduction. Second, the drive doesn’t receive the rpm reference from AS.

I asked AI some input and couple of them are interesting for your application (I don’t consider the other 2 because you don’t have an encoder + you don’t control the inverter with mappMotion)

On Internet I see these parameters for limits (you can search for ABB ACS880 Drive Parameter List):

I have found them on our manual too:

Could you read the parameter 30.02: “Torque limit status”? It’s possible it’s configured a limitation on the torque in your case.

Have you enabled “Stall detection”?

Above Ennio my idea, I don’t have P96 with me so I can only suggest to double check few parameters that normally are involved on the general inverter usage.

There’s also a problem with the manual: a colleague suggested I change some parameters in chapter 28, but in the latest release of the manual this isn’t documented — even though it already exists in the keypad firmware. I only find page 288 / chapter 26 and page 289 / chapter 30.

Please when you see room of improvement in our documentation, report that to our Support in Italy.

Ciao
Valerio

Ciao Valerio,

with the ACS880 manual and a few tips from my colleague, I managed to get the inverters running. I have to set scalar control on every device — that’s what was causing the frequency cutoff at start-up. With the chapter 28 settings (long start time, slip/IR compensation) I now get a normal run, with torque and current at nominal values, not 1.5x or 2x.

My setpoints range from 1400 to 3000 rpm, so 30.02 is already configured. The other point is 46.02: the full-scale reference is 20000 rpm, so the ramp time turned out much faster than I expected. Normally the high reference matches the rpm or frequency limit, but ABB uses a different parameter for each configuration, which isn’t very straightforward (just like the ramp time in chapter 28 for scalar mode).

For now I’ve set AS to “skip” the inverter settings and I’m working directly on the drive itself. I’ll check why I can’t send the speed reference.

Best regards, Ennio.

Ciao Valerio, the inverters now is in PID regolation with the remote reference. I think that was probably the scaling of 46.02, but now works fine.

Best regards Ennio

Ciao Ennio,
thanks so much for sharing your progress.

For now I’ve set AS to “skip” the inverter settings and I’m working directly on the drive itself.

Be sure you backup all changes you did, you already know that.

How to Backup and Restore Parameters on ABB ACS880

ABB Drive Composer - Connect your VFD

Ciao
Valerio