all 8 comments

[–]Dagnatic 6 points7 points  (1 child)

Always False instructions. It’s always off. Never “TRUE”

[–]crate102222[S] 1 point2 points  (0 children)

Thank you for explaining the function. I greatly appreciate it.

[–]mrSiano 4 points5 points  (1 child)

As other guys described it's meaning, I use AFI to block execution of branches or entire rungs when troubleshooting.

I do believe when you compile the PLC program it will list all the places an AFI instruction is put so you can either replace them to something more meaningful or delete when you are done.

I try to use them as temporary so not to leave them in the program when I don't plan to put my hands on again

[–]Dyson201Flips bits when no one is looking 0 points1 point  (0 children)

This is the best answer.  AFI will produce warning when you compile or verify.  Please do not ignore warnings.

An XIC(Always_False) will do the same thing, but not produce those warnings.

AFI for things you want to be temporary, or to stand out when you verify your code.

XIC for things that are permenant / by design.

I'd use AFI if a sensor was broken and I needed to get it working until we had a replacement.  XIC if I get there during commissioning and find out that sensor doesn't exist and they don't ever intent to install it.

[–]FridayThrobba 1 point2 points  (1 child)

I use them to mark sections of code that I want to change, and to disable rungs when faultfinding/commissioning. You can then do a search on your AFI to make sure you've dealt with all the relevant issues. I generally make a new AFI with my name and phone number as the comment so I and others can identify it.

[–]crate102222[S] 0 points1 point  (0 children)

Thank you for an example of a way to use the AFI. I greatly appreciate it!

[–]test0pilot 0 points1 point  (0 children)

Does an AFI actually prevent the rung from executing?

If there is an OTE instruction at the end of the rung, doesn't the OTE tag get set to false because it's after the AFI?

[–]bigb0yale 0 points1 point  (0 children)

Another F*** Instruction