• 21.07.2025, 17:14
  • Registrieren
  • Anmelden
  • Du bist nicht angemeldet.

 

Stephan

Administrator

Mittwoch, 9. März 2022, 15:54

We have tested the mem node and it works as intended. If S falls to 0, it is blocked. Also if A and S fall to 0 at the same time there will be no more output of 0.
If you have a problem, it's best to post the node here or make a video.

InfoSeeker

Senior Member

Mittwoch, 9. März 2022, 17:12

It is my misunderstanding.

I assumed A was passed to X when S went positive, and when S went 0, A stopped being passed through, but X persisted with the last value.
Looks like it acts more like a gateway, when S is positive A passes to X, else x = zero.

EDIT: how does S=sh(A) work? I see the A value passed to X regardless of the S value

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »InfoSeeker« (9. März 2022, 17:18)

Remayz

Senior Member

Mittwoch, 9. März 2022, 18:30

X does persist with the last value even when A changes. only S can trigger a value change.
S=sh(A) does the exact same thing

My understanding is the mem module saves the output somewhere (XML?) and keeps it when the computer is switched off / restarted?
For this sensor i kind of prefer the S=sh(A) module actually, if that's what they both do.

sebastian

Administrator

Mittwoch, 9. März 2022, 20:29

A is forewarded to X and stored until S is > 0. When s is 0, the output hold the last Stored value.

WinstonWoof

Full Member

Mittwoch, 9. März 2022, 20:41

A is forewarded to X and stored until S is > 0. When s is 0, the output hold the last Stored value.

Until S goes >0 again at which point the current value of A is saved

InfoSeeker

Senior Member

a little test

Mittwoch, 9. März 2022, 23:39

  • one input at 1 to two X=mem(A) = result as anticipated (input1-to-2xmem.jpg)
  • one input at 0 to two X=mem(A) = result as anticipated (input0_to+2xmem.jpg)
  • leave input at zero and delete one X=mem(A) = unexpected result (leave_input0_delete_1_xmem.jpg)
    the moment the 2nd X=mem(A) is deleted, the remaning X=mem(A) X value drops to 0
  • solution, add X=t(+A) to spoof the X=mem(A) to function as desired (delay_spoof.jpg)

  • minor issue - both delay icons in Logic Function Selector have a (-A), one should be a (+A) (delay_icon.jpg)

Remayz

Senior Member

Donnerstag, 10. März 2022, 00:25

i really feel the output dropping is just from altering the virtual sensor, as if AS would reset everything when a change to the layout is made.
But in normal use, nothing would have dropped.
At least that's what i saw when i was tinkering with it.

InfoSeeker

Senior Member

Donnerstag, 10. März 2022, 01:13

I feel like I am in the twilight zone, it works sometimes and not others.
  • both inputs are 1 (1.jpg)
  • drop the S input to 0 (0.jpg) fail

InfoSeeker

Senior Member

Donnerstag, 10. März 2022, 05:05

Something else I am misunderstanding: how the X=t(+A) Logic Function works.
The cheat says "Output switches off delayed if input <= to 0". Having a 7 sec delay dialed in, I expect the following:
  • (input1.jpg)
  • input is dropped from 1 to 0
  • S on function X=mem(+A) goes to 0
  • A on function X=t(+A) goes to 0, this starts a 7 second countdown
  • at the end of the 7 second countdown, A on function X=mem(A) drops to zero
  • (input0.jpg)
But what I see is S & A on the function X=mem(A), both dropping to 0 immediately
»InfoSeeker« hat folgende Datei angehängt:
  • test.rar (1,01 kB - 1 763 mal heruntergeladen - zuletzt: 6. April 2025, 14:19)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »InfoSeeker« (10. März 2022, 05:06)

sebastian

Administrator

Donnerstag, 10. März 2022, 07:27

When you change somthing in your flow, everything in the flow restart.
You cant test it in this way with using constants and changing it. you have to use data sources / sensor values / input values.

WinstonWoof

Full Member

Donnerstag, 10. März 2022, 08:32

Something else I am misunderstanding: how the X=t(+A) Logic Function works.
The cheat says "Output switches off delayed if input <= to 0". Having a 7 sec delay dialed in, I expect the following:
  • ([attach]9282[/attach])
  • input is dropped from 1 to 0
  • S on function X=mem(+A) goes to 0
  • A on function X=t(+A) goes to 0, this starts a 7 second countdown
  • at the end of the 7 second countdown, A on function X=mem(A) drops to zero
  • ([attach]9283[/attach])
But what I see is S & A on the function X=mem(A), both dropping to 0 immediately


For testing rather than use a constant as an Input use a Sensor input .

No need to define the source just set the Fallback value & Test Data Output values making sure the output duration is greater than your delay.

Then to test Right click on the Sensor input and select Output Test Value.

Test_Flow_01.jpg

https://drive.google.com/file/d/1NAkXBZx…iew?usp=sharing

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »WinstonWoof« (10. März 2022, 08:34)

InfoSeeker

Senior Member

Donnerstag, 10. März 2022, 13:43

When you change somthing in your flow, everything in the flow restart.
You cant test it in this way with using constants and changing it. you have to use data sources / sensor values / input values.

Aha... that is what Remayz was hinting at. I did not think changing a constant input effected the flow, but in retrospect I understand.
I'll use inputs or test as WinstonWoof suggested.

InfoSeeker

Senior Member

Donnerstag, 10. März 2022, 14:07

Now that I understand a little better how to operate virtual sensors, I have another question.
Is there a reason for not allowing multiple inputs to trigger the switch on the X=mem(A) function?
Being a switch, it would be useful to allow it to be triggered by any source desired.
»InfoSeeker« hat folgende Datei angehängt:

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »InfoSeeker« (10. März 2022, 14:13)

WinstonWoof

Full Member

Donnerstag, 10. März 2022, 14:31

Now that I understand a little better how to operate virtual sensors, I have another question.
Is there a reason for not allowing multiple inputs to trigger the switch on the X=mem(A) function?
Being a switch, it would be useful to allow it to be triggered by any source desired.


Put an Or on the 2 < Outputs and before the X=Mem(a)

Remayz

Senior Member

Donnerstag, 10. März 2022, 15:22

that's precisely why i used an OR gate on the sensor :)
you can cascade several if you need more than 2 inputs

InfoSeeker

Senior Member

Donnerstag, 10. März 2022, 18:49

The OR works. Not sure if the Devs will consider allowing multiple triggers on Switches, but it would enhance possibilities.

InfoSeeker

Senior Member

Donnerstag, 10. März 2022, 23:12

Been a few hours and the thing works great, fairly elegant solution (almost 100% :)

I want to thank all who contributed... thank you!

Speedy-VI

Senior Member

Freitag, 11. März 2022, 19:26

Been a few hours and the thing works great, fairly elegant solution (almost 100% :)

I want to thank all who contributed... thank you!
Glad to hear that you finally got it working the way you want. I am still wondering about your "Twilight Zone" post which showed that X changed to 0 when S changed to 0, so the X value did not persist until S >0. Was this caused by using constants instead of data sources as inputs, and the reset being caused by changing the constant value?
Also, is the only difference between X=mem(A) and S=sh(A) that X-mem(A) writes the X value to an XML file (as Remayz suggested)?

This thread contains a LOT of detailed information about how these logic functions work, and has helped me to understand some of the nuances of these functions. I still don't quite fully understand the tweaked flow that Remayz posted. I have been staring at it but think I need to build it to fully understand it. Thanks to everyone who posted diagrams. They are immensely helpful.

InfoSeeker

Senior Member

Freitag, 11. März 2022, 22:51

Yes, the "Twilight Zone" was a result of having changed a variable using Input (worked) and modifying a constant (fail).

Currently I have not experienced what the difference is between the two memory functions.
If it is as Remayz opined, one is curious how to recall the value.

I am very pleased with the outcome. One function (memory) was all it took (excepting the dispensable OR)
Time gate at the top & temperature gate at the bottom (fan_controller.jpg)

InfoSeeker

Senior Member

Dienstag, 22. März 2022, 13:05

Glad to hear that you finally got it working the way you want. I am still wondering about your "Twilight Zone" post which showed that X changed to 0 when S changed to 0, so the X value did not persist until S >0. Was this caused by using constants instead of data sources as inputs, and the reset being caused by changing the constant value?
Also, is the only difference between X=mem(A) and S=sh(A) that X-mem(A) writes the X value to an XML file (as Remayz suggested)?

This thread contains a LOT of detailed information about how these logic functions work, and has helped me to understand some of the nuances of these functions. I still don't quite fully understand the tweaked flow that Remayz posted. I have been staring at it but think I need to build it to fully understand it. Thanks to everyone who posted diagrams. They are immensely helpful.

Tried a quick test betweem X=mem(A) & X=sh(A) and could see no difference, even through an aquasuite restart (VIDEO)