Hi Ahmad,

You simply need to use a priority that is 52 or higher. To see how to set the 
priority from mpoption, see the examples in t_cpf.m 
<http://www.pserc.cornell.edu/matpower/docs/ref/matpower6.0/t/t_cpf.html> that 
include the 'priority' field in the 'cpf.user_callback’ option, for example, 
those starting at lines 317 and 376 (or line 340 and 399 in the latest version 
on GitHub <https://github.com/MATPOWER/matpower/blob/master/lib/t/t_cpf.m>).

Best regards,

   Ray


> On May 17, 2017, at 7:16 AM, Ahmad Sadiq Abubakar 
> <[email protected]> wrote:
> 
> Hi, 
> how to i invoke a user callback function to take higher priority over NOSE 
> point with priority 51.
> 
> Kindly help with cyntax example
> 
>  
> Engr. AHMAD, Abubakar Sadiq
> PhD Student
> Electrical Engineering.
> Bayero University, Kano. Nigeria.
> OR
> Lecturer
> Electrical and Electronics Engineering,
> Federal University of Technology,
> P.M.B, 65, Minna.
> Nigeria.
> +2347068043665
> 
> On Thu, May 11, 2017 at 3:47 PM, Ahmad Sadiq Abubakar 
> <[email protected] <mailto:[email protected]>> 
> wrote:
> Hi, Ray.
> 
> Thank you for the suggestion
> 
>  
> Engr. AHMAD, Abubakar Sadiq
> PhD Student
> Electrical Engineering.
> Bayero University, Kano. Nigeria.
> OR
> Lecturer
> Electrical and Electronics Engineering,
> Federal University of Technology,
> P.M.B, 65, Minna.
> Nigeria.
> +2347068043665
> 
> On Thu, May 11, 2017 at 1:56 PM, Ray Zimmerman <[email protected] 
> <mailto:[email protected]>> wrote:
> Thanks Ahmad for being willing to contribute, and thanks Shri for coaching 
> him on the process.
> 
> Ahmad, yes, each of the 2 events will need both an event function to detect 
> the event, and a corresponding callback function to handle the event. In my 
> opinion cpf_nose_event() and cps_nose_event_cb() are probably the simplest to 
> use as templates.
> 
> On another note, let’s move any further discussion of this implementation to 
> the MATPOWER-DEV-L list 
> <http://www.pserc.cornell.edu/matpower/mailinglists.html#devlist>.
> 
> Thanks,
> 
>     Ray
> 
> 
>> On May 10, 2017, at 1:55 PM, Abhyankar, Shrirang G. <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> Thanks for agreeing to contribute your code. I believe it would be a great 
>> addition to MATPOWER’s CPF. 
>> 
>> It would be good if you can write separate functions for each event type. If 
>> its too much for you, then you can write one event function for now. We can 
>> work on splitting it later.
>> 
>> Shri
>> 
>> From: Ahmad Sadiq Abubakar <[email protected] 
>> <mailto:[email protected]>>
>> Reply-To: MATPOWER discussion forum <[email protected] 
>> <mailto:[email protected]>>
>> Date: Wednesday, May 10, 2017 at 12:15 PM
>> To: MATPOWER discussion forum <[email protected] 
>> <mailto:[email protected]>>
>> Subject: Re: CPF termination
>> 
>> Hi Shrirang,
>> Thanks once again.
>> Yes, I will be honoured to contribute my codes to matpower once it's ready.
>> To implement my written event function for cpf termination, (e.g. 
>> cpf_Vlimit_event or cpf_Llimit_event) does each of these need a separate 
>> callback function?
>> 
>> Alternatively, I thought of implementing this in similar manner as the 
>> cpf.enforce_q_lims. Kindly advice
>> 
>> On May 10, 2017 5:25 PM, "Abhyankar, Shrirang G." <[email protected] 
>> <mailto:[email protected]>> wrote:
>> Hi Ahmad,
>>   If you are referring to cpf_default_callback.m then NO, you do need to 
>> modify it. The callback function(s) are basically “post-step” that do not 
>> alter the cpf. They are meant to be used for tracking system states for 
>> logging, visualization, or other similar needs. 
>> 
>> Would you be willing to contribute your code to MATPOWER? I can work with 
>> you on cleaning up the code once it is ready.
>> 
>> Thanks,
>> Shri
>> 
>> 
>> From: Ahmad Sadiq Abubakar <[email protected] 
>> <mailto:[email protected]>>
>> Reply-To: MATPOWER discussion forum <[email protected] 
>> <mailto:[email protected]>>
>> Date: Wednesday, May 10, 2017 at 7:44 AM
>> To: MATPOWER discussion forum <[email protected] 
>> <mailto:[email protected]>>
>> Subject: Re: CPF termination
>> 
>> Hi Shrirang,
>> 
>> Thank you for the insight. I try to use cpf_target_lam_event as template, do 
>> I also need to write a callback function for my Vlimts and Llimits event? or 
>> modify the default callback function for cpf termination?
>> 
>> Kindly excuse my too basic questions, I am novice in coding.
>> 
>> In anticipation of your reply
>> 
>> 
>> On Apr 25, 2017 6:45 PM, "Abhyankar, Shrirang G." <[email protected] 
>> <mailto:[email protected]>> wrote:
>> Ahmad,
>>   You need to implement an event function (see section 5.5 of the manual) 
>> for cpf with logic on how you want cpf to terminate. There are a few event 
>> functions currently implemented — nose point detection, target limit, 
>> active/reactive power limits — but there is no user-defined event function 
>> support yet. So, here’s what you’ll need to do:
>> 
>> i) Use cpf_nose_event.m or cpf_target_lam_event as a template to write your 
>> own event function. 
>> I) Modify runcpf code to register your event function (see lines 173-190 on 
>> how different event functions are registered).
>> 
>> Let us know if you need more help.
>> 
>> Shri
>> 
>> From: Ahmad Sadiq Abubakar <[email protected] 
>> <mailto:[email protected]>>
>> Reply-To: MATPOWER discussion forum <[email protected] 
>> <mailto:[email protected]>>
>> Date: Tuesday, April 25, 2017 at 1:22 PM
>> To: "[email protected] <mailto:[email protected]>" 
>> <[email protected] <mailto:[email protected]>>
>> Subject: CPF termination
>> 
>> Hi,
>> I want to run cpf such that, it stops either at Vmax, Vmin, or ratedA, 
>> ratedB and ratedC. In other words, cpf termination should respect bus 
>> voltage limits and line thermal limit constraints.
>> 
>> Kindly assist on how to implement the codes.
> 
> 
> 

Reply via email to