Behaviour of the PLCopen FB´s "Execute" and "Done" in-\outputs
A PLCopen FB evaluates only the RISING EDGE of the "Execute" signal.
That is to say that, before an FB can be commanded again, it must be called up at least once with "Execute" = FALSE!
The "Done" signal of a PLCopen FB is deleted only based on the FALLING EDGE of the "Execute" signal.
If the "Done" output of an FB is connected to the "Execute" input of a second FB, for example, the following problem may arise in connection with trigger commanding:
If the first FB is triggered and "Execute" becomes FALSE before "Done" becomes TRUE, this "Done" remains at the first FB until its Execute runs through another FALLING EDGE of the "Execute" signal. As the second FB is linked directly to the first one, its Execute cannot detect a rising edge again until the first FB has undergone complete triggering. Up to then, however, it is blocked!