addressing specific bit (state) in multistate indicator

nmk

Member
Join Date
Dec 2002
Posts
38
I want the multistate indicator to show the message in the corresponding state. so if Alarm_Bits.1 is on, that means the message that stored in state1 will show in the multistate Indicator, but that is not what happens. it shows the state who's value is equal to 2^(state number). the states values starts at 0 and 1,2,3,... (default values in multistate indicator which 2^1=2 , state 2). how to access specific state message? how this pointer looks like in ladder logic(RSLOGIX 5000)? I attached an image of the two rungs and tag from factorytalk view project. if sample available it will be more helpful.
Thank You :rolleyes:
 
I am assuming you are using an AB panelview or pv+ terminal.
if you are using panelview + terminals.

1. create the multistate indicator
2. in the general topic, tell the indicator how many states there are.
the trigger type will be an integer if there are mort than 2 states.
3. in the states tab, define the states
4. in the common tab, define the size and position of the indicator
5. the connections tab allows you to define the multistate indicator tag name
6. goto the tags section to define the tag name and reference it to an integer

the panelbuilder software has a similar setup procedure.

regards,
james
 
Every multistate indicator I've ever programed has been to an integer tag. So when a boolean event takes place I'd use a MOV command to move a certain integer to that tag. Your "data type" is set to long integer. Are you referencing an integer tag?
 
In the olden days with the Panelview Standard, there was a LSB option for multistate indicators. I have tried to purge my memory of FTView experiences so I can't be sure if that option exists for the PV+ or if it works properly. Some of the designers of the newer stuff seem to dislike bit number zero and that can throw everything off...

If you need to have multiple bits set in your message display object then the LSB (least significant bit) method can be advantageous without rewriting a bunch of stuff.
 
The double integer word Alarm_Bits is aliased to Alarm_Number_to_Hmi which both are double integer to allow using as many as 32 states of alarms including 0 which is "NO ALARMS PRESENT".
I guess, I want an easy way to turn on one bit like Alarm_Bits.3 which puts a 1 in "Alarm_Number_to_Hmi " which linked directly to the tag associated with the multistate indicator, finally the message stored in state 3 be displayed. I am using rslogix5000 and panel view 600 plus.
 
Yes, Paul (OkiePC) is setting you straight, even though reluctantly, as it's FTView rel<h>ated! :)

To understand what is happening here, while incorrect for you, but correct for the setup you have configured, we have to look at the "Trigger type" you have currently set, or left at the default.

On the General tab, with the "Trigger type" set to "Value", the Alarm_Bits DINT tag is being accessed at the Word level as a Decimal number.

Let's take your example - say Bit 3 set to "1" (Alarm_bits.3 = 1)
All other bits in the DINT are = 0
This means that the DINT value will be Decimal "8"...

31------------------------------<<<3210 <<< Bits 0 - 31
00000000000000000000000000001000 <<< 32-bit DINT
-------------------------------------8421 <<< Base-2 Binary Values

You have State 0 - State 31...

State 0 = "No Alarms"
...
State 3 = "Alarm You Want"
...
State 8 = "Alarm You Don't Want"
...

So the "Alarm You Don't Want" is displayed by the Multistate Indicator while the DINT Decimal value is equal to 8.
You would have to move the Alarm State "Alarm You Want" to State 8 for it to display as you intended.

To use your DINT Alarm tag as a Bit Array of Alarm Bit Indicators, instead of an Alarm Value Indicator...

On the General tab for the Multistate Indicator in View Studio, set the "Trigger type" to "LSB" instead of "Value". "LSB" means "Least Significant Bit". This tells the Multistate Object to look at your DINT tag at the Bit level instead of at the Word level. Each Bit Position in the DINT will be directly linked to the 32 States you defined on the General tab and configured on the States tab.

Note: Only one State can be displayed at a time. If using Value trigger then the State that matches the Indicator tag value will be displayed. It can only be one value at a time in the program, so that's OK. But for LSB, you may have several Alarm Bits set to "1" at the same time. They cannot all show their States at once, so the Least Significant Bit in the DINT, that is set to "1", gets priority.

Example:

Alarm_Bits.3 is set "1"; all others = "0"
State 3 is displayed - Bit 3 is the Least Significant Bit = 1

Alarm_Bits.2 is then set "1"; Alarm_Bits.3 is still set "1"; all others = "0"
State 2 is displayed as Bit 2 is now the Least Significant Bit = 1

Alarm_Bits.0 is then set "1"; Alarm_Bits.2 & .3 are still set "1"; all others = "0"
State 0 is displayed as Bit 0 is now the Least Significant Bit = 1

It's important to understand this when designing a Multistate Indicator to display different Alarms. No matter which trigger method you use, you can only display one at a time. You may need to prioritize your Alarming logic so that higher priority Alarms take precedence.

Regards,
George

Multistate_Indicator_LSB.bmp
 
I did not pay attention to the trigger type as value in the object while programmed the ladder for bit level. Thank you for going over the case when multiple alarms occurs, which alarm take priority(LSB). I am always used alarm banner to display alarms and had never used Multistate indicator to display alarms. Thanks
 
Is this PanelBuilder32 or FTView?
For FTView, use an expression:

If Alarm.1 then 3
else if Alarm.3 then 2
Else if SomeOtherBoolTag then 1
Else 0

The order prioritizes what is displayed if multiple bits are set
 

Similar Topics

Hello, I have an S7-1200 PLC. I have a HSC on it that is on "ID1000". i am trying to read this value on a SCADA system. I need to know the driver...
Replies
0
Views
4,443
I am very new to Modbus and the industry, so forgive me if I am missing something obvious. I have known Modbus register addresses coming from a...
Replies
7
Views
208
I have a system using Rx3I CRU320 redundant CPU with Proficy Machine Edition Software. In the hardware configuration of each CPU module, under...
Replies
14
Views
374
See the screenshot of EIP tag list. We are trying to read in a digital input that is hard-wired. It is shown here as I31.1. I believe we cannot...
Replies
7
Views
271
Hello all. I have a Simatic SM374 (374-sxh01-0aa0) sim module. I am using TIA portal v.18. I can't find this module in my list of hardware devices...
Replies
12
Views
742
Back
Top Bottom