Usando VNC Server

En este artículo, hablaré sobre cómo compartir la pantalla mediante un servidor VNC. En los paneles de operador Focus HMI , la conexión al servidor VNC está configurada de forma predeterminada como abierta y sin contraseña. Por lo tanto, podemos conectarnos a nuestro panel a través del servidor VNC sin necesidad de realizar ningún cambio.

Lo que tenemos que hacer es abrir programas como VNC Viewer en nuestro ordenador principal y conectarnos utilizando la dirección IP de nuestra interfaz HMI Focus.

Puedes descargar VNC Viewer desde aquí.

Después de abrir el programa VNC Viewer, debemos ingresar nuestra dirección IP en la sección "Ingrese una dirección de servidor VNC o realice una búsqueda", seguida del número de puerto asignado por el servidor VNC: "5900".

Hacemos clic en "Continuar" en el mensaje de advertencia que aparece y cerramos la ventana.

Tras estos pasos, nuestra conexión con el panel HMI Focus estará completa. Ahora podemos controlar el panel a través del servidor VNC.

Si desea utilizar su servidor VNC con cifrado, puede consultar nuestro artículo " Cómo crear una contraseña para un servidor VNC ".

Script de control de conexión VNC

Puedes añadir un script a tu proyecto que reinicie VNC si se produce un problema de conexión.

import java.lang.reflect.Method;
import java.net.*;
import java.io.*;
public class NewScript{
	public static short VncState;
	
	public NewScript(Class Accessing){
		Thread newThread = new Thread(() -> { 
			try{
				if(VncState >= 2){
					VncState = 0;
					Runtime.getRuntime().exec("x11vnc -display :0 -shared -forever"); 
				}else{
					try (Socket socket = new Socket("192.168.0.11", 5900)) {
						VncState = 1;
		               } catch (UnknownHostException ex) {        
		               	VncState = 2; 
		               	Runtime.getRuntime().exec("x11vnc -R stop");                
		               } catch (IOException ex) {        
		               	VncState = 3;             
		               	Runtime.getRuntime().exec("x11vnc -R stop");
		               }  
				}    
				Method setValue = Accessing.getMethod("setValue", String.class, Object.class);		
				setValue.invoke(Accessing, "VncState", VncState);
			}catch(Exception exp){
				javax.swing.JOptionPane.showMessageDialog(null , exp.getMessage());
			}
        	});
        	newThread.start(); 		
	}
}

Crea un nuevo script y copia el código anterior. Después de compilarlo, al guardar el script, no uses caracteres turcos, ya que el nombre que le asignes se utilizará como nombre de la clase. Yo lo guardé como VncTest.

En la sección de configuración del script que creaste, puedes elegir cómo se ejecutará en la sección del script.

Seleccioné el script que creé en la sección "Cada minuto" para que se ejecutara una vez por minuto.

Mensajes similares

Escribe una respuesta