My Supervisor would like to be able to pull up a live view of all the vision displays we have running through some simple interface so he can remotely monitor them. I know Perspective would be the better solution but Vision is what we have licenses for at the moment. Any thoughts, Ideas?
Do you mean live screen captures? Or just basic data?
Screen captures would be ok, I think he wanted live video but no interaction just viewing. He is not that tech savvy so I am not sure how a VPN would work for him. I was thinking something like an internal website that just displays a screen. I know what I am asking is difficult ish.
This would indeed be tricky, especially if you care at all about performance.
The 'simple' approach would be to use system.print.createImage to get a snapshot (at whatever rate) using a script in each client. Then you could use system.util.sendMessage to broadcast those image bytes from each client back to the gateway (or another session somewhere).
If you're concerned about bandwidth, you could use local CPU time on each client machine to encode into a lossy format/rescale the image down. That's going to be hard on your client machines if they're resource constrained.
Another option would be to work entirely outside of Vision. That's going to end up being a lot more efficient in terms of bandwidth and CPU usage, but is likely going to require more networking effort.
Is VNC not an option?
Paul, after discussing this matter internally I think this method you outlined is the best method, I just need to create an image and drop the file in a designated folder and the IT team will pull the files and just update a SharePoint site. This is not control data as much as it is about politics. It doesn’t need to be “live” but more “up to date”. So considering that, if you are willing can you describe with more detail how I would implement? I have setup two folders on the gateway and my intent it to dump the image in the respective folders for the two cells this gateway controls. Thanks in advance!
When you say “all Vision Displays”, what do you mean? Multiple vision screens from a running project that would depend on navigation as to which screen is currently displayed? Screens across multiple vision projects?
After the fact without this functionality designed, it’s going to be difficult within Ignition. Best solution is a hardware one that mirrors the clients on the production floor.
On my apps, the default login is view only, so anyone can pull up a project and not control anything. But that requires setting permissives on every input/button component.
You should experiment with the links Paul provided. See the scare quotes around simple ? Short of writing the code for you, I'm not sure how much more detail can reasonably be provided.
Try.
Understood, thanks for your patience.
I have tried Paul’s suggestion and several other iterations, AI ect… and I cannot seem to get it to address the window I am trying to take a snapshot of. If I see the window in the project browser as Vision/Windows/Main Window. How do I specify that window or do I go about it a different way? Thank You
Well, where did you place your code?
In a timer in gateway events, I want it to execute every 10 minutes.
Then you didn’t follow Paul’s advice. See underline.
I have 8.3 designer open now but you want your script here:
Yes, I missed that, its been a while since I got back to this problem. Thanks for pointing that out
No problem. To elaborate, the Gateway doesn’t (easily) know what Windows are currently open.
Run that at 10 minute intervals, and follow the rest of the advice to message the result back to the Gateway, from each (open) Client, process and distribute.
Yes, that makes sense and as soon as you said it i realized my mistake.
Ok, I have placed the script in the correct location but I although I have it enabled I do not see any activity, I have tried some debug steps like adding a print function to the script and I do not see any evidence that it is working. What could I be missing?
Also added logging as well but it also isn’t working
We can't see your screen or your code or the content of your client's console. How do you expect us to help?
Share. (Use preformatted text styling for any code or console output you share.)
Phil, I hope you understand that what I am asking is very generic. The content of my script is irrelevant. If the answer is that if you have client script “enabled” than there is nothing else that would stop it from running than IDK what I can do. There should be some evidence of failure somewhere in the system, some log that would indicate the script is running, failed running ect…. I put a print function in it that I am confident should be working but nothing. Yes, I am ignorant of where i can find debug information in this system, this is why I am reaching out for help.
