EN/ENO issues, move block writing when EN is FALSE
Hi, i have some move functions in sequence programming, and i have a move function with EN/ENO outside the sequence that will write 0 (init step) if we have an emergency stop. now i had a issue where i reset the alarm the signal is false, but the move block still keeps writing it to 0. Is this a known bug or?
//BR
Mike
Comments
I would say it is a known issue, but the developers do not consider this to be a bug. From previous posts on this forum, it does not appear the developers consider this needs to be addressed.
Maybe in the next version... 😉
Mikael,
Which version of PLCnext are you using?
Currently the move should only occur when the EN input is true, see below:
From the release notes it has been implemented this way since 2022.0.1 LTS version:
If you are using a version later than 2022.0.1 LTS, then double check that nothing else is writing to that variable.
I'm running version 2023.3 but still having issues with the EN/ENO and also have TON_timers where the Q output is TRUE even do the IN input is FALSE. So I will upgrade to version 2023.6 soon, and hope that gets rid of a couple of the issues.
But according to the release note if I make a move block that moves a 0 to the output, will this still set a zero if the EN = FALSE? in the text it says that the output keeps the value from the last valid processing of the function...
So why is the TON.Q True here?
Can you verify (e.g. via cross references) that the instance TON103_2 is called only once in your code?
Well it is only declared locally, i have a copy of the program, so the TON declared with the same name but only locally, in two different programs. "Start_Stopp_Burner1" and "Start_Stopp_Burner2"
Mikael
It seems that TON.Q output is on, because the TON.IN input currently has a TRUE input which is holding the timer ON.
Assuming, that TON103_2.IN is not set elsewhere, than the issue seems to be that the AND function is currently showing a TRUE ouput, when the the input logic is not correct for this ouput (the EQ function is currently FALSE) .
Is this code being run in a standard program / FB and called in a cyclic Task? Or is it in a SFC or a program or FB that isn't being called in a cyclic manner. This may explain this behaviour if you can provide more information on where / how the program / FB is called.