![]() |
ILScope is a small program for monitoring the commands travelling through the virtual HP-IL. Instances of the program may be inserted everywhere inside the loop like peripheral devices. In contrast to these peripheral devices ILScope is not detected by the controller. The Scope checkbox enables the scope output and can be enabled/disabled at any time. An uncheck IDY checkbox enables a filter for the IDY (Identify) frames. An uncheck RFC checkbox enables a filter for the RFC (Ready For Command) frames. |
ILScope has an integrated TCP/IP server for receiving HP-IL frames from the preceding device and a TCP/IP client to transmit the received IL frames unchanged to the next device. A device may be ILPilbox, Ilper v1.4 (or newer), ILVideo, ILVideo80 or just an other instance of ILScope.
Choosing TCP/IP (IPv4/IPv6) as transport protocol gives the advantage of communicating with virtual HP-IL devices around the world if the host PC has access to the internet. Each virtual HP-IL device contains a TCP/IP server listening for data frames on the specified port number and a TCP/IP client sending data frames to a port of the next virtual device. A HP-IL data frame is normally 11 bits long, but as TCP/IP is a byte oriented protocol it is mapped to 16 bits (2 bytes). The remaining upper five bits are filled with zero (reserved for future use). The two bytes of a frame are transferred in network byte order.
Therefore you have three virtual HP-IL mode parameters:
The "Out TCP/IP Address" identifies the host PC with the next virtual HP-IL device. If the next device is on the same computer use "localhost" or "127.0.0.1" for IPv4 or "::1" for IPv6 as TCP/IP address, otherwise the DNS name or the TCP/IP address of the next computer. (A device may be a simulated device or an IL frame sniffer.)
The TCP/IP Port number represents in the simulation a physical HP-IL cable. It must have the same number as the "In Port" of the subsequent device on the virtual IL.
Here you must enter the same number as on the "Out Port" of the previous device on the virtual IL.
So each device is listening for HP-IL frames on it's in-port, processes the frames inside the device simulation, and send output frames to it's out-port.
The Port numbers are split into three groups:
For virtual IL you should use port numbers from the third group (49152-65535). Port numbers below 49152 are also accepted.
Open TCP/IP ports are nowadays a security problem when your PC is connected to the Internet. To protect your computer from unauthorised requests all modern operating systems contain a (personal) firewall which blocks attacks. By default all ILScope TCP/IP traffic is being blocked too. Depending on your firewall you are asked at first usage of ILScope in TCP/IP mode to permit the communication or you must beforehand enable manually the ILScope program in your firewall. For security reasons you should restrict the rights of ILScope to the local PC or not more than to the local LAN.
To set the above mentioned virtual HP-IL mode parameters call the "TCP/IP Setup..." item in the ILScope system menu (you get it by Alt+Space Bar or a left mouse click on the symbol in the top left corner or a right mouse click on the title bar). After you finished the setup, press the "Start" button please. If the "Start" button is disabled, the virtual HP-IL interface is already running. So you have to "Stop" and restart the interface for activating the new settings.
ILScope can save the setup data in two ways. The standard way is saving the data in the Windows registry. But then every instance of the program starts with the same settings. To avoid this I added the possibility to use a dedicated ini-file.
The command line arguments "setup-file" and "/start" are optional and their order is irrelevant.
is the file (file name optionally with path) to hold the setup data of the program instance. The data is written to the file when you exit the program.
will activate the "Start" button automatically after program start-up.
A batch file containing
start ILPilbox.exe /start ILPilbox.vil start Ilper.exe /start ILPer1.vil start Ilper.exe /start ILPer2.vil start ILVideo.exe /start ILVideo.vil start Ilscope.exe /start ILScope.vil
is starting one ILPilbox instance reading the setup data from file ILPilbox.vil, two instances of ILPer, one using the setup data from file ILPer1.vil, the other one from file ILPer2.vil, one instance of ILVideo taking the setup data from file ILVideo.vil and one instance of ILScope taking the setup data from file ILScope.vil. At all five programs the "Start" button will be activated after start-up.
For the setup-files I suggest the file extension *.vil (for Virtual Interface Loop) but any other file extension will do. Creating the *.vil setup files from the example above is quite easy. Run the batch program to start all program instances, arrange the program windows on the screen and setup each program instance with the correct data. Finally close all program instances. At the next call of the batch file, all program instances are restored at the previous screen position and use the last setup data.
(c) Christoph Gießelink, February 2024