Fully User Editable Trend Chart

Continuing the discussion from Full Featured Easy Chart / User Configuration Saving:

Continuing the discussion from Perspective PowerChart Pens Dataset - Solved:

Hello! I am dealing with something similar to this post, except I need to stick with the Vision Easy Chart. I thought I could start with this post, and create one if this doesn’t relate!

I am wondering if anyone has ever made anything Ignition similar to what I am trying to build? I am new to Ignition, about 4 months working in it.

Scope: I am essentially trying to build a table that is fully customizable for the user to put in information that will then be transferred over to the Easy Chart. I want the Easy Chart to have the same function, display data from Tag and Calculated Pens, but I want the user to have full customization on what those Tag Pens are called, what calculations are made, even the order in which the group pens are displayed.

Summary

Detail: The Easy Chart component is great for displaying trends, and it has a lot of great features; you can essentially graph anything that is in your project. I am using it for the purpose of displaying visuals of data stored in to the Tag Historian. Unfortunately, there are certain things about the Easy Chart component I am not a fan of and want to change. I want the user to have more control over what they call their tag names and how they group their tag pens and calculated pens.

Possible Solutions:

  1. Dynamic Pens - I briefly looked in to dynamic pens, but wasn’t able to locate enough resources on directions to even try using this to solve my problem. I would have a Table or Power Table displayed on one screen, where the user either uploads a CSV with the data

  2. Excel->CSV->Import->Data Table->append certain pieces of info to the appropriate places that affect the EZ Chart.

  • I am about 50-75% working my way through that. It’s been an incredible long journey and I am about ready to give up. The amount of hours I have spent outside of work (because creating this is way beyond the budget for this project and I have a hard head when it comes to accepting defeat) are getting to me. And who knows, maybe, the ways in which I have been trying to do this are not the best ways. Here is what I have done/learned to make this options work:

  • Excel. I always start with excel. Why? Because Excel already has all of the GUI’s that I need to atleast make a prototype of what I want. So my logic is, if I can make it in excel, break down the data in to CSV or .txt format, transfer it to the appropriate tool, I can still recreate what I want with that data. Also, the users most likely will be able to relate to excel. It’s common, everyone knows how to use it. So, I created tables in excel, made sure I could take all of that info and add it to EZ chart to build my GMI, and confirmed that worked.

  • Now I needed a way to transfer that info in to EZ Chart. I converted to CSV, created a script that asks the user to import that CSV and to convert to a dataset
    *I wanted to take the necessary parts from that data set and input it in to EZ Chart. I found it easier to do this by taking the dataset that was created, and storing it in to a memory. This is because the dataset that is created, if it isn’t stored somewhere else (I believe the function is “writeblock” but also system.dataset can also be used)

  • Button imports a CSV file

  • CSV is stored to a memory tag, Data Type = Data`

I still need to figure out how to take certain pieces of information from that stored memory tag to the parts of the Easy Chart. I know the paths for the memory tag, so I know how to call that, but I am lost on how to add it to the parts to the Easy Chart as paths rather than actual values. Also, I am not even sure if this is the best way. I also tried messing around with “Drop Down” button and wasn’t able to get it connected to easy chart or power table.

I am about ready to create different tab views of my displays and call it a day.

Any help would be appreciated!

As Mike mentioned at the bottom of that first topic, have you looked at the freebies in the Ignition Exchange? (Search for “trend”)

Learn from those. Then come back with questions about the missing pieces. (It is a rather complicated topic–best to learn by looking at working solutions.)

I’ve switched to developing everything (for in-house work) in Perspective rather than vision but you should be able to do what you want as follows:

  • Create Vision Client Tags for each item the user needs to modify.
  • Create some means for the user to edit them - a configuration page, for example.
  • Bind the Easy Chart properties to the client tags you created above.
  • If the settings need to be saved then create memory tags instead.

I haven’t look at this for a while so the details may not be quite correct.

1 Like

Datasets drive the charts, so its just a matter of building the dataset with the info that you need. The old school click to graph project gave me a head start on figuring all of that out. If your user wants to save what they have built you can serialize the dataset and save into a database table and then give them the option to reload.

1 Like

That was the first thing I tried. I downloaded the click to graph add on, found here

https://inductiveautomation.com/downloads/extra-material

When I followed the instructions, I was not able to import the window or component. When I clicked “import”, and the pop up window for importable files appeared in my project window, it was empty. I am using Ignition V8. I found another forum saying that someone else had a similar issue. I wasn’t able to look in to it further. Any ideas on what the issue is, or any similar issues? Have you been able to import the CTG extension in Ignition V8?

Yes, I was considering this route as a solution. However, I didn’t want the user to have to download the CSV, edit each individual line, and reupload. I was hoping to implement a solution where the user simply types in to some text input on what they want to call their pen and calculated tags, and create a drop down menu on how the want to organize their charts. I would have several different predefined charts and ways it could be display linked to whichever drop down they choose. I wanted to do it this way because of how the easy chart organizes the pens and calculated tags in a weird order. Depending on if they want to group by system and then unit, or maybe system and unit but unit on different graphs, units on the same graph, or rather units THEN systems, same graph or different. It would be a lot easier to literally just make all of the possible different graphs, and the have a drop down that they choose, sort of similar to how you can choose sorting in an excel table and you can creating like a level 1 level 2 level 3, actually that is exactly to what I am referring to. I tried a test on this and I used their drop down wit easy chart tutorial, and their tutorial doesn’t work for what I am trying to do because it relies on the name of the actual tag, and it literally displays the tag name as the term in the drop down, which is NOT what I want. Also, I don’t want a tag tree in my display. Any ideas on how I could implement something like this? Have you had any success with drop downs?

For my project, I am limited to using Vision. New to Ignition so I didn’t ask why.

What type of Vision Client Tag? (Memory, Query…)?
Would you bind them by tag binding or by SQL, or does it matter?
Why would creating memory tags be best used (vs Query) if the settings need to be saved? And would you recommend DataSet type for memory tag?

Thanks for your suggestions. This really helps. The project is reaching its finish date so I most likely wont be able to implement until later on. I’ll BM this suggestion.