I'm stuck at the third scenario (Conveyor with FIFO): An object in the MAIN_PRG (a conveyor) instantiated from a function block. This function block is an extension of another parent block and it contains a third encapsulated function block (a FIFO).
The thing is: an output (bRoll)of the parent function block is permanently set to TRUE. This output is normally set to TRUE by means of a method METH_RUN() whenever a condition is satisfied (bStartButton). The methods and code implementation in the parent function block are called through SUPER^.() in the child function block.
I can't see why the bRoll output is permanently set to TRUE because I don't call the method METH_RUN()...what am I doing wrong?
The other two scenarios (Conveyor 1 and 2) work fine...but I don't see why the third doesn't
Ohhhhh, I see..., I wanted to evaluate if the METH_Runβs boolean output was set to true, but as I am calling this method I am therefore setting its output to true (there is no condition implemented in the methodβs logic to prevent it to set bRoll to true)...Instead I probably shouldβve used a property for that..
Thanks for the hint i-Campbell!! :)
π
1
Last edit: robi 2020-11-09
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It wasn't your intention but thanks for sharing that paper. Reading it now and it looks to be very informative and great for exactly what you're using it for as well.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello everybody,
I'm trying to recreate these OOP examples for my own learning purposes:
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwiBpPbQsfbsAhUGjhQKHZUsA4wQFjABegQIBBAC&url=https%3A%2F%2Fsigarra.up.pt%2Ffeup%2Fpt%2Fpub_geral.show_file%3Fpi_doc_id%3D239371&usg=AOvVaw3w5jJSKAGyH2oafWIOdo2F
I'm stuck at the third scenario (Conveyor with FIFO): An object in the MAIN_PRG (a conveyor) instantiated from a function block. This function block is an extension of another parent block and it contains a third encapsulated function block (a FIFO).
The thing is: an output (bRoll)of the parent function block is permanently set to TRUE. This output is normally set to TRUE by means of a method METH_RUN() whenever a condition is satisfied (bStartButton). The methods and code implementation in the parent function block are called through SUPER^.() in the child function block.
I can't see why the bRoll output is permanently set to TRUE because I don't call the method METH_RUN()...what am I doing wrong?
The other two scenarios (Conveyor 1 and 2) work fine...but I don't see why the third doesn't
Thanks for your help,
Rob
Yes you do.
Last edit: i-campbell 2020-11-09
Ohhhhh, I see..., I wanted to evaluate if the METH_Runβs boolean output was set to true, but as I am calling this method I am therefore setting its output to true (there is no condition implemented in the methodβs logic to prevent it to set bRoll to true)...Instead I probably shouldβve used a property for that..
Thanks for the hint i-Campbell!! :)
Last edit: robi 2020-11-09
It wasn't your intention but thanks for sharing that paper. Reading it now and it looks to be very informative and great for exactly what you're using it for as well.