Managing ACE Context by program

Discussion created by kg9461 on Apr 20, 2010
Latest reply on May 22, 2015 by stephen.pavlik

In our MDB we have three groups of modules, each with about 1500 to 1700 equal structured modules in it. The modules of each group have a bunch of aliasas referring to PE tags. Now we want to replace the PE calculations with ACE calculations, because we need to do some changes to the algorithms that require more than one tag to trigger the calculation.




The modules in the three groups are created and removed by program based on configuration data from an external database. There are up to 50 changes in the MDB per day. So we need to extend this software to create, start, stop, and remove ACE contextes for these about 5000 MDB modules. This can not be done by an operator using the ACE Manager to do these changes by hand, because at times during the night the is no one to do it.


I tried already to create and remove context modules in the MDB below %OSI and manipulating the status property of the context modules. ACE Manager will reecognize the changes after refresh, shows new contextes und status changes like OutOfService to On. I can start and stop the calculations of these generates contextes manually by using the ACE Manager. But changes of the status property made by program or editing it directly in the MDB are ignored by the ACE Scheduler. If I change the status from On to OutOfService, the calculation will still continue to run. Changes from Off to On or OutOfService to On will not make the ACE Scheduler start the calculation.


How can I do these operations by program. Is there any API or SDK for ACE beyond the few documented ACE classes in the PI ACE User's Guide?


Any help is welcome. If I cannot solve this problem with ACE I have to program my own ACE-like calculation engine, and this is not what I want to do.


Greetings from Cologne, Germany