I have an Ignition application running in Full Screen mode with a button that launches a webpage via the system.net.openURL function. We have another application that is browser based that runs on the same PC. I am trying to find a way to “switch” over to that app and back to Ignition without using Windows. That is, not have the windows bar at the bottom. My thought was to have Ignition in Full Screen, call IE which is also in Full Screen (or maybe kiosk) mode. The webpage would have a button to close it. So, you press a button in Ignition that uses opeURL to launch the webpage. When I close the webpage I would like to see the Ignition window again. However, Ignition is minimizing when the openURL call is made. So, I see the Windows desktop when I close IE and then I have to click on the Windows bar to get Ignition back up again.
The customer wants the screen to look more like an “HMI” and less like Windows thus the need to try to keep Windows hidden in the background. Ideally I could just use some sort of viewer to show the webpage inside of Ignition but that won’t work.
Why won’t a viewer work? Have you tried the IE component from the ActiveX plugin?
No, I was trying the Doucment Viewer. Where is this IE Viewer?
It is in the ActiveX module you can download from the latest downloads section. It requires that each computer has IE or the ActiveX component you are trying to use.
I never knew about that… there are some nice additions in there. I got the IE Viewer working nicely except for one problem. I added two screens with IE Viewer objects on them. I have a tab strip control in a docked south window in swap mode. When I navigate to one of the windows with an IE Viewer object that points to a webcam URL and let it load, and then try to navigate away my entire application minimizes. One time it actually crashed and I had to re-start… and it forced a download of all packages again. This problem doesn’t happen with the other window with IE Viewer, only the one that points to the camera so it must be a content issue trying to close the window. Also if I navigate away before the IE Viewer content loads then it works fine.
I updated the client PC from IE6 to IE8, and I also just upgraded Ignition to 7.1.8 (it was 7.1.8beta). Whenever I open the screen with IE Viewer that is pointing to the web address of our camera and then navigate away using a tabstrip it kills IE Viewer. Sometimes the Ignition client minimizes and sometimes not, but whenever I try to go back to a screen with IE Viewer on it after that nothing is there. Restarting the client brings it back until you open the one with the camera browser. Any ideas?
With IE6 and 7.1.8beta the minimize thing was there, but IE Viewer did not just crap out afterwards.
I noticed that if I launch a client from my laptop the IE Viewer works OK. It still has a noticeable pause when trying to close a screen with IE Viewer pointing to a web camera screen. It just kind of hangs up for a few seconds and then it will swap to another screen. It doesn’t minimize or anything and I can go to another screen with IE Viewer and it still works. So, it must be something different between my laptop and the PC that normally runs the client. I have no idea where to look though.
… and now you understand why the ActiveX controls aren’t part of the standard Ignition installation. They’re kind of an “as-is” piece of functionality, because ActiveX and Java fundamentally don’t play very nicely together. As you’re finding - things are going to act differently depending on a wide array of factors that have to do with Windows / Java, and IE. This is why we can only support them in a limited fashion.
Have you tried upgrading to the latest version of Java? They made some improvements to embedded ActiveX controls somewhere around 6u20 or so.
Hope this helps,
Java is at version 6u22. I just checked and 6u23 is available so I will try that although it is not very promising. It just seems strange that IE is the same version, Java is the same version and we are running the same client but getting different results. One is Windows 7 and one XP.
I just found another strange thing. I have a button on the top of my screen (called “logout”) that I have tied to a script that logs in a username “default”. I also have this code in a timer based client script. Somehow one of these is getting triggered when I use a scroll bar that is part of the web page on the IE Viewer. I know this sounds strange but I have tested this over and over and it is definitely something funny with the IE Viewer. I think I am going to have to take the IE Viewer objects out of my application since they are so unstable.
I need to find some “seamless” way of switching between the Ignition client and Internet Explorer in full screen mode. We have an Inventory Management System that is web based that needs to co-exist with my Ignition HMI.
I know you don’t want to hear this, but I think that’s going to be hard to pull off, at least if your idea of “seamless” is the same as mine. The ActiveX control is probably your best bet. Travis might have some more insight into making that control more stable.
Can you tie into the inventory management system’s database directly through Ignition? That would be seamless!
Yes, I can query the database to show most of the information that the operator will need. That is probably what I need to do at this point. I was hoping to just show their web pages since all the work is done for the reports and everything looks “pretty”. Oh well, the table object should make setting things up pretty easy.
This solves my problem with the IMS, but I still need to get the web page from a camera on here somewhere so the operator can pan, tilt, and zoom the camera. The camera web page is causing even more problems. I have a separate thread on that one.
I’ve got an email into these guys for pricing. They have what appears to be a capable pure-Java port of Firefox’s rendering engine. We might be able to wrap that up into a module that you could use…
[quote=“alex.ferrell”]… The camera web page is causing even more problems. I have a separate thread on that one.[/quote]Where?
Actually it’s above in this thread. I got confused with all the threads I have started recently. Sorry about that.
I might try running my client in normal windowed mode with the windows bar set to auto-hide instead of full screen mode. This may make my openURL calls a little more fluid and get the same look without all of the windows exclusive full screen nuisances.
I played with this some more and it’s not just the scroll bar. Anytime I click around in the IE Viewer this is happening. Also to clarify, my timer script is checking the inactivity timer and the currently logged in user. If the timer is greater than 600 and the user is not “default” then it logs in the user “default”. This is how I am “logging in” and “logging out” to keep the screens open with a “default” user that is not assigned any roles. So, the IE Viewer is screwing with this script, or somehow triggering the “logout” button script I have at the top of the screen.