Configuring Efon VNC server on a Domino Quickstep HMI (x86 Windows CE 6.0?)

Backstory: Touchscreen took physical damage, causing a "phantom press" that effectively disabled using the touch screen. It is possible to connect a keyboard or mouse to the HMI, but there is no cursor visible, so using the mouse is very difficult.

Overview: Enabling a cursor in Windows CE for local USB mouse seems to be very difficult, and I'd rather make changes on the HMI remotely over VNC anyway. I made the decision to reconfigure the HMI and Laser Controller to communicate over Ethernet through a router. To get VNC server to load at startup in Windows CE, some configuration is necessary.

Setup:

Found an old D-Link router, and I am using it between HMI and laser Controller. Computers will connect to router. Currently this is a private LAN with only the laser and the router connected.

HMI IP is 192.168.57.100

Controller IP? who knows! hopefully it's not 192.168.57.1

I set router IP to 192.168.57.1 with a DHCP range of .50-.99 and configured a wireless network called "Domino"

If you look through the settings on HMI QuickStep you can find setting for the IP on the controller. might be 192.168.57.2

It does seem the Laser Controller actually has two IPs. There is one IP for the X59 connector that the HMI communicates with, and another IP for the panel Ethernet connector! This gets confusing, because though you can connect to the controller panel Ethernet port with a computer, you can't ping the IP listed as the Laser Controller IP in the HMI software, and you can't reach the HMI either. This is the reason why I bought the special cables and used a router!

I ordered 2 different special cables from Domino, and they were correct: One is for HMI to router/switch and the other for Controller to router/switch, but I don't remember which.

Parts

  • L014903 cable rj45 ethernet control panel 5m
  • L014904 cable x59 rj45 ethernet 5m bcp7
  • Generic USB mouse
  • Generic USB keyboard
  • Generic USB flash drive

The HMI has 2 USB ports, so you might need to learn to use Windows with keyboard commands, or you can try to accomplish some operations with mouse-only, as you'll need a USB stick inserted in the other port. I never tried a USB hub as I didn't have one.

Preparation

  • Download EfonVNC from sourceforge for your architecture, the Domino HMI has an x86 processor, so that's what I used.
  • Download Simple Little Registry Editor for Windows CE, you'll need this to get VNC server to start automatically
  • Download TightVNC client or similar

It seems the Efon team might have made a regedit also, but I didn't try it.

Steps to set up HMI VNC server

  • Put EfonVNC and RegEdit to your USB drive. FAT32 is probably the filesystem to use for it.
  • Plug in a USB keyboard and the USB drive into the HMI (it has 2 ports) Use keyboard commands to navigate through the UI to copy the files from USB drive to internal storage

hint: use Ctrl-Esc or the Windows key, Tab key, Alt key, maybe even Alt-Space to access the menus and commands

  • Copy the VNC files from the USB drive to the HMI internal storage, something like:

\Hard Disk\WINVNC.EXE

\Hard Disk\VNCCONFIG.EXE

  • Copy the Regedit file to HMI internal storage, something like:

\Hard Disk\REGEDIT.EXE

You can do this through explorer or command prompt, up to you how to accomplish. I copied them to the root of \Hard Disk but you can put them wherever. The USB drive mounted as \Hard Disk 2 Don't put it in \Windows as all changes will be lost. Only the \Hard Disk location can be trusted to persist through a reboot.

Once copied over you can configure the VNC server, and run it. Try to connect from a computer.

Add a registry key to tell Windows to automatically run the VNC server. You can do this remotely over VNC (slightly easier to have a mouse) or locally with a USB keyboard Navigate to HKLM\init and add a string value of the next increment, e.g. if the last/highest entry is Launch70; add a value Launch80 with data \Hard Disk\WINVNC.EXE

If you were to reboot/power-cycle now, your registry changes would disappear, and VNC server would not load! You must complete the next step! The \StartUp folder is not persistent, all changes made to the Windows CE environment are lost after power cycle, which is why we needed to add an entry in the registry. The changes to the registry are only saved in memory, or in the current running image of Windows CE. The changes must be saved to the "hive registry" to actually persist.

Two options to save the registry changes:

  1. Run the flush program. Domino included it in the image, I think it's somwhere in the Start Menu
  2. Tell Windows to suspend.. which will commit the registry changes, and you'll have to power cycle the device to reboot since you can't wake it up.

I think I tried both, so I can't say which one caused the registry changes to save, but they did save. Efon VNC server reliably starts every power-cycle. Once in a while (after over a month of runtime) Efon VNC server will refuse the connection. A power-cycle will get it going again.

To use:

From a computer on this network; open up the HMI's IP address 192.168.57.100 with TightVNC client or similar There is no password for the VNC connection (unless you set one up). Mouse cursor appears as a small dot, use it just like a touchscreen, but you can type with they keyboard instead of on-screen keyboard if you click in a box first.

Next Post