panelview multistate

russrmartin

Member
Join Date
Aug 2002
Location
Eastman, Wisconsin
Posts
744
Hey guys, got an easy one for ya maybe. I have a panelview 900 and tried to put in a multistate indicator. I used an unsigned integer, and in the PLC, I tried to just move a 0, 1 or 2 into the integer word I am using. Problem is, 0 state shows up ok, 1 and 2 show up as error. There is a message display using N17:8 that works just fine. I tried using n17:13, with no luck. I did insert the new states, and the text in the indicator fits. I even tried simply changing the colors with no text, so I think it is a data # problem. I am outta ideas why this won't work. Can someone give me some ideas what to check? Does this need to be a float in order to move the actual # into the register I'm looking at? Pulling my hair out, and this should be so easy. Thanks in advance.

Russ
 
more info

My multistate is configured for an unsigned integer, and it is configured for Value, not least sig bit. Am I correct in reading your post in that least significant bit would be correct?

Russ
 
Stuff

I have the latest revs of panelbuilder 32 I believe. We are usually pretty good about all that. What does interest me is the last address valid. Where is this? I have never done this in Panelbuilder. My PLC is a controllogix, and the data map just says file 17 is N17. I do not see a length on it. However, if I were using a word that was not mapped, or out of range, I would expect to get the error no mattter what state was called. The way it is acting, state 0 is valid, but no other one is. Perhaps I am thinking incorrectly. I will check on the knowledgebase, as I haven't done that yet. I usually try this first, because a lot of the time, it's something simple that I have forgotten to check on. Thanks for the input.

Russ
 
Why are you mapping your tags?
The panelview can read tags staight out of the 5K database.

I have made the mistake on multistate ind's of not updating all of the states in the value column. Sometimes I copy the states for time savings and inadvertantly leave multiple messages with the same value.

The # on the left of the message is the message # not the value that makes it transition states.
 
Russ,

Sorry I wrote my first reply in a hurry, without checking it:

1. I meant that the read property should be "value", not "least significant bit".

2. What is the comms path you are using?
DH485, DH+,CNet, Ethernet?

3. If you are using DH485/DH+ then you also need to use the PLC/SLC Mapping table in CLX, so that the PV900 knows how to read data from the processor.

If you are using CNet/Ethernet then you can use the CLX native tags directly. You said you are using unsigned integer. I suggest that you change it to "signed integer" and also the tag "data type " to "signed integer/INT" and then make sure it points to an INT tag in the CLX.


4. Going back to the Mapping table. You will need to create an array tag of INT's, with a length of however long you need the table, and although you can call this tag anything you like, it is easiest to call it the same as the addresses in the PV900, eg N17. If you want it to be 100 words long the tag is N17[100] INT.

Now in the mapping table simply map File number 17 to the tag N17.

If the multistate object in the PV900 is pointed to N17:13 then it is reading from the tag N17[13] in the CLX.
 
Last edited:
Russ if your mapping, check the panelview reference for that, the last valid address is located in the PLC, not the panelview.
If you do a CIP request for a memory location say N17:255 and the last valid address in the PLC is N17:200, then you will recieve the exact error you are getting. There is no valid address N17:255 in the PLC!
As for CLx you can experience the same error TYPE if your using UDT's and your consumed tag is larger (in byte count) than the produced tag.

just a bitmore...
 
THE ANSWER

Phil:

My data format is set to unsigned integer, along with the data type in the tag form box being the same. I have tried signed integer in both locations as well. Meaning, I set them both to signed,=same result. My mapping table already had a file for 17 mapped as N17. The N17 file is already set to INT[40]. Besides this, I know this has to be a valid word, because I created a tag in the PLC and aliased it to the N17:13 that I am trying to use. Because of this, I am thinking that the file is valid and correct, hence the Panelview SHOULD be reading it just fine. By the way, my comms are DH+.

Scooby: THANK YOU!!! I knew that I was probably forgetting something very dumb, and I was. On post #7, you reminded me that the # on the left side of the states box is the state, not the value that triggers the state. Simple, stupid mistakes make all the difference. Hopefully this post can serve as an idiots guide to others like me who get brain farts and think wrongly. Thanks again for all the great help. This site kicks ***.
:)
Russ
 

Similar Topics

I recently added several new screens with multistate indicators. While in English they are fine. When I switch to French they turn to question...
Replies
1
Views
418
Hi, This is my first post and my first time programming a panelview plus 1250. Im looking for some help with something I am trying to do with...
Replies
2
Views
1,382
In FactoryTalk ME I configured a PLC COmpact Logix In the RSLinx Communication setup to be called "checker" with a shortcut It verifies that...
Replies
5
Views
2,702
Using Factorytalk view ME and RSLOGIX5000 I am trying to use a multistate indicator on my Panelview plus that will become visible and display a...
Replies
14
Views
10,585
I am new to using the Panelview 300. I notice that when I first enter a screen that includes a multistate indicator, the Error State message is...
Replies
0
Views
1,989
Back
Top Bottom