DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

How can I get the specific time value correspond to specific amplitude value in channel?

x-channel : time
y-channel : displacement

I would like to get the specific time value(single value) correponde to specific displacement value(single value) in Autosequence.
0 Kudos
Message 1 of 5
(3,964 Views)
Hi,

There are several ways to get a time value related to a specific value in another channel. The easiest way is to use the 'PointMem' function in the VIEW module. This works best when you use the "Graph Cursor". Every time you press the 'PointMem' icon, a pair of data values (X/Y position of the cursor) will be stored in a separate data channel, this channel will grow in length each time the button is pressed.

A more automated way to determine the time value of a particular Y value is to use the "find" function:

Using you data channel names, here is the syntax for the formula interpreter in DIAdem to get time time for a specific Y-value. I am assuming that you are looking for a displacement value larger or equal to 1.5:

L1:=find('Displacement'>
=1.5)

L1 is a longinteger variable in DIAdem. After this function is calculated in the formula parser, L1 will contain the row number of the displacement value that meets the find criteria.

The function

R1:=ChD(L1,'time')

will return the corresponding value in the Ral variable R1.

Here is the VBScript of the same process:

L1=Find("'Displacement'>=1.5")
R1=CHD(L1, "Time")

R1 can be used to display the value in a report template or to use in calculations etc.

Please let me know if you have any additional questions.

Otmar
Otmar D. Foehner
Message 2 of 5
(3,964 Views)
hellp Otmar,

Thank for your kind explanation.
It is very helpful me.

I would like to know one more thing.
When I've got the three specific value (R1, R2, R3),
how can I get the minimum value from among R1, R2, R3...in Autosequence.

Thanks.

Sincerely
martino90
0 Kudos
Message 3 of 5
(3,964 Views)
Hi Martino,

Here is a simple script (just copy it into a window in AUTO) that will do what you need to do:

IF R1<=R2 and R1<=R3 THEN CALL msgboxdisp(str(R1)&" is the minimum")
IF R2<=R1 and R2<=R3 THEN CALL msgboxdisp(str(R2)&" is the minimum")
IF R3<=R1 and R3<=R2 THEN CALL msgboxdisp(str(R3)&" is the minimum")

There are better ways to find minima and maxima if you have more than three values, but this should work for your application.

Otmar
Otmar D. Foehner
0 Kudos
Message 4 of 5
(3,964 Views)
Hi Otmar,

Thanks for your kind explanation 🙂
It is very helpful me.
0 Kudos
Message 5 of 5
(3,964 Views)