FBC Ins. w/Logix5000

JeffB

Lifetime Supporting Member
Join Date
Apr 2002
Location
NW Arkansas
Posts
79
Hello Everyone,

I've been tasked with building a panelview screen to display "servo faults". The machine I'm working on has 9 servo axis. The ".servofault" word is a DINT, but only uses bits 0-8. I'm thinking about using a BDT instruction to move these nine bits into a nine word INT array and using a FBC instruction to compare this to a nine word INT array whose bits are set to "0".

Now to my question, is there an advantage to using a FBC as opposed to a DDT?

I would like to use the value in the .POS of the result control structure to indirectly address a value to move into a panelview message display. Is this a possiblity? Would using the value in the .POS compare structure be better suited to this?

One more thing, I'd like to inhibit the FBC once a fault has been detected, and resume comparing once the fault has been cleared, would using the status of the .FD bit of the compare or result structure be appropriate?

BTW, I faulted the processor just experimenting with a FBC, I think I didn't define an array large enough in the result. Do I need a word in the result for every bit I'm comparing?

Thanks for all who reply,

Jeff
 
First of all, you have to use DINT's - not INT's - for both source and reference arrays in the FBC and DDT instructions. No option.

The 'advantage' in using one over the other (FBC or DDT) depends on which one gives the desired results.

The FBC compares source array bits to reference array bits and flags any differences. The DDT does the same, but then updates the reference to the current value of the source, i.e. it detects change of state.

Depending how you set the inhibit bit (.IN) of the instruction's compare structure, it will find one miscompare at a time or all at once. This determines how big your result array needs to be. If you want one-at-a-time detection, the result array can be dimensioned as 1. The result array (whatever size) contains the numbers (positions) of the bits that mis-compared - no need to use the .POS attribute. In fact, if using the all-at-once mode, the .POS attribute will always point to the end of your source array.

Oh, and your main interest is in the compare structure, not the result structure.

Finally, why move 9 bits into 9 words? The FBC/DDT instructions look at bits, not words.
 

Similar Topics

Logix 5000 v32 on 1769-L16ER I used the FBC instruction to scan an array of DINTs for true bits and it works but I found a thing that just...
Replies
2
Views
87
Hi guys, having a few challenges with 90-30 and FBC BEM341 FIP bus controller. The goal is to be able to replace either the CPU 350 and or...
Replies
3
Views
1,884
Good afternoon all, I am attempting to get a panelview standard 1000e too communicate completely with a 1756-L83E through a 1756-DHRIO card and...
Replies
2
Views
2,874
Hi, folks, how’s going? I have some questions about FBC in Logix5000, plz check attachments: 1, how dose .FD work? I read help manual, but cannot...
Replies
0
Views
1,375
I have (2) L541 5/04 PLCs in the plant and up until 3 days ago they were fine. I replaced the battery in one of them and had to reload the...
Replies
3
Views
1,927
Back
Top Bottom