40m QIL Cryo_Lab CTN SUS_Lab TCS_Lab OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log  Not logged in ELOG logo
Entry  Sat Feb 26 01:01:40 2022, Tega, Update, VAC, Ongoing work to get the FRG gauges readouts to EPICs channels 
    Reply  Sat Feb 26 15:45:14 2022, Tega, Update, VAC, Ongoing work to get the FRG gauges readouts to EPICs channels Vac-gauges-flow-diagram.png
       Reply  Mon Feb 28 19:15:10 2022, Tega, Update, VAC, Ongoing work to get the FRG gauges readouts to EPICs channels 
       Reply  Tue Mar 1 20:38:49 2022, Tega, Update, VAC, Ongoing work to get the FRG gauges readouts to EPICs channels Working_Serial_Port_List_1.pngWorking_Serial_Port_List_2.pngWorking_Config_Ports#1-5.pngWorking_Config_Ports#7-8.png
          Reply  Wed Mar 2 11:50:39 2022, Tega, Update, VAC, Ongoing work to get the FRG gauges readouts to EPICs channels XGS600_IOLAN_settings_1.pngXGS600_IOLAN_settings_2.pngXGS600_USBserial_settings.pngXGS600_comm_test.pyXGS600_comm_test_result.txt
             Reply  Wed Mar 2 12:40:08 2022, Tega, Update, VAC, Ongoing work to get the FRG gauges readouts to EPICs channels 6x
                Reply  Sun Mar 6 18:14:45 2022, Tega, Update, VAC, Ongoing work to get the FRG gauges readouts to EPICs channels iolan_xgs_comm_investigation.pdf
                   Reply  Mon Mar 7 13:53:40 2022, Tega, Update, VAC, Ongoing work to get the FRG gauges readouts to EPICs channels iolan_xgs_comm_live.pdf
                      Reply  Mon Mar 7 14:52:34 2022, Koji, Update, VAC, Ongoing work to get the FRG gauges readouts to EPICs channels 
                         Reply  Tue Mar 8 12:08:47 2022, Tega, Update, VAC, Ongoing work to get the FRG gauges readouts to EPICs channels XGS600_calibration.pdf
Message ID: 16693     Entry time: Wed Mar 2 12:40:08 2022     In reply to: 16692     Reply to this: 16704
Author: Tega 
Type: Update 
Category: VAC 
Subject: Ongoing work to get the FRG gauges readouts to EPICs channels 

Connector Test:

A quick test to rule out any issue with the Ethernet to Serial adapter was done using the setup shown in Attachment 1. The results rule out any connector problem.

 

IOLAN COMM test (as per Koji's suggestion):

The next step is to swap the controller with a laptop set up to receive serial commands using the same settings as the XGS600 controller. Basically, run a slightly modified version of python script where we go into listening mode. Then send commands to the TCP socket on the IOLAN SDS unit using c1vac and check what data makes its way to the laptop USBserial terminal. After working on this for a bit, I realized that we do not need to do anything on the c1vac machine. We only need to start the service as it would work normally. So I wrote a small python code for a basic XGS-600 controller emulator, see Attachment 4. The outputs from the laptop and c1vac terminals are Attachments 5 and 6 respectively. 

These results show that we can communicate via the assigned IP address "192.168.114.22" and the commands that are sent from c1vac reaches the laptop in the correct format. Furthermore, the serial_XSG service, a part modbusIOC_XGS service, which usually exits with an error seems fine now after successfully communicating with the laptop. I don't know why it did not die after the tests. I also found a bug in my code as a result of the test, where the status field for the fourth gauge didn't get written to. 

 

Pressure reading issue:

I noticed that the pressure reading was not giving the atmospheric value of ~760 Torrs as expected. Looking through my previous readouts, it seems the unit showed this atm value of ~761 Torrs when the first gauge was attached. However, a closer look at the issue revealed a transient behavior, i.e. when the unit is turned on the reading dips to atm value but eventually rises up to 1000 Torrs. I don't think this is a calibration problem bcos the value of 1000 Torrs is the maximum value for the gauge range. I also found out that when the XGS-controller has been running for a while, a power cycle does not have this transient behavior. So maybe a faulty capacitor somewhere? I have attached a short video clip that shows what happens when the XGS-controller unit is turned on.

Attachment 1: IMG_20220302_123529382.jpg  4.501 MB  | Hide | Hide all
IMG_20220302_123529382.jpg
Attachment 2: XGS600_Serial2Ethernet2Serial2USB_comm_test_result.txt  2 kB  | Hide | Hide all
$ python3 XGS600_comm_test.py  

----- Multiple Sensor Read Commands -----

Sent to XGS-600 -> #0001\r : Read XGS contents
response : >FE4CFE4CFE4C

Sent to XGS-600 -> #0003\r : Read Setpoint States
response : >0000

... 73 more lines ...
Attachment 3: VID-20220302-WA0001.mp4  15.709 MB  Uploaded Wed Mar 2 16:57:18 2022
Attachment 4: comm_test_c1vac_to_laptop_via_iolansds.py  907 Bytes  Uploaded Wed Mar 2 20:31:59 2022  | Hide | Hide all
#!/usr/bin/env python

#Created 3/2/22 by Tega Edo
'''Script to emulate XGS-600 controller using laptop USBserial port'''

import serial
import sys,os,math,time

ser = serial.Serial('/dev/cu.usbserial-1410') # open serial port 

... 19 more lines ...
Attachment 5: laptop_terminal.txt  2 kB  Uploaded Wed Mar 2 20:32:31 2022  | Hide | Hide all
(base) tega.edo@Tegas-MBP serial % python3 comm_test_c1vac_to_laptop_via_iolansds.py

----- Listen for USBserial command and asynchronously send data in XGS600 format -----

Command received from c1vac [1] : 

Data sent to c1vac [1] : >1.000E+00,NOCBL    ,NOCBL    ,NOCBL    ,2.00E+00,NOCBL\r
Command received from c1vac [2] : 

Data sent to c1vac [2] : >2.000E+00,NOCBL    ,NOCBL    ,NOCBL    ,3.00E+00,NOCBL\r
... 54 more lines ...
Attachment 6: c1vac_terminal.txt  4 kB  Uploaded Wed Mar 2 20:32:50 2022  | Hide | Hide all
controls@c1vac:/opt/target/python/serial$ caget C1:Vac-FRG1_status && caget C1:Vac-FRG2_status && caget C1:Vac-FRG3_status && caget C1:Vac-FRG4_status && caget C1:Vac-FRG5_status
C1:Vac-FRG1_status             1.530E+02
C1:Vac-FRG2_status             OFF
C1:Vac-FRG3_status             OFF
C1:Vac-FRG4_status             NO COMM
C1:Vac-FRG5_status             1.55E+02
controls@c1vac:/opt/target/python/serial$ caget C1:Vac-FRG1_status && caget C1:Vac-FRG2_status && caget C1:Vac-FRG3_status && caget C1:Vac-FRG4_status && caget C1:Vac-FRG5_status
C1:Vac-FRG1_status             1.630E+02
C1:Vac-FRG2_status             OFF
C1:Vac-FRG3_status             OFF
... 70 more lines ...
ELOG V3.1.3-