T
Although my experience with Allen Bradley PLC's is limited I was recently asked to review and debug a new AB PLC program. This program is running in a PLC-5 processor with ControlNet I/O and an Ethernet link to a PC running RSLogix (Most recent revisions on all).
I discovered that a series of four FAL blocks with indexed addressing (Mode=All) performing minor functions (move, AND, XOR, and move) were working sporadically and incorrectly. For
example, if I managed to get the first Move function working the AND function would stop functioning altogether. After trying various
things for over two hours I decided on a hunch to zero the S:24 offset pointer value prior to and after every FAL block. This seemed to solve the problem (although I'm still not entirely convinced)
I then talked to several experienced PLC programmers who have never zeroed this pointer and have never experienced these difficulties.
I then talked to Allen Bradley Technical support. They confirmed that I did the right thing. The contents of this pointer can become
out of sync and that resetting it prior to running an FAL block is a necessary and important step. As it turns out this point is stated in their manuals.
They also confirmed that an FAL block with a Mode=All runs synchronously - the block will complete its function until the end of the table is reached prior to scanning the next line of logic
Allen Bradley Technical Support stated that this has been an issue within AB PLC programs for at least ten years.
I can find no Allen Bradley PLC programmers that have given this pointer special consideration within FAL instruction blocks.
Has any one else out there experienced these problems? Does any one else reset this pointer prior to running an FAL block?
Thank You
Dave
I discovered that a series of four FAL blocks with indexed addressing (Mode=All) performing minor functions (move, AND, XOR, and move) were working sporadically and incorrectly. For
example, if I managed to get the first Move function working the AND function would stop functioning altogether. After trying various
things for over two hours I decided on a hunch to zero the S:24 offset pointer value prior to and after every FAL block. This seemed to solve the problem (although I'm still not entirely convinced)
I then talked to several experienced PLC programmers who have never zeroed this pointer and have never experienced these difficulties.
I then talked to Allen Bradley Technical support. They confirmed that I did the right thing. The contents of this pointer can become
out of sync and that resetting it prior to running an FAL block is a necessary and important step. As it turns out this point is stated in their manuals.
They also confirmed that an FAL block with a Mode=All runs synchronously - the block will complete its function until the end of the table is reached prior to scanning the next line of logic
Allen Bradley Technical Support stated that this has been an issue within AB PLC programs for at least ten years.
I can find no Allen Bradley PLC programmers that have given this pointer special consideration within FAL instruction blocks.
Has any one else out there experienced these problems? Does any one else reset this pointer prior to running an FAL block?
Thank You
Dave