Webcast Wednesday Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Webcast Wednesday Contest # 13

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

https://decibel.ni.com/content/servlet/JiveServlet/downloadImage/2-52994-89899/321ylper.JPG

You will need to be logged-in to do so. Click here to sign-in/sign-up.

Rules & Guidelines

  • Post your answers as comments on this thread.
  • The participant answering all the questions correctly and in the shortest time will be the winner. In case of VI or code as answers, the participant will also be judged on the basis of the efficiency of the VI/code.
  • The deadline for answer submission is next Monday. Entries made after Monday will not be accepted.
  • Entries made after the deadline will not be accepted.
  • The winner will be announced in the next session of Webcast Wednesday and on this thread, with further information & next steps.


Recordings of the Previous Sessions

Previous Contests of the Week

0 Kudos
Message 1 of 17
(11,303 Views)

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. 

Message 2 of 17
(5,073 Views)

Hi Find My Vis with state machine architecture.

Kindly give feedback on architecture.

Prashant Patel.

PBP
Labview 6.1 - 2019
0 Kudos
Message 3 of 17
(5,073 Views)

Hello Friends,

Please go through the attached vi of web browser.

Parth Somaiya

Message 4 of 17
(5,073 Views)

Updated...

Removed Queue reference passing in each case in Slave loop.

Modified 03 Queue Read Vi.

PBP
Labview 6.1 - 2019
Message 5 of 17
(5,073 Views)

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!!

0 Kudos
Message 6 of 17
(5,073 Views)

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?

0 Kudos
Message 7 of 17
(5,073 Views)

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

0 Kudos
Message 8 of 17
(5,073 Views)

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.

0 Kudos
Message 9 of 17
(5,073 Views)

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

PBP
Labview 6.1 - 2019
0 Kudos
Message 10 of 17
(5,073 Views)