edge function

ava mazaheri

Posted on 26.03.2020 16:06

Hi,


I have used the following edge function to define an interval: edge('Inline'>5,'Inline'<1) which works fine, but once the 'Inline' signal goes up to above 5 a second time (which it does in some cases), it ofcourse triggers again. Any idea on how I can prevent it from triggering again? I only want the first triggered interval, and not second one.


I have attached an image, where the white one is my edge function.



Attached files:
DEWESoft Support
Technical support
Posted on 27.03.2020 11:06

Dear Ava,


unfortunately, the edge function is working in a way that always capture all the edges. But you can implement a counter of edges inside the formula, and make a statement that the "Edge" condition is only the first time the Signal condition goes over the wanted value.


For example I have attached a simple setup file and the wanted formula is:


if((icnt(edge('Signal'>1.5)) <=1 )=1, edge('Signal'>1.5,'Signal'<1),0)


If you will need additional help on this topic please let me know.


Regards


Eva


Attached files:
ava mazaheri

Posted on 08.04.2020 14:55

@DEWESoft Support


Hi and thank you. The proposed function worked. However, in a data file, I have several curves which I want to define an edge for, but I dont want it to trig more than once for each curve (as in the attached image named DoubleTrig). With the current solution, it only trigs for the very first curve and cancels out all the rest, see attached image.


I've been trying to solve this but am not very successful... Would appreciate some help.


Kindly, Ava


Attached files:
Eva Kalšek
Customer Support Engineer
Posted on 09.04.2020 08:47

Dear Ava,


the formula math can only give you one output, so one edge.


You can use our C++ math plugin, which enables you arbitrary number of inputs and outputs. Meaning that if you implement one formula, you can re-use it on multiple input channels and get multiple output channels, to corresponding input channel. In this case you will get "Edge" channel for every input channel.


Or do you want to have one output channel, that indicated "Edges" for multiple channels?


Regards

ava mazaheri

Posted on 09.04.2020 14:17

Yes I want to have one output channel. Is there any way to 'reset' this one if((icnt(edge('Signal'>1.5)) <=1 )=1, edge('Signal'>1.5,'Signal'<1),0)

so that it carries out that operation on the next following curve?


So basically I have multiple curves in one channel and I want to define a interval on each curve (same interval, i.e. when curve goes above five and when it goes below 1). But sometimes, it happends to go slightly above five again at the end of a curve, but Im not interested in that part.

DEWESoft Support
Technical support
Posted on 22.04.2020 10:06

Dear Ava,


we apologise for the late response.


We have some additional questions.


1.) Does the edge needs to be defined in that particular area? Meaning, if the square signal must have the width defined, or it can be shorter?

2.) Does this calculation need to be online -> during the acquisition or the calculation can be performed in analyse mode? We think that during the acquisition this kind of calculation can not be performed.

3.) Can you send us a data file so we can work on the actual data?


Unfortunately, the formula can not be reset in an easy way. So we need to think of workaround on how to "reset" the formula or "filter" the small signal out. The issue is that the small signal are "seen" by the Edge condition.


Regards

Login to reply to this topic. If you don't have account yet, you can signup for free account .