08-01-2013 07:22 AM
Question) Create a web browser to invoke a search engine (Such as google, yahoo etc) in LabVIEW with options to Go back, Close, Refresh, Forward.
Hint - Try using the state machine architecture to achieve this.
Leave your answers as comments below by clicking on Reply
You will need to be logged-in to do so. Click here to sign-in/sign-up.
Rules & Guidelines
08-01-2013 07:54 AM
Hi Friends,
Here is my VI. I tried in an different method. Since I started developing in other method this is not in an State Machine Architecture. Hope I`ll make one by this week. Feedbacks are much awaited on my VI.
08-01-2013 09:38 AM
Hi Find My Vis with state machine architecture.
Kindly give feedback on architecture.
Prashant Patel.
08-02-2013 01:43 AM
Hello Friends,
Please go through the attached vi of web browser.
Parth Somaiya
08-02-2013 02:40 AM
Updated...
Removed Queue reference passing in each case in Slave loop.
Modified 03 Queue Read Vi.
08-02-2013 03:35 AM
Hey Ganesh,
Great attempt as always!!
I went through your VI and have some feedback for you.
1. For all your boolean controls you have used Switch untill released mechanical action. Is this the appropriate one to use? Any specific reasons for using this particular mechanical action?
2. Its amazing that you done key binding for "Go" button (can be done for refresh button (F5) as well). However, since the mechanical action is switch, if I enter a URL and press enter, the button toggles to true and stays there. It doesn't affect the functionality, but it does not truly mimic the behaviour of the browser as well.
3. When the VI is launched, the URL window reads ni.com (reinitialized to default value) but the browser window shows whatever site I was viewing before stopping the VI.
Once again Kudos on the attempt, and look forward to an improved version soon!!
08-02-2013 04:32 AM
Hello Parth,
Very good attempt. I especially liked the innovation of putting a change theme control . Following are a few observations that I had while going thorugh your VI
1. It would be great if you can implement some logic that will remember the theme that I set, even if I stop an re-run the VI.
2. You can think about implementing key bindings. (Have a look at Ganesh's VI)
3. You have called quit LabVIEW function unconditionally. This should not be done. Have a look at Prashanth's VI to see how quit LabVIEW function is called.
4. When you have an event structure with 20 ms time out, why do you need that extra 150 ms wait function? Any specific reason you added that?
08-02-2013 04:48 AM
Hello Prashanth,
Very well made VI. Kudos.
The only thing I would like to point out is the error handling. In your master loop you have just passed the error through, without passing it inside the event structure. It might be useful to wire the error through the elements inside the event structure as well. Usually, it is also a good practice to have the error cluster in a shift register, and handle and clear errors for each iteration. In your present implementation the error will simply be neglected (unless it happens inside an event structure, where it will just popup the error dialog box).
Coming to the architecture, it is very good that you thought of using a master/slave (events) kind of architecture. This architecture is usually used when you want to buffer user interactions in a queue so as to not miss any user interaction (especially if the processing that happens as a result of the event takes a lot of time, which might happen in this case if you are loading a very heavy website). It can be debated, however, that an event structure will by itself buffer user interactions, thereby making the buffering in a queue redundant. But the advantage of this architecture could be that if we use only event structure, and it a particular event takes too long to execute, the front panel will be locked for that amount of time, thereby giving a not so good user experience.
Great attempt in abstracting the queue operations in an FGV. Look forward to getting a lot more responses from you.
Regards,
Chinmay
08-02-2013 04:55 AM
Hi Webcast Wednesday Team,
Thanks for the Feedback.
One reason that made me to use switch until release was, just a replica as a button option in web page, and since its in even structure for both true and flalse the event will execute. So I thought of using this mechanical action.
I made a mistake by not assigning the default value for the browser.
I`ll update them in my next updation.
Thanks WWTeam.
08-02-2013 11:30 PM
Hi! Chinmay,
Thanks for your comments and suggestions.
I have done necessary changes and updated browser.
Following changes has been done.
1) Error handling both in Master and slave loop added.
2) When browser is busy in loading website, user controls are disabled except loading stop and exit button.
3) Webpage Location URL updating into address bar as user go on clicking webpages.
4) Loading status bar added.
5) Front panel controls handling with Labview FGV.
Kindly give me feedback on the way of handling front panel controls and indicators using FGV.
Regards,
Prashant Patel
CLAD
Labview 6.1 - 2012