Author Topic: JEOL 8230/8530 Network Connections  (Read 2668 times)

John Donovan

  • Administrator
  • Emeritus
  • *****
  • Posts: 2109
  • Other duties as assigned...
    • Probe Software
JEOL 8230/8530 Network Connections
« on: January 10, 2014, 05:32:11 pm »
These pdfs document the JEOL 8x30 network connections that were performed at Arizona State University to interface two PCs (JEOL and Probe Software) to the instrument and WWW (first attachment). I'd like to thank Henny Cathey who produced this very nice document.

Note that many other different network topographies are possible as shown in the 2nd attachment. There is some evidence that combining the instrument system controller network and EIKS network interfaces can produce an increased rate of network collisions but the University of Leeds reports no issues with that configuration.
« Last Edit: January 10, 2014, 08:20:48 pm by John Donovan »
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

John Donovan

  • Administrator
  • Emeritus
  • *****
  • Posts: 2109
  • Other duties as assigned...
    • Probe Software
Re: JEOL 8230/8530 Network Connections (Success)
« Reply #1 on: May 10, 2015, 07:26:35 pm »
A successful startup of the JEOL 8230/8530 interface should look something like driver log this when PFE or PI are started in "detailed" (=2) DriverLoggingLevel in the [hardware] section of the probewin.ini file:

*****  15:49:41  09/11/12  *****
AMB_JEOL8x00 initialization settings
DLL Version:     1.6.0.353 ** BETA **
EOS IP Address:    192.168.0.2
EOS Socket:        22210
SC IP Address:     192.168.0.2
SC Socket:         22200
Instrument type:   8230
PID:               0x000010DC
Log Level:         2
Use SXCR:          0
Disable Nagle:     1
Small Timeout:     30000
Monitor Buffer:    655340
Initialize Start:  17.807

17.807: J8K_Initialize() - linking to EIK DLL
17.807: J8K_Initialize() - init and open socket in EIK DLL
17.807: J8K_Initialize() - open socket in EIK DLL
17.807: J8K_Initialize() - calling WSAStartup()
17.807: J8K_Initialize() - calling j8k_open_socket()
17.807: j8k_open_socket() - calling socket()
17.807: j8k_open_socket() - calling setsockopt()
17.807: j8k_open_socket() - calling connect()
17.807: j8k_open_socket() - calling socket()
17.807: j8k_open_socket() - calling setsockopt()
17.807: j8k_open_socket() - calling connect()

17.822: j8k_write (24 bytes, 24 written)
  00 00 00 18 41 53 21 04   49 50 44 53 00 00 11 00   ....AS!. IPDS....
  00 00 00 00 04 6E 50 12                             .....nP.

17.822: j8k_read (4 bytes, 4 read)
  00 00 01 E4                                         ....     

17.822: j8k_read (480 bytes, 480 read)
  42 53 20 61 49 50 44 53   00 00 00 00 00 00 00 00   BS.aIPDS ........
  1B 00 00 00 00 00 00 00   00 00 00 04 00 00 00 C8   ........ ........
  00 00 01 00 01 00 01 00   FF 80 FF 80 42 70 00 00   ........ ....Bp..
  00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00   ........ ........
  00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00   ........ ........
  00 00 00 00 00 00 00 00   BF BF 41 F2 12 D7 73 19   ........ ..A...s.
  40 35 74 32 CA 57 A7 87   40 25 FA 9F BE 76 C8 B4   @5t2.W.. @%...v..
  00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00   ........ ........
  40 25 FA 9F BE 76 C8 B4   40 25 FA 9F BE 76 C8 B4   @%...v.. @%...v..
  40 25 FA 9F BE 76 C8 B4   00 00 0B B8 00 00 0B B8   @%...v.. ........
  00 01 00 00 00 00 00 00   00 00 00 00 00 00 00 00   ........ ........
  00 96 00 00 00 00 00 00   00 00 00 01 00 00 00 00   ........ ........
  00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00   ........ ........
  00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00   ........ ........
  00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00   ........ ........
  00 00 01 00 00 00 01 00   00 00 00 00 00 00 00 00   ........ ........
  00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00   ........ ........
  00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00   ........ ........
  C0 00 00 00 C0 00 00 00   C0 00 00 00 C0 00 00 00   ........ ........
  C0 00 00 00 FF FF FF FF   00 01 00 01 00 00 00 00   ........ ........
  00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00   ........ ........
  00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00   ........ ........
  00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00   ........ ........
  00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00   ........ ........
  00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00   ........ ........
  00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00   ........ ........
  00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00   ........ ........
  00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00   ........ ........
  00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00   ........ ........
  00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00   ........ ........
                                                               
17.822: ----- Begin STAGE_CONFIG -------------------------
17.822:     Connected:     1
17.822:     Invalid axis:  8
17.822:     Axis:          1
17.822:         Name:      X
17.822:         Units:     mm
17.822:         Min:       -45.000000
17.822:         Max:       45.000000
17.822:     Axis:          2
17.822:         Name:      Y
17.822:         Units:     mm
17.822:         Min:       -60.000000
17.822:         Max:       40.000000
17.822:     Axis:          5
17.822:         Name:      Z
17.822:         Units:     mm
17.822:         Min:       8.500000
17.822:         Max:       16.000000
17.822:     Axis:          3
17.822:         Name:      R
17.822:         Units:     deg
17.822:         Min:       0.000000
17.822:         Max:       0.000000
17.822:     Axis:          4
17.822:         Name:      T
17.822:         Units:     deg
17.822:         Min:       0.000000
17.822:         Max:       0.000000
17.822: ----- End STAGE_CONFIG ---------------------------
19.788: J8K_ReadSpectroPos(spectro = 1)

19.788: j8k_write (20 bytes, 20 written)
  00 00 00 14 41 50 21 01   53 50 4F 52 00 00 00 00   ....AP!. SPOR....
  00 00 00 01                                         ....     

19.788: j8k_read (4 bytes, 4 read)
  00 00 00 18                                         ....     
« Last Edit: May 10, 2015, 10:00:09 pm by John Donovan »
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"

Changkun

  • Graduate
  • **
  • Posts: 6
Re: JEOL 8230/8530 Network Connections
« Reply #2 on: April 10, 2018, 05:46:17 pm »
Attached network configuration has just completed and works perfect in the electron microprobe lab, Korea Polar Research Institute (KOPRI).
My goal was for all PCs to automatically back up their data files to Synology NAS and to connect a network printer.
Also I wanted to use the switch, which is hidden in the rear side of 8530F body, for PC-ProbeforEPMA to control stage and spectrometers.

PictureSnapApp is installed to PC-EDS for 7200F and works great.
Data files back up to NAS with "Cloud Station Backup" app.

Now I am just waiting for Owen to install PfE on 23rd :)
« Last Edit: April 10, 2018, 07:38:45 pm by changkun »

Ben Buse

  • Professor
  • ****
  • Posts: 300
Re: JEOL 8230/8530 Network Connections
« Reply #3 on: April 17, 2018, 08:30:53 am »
There is some evidence that combining the instrument system controller network and EIKS network interfaces can produce an increased rate of network collisions

Hi John,

That's interesting, how would you give the EIKS a different IP address, in Probewin.ini I only see

WDS_IPAddress="192.168.0.2"                    ; 8530 instrument address
WDS_IPAddress2="192.168.0.2"                    ; 8200/8500 only

Thanks

Ben


John Donovan

  • Administrator
  • Emeritus
  • *****
  • Posts: 2109
  • Other duties as assigned...
    • Probe Software
Re: JEOL 8230/8530 Network Connections
« Reply #4 on: April 17, 2018, 10:27:12 am »
There is some evidence that combining the instrument system controller network and EIKS network interfaces can produce an increased rate of network collisions

Hi John,

That's interesting, how would you give the EIKS a different IP address, in Probewin.ini I only see

WDS_IPAddress="192.168.0.2"                    ; 8530 instrument address
WDS_IPAddress2="192.168.0.2"                    ; 8200/8500 only

Thanks

Ben

Hi Ben,
It's a good question because it can be confusing given that JEOL has "evolved" on this issue.

In the past, JEOL told us they wanted to have the (direct) instrument communications separated from the EIKS (JEOL computer) communications.  Apparently they were worried about too much traffic on a single network.  So they would have their 8230/8530 instruments set up where the (direct) instrument communications were set up on one subnet, e.g., 192.168.0.x and the EIKS communications set up on another subnet, e.g., 192.168.1.x. 

So for example, in the Probewin.ini file one specifies the (direct) instrument connection as you showed above, in the [hardware] section of the Probewin.INI file:

[hardware]
WDS_IPAddress="192.168.0.2"                    ; 8530 instrument address
WDS_IPAddress2="192.168.0.2"                    ; 8200/8500 only

But for the EIKS interface one specifies the EIKS network connection to the JEOL computer in the jeolEIKS.ini file (which unlike the probewin.ini file, is found in the Probe for EPMA application folder, not the ProgramData folder!) as seen here:

[Communication]
Async Period=0
Server Timeout=40000
Client Timeout=1000
Server Address=192.168.1.3   <- edit for your JEOL PC computer network address
Server Port=22200
Host Address=192.168.1.3      <- edit for your JEOL PC computer network address
ClientSyncPort=22300
ClientAsyncPort=22300

Note that none of this applies to previous JEOL instruments because for the JEOL 8900/8200/8500 instruments we utilize a *single* network connection (and subnet) for all instrument communications. But on the new 8230/8530 instruments, JEOL insisted that we use the EIKS interface for stage and column control, and use the (direct) instrument interface for the WDS and mapping interface.

Since that time JEOL has "evolved" and now we often find that new 8230/8530 installations use a single subnet for both the instrument and EIKS communications.  That simplifies everything and we see no problems with network traffic on this single subnet.

Remember, on 8230/8530 instruments, each application folder (e.g., Probe for EPMA, Probe Image, Remote, etc.) all require their own copy of the JEOL EIKS files which are:

jeoleiks.dll
JeolEIKs.ini
mfc100.dll   (used only by JEOL eiksJSample.exe test program)
msvcr100.dll   (used only by JEOL eiksJSample.exe test program)
eiksJSample.exe

So at installation time our consultants just copy these files from the Probe for EPMA application folder to any other Probe Software application folders, and properly configured jeolEIKs.ini file is simply a duplicate of the jeolEIKS.ini file in the Probe for EPMA folder. This is necessary because unfortunately the JEOL EIKS client DLL is not multi-threaded, therefore one has to have a separate instance of the EIKS DLL loaded in memory for each application folder.  This limitation of the JEOL EIKS interface also prevents one from running two apps from the same application folder at the same time, e.g., Probe for EPMA and Stage.

Someday when we have time we'll implement the 8230/8530 stage and column calls into direct TCP/IP commands (we have reverse engineered them!) and then we won't be dependent on the EIKS interface at all. Then we will be able to use a single network connection as we do for the JEOL 8900/8200/8500 (and Cameca) instruments.
John J. Donovan, Pres. 
(541) 343-3400

"Not Absolutely Certain, Yet Reliable"