list view factory talk me

BBarr

Member
Join Date
Feb 2016
Location
Wisconsin
Posts
28
I am using Factory talk ME list view object to list my alarms and associated metrics and counters but am trying to figure what syntax I need to imbedd the value in the list. I am using a 2d array in the plc. Tagname [a,B]. Where I want to have the list show the items in the order where a = the line value. I am not selecting just viewing. I just don't want to retype Tagname[1,1] . Tagname[2,1]. 50 times and then start over with the 2nd columb where B=2...3..4.
Is that possible and what would that tag look like? Any advice would be appreciated.
 
Sorry I wasnt clear. This series of list boxes is not an alarm page it is an alarm tracking screen that tracks alarm metrics like the number of times an alarm came up. Alarm duration. Mean time between alarms . OEE. and others.
I have registered for the ab site and am waiting for the response so I can take a look.
 
Sorry for the abruptness I was posting from my phone before and I was worried the battery was going to die, thanks for the help.


The AB website isnt working for me on my phone or PC. I have an email in requesting a fix but I am not optimistic that it will come quickly.

Does anyone have another access point for nhatsen's info?

Thanks again in advance!!
 
Ok, I have some time now.

So far I understand you, your idea is build something like a table on the HMI:
Code:
Description | Value_1 | Value_2 | Value_N
--------------------------------------------
            |         |         |
The description could be harcoded on the screen and the numeric values would be coming from an array (on the PLC). Right?

The purpose of a List Object is:

a) Show a list of items (plain text, no columns) on the screen
b) Each item has a linked value
c) When the user clicks over any item, the value is copyed to a tag.

You can embed numeric values in the text of each item, but that task must be done manually. And you don't have columns. In the RA forum, someone was trying to do something similar and a user suggested using Text objects. Borrowing that idea, you can draw your table and put a Text object inside each cell.

I imagine that you're looking an easy way to write all the tags, something automatic. In my experience, sometimes you spend more time looking for an automated solution that doing a task manually.
 
Thanks for your time. The headings are correct the data list is as follows.

Description Faut count % Failure MTBF
Desc_String[A]|Value_Real[A,0]|Value_Real[A,1]|Value_Real[A,2]
Desc_String[1]|Value_Real[1,0]|Value_Real[1,1]|Value_Real[1,2]
Desc_String[2]|Value_Real[2,0]|Value_Real[2,1]|Value_Real[2,2]
Desc_String[3]|Value_Real[3,0]|Value_Real[3,1]|Value_Real[3,2]
Desc_String[4]|Value_Real[4,0]|Value_Real[4,1]|Value_Real[4,2]
and so on for 60+ lines and 3-4 pages

I am merly displaying the information I would like to use the value compnent of the list as a imbedded variable so I dont have to change the numbers in column A 200 times. Id like to copy it once and then use the past all feature.

The variable would look something like this.

Value_Real[listdisplay1.Value,0]|
Value_Real[listdisplay1.Value,1]|
Value_Real[listdisplay1.Value,2]|

The listdisplay1.value would = the listdisplay1 is the name of the list box and the value field for that row of the list display. I dont know what syntax would allow this. Any ideas?
 
Sorry the site formateed my response funny.

Description Faut count % Failure MTBF
-----------------------------------------------------------------------------
Desc_String[A] | Value_Real[A,0] | Value_Real[A,1] | Value_Real[A,2]
Desc_String[1] | Value_Real[1,0] | Value_Real[1,1] | Value_Real[1,2]
Desc_String[2] | Value_Real[2,0] | Value_Real[2,1] | Value_Real[2,2]
Desc_String[3] | Value_Real[3,0] | Value_Real[3,1] | Value_Real[3,2]
Desc_String[4] | Value_Real[4,0] | Value_Real[4,1] | Value_Real[4,2]
and so on for 60+ lines and 3-4 pages

and

Value_Real[listdisplay1.Value,0] | Value_Real[listdisplay1.Value,1]| Value_Real[listdisplay1.Value,2] |
 
I am merly displaying the information I would like to use the value compnent of the list as a imbedded variable so I dont have to change the numbers in column A 200 times. Id like to copy it once and then use the past all feature.
I understand what you want to do. However, the value linked to each item of the list isn't exposed and, in any case, you have to write all the items.

What do you think about having a page with 10 rows and some pagination? It's possible to do that using parameters and placeholders.
 
Thanks again for you answer!

I can get by with something like that. Show me what syntax you are thinking of.

I think we might be thinking along the same lines.

Possibly a different question but... How do you insert a hmitag? I tried using the literal word Date and it didnt work.Keep in ming Date is not an actual date just an anolog tag. I also tried to use a imbedded integer from the PLC with no success.

Say I have a local hmitag (type analog) named Date and I wanted to use a ramp button to increment and decriment this date int to change the day that the data was collected.

So if I change my array to be Value_Real[Date,1,1]
BTW the 1,1] are the same data as shown as before I just added a third dimension to store historical info so by incrementing the Date tag i could update the whole page to the previous day etc.. It shuld look like this.


Desc_String[0] | Value_Real[Date,0,0] | Value_Real[Date,0,1] | Value_Real[Date,0,2]
Desc_String[1] | Value_Real[Date,1,0] | Value_Real[Date,1,1] | Value_Real[Date,1,2]
Desc_String[2] | Value_Real[Date,2,0] | Value_Real[Date,2,1] | Value_Real[Date,2,2]

So if date =0 that would be todays data. 1 would = yesterday. 2 would equal the day before yesterday etc..
 
I can get by with something like that. Show me what syntax you are thinking of.
Suppose you have a Display with a Numeric Indicator, and the tag linked to that object is Value_Real[#1,0,0]. If you call the Display using a parameter like

Code:
#1=23
FTVME substitutes #1 on the given tag and the result will be Value_Real[23,0,0]. So you can use several Goto Display buttons with different parameter values, calling the same Display, and point to different elements.

This is a rough idea. I'd need some time to polish the full concept.

How do you insert a hmitag? I tried using the literal word Date and it didnt work.Keep in ming Date is not an actual date just an anolog tag. I also tried to use a imbedded integer from the PLC with no success.
First, I think Date is a reserved word (see inside the system folder on HMI Tags database). Second, all the objects on FTVME have a button (named Tag or Insert Variable): just click the button to search a tag.
 
I've done something similar to this by just using text/numeric/string display objects. I've attached an example.

While your screen will scroll vertically, mine scrolls left / right.

What I do is set up a small array for each of the rows (you would have your array by column). Since I have 6 columns of data my array is 6 elements long. Element 0 is the last column.

My history/data array is 100 elements long, so I use indexed addressing to copy the six elements I want into the "display array". Each page just indexes the copy command to grab the next 6 elements. For example, if I need to look at all the data that starts at the 40th element in the array then I would have my "index" value set to "40" and I'd copy HISTORY_ARRAY[INDEX_VALUE] to DISPLAY_ARRAY[0], Length=6 (because I have 6 columns of data).

I think I actually got the idea here from another thread. Anyway, just another approach you might think about.

I hope that is helpful.

2016-02-10 15_56_33-FactoryTalk View Studio - View Machine Edition.jpg
 
So If my embedded tag was... PLCValue_Real[#Notdate,0,0] ... and I set the button up to index the HMI tag Notdate to = 1 .... 2....3 .... it should display the resulting values of PLCValue_Real[1,0,0] ... PLCValue_Real[2,0,0] .... PLCValue_Real[3,0,0] ... respectively?

I will give that a shot!!! If it works, you saved me 4 screens and 3 hours of typing!!
Thanks again for all of your help!!!
 
Still isnt working :(

I have tried it with Notdate and #Notdate and still all I get are ###.
If I hardcode [0,0,0] I get the value.
With [Nodate,0,0] or [#Nodate] I get nothing.

When I set up my HMI TAG Notdate should it be an integer? LInt? Default?

The actual tag I am using in the states tabs value 1 caption field is:

{::[Inov_PLC]Program:HMI_Data_Collection.DATACOLLECT_SYS_FLT_STORAGE[DS,0,0]}

Or
{::[Inov_PLC]Program:HMI_Data_Collection.DATACOLLECT_SYS_FLT_STORAGE[#DS,0,0]}

DS replaces Notdate

Can anyone see what I am doing wrong?
 
How tied are you to your variable / data structure?

I'm going to think about this some more, but I think your structure is more complicated than mine.

I structured mine in a UDT that looks like this (attached). Then I copy everything all at once into the display array. I need to think about your structure to figure out what's not working.

Let me work on this a bit..............

2016-02-11 12_22_03-RSLogix 5000 - SHA0304_Main_PLC in SHA0304_Main_Panel.ACD [1756-L61 20.12] -.jpg 2016-02-11 12_30_35-RSLogix 5000 - SHA0304_Main_PLC in SHA0304_Main_Panel.ACD [1756-L61 20.12].jpg
 
I have a question about the nature of what you will display:

For each "Description", it sounds like there is a finite number of unique descriptions, and that each one will appear only once in your list, right?

Also, will the sort order of the list be static, or will you be trying to sort this so that, for example, the more frequent or recent events are ranked higher in the list.

The reason I ask is because what you want to do may drive how it makes sense to structure this. I just finished something like that with part numbers and recipes and I must have iterated my data structure 3 or 4 times before I got it all figured out. But I was also doing a lot of sorting and searching stuff.

Also, you mentioned in your last post "HMI Tags" again. My approach isn't using them. Each screen object is "hard coded" to an array element in the PLC. All the work is being done there. The HMI objects are linked directly to the specific array element based on what column the data is in.

In my last post I had that picture of my "Display Array" data structure. All of my screen objects are linked to just that one array, directly, with no HMI tags.

I hope this makes some sense. Let me know what you think.
 

Similar Topics

New here, new to Studio View. Any help is greatly appreciated! I'm working on getting Factory Talk View Studio to build an HMI screen that...
Replies
12
Views
2,456
Hey Guys, Is it possible to show the data from the .dat file taken from datalog to a display in the form of a list view similar to that of...
Replies
4
Views
2,063
Hi All, I was wondering if it is possible to use parameter files that can be passed to a second page eg: --HOME ---PUMP 1 FACEPLATE (With...
Replies
4
Views
1,149
Hello everyone, I am experiencing a strange issue with machine using a PanelView Plus 7 and a CompactLogix 1769 PLC. I am using FTView ME V13...
Replies
1
Views
349
Hello All, I have HP printer that is connected a PV + Series B via ethernet. I am using the print screen function to print a page/report. The...
Replies
1
Views
421
Back
Top Bottom