In my thesis, it is necessary to implement an application that will log measurements from the inverters (total of 7 inverters, of which 3 inverters from SMA and 4 inverters from Fronius). The inverters have integrated Modbus TCP servers and are supported for communication using the MODBUS TCP / IP communication protocol of the photovoltaic power plant. In that regard, it is necessary to create a communication module of the application which will be connected to the inverters of the photovoltaic power plant via MODBUS TCP/IP protocol and collect measurements of appropriate process quantities Furthermore, all collected measurements need to be saved on a 15-minute basis in separate csv files for each day. Additionally, it is necessary to develop a graphical user interface (GUI) where the collected measurements from the photovoltaic power plant will be displayed. The graphical interface itself should consist of a main screen on which it will be possible to select measurements from an individual power plant inverter or total measurements for the entire power plant.
I started solving my problem using producer/consumer design patterns for collecting and saving data, but when I need to develop GUI I don't realize where I can insert Event structure here ? and sorry because some parts of projects are on Croatian language!
Hi, may I confirm with you some details first?
Hi, thank you for answer!
1. I hope that you can open it now, my version is 2016.
In this zip file I have project named Diplomski rad. There I made program for data logging ( collecting and reading measurements from inverters in producer loop and writing measurements in file in consumer loop). Now, I need to develop a graphical user interface (GUI) where the collected measurements from the photovoltaic power plant will be displayed. The graphical interface itself should consist of a main screen on which it will be possible to select measurements from an individual power plant inverter or total measurements for the entire power plant.
I have problem because I don't have idea where (in which part of my program could develop GUI) and how I can do develop GUI in this project?
An event structure cannot do datalogging, it is for user interactions. Your program seems to be mostly free running and the user interaction is limited to selecting channels.
Your zip attachments contains tons of VIs and at least two projects. It would help if you could narrow it down what we should be looking at.
You should really focus on giving your code reasonable names (Control 1.ctl ... Control 22.ctl, Untitled Library 1.lvlib ... Untitled Library 3.lvlib, enum.ctl, enum1.ctl, etc. These make code maintenance very difficult.
(Sorry, I am currently on a laptop and you diagram is too large to efficiently inspect)
Hi, I got same opinion with @altenbach
I think your main reason that feeling loss is because you dont have a "Main.VI" which compile all the VI you have done.
If I not mistaken, I think you want to complete each feature in single independent VI so easy for your troubleshooting.
So if you make sure each feature VI can run smoothly without error, then we can start discuss the step to "combine" all you VI into 1 "Main.VI".
I try to wirte some step to give you direction:
If you face any difficulities during follow the steps above, we can discuss at here anytime.
Thank You very much on yours answers and yours help! And to you @altenbach, too!!! I really appreciate it!!!
I hope that in my new .zip file it is everything good sorted, as you advised me. I have my Main.vi (producer-consumer design pattern with subVIs where I logging and saved my measurements) and I have my final project DataLogging and Monitoring.lvproj.
In this project, I need to develop GUI (something like on this picture which I uploaded, it doesn't have to be complicated). I understand that producer-consumer pattern is used for data logging and that Event structure is used for User interactions, but I am a little bit confused where I need to put Event structure (for User interaction) in producer loop.
In GUI, I need to show measurements for each individual inverter in chart and in table (like on the pictures, when the user wants to see the measurements for inverter 1, he wedges the inverter button, etc.)
I hope that it is more clearly now about my project and that You understand what I need to do
If you refer QMH example in Labview, you can see that there's many state in consumer loop.
Ya i know this method will used a lot of time, you may hear the other suggestion first if you want.
Thank you, again!
1. Yes, its right!
2. Yes, I thought that I can use producer loop for reading and for event structure, but now I see that it is not effective.
3. Do you have same suggestion how to convert my reading loop in consumer loop?
I hope that I can use my project that I made till now for reading and writing measurement? Or I need make everything new?
Because I don't want to interrupt your project too much as data protection policy, and don't want to make you confused.
You may pay attention on Case structure+ Dequeue Element Function (Consumer loop) in QMH labview example.
See how producer pass data to consumer to switch state (case).
I think you can find inspiration from that.
Can you post that example here because I don't know on which you think? And do you think that it is (QMH) the only way to develop GUI in my project?
For the first time i meet with QMH and it is very confusing to me! Sry 😞