FT View studio LSB support

ERCfarcontrol

Member
Join Date
Apr 2015
Location
Fresno, Ca
Posts
63
Hello all,

I am currently working on an application conversion from a standard panelview to a panelview plus. I have extremely limited experience with allen bradley plc's and hmi's (been to one studio 5000 class).

My question I believe I have answered myself by reading the view studio and migration manual but need a little clarification.....

I have quite a few multistate indicators that were changing states by LSB trigger type, linked to bit array tags. I've read that bit array tags are only available to trigger alarms and not available to trigger anything graphically. Can the LSB trigger be used by some other tag/data type? The migration manual states it CAN be used with address's that are more than one word in length. Heres what I have:

A multistate indicator with LSB trigger type and 5 states. It's connection is to N202-03-00. (Just for the sake of making sure I have this correct: N202[3] is an INT and has 16 bits. So the panelbuilder32 application wasn't really only watching bit N202[03].0 , because it is an LSB with 5 states it was watching N202[3].0 , .1, .2, .3, and .4)

Is this as simple as changing the data type in the logic to a full 32 bit (DINT correct?) data type? This may not be very easy as there are other bits of the original INT that are being used by other logic. If this is an issue is there a simple way to create logic to copy the bit positions used by the HMI to tags that can be used with LSB triggers? Or possibly some logic to convert individual bit positions to a numerical value for a value trigger?

thanks in advance,
Eric
 
As long as only one bit is on at a time, use a multistate indicator, and set the states to be 0, 1, 2, 4, 8, 16, 32, etc.
Use an INT for the N data table word.
 
This processor is a compactlogix. Not sure why the data tags don't make more sense but I have ALOT of single lettered tags.

Why would the states have to be set as 1,2,4,8,16,32 ?
 
Maybe someone used the "Translation" utility to convert a PLC5/SLC500 program up to logix?
Or they were just lazy and copied a 5/500 program without any thought involved.

Why 1, 2, 4...?

Bit 0 set = 1
Bit 1 set = 2
Bit 2 set = 4
Bit 3 set = 8
Bit 4 set = 16
...
You need to use the actual value of the integer for a multistate display.
 
I see what you mean. That would work with the value trigger type, not the LSB. And yes, it would only work if only one bit was set at a time.

I think my biggest problem is going to be that the logic is using "int" tags as 16 separate single bit binary registers for a lot of different unrelated things. Not sure but I believe they did this for saving memory.

For example: I have a multistate indicator with lsb trigger type watching bits 0-4. I have another mutistate indicator watching bits 7 and 8. And so on and so forth.
 
Last edited:
Bit arrays were great back in the day the amount of data was very limited. When I convert those to Logix I just make a routine and a new array for those. Then use some BTD or XIC-OTE rungs to convert them.
 
Could you explain an example to me? When you say convert them do you mean you just use some instructions like these to take only the one or few bits that you need from the bit array and copy them to their own full word tags?

I'm sorry if it sounds like I'm asking some very basic questions here. I'm very green on all of this. Other than troubleshooting some bad logix cards this is my first Allen Bradley programming experience. I've only worked with red lion hmi's and function block controllers that don't have "bit,byte,word, or array" in any of its programming. Getting down to the memory level and having to remember that a bunch of 1's and 0's means more than just that gets confusing for me.
 
Just forget about arrays...It's been stated already that this was the old approach of handling data...

1. Define the number of states of each process.

2. Create Controller or Program scoped DINT Data Type tags for each process ( Process_A_State, Process_B_State, Process_C_State, etc.)

3. Find each process' "old States array" OTEs and replace them with MOV instructions [MOV(Source=1, Destination=Process_A_State) for the first state of Process A, MOV(Source=2, Destination=Process_A_State) for the second state of Process A, MOV(Source=3, Destination=Process_A_State) for the third state of Process A, etc., MOV(Source=1, Destination=Process_B_State) for the first state of Process B, MOV(Source=2, Destination=Process_B_State) for the second state of Process B, etc.]

4. Within the FTVS application add Multistate Indicator objects for each process and specify the previously defined number of states for each process.

5. "Connect" said Process State Multistate Indicators to the Value of the previously created Process States DINT Data Type tags (Process_A_State, Process_B_State, etc.)
 

Similar Topics

I need a multistate indicator with a trigger type LSB that will span four integers. So, I created it with the connection tag "MESSAGE" assigned...
Replies
2
Views
4,076
Hello, I made a change in alarm setup in factory view studio, where I changed a alarm message text. After that I made a run application and...
Replies
0
Views
133
I have just installed version 14 of view studio, and the tag browser is new. I am trying to assign "Diff_Tryk_saver_1" to a numeric display, as I...
Replies
1
Views
160
Trying to open View Studio and get a message "View Studio was NOT successfully personalized" Anyone ever run into this?
Replies
1
Views
188
Question for those who are in the know how Studio 5000 works/compiles under the hood. The laptop that was supplied to me is now full with no...
Replies
8
Views
548
Back
Top Bottom